feat(kernel): MINT-ZUSE -- the real Zuse minted onto a second stick, read back before the marker names her (#92, Task 4)
Build / Image RASPI (push) Successful in 2m42s
Build / Image PC (push) Successful in 3m17s
Build / Image MILKV (push) Successful in 2m43s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 9m28s

Task 4 of plan 2026-10-29-stick-5, accepted in full:
- amd64, aarch64, riscv64: PARITY:V4_POST tests=538 pass=538 fail=0,
  POST: PASSED; PARITY:V4_SYSTEM word_count=318 dict_hash=0x8c92508f748f99cf
  on the three (MINT-ZUSE, the lone node's second word)
- the PC stick as built, loaded high: 538/538, the prompt
- make -C v4 test-32: 39 programs, 0 failures

Sessions: mint_zuse on the three; mint_zuse_refuse, mint_small,
mint_zuse_used, mint_pull_system, zuse_stick_first; regressions genesis,
two_sticks, hotplug, midpull, typeahead. Verdicts in
logs/20261110-051726/verdicts/. The plan's Task 4 ticked; FABRIC-3 XLVIII.16.

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-10 05:28:38 +00:00
parent 1881f30e6c
commit 7fee88eb49
8 changed files with 361 additions and 7 deletions
+30
View File
@@ -6459,3 +6459,33 @@ Plan `2026-10-29-stick-5`, Task 2; `STICK.md` 5a (its 2 TiB cap amended to 256 G
copyright line), and the capsules (`.4th`, `.f18`) and proofs (`.thy`) left for a ruling of their
own. 253 files given it (3bd81097); `tools/kconfig/` keeps its own GPL-2.0, `docs/working/` and the
generated `v4/system/post_cases.c` are not touched. Comments only: three ISAs build, test-32 clean.
### 16. #92, Task 4: `MINT-ZUSE` -- the real Zuse on a second stick (2026-11-10)
Plan `2026-10-29-stick-5`, Task 4; `STICK.md` 6a. Worked in small increments, each committed and
pushed with the plan's Progress section brought up to date (Captain Bob: "work in small increments
and memorize frequently so we can pick up where we left off").
- **Built:** a GPT writer of a new disk, `gpt_write_one()` (the old MBR zeroed first, the protective
MBR written last, so a torn write leaves no table); a stick offered to a waiting mint, not attached
or refused (`sk_v4_identity_offer_wait()`), and the last stick turned away kept as a spare that the
next mint offers first; `sk_v4_mint.c` -- the plug-in line, the stick's size, nothing written
until `YES`, then the GPT, the partition's first devblocks zeroed, a fresh Zuse minted and read
back, and only then the marker's real key; `MINT-ZUSE`, request 2 of the lone node's words
(`word_count` 317 -> 318, `dict_hash 0x8c92508f748f99cf` on the three); the real Zuse's stick
recognised against the marker's real key, attached at the chain's tail, her session -- one
already running moves to her; her stick arriving before the system stick is remembered and
checked once the marker is read. The installed key is the logged-in Zuse's, set at each login.
- **Tested first, seen to fail:** `mint_zuse` -- "UNKNOWN WORD: 'MINT-ZUSE'". After: `mint_zuse` on
the three ISAs (the size line, `YES`, minted, her stick recognised, the prompt, `sfdisk --verify`
clean on the new stick); `mint_zuse_refuse` (the stick's bytes unchanged, offered again);
`mint_small`; `mint_zuse_used` (the pair's Zuse stick rewritten, the new Zuse recognised -- Review
Focus 2); `mint_pull_system` (stopped, nothing written, the proxy back on replug -- Review Focus
3); `zuse_stick_first` (her stick on the lower port at boot -- Review Focus 1). `gpt_write_one`
checked on the host first, against blank and used images. Regressions pass: `genesis`,
`two_sticks`, `hotplug`, `midpull`, `typeahead`.
- **Accepted:** 538/538 and `POST: PASSED` on the three and the stick loaded high; `dict_hash
0x8c92508f748f99cf` on the three; test-32 0 failures.
- **Left for Task 5:** the fixed screen (with a real Zuse, the system stick alone gives no prompt),
its R, the old stick refused after a replacement, `mint_fail` (Review Focus 4), and pulling the
system stick while hers is in (her stick, the chain's tail, must go first).