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:
co-authored by
Claude Sonnet 5
parent
89d886b7f7
commit
4544877a36
+23
-2
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-16T19:45:24Z -->
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-19T17:03:17Z -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user