Files
stack/docs/scratchpads/832-receipt-challenge-protocol.md
jason.woltje 07553ead33
All checks were successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
WI-5 #832: Receipt-challenge protocol (compaction-refresh, milestone 188) (#845)
2026-07-19 23:18:56 +00:00

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:
    1. Add red-first deterministic T26/T29 in-build tests that call shipped normative construction and broker path.
    2. Add an unexecuted, isolated P5 out-of-process replay harness that drives the shipped daemon and asserts consume-before-promote for T25/T28.
    3. Implement the broker-minted receipt challenge and exact receipt observation/consume/promote path.
    4. 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.log before 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: all INVALID_CONSTRUCTION, PAYLOAD_CONSTRUCTION_REFUSED, and PAYLOAD_BINDING_MISMATCH cases 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.