# PDLS Executable Pilot v0.1

This directory contains the first machine-testable pilot of the **NousPolis Policy Deliberation and Learning Standard (NP-PDLS-001)**.

## Status

- **NousPolis maturity:** N0
- **PDLS status:** experimental draft
- **Authority:** semantic conformance test only
- **N1 claim:** none
- **External-independence claim:** none
- **Independent adversarial re-review:** PASS WITH NON-BLOCKING FINDINGS; all reported findings subsequently remediated

Passing these tests does not satisfy `ENFORCEMENT_SUBSTRATE.md`, prove real-world evidence true, establish external independence, or authorize policy action.

## Normative files

- `NP-PDLS-001.md` — base normative PDLS draft.
- `NP-PDLS-001A-N0-TRUST-BINDING.md` — executable-pilot trust-binding addendum created after adversarial review.
- `normative-dependencies.json` — governing files whose changes must rerun PDLS CI.

## Executable layout

- `schemas/pdls-core.schema.json` — canonical pilot project schema.
- `lifecycle/state-machine.json` — lifecycle states and allowed transitions.
- `lifecycle/gates.json` — G0-G11 gate definitions bound to executable rule IDs.
- `modules/triggers.json` — machine-evaluable conditional module trigger registry.
- `conformance/rules.json` — semantic rule registry.
- `conformance/validator_core.py` — preserved hardened validator core reviewed at the independent re-review baseline.
- `conformance/validate.py` — validator entry point adding the post-re-review residual hardening checks to the same registry-driven model.
- `conformance/test_validate.py` — one positive reference test plus 26 adversarial regression tests.
- `conformance/test_ci_coverage.py` — verifies governing-corpus workflow coverage.
- `examples/reference-policy-project/project.json` — fully synthetic end-to-end Level-3 fixture.
- `examples/reference-policy-project/actor-registry.json` — typed protected actors/principals.
- `examples/reference-policy-project/classification-attestation.json` — separate impact-floor attestation.
- `examples/reference-policy-project/module-trigger-facts.json` — facts used to recompute module activation.
- `examples/reference-policy-project/lifecycle-ledger.json` — ordered lifecycle transition ledger.
- `reviews/PR12_ADVERSARIAL_REVIEW_DISPOSITION_2026-08-17.md` — disposition of the first independent adversarial review.
- `reviews/PR12_INDEPENDENT_REREVIEW_2026-08-17.md` — independent re-review result and closure of its residual findings.

## Run locally

```bash
python -m pip install -r standards/pdls/conformance/requirements.txt
python standards/pdls/conformance/validate.py
python standards/pdls/conformance/test_validate.py
python standards/pdls/conformance/test_ci_coverage.py
```

A successful validator run prints the SHA-256 digests of the schema, executable registries, and reference-project trust bundle used for that result.

The adversarial suite rejects underclassification, fake role separation, invalid evidence, dangling/duplicate references, one-sided evidence links, actor-name ambiguity, verbatim duplicate analyses, ceremonial gates/reviews, missing participation, module self-omission, invalid decisions, lifecycle relabeling, semantically empty monitoring/feedback, and registry drift.

## Architectural integration

The pilot intentionally reuses the existing canonical architecture:

- Impact levels come from `CLASSIFICATION.md`; PDLS does **not** introduce A/B/C impact classes.
- Evidence-state concepts follow `EVIDENCE.md` and `ENFORCEMENT_SUBSTRATE.md`.
- Human authority follows `HUMAN_GOVERNANCE.md` and `DECISION_AGGREGATION.md`.
- Separation requirements defer to `INDEPENDENCE.md`.
- Policy content expectations remain compatible with `POLICY_STANDARD.md`.
- Constitutional precedence remains controlled by `GOVERNING_PRECEDENCE.md` and `INVARIANTS.md`.

The pilot is therefore an executable **policy-process profile below the constitutional layer**, not a parallel governance constitution.

## Trust model after adversarial review

The first pilot over-trusted the project object itself. The hardened version separates four process-critical trust objects from the project record: protected actors/principals, classification approval, trigger facts, and lifecycle history. The validator recomputes gate and trigger conclusions rather than trusting their declared result alone.

The independent re-review reported all original F-01 through F-11 root-cause attacks blocked at the reviewed commit. It identified four non-blocking residual findings; all four were then added as blocking semantic checks and regression tests before merge consideration.

This is a meaningful N0 improvement, but these trust objects remain inside the same repository/control environment. They are **not** external roots of trust. Credential separation, principal separation, external witnessing, and stronger immutable provenance remain N1+ concerns under the existing architecture.

## Why the reference case is synthetic

The reference policy project uses a fictional bus-corridor decision and synthetic evidence. Its purpose is to test workflow invariants rather than smuggle unverified real-world policy claims into the conformance suite.

## Next validation milestone

The independent adversarial re-review has been completed and its residual findings have been remediated.

The next PDLS-specific milestone is to run a **real but non-authoritative Governance Challenge** through the same artifact model. Any gaps found should first be recorded as tests/review findings; changes to governing specifications must still follow ordinary NousPolis change governance.
