feat(kernel): the fixed screen -- with a real Zuse, the system stick alone can only mint a replacement; the old stick dies (#92, Task 5)
Build / Image RASPI (push) Successful in 4m21s
Build / Image PC (push) Successful in 5m1s
Build / Image MILKV (push) Successful in 7m22s
Build / v4 tests (32- and 64-bit cells) (push) Successful in 12m17s
Acceptance / Acceptance (pull_request) Successful in 19m56s
Runner image / Build and publish the runner image (push) Failing after 5m37s
Release / Release ${{ github.ref_name }} (push) Canceled after 0s

Task 5 of plan 2026-10-29-stick-5, accepted in full, and with it #92:
- amd64, aarch64, riscv64: PARITY:V4_POST tests=538 pass=538 fail=0,
  POST: PASSED; word_count=318 dict_hash=0x8c92508f748f99cf on the three
- the PC stick as built, loaded high: 538/538, the prompt
- make -C v4 test-32: 39 programs, 0 failures

Sessions: fallback, replace, mint_fail, system_pull_real; regressions:
every Task 4 session, genesis, stick_genesis, screen_dark_until_login,
screen_dark_after_logout, kbd_typeahead, emergency. Verdicts in
logs/20261110-075036/verdicts/. The plan's Task 5 ticked; STICK.md 11
increment 5a done; FABRIC-3 XLVIII.17; the SER5 bench steps in
boards/BRINGUP.md 4.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit was merged in pull request #160.
This commit is contained in:
Claude
2026-11-10 07:59:58 +00:00
parent 4742cf8b3b
commit 836b4423e1
45 changed files with 3116 additions and 7 deletions
+24
View File
@@ -6489,3 +6489,27 @@ and memorize frequently so we can pick up where we left off").
- **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).
### 17. #92, Task 5: the fixed screen -- and #92 done (2026-11-10)
- **Built** (`sk_v4_identity.c`): with a real Zuse in the marker and her stick not here, the system
stick's proxy gets no prompt but the fixed screen -- "Zuse's stick is not here." / "Plug it in to
log in." / "Or plug in another stick and press R to mint a replacement" / "-- the old Zuse stick
will stop working." -- on the screen and serial; R runs the mint, every other key is read and
dropped; a stopped or failed mint brings the screen back. Her stick pulled: the screen again.
The system stick pulled while hers is in: hers, the block chain's tail, is let go first and
remembered, and checked again when the system stick is back.
- **Tested first, seen to fail:** `fallback` -- no screen, R did nothing. After: `fallback`,
`replace` (the old stick then "not this system's Zuse stick -- not used"), `mint_fail` (a stick
whose writes all fail: "failed -- nothing changed", the old stick still logs in -- Review Focus 4),
`system_pull_real` (no detach refusal; she is back on replug). `mint_fail` failed once on its own
check, which counted the first boot's mint in the second boot's log; fixed, it passed.
- **Accepted:** the regressions (every Task 4 session, `genesis`, `stick_genesis`, the screen and
keyboard sessions, `emergency`); 538/538 on the three and the stick loaded high, `word_count=318`,
`dict_hash 0x8c92508f748f99cf`; test-32 0 failures.
- **The SER5 bench steps** are in `boards/BRINGUP.md` 4.2: first boot, second boot, `MINT-ZUSE`, the
system stick alone, both sticks at power-on -- each rehearsed in QEMU first.
- **#92 is done:** the plug-and-play stick (STICK.md 5, 5a, 6, 6a) -- written, plugged in, booted,
`[zuse@Hera] ok>`; growth; the real Zuse on a second stick; the fixed screen. The alpha.4
Downloads page (#126) can offer the PC stick.