2.0 KiB
2.0 KiB
#832 Receipt-challenge protocol — build scratchpad
- Objective: Deliver WI-5 receipt-challenge protocol ACs T25, T26, T28, and T29 only.
- Authority: BUILD-BRIEF, SPEC-v5, ratification, and red-team hashes verified in STEP-0.
- Base:
e522b22fa4492861b0fcd4a956a8795c54eb9bfe(origin/main). - Constraints: Byte-build only: no live broker/socket/systemd/tmux mutation. No PR, self-review, or probe fire. T27/T30 are out of scope.
- Plan:
- Add red-first deterministic T26/T29 in-build tests that call shipped normative construction and broker path.
- Add an unexecuted, isolated P5 out-of-process replay harness that drives the shipped daemon and asserts consume-before-promote for T25/T28.
- Implement the broker-minted receipt challenge and exact receipt observation/consume/promote path.
- Run unit, framework-shell, compile, lint, and type checks; push after the required queue guard; report to
mosaic-100.
- Risks: The standalone harness must drive the real daemon without a divergent fixture. If that is impossible, stop and flag Mos.
- Evidence: Initial RED recorded in
/home/hermes/agent-work/reviews/832-wi5-red-receipt-challenge.log; initial green checks passed. Remediation RED recorded in/home/hermes/agent-work/reviews/832-wi5-remediation-red.logbefore observer/payload implementation; remediation green passed. Remediation-2 RED recorded in/home/hermes/agent-work/reviews/832-wi5-remediation2-red.log: each rejected begin restored prior VERIFIED authority. Remediation-2 GREEN: receipt unittest (5: allINVALID_CONSTRUCTION,PAYLOAD_CONSTRUCTION_REFUSED, andPAYLOAD_BINDING_MISMATCHcases preserve UNVERIFIED and deny the next mutator), normative-fragments unittest (5), state-store regression (10), full mutator-gate acceptance (20, including the real begin → observer → consume → promote path),py_compile, Mosaic package lint/typecheck, and targeted Prettier check. The P5 harness remains unfired. Coverage tooling remains unavailable (python3 -m coverage: module not installed). Push pending.