FABRIC-3 XLVIII.8: #92 Task 1, the proxy Zuse -- built, tested first, regressions [skip ci]

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 04:41:25 +00:00
parent c587678dbd
commit a58ddbfc24
+27
View File
@@ -6303,3 +6303,30 @@ failed was right to: it refuses a line that is not what was printed. The capture
stays headless"; minting Zuse on a stick's first boot (`docs/v4.0.0/STICK.md` section 6) is #92.
**Ruled:** #92 into alpha.4, so the PC stick downloaded from alpha.4 on boots to
`[zuse@Hera] ok>` at its first boot.
### 8. #92, Task 1: the proxy Zuse -- a stick's first boot mints its own (2026-11-08)
Plan `docs/v4.0.0/plans/2026-10-29-stick-5-proxy-zuse-and-real-zuse.md`, Task 1; `STICK.md` section 6.
- **Built:** the genesis marker's version 2 (`zuse_genesis_marker_v2_t`: the proxy's key and the
real Zuse's, zero until she is minted), read and written by the v4 boot alone
(`kernel/src/v4/sk_v4_marker.c`; a version 1 marker -- the minted pair's -- reads as a proxy with
no real Zuse). The identity check and the genesis mint are split out of v3's
`capsule_zuse_boot.c` (`capsule_zuse_boot_check_key`, `capsule_zuse_boot_genesis_mint`) as D1
split the check from the VM; v3's callers are unchanged in behaviour. On v4
(`sk_v4_identity.c`), a stick with no marker and a blank identity partition mints the proxy Zuse,
reads her back, and only then writes the marker that names her; she is logged in. A marker with a
real key gives the proxy no session (the fixed screen is Task 5).
- **Tested first, seen to fail:** `genesis` (a fresh data stick, booted twice) failed on amd64 with
"Zuse: no genesis on this disk -- the system stays headless", both boots. After: `genesis` passes
on all three ISAs (first boot minted, second recognised, not minted again); `stick_genesis` -- the
PC stick as built, no `STICK_PAIR` -- reaches `[zuse@Hera] ok>` with nothing set up: plug and play.
Regressions pass: `zuse`, `stick_boot`, `stick_zuse`, `stick_artemis`, `two_sticks`,
`artemis_unsigned`, `raw_ident`, `hotplug`, `midpull`, `waitpull`, `typeahead`, the seven GPT
modes, `v3_keys`.
- **My slip, written down:** `stick_boot` and `stick_artemis` were first run without
`KERNEL_ARGS=--log-level=info`, which their disk-size checks read; they failed on that check alone,
and passed when rerun at the info level. Both runs' logs are in the tree.
- **Left as it is (the plan's order):** a genesis whose marker write fails leaves Zuse on the
identity partition with no marker naming her; that stick then logs no one in until it is
rewritten. Said once, "Zuse: genesis marker write failed -- headless".