Files
stack/docs/scratchpads/832-receipt-challenge-protocol.md
2026-07-19 17:15:10 -05:00

1.9 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: forged h_source/h_payload was accepted and the observer module was absent. Remediation GREEN: observer/payload/T26/T29 unittest (4 tests), 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 was updated for the test-observer seam but was not fired. Coverage tooling remains unavailable (python3 -m coverage: module not installed). Push pending.