Repository navigation
v7.257.0
The producer-side implementation order (audit/10.md) was largely satisfied by the v7.256.0 automation contract; this release adds what the audit explicitly demanded on top of it.
- Render the display-only
SAIPEN_CLOSURE_COMPLETEline (with compactaudit=/source=evidence) only when the mechanical disposition is COMPLETE; the JSON automation block stays byte-clean and remains the only machine truth. - Add the missing deterministic test cases: an empty physical folder with an unsettled canonical intake (MISSING_AFTER_CAPTURE orphan) is not quiescent, DONE phase and empty board alone are insufficient, structural corruption is INVALID fail-closed, identical epoch + source yield byte-stable output, manual semantics outside Run to Closure are unchanged, and a real
saipen status --jsonsubprocess run writes zero project bytes. - Add the §10 acceptance fixture: a disposable three-layer project driven through the real audit transport proves work → CONTINUE, first quiescence with a pre-boundary pass → not COMPLETE, a post-boundary fresh pass → COMPLETE, a new
audit/4.mdinvalidates the prior closure and drifts the epoch, and after it drains a stale pass stays CONTINUE until a fresh pass restores COMPLETE. - Document the contract in the smallest owners: the
automation.pymodule docstring and one indexed KNOWLEDGE card naming that only the automation block is machine truth. - Verification: 1,217 unit tests (one skip), 29 automation tests, ruff clean on the tracked surface, validator 0 FAIL / 27 known warnings.