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
scripts/
Utility scripts for building, profiling, DoE experiments, and documentation.
DoE / experiment scripts
| Script | Purpose |
|---|---|
run_doe.sh |
Run a standard DoE experiment |
run_factorial_doe.sh |
2^7 factorial DoE |
run_factorial_doe_with_heartbeat.sh |
Factorial DoE with heartbeat metrics |
run_nested_doe.sh |
Nested DoE design |
run_ablation_study.sh |
Physics loop ablation |
run_optimization_doe.sh |
Optimization-focused DoE |
run_quick_doe_test.sh |
Quick smoke-check DoE (1 rep) |
extract_doe.sh |
Extract CSV rows from QEMU serial logs |
Build / profile scripts
| Script | Purpose |
|---|---|
perf-profile.sh |
Linux perf profiling harness |
perf-profile_control.sh |
Control run for perf comparison |
rundisk.sh |
Boot a disk image in QEMU |
qemu_screenshot.sh |
Capture QEMU serial output |
Phase 8 / identity testing scripts
| Script | Purpose |
|---|---|
bleach_zuse_img.sh |
Reset disk/zuse.img back to pristine/unminted (blank) state, for repeatable first-boot mint-flow testing |
FORTH capsule scripts
| Script | Purpose |
|---|---|
4th-apply-init.sh |
Apply init.4th patches to capsule set |
4th-update-init.sh |
Update init.4th across capsule variants |
Documentation scripts
| Script | Purpose |
|---|---|
asciidoc-to-latex.sh |
Convert AsciiDoc to LaTeX |
convert-markdown-to-asciidoc.sh |
Markdown → AsciiDoc |
doxygen-xml-to-asciidoc.py |
Doxygen XML → AsciiDoc |
generate-doxygen-appendix.sh |
Build Doxygen API appendix |
build_patent_structure.sh |
Scaffold patent document structure |
setup-ide-integration.sh |
Configure IDE integration |
analyze_heartbeat_stability.R |
R analysis of heartbeat stability data |
analyze_opp2_regression.py |
Python regression analysis |
gen_pe_reloc.py |
PE relocation table generator (see also tools/) |
remove_loop_conditionals.sh |
Remove loop conditional guards |
See also
experiments/bare_metal/README.md— DoE protocols- Project root