diff --git a/FABRIC-3.6.md b/FABRIC-3.6.md index 23239bd0..b9be1140 100644 --- a/FABRIC-3.6.md +++ b/FABRIC-3.6.md @@ -58,6 +58,36 @@ early is this project's most repeated failure. --- +## Pre-flight — establish the baseline before anything changes + +**Branch state at open (2026-09-19):** `claude/starshipos-tripod-kernel-reshuffle-itbjns`, head +`3a4e5cf`, **working tree clean, pushed, 33 commits ahead of `master`** — all documentation, no +code. `master` is unmoved at `e56974e`, so the branch remains a clean fast-forward. **Execution +starts from this commit.** + +- [ ] **0.0** — **Three-ISA baseline smoke test on the unmodified branch.** + `make -f Makefile.starkernel ARCH= clean qemu` for amd64, aarch64, riscv64 — one at + a time, in the foreground, per `.claude/CLAUDE.md`. + *Check:* all three reach `zuse)ok>`; zero `UNKNOWN WORD`; logs committed under + `logs///`; **record each `dict_hash` and confirm the three are + identical.** + +**Why this is a gate and not a formality.** Every task in this document takes the +three-architecture boot as its acceptance (§XXXIV). **Without a known-good baseline captured +first, the first red boot is ambiguous** — pre-existing fault or something task 0.2 just did? +This project has been bitten by exactly that ambiguity before (`FABRIC-3.md` §XXVI: "the +lockdown was never broken — wrong VM tested"). The baseline is what makes every later +acceptance run interpretable, and the recorded `dict_hash` triple is the reference every +subsequent §XXXIV.6 divergence check compares against. + +**Not runnable in the session that wrote this document, and deliberately not faked.** Checked +2026-09-19 in the authoring container: **no `qemu-system-x86_64`, `-aarch64` or `-riscv64`; no +`aarch64-linux-gnu-gcc` or `riscv64-linux-gnu-gcc`; no OVMF/AAVMF firmware.** Only host `gcc`, +`clang` and `lld` are present. **Task 0.0 must be run by Captain Bob on a machine with the real +toolchain**, and its result recorded here before task 0.1 begins. + +--- + ## Phase 0 — Preparation (no behaviour change) **Gate:** all three architectures boot to `zuse)ok>`, `stadium_conserved()` true, no