FABRIC-3.6.md task 0.0: three-ISA baseline smoke test, PASS

amd64/aarch64/riscv64 all boot clean to [zuse@Hera] ok>, zero UNKNOWN
WORD, and dict_hash identical across all three: Hera (PARITY:M7.1a)
0x6824fe5993239838, Hermes 0x062252c4da6858da, Artemis
0xed80117724c26f36. This is the gate task 0.0 exists for -- every later
task's acceptance in this document assumes this baseline is known-good.

Found and worked around a real confound along the way: disk/artemis.img
is deliberately shared across all three ISAs' qemu targets (FABRIC-3.md
SXXXV.2), so a same-order rerun has run 2 and 3 silently resume run 1's
already-formatted disk instead of formatting their own. The first
attempt (logs/20260919-124835 amd64, logs/20260919-124952 aarch64,
both kept for the record) shows exactly this: Artemis's dict_hash
diverges between the two runs even though Hera's and Hermes's do not,
because only Artemis's birth path branches on disk state. Restored
disk/artemis.img and disk/thumbdrives/zuse-thumb-ident.img to their
committed blank state before each of the three reruns that produced
the clean, matching baseline above, and recorded the finding in
FABRIC-3.6.md so a later task doesn't mistake the same confound for a
real architecture divergence.

capsules/BLOCK_MAP.md's timestamp header is regenerated by the build,
per .claude/CLAUDE.md's documented behavior for that generated file.

Authorized by Captain Bob ("begin", "clean new disk",
"document, commit, and push").

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-19 13:08:32 -04:00
co-authored by Claude Sonnet 5
parent 89d886b7f7
commit 4544877a36
11 changed files with 45926 additions and 3 deletions
+23 -2
View File
@@ -119,12 +119,23 @@ early is this project's most repeated failure.
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.**
- [x] **0.0** — **Three-ISA baseline smoke test on the unmodified branch.**
`make -f Makefile.starkernel ARCH=<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/<timestamp>/<arch>/`; **record each `dict_hash` and confirm the three are
identical.**
2026-09-19 · `logs/20260919-130023/amd64/`, `logs/20260919-130137/aarch64/`,
`logs/20260919-130319/riscv64/` — all three reach `[zuse@Hera] ok>`, zero `UNKNOWN WORD`.
`dict_hash` identical across all three: Hera (`PARITY:M7.1a`) `0x6824fe5993239838`,
Hermes `0x062252c4da6858da`, Artemis `0xed80117724c26f36`.
note: **first attempt confounded, see findings log** — `logs/20260919-124835/amd64/` and
`logs/20260919-124952/aarch64/` (kept, not deleted) show Artemis's `dict_hash` diverging
(`0xed80117724c26f36` vs `0x93d6e815354b61c0`) purely because `disk/artemis.img` is shared
across all three ISAs' `qemu` targets (`FABRIC-3.md` §XXXV.2) and the second run resumed
the first run's already-formatted disk instead of formatting its own. Restored
`disk/artemis.img` and `disk/thumbdrives/zuse-thumb-ident.img` to their committed blank
state (`git checkout --`) before each of the three reruns above to remove the confound.
**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
@@ -264,7 +275,17 @@ Only after every live type is cut over. **Hermes leaves `is_fleet_foundation` an
*Defects and surprises found while executing. Reported, not fixed (unless the task was to fix
them). A finding that contradicts a `FABRIC-3.5.md` ruling must also be amended there.*
*(none yet — work not started)*
**2026-09-19, task 0.0 — shared `disk/artemis.img` confounds cross-ISA `dict_hash` comparison
unless reset between runs.** Not a code defect and does not contradict any `FABRIC-3.5.md`
ruling — `FABRIC-3.md` §XXXV.2 already documents that the disk is deliberately shared across all
three ISAs' `qemu` targets. But it means a same-order rerun of the three architectures will have
run 2 and 3 silently take Artemis's `resuming` branch instead of its `blank disk -- formatting`
branch, producing a different `dict_hash` for Artemis alone (Hera and Hermes are unaffected —
neither touches the artdisk at birth). Worth carrying forward: **any task in this document that
checks `dict_hash` identity across architectures and involves Artemis should restore
`disk/artemis.img` and `disk/thumbdrives/zuse-thumb-ident.img` to their committed blank state
(`git checkout --`) before each architecture's run**, or the check will fail on a confound rather
than a real divergence.
---