test(build): acceptance boots a fresh data stick -- every run is a first boot (#92, Task 3)
Build / Image RASPI (push) Successful in 3m22s
Build / Image PC (push) Successful in 3m41s
Build / Image MILKV (push) Successful in 3m56s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 11m30s

Task 3 of plan 2026-10-29-stick-5, accepted in full:
- amd64, aarch64, riscv64: the proxy Zuse minted on a fresh data stick,
  PARITY:V4_POST tests=538 pass=538 fail=0, POST: PASSED, [zuse@Hera] ok>;
  dict_hash 0xfec8c47cfc6f437f on the three
- the PC stick as built, loaded high (stick_genesis): 538/538, the prompt
- make -C v4 test-32: 39 programs, 0 failures

Regressions pass. v3_keys failed once (a virtio_blk request never completed,
logs/20261108-132844) and passed on its rerun (logs/20261108-141539).
The plan's Task 3 steps ticked; FABRIC-3 XLVIII.13.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit is contained in:
Claude
2026-11-08 14:16:52 +00:00
parent bc0faa69df
commit b399cb7c35
4 changed files with 9053 additions and 5 deletions
+21
View File
@@ -6410,3 +6410,24 @@ Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 G
intervals; every run reported, failures included; the report states its limits (TCG, one server,
the sample). Rulings left for the milestone's start: the claim, the factors, the time budget,
charts as R images or XWiki's `{{chart}}` macro, where the pages sit.
### 13. #92, Task 3: every acceptance run is a first boot (2026-11-08)
- **Built:** a v4 `qemu` boot attaches a fresh data stick and nothing else (`kernel/Makefile`:
`DATASTICK` on, `ARTDISK`/`ZUSEDISK` empty, unless `KERNEL_ARGS` holds `system=v3`, whose defaults
are unchanged); `scripts/qemu_session.py` boots the Makefile's defaults except for the modes that
ask for the minted pair by name, or for no drive; `scripts/nightly.sh accept stick-high` boots the
PC stick as built (`stick_genesis`). `.claude/CLAUDE.md` ("The disks"), `disk/README.md` (the
pair: tests and v3 only), `STICK.md` 11 follow.
- **Tested first, seen to fail:** `zuse` on the old defaults -- the pair's "identity confirmed", no
genesis line.
- **Accepted:** amd64, aarch64, riscv64 each mint Zuse on a fresh data stick and reach the prompt,
538/538; the PC stick as built, loaded high, the same; `dict_hash 0xfec8c47cfc6f437f` on the
three; test-32 39 programs, 0 failures. Regressions pass: `stick_zuse`, `raw_ident`, `headless`,
`hotplug`, the seven GPT modes, `entropy` on the three.
- **One failure, and its rerun:** `v3_keys` failed once -- Hestia logged `virtio_blk: request never
completed` and the v3 boot stalled reading Zuse's marker over virtio; its rerun passed with no such
line. Task 3 changes no drive a v3 boot gets, so it is counted as v3's virtio path under load, not
a regression -- written down here, since a lost virtio request is a fault of its own (v3 goes with
#156).
@@ -227,13 +227,13 @@ xHCI USB sticks, `scripts/qemu_session.py`.
**Interfaces:** `make -f kernel/Makefile ARCH=<arch> clean qemu` boots v4 with a fresh data stick
on port 2 and no other drive: a first boot every time, the proxy minted, the prompt.
- [ ] **Step 1: Failing test:** `zuse` with the new default (no `--make`): the genesis line and the
- [x] **Step 1: Failing test:** `zuse` with the new default (no `--make`): the genesis line and the
prompt on all three ISAs. Today: FAIL (the pair is the default; no genesis line).
- [ ] **Step 2:** Run it: FAIL.
- [ ] **Step 3:** Change the defaults and the docs.
- [ ] **Step 4:** `zuse` passes on three ISAs; `qemu-stick-high` reaches the prompt from a fresh
- [x] **Step 2:** Run it: FAIL.
- [x] **Step 3:** Change the defaults and the docs.
- [x] **Step 4:** `zuse` passes on three ISAs; `qemu-stick-high` reaches the prompt from a fresh
PC stick; regression: `v3_keys`, `stick_zuse`, `raw_ident`, the GPT modes, `entropy`.
- [ ] **Step 5:** Suite; full acceptance as newly written; commit `test(build): acceptance boots a
- [x] **Step 5:** Suite; full acceptance as newly written; commit `test(build): acceptance boots a
fresh data stick -- every run is a first boot` with the logs.
### Task 4: `MINT-ZUSE` -- the real Zuse onto a second stick
File diff suppressed because it is too large Load Diff