feat(kernel): MINT-ZUSE -- the real Zuse minted onto a second stick, read back before the marker names her (#92, Task 4)
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:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user