ADR-0015: Bind alpha acceptance to retained evidence bytes¶
Status: accepted Date: 2026-08-30 Owners: ZeroProofML maintainers Supersedes / superseded by: alpha acceptance schema v1 / none
Context¶
The initial alpha acceptance validator checked digest syntax and non-empty evidence labels, but it did not resolve those labels or compare candidate artifact bytes with the manifest. A syntactically complete manifest could therefore pass without retained evidence.
Decision¶
Alpha acceptance schema v2 uses repository-relative evidence records containing
both a file path and SHA-256 digest. Passed gates require existing files whose
bytes match those digests. Publication authorization additionally binds a full
qualified Git commit, an immutable source file, and the exact wheel and sdist
under dist/. Required gate identifiers are fixed and mandatory.
Each passed gate uses distinct retained evidence bytes; one generic object
cannot be reused to satisfy multiple gates. CI-generated qualification fan-in
records live under ignored dist/ so downloading them for the acceptance job
does not make the qualified Git checkout appear dirty.
Pending, failed, and unavailable gates cannot carry evidence that might be mistaken for accepted evidence. Preparation records remain valid without local artifacts only while publication authorization is false.
Consequences¶
The validator is still a release-record checker, not a substitute for human review or for the commands that produce each report. Green acceptance now means the named evidence bytes and candidate distributions are locally present and hash-bound to the manifest.
Alternatives considered¶
Free-form evidence identifiers were rejected because their existence and content cannot be checked. Directory paths were rejected because mutable trees do not provide one unambiguous retained evidence object.
Verification and rollout¶
The unreleased v0.7.0a1 manifest moves to schema v2 and reopens locally claimed
passes. Mutation tests cover missing evidence, path traversal, digest mismatch,
fabricated commits, nonexistent distributions, cross-gate evidence reuse, and
the generated qualification-summary location.