- Source-bound strict manifest
- Four obligation classifications
- Bounded local JSON evaluation
- Content-bound manual and external attestations
- Explicit overall-status algebra
- Deterministic receipt payload and untrusted envelope
- Offline integrity verification and evidence replay
- Synthetic example spanning every classification
- Adversarial usefulness, duplication, adoption, and safety review
- Complete ≥90% branch coverage gate
- First clean
make verify - Descriptor-stable evidence parsing and hashing
- Closed semantic receipt verification
- Bounded two-rater discovery metrics utility
- Typed-wheel content gate
- Redacted-by-default, manifest-bound evidence collection plan
- Map three public SOWs from different jurisdictions.
- Measure classifiable-clause rate and independent agreement.
- Interview 8–12 acceptance, procurement, QA, accessibility, security, prime, and IV&V practitioners.
- Observe one real acceptance-evidence assembly workflow.
- Obtain one serious, nonbinding design-partner next step.
- Select exactly one vertical pack.
- Signed manifest-approval and review roles.
- Evidence validity windows and explicit staleness.
- Coverage denominator: every in-scope clause must be classified.
- One adapter family selected from observed workflow.
- Static accessible trace report.
- Amendment diff and invalidation rules.
- Hosted CI and signed release pipeline.
- OCDS milestone export.
- Cross-organization evidence exchange.
- Proposed-mapping review queue.
- Model-assisted mapping research with a committed gold set.
Stop or reframe if:
- fewer than 25% of sampled consequential clauses are objectively classifiable;
- independent experts cannot reach κ 0.50 on classification;
- the primary buyer wants document storage rather than evidence replay;
- no budget-adjacent participant considers the bounded outcome purchasable;
- the first design partner requires legal conclusions or compliance certification;
- maintaining adapters dominates the obligation/evidence model; or
- existing acceptance-management software already solves the observed workflow.
| Attribute | M0 target | Evidence |
|---|---|---|
| Correctness | 0 false passes from missing/unbound evidence | tests |
| Reproducibility | identical input payload digest | tests/demo |
| Security | 0 accepted absolute/traversal paths | tests |
| Maintainability | strict typing; complexity ≤10 | make verify |
| Coverage | ≥90% branch | make verify |
| Dependency risk | 0 runtime dependencies | pyproject.toml |
| Artifact bound | ≤2 MiB per evidence/receipt JSON | code/tests |
| Structure bound | ≤64 JSON levels and ≤100,000 nodes | code/tests |
| Snapshot binding | parsed evidence bytes equal hashed bytes | code/tests |
| Package typing | wheel contains py.typed and all runtime modules |
make package-check |
| Performance | reproducible local median/p95 report; no invented threshold | make benchmark |
| Planning privacy | local paths/locators/reasons require explicit opt-in | code/tests |
| Planning currentness | checksum self-check separated from exact manifest regeneration | code/tests |