Build / Image RASPI (push) Successful in 5m13s
Build / Image MILKV (push) Successful in 14m9s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 18m36s
Acceptance / Acceptance (pull_request) Failing after 10m33s
Build / Image PC (push) Successful in 7m34s
scripts/nightly.sh protocol: every stage a PR, the nightly and a release run -- accept amd64, aarch64, riscv64, stick-high, test-32, proofs, images, docs -- in order, never publish; the first failure ends it. protocol <stage>... runs those only, so each can be its own foreground command (the QEMU rule); accept-amd64 begins a protocol, recording the commit and whether the tree is clean. protocol-report writes logs/<TS>/PROTOCOL.md (the commit, the tree, each stage's result and output, POST and dict_hash per architecture compared, test-32's totals, the proofs' log, the images' and documents' SHA-256) and keeps every stage's output in logs/<TS>/protocol/ -- nothing is left only in build/nightly. PASS only if every stage passed on the commit it began on and the tree is unchanged but for the evidence. acceptance.yml: scripts/check_protocol.sh on the PR's head, first, before the boots. The PR template asks for PROTOCOL.md; .claude/CLAUDE.md names the protocol as the acceptance a developer runs. Captain Bob, 2026-11-07 (#135); 2026-11-12: "Keep working on alpha.5". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm