FABRIC-3.md: close §F.27, first real second identity minted, MSG-TICK gap found+fixed

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBjfeLPo71sUQ8zC7V7P5m
This commit is contained in:
Robert Allan James
2026-08-28 22:06:00 -04:00
co-authored by Claude Sonnet 5
parent d00e6cb50d
commit a54e84b2d6
+31
View File
@@ -3227,3 +3227,34 @@ branch, not re-mint, exactly as seen on aarch64/riscv64 above.
Where this leaves the original F.25 directive: fully closed. `make qemu` (any arch, default
invocation) now reliably attaches both disks, lands in an authenticated Zuse session, and
reruns cleanly. Commit follows.
### F.27 — first real second identity minted: a genuine `MSG-TICK` gap found and fixed (2026-08-28)
With Zuse's own genesis flow closed, minted the **first real second identity** end to end —
a fresh `disk/captain-bob.img`, hot-attached via QMP (`blockdev-add` + `device_add
usb-storage,bus=xhci0.0`, same precedent as §W's own hotplug testing) alongside Zuse's already-
authenticated session, `MINT`ed with a real human profile ("Captain Bob"/`bob`), detach/
reattach to refresh the sig cache (the known §F.19 gap, worked around the same way), recognized,
`WIREBIND`-attached (`"WIREBIND: bob attached and ready -- USE it to begin"`), and switched into
live with `USE` — full first-token verification (`WELCOME` printed `"Minted identity -- default
personality"` from inside the `bob` session itself).
**A real, previously-undiscovered bug found live, not assumed away:** the instant `WIREBIND`
made the freshly-born `bob~user` VM live, Hera's own per-idle-tick `MSG-TICK` distributed-
messaging pump (repl.c's Phase C loop, "distributed messaging capsule + idle-loop pump")
began erroring on it every tick, forever —
`UNKNOWN WORD: 'MSG-TICK'` / `VM-EXEC: ERROR in bob~user`. Root cause: `MINT`'s default
personality content (`capsule_mint.c`'s `MINT_DEFAULT_PERSONALITY`) only ever defined `WELCOME`
— unlike `capsule_console.c`'s own `CONSOLE_IDENTITY_SRC`, it never loaded
`common:messaging.4th`, so the RUNCAP-born identity VM had no `MSG-TICK` word for the pump to
find. Not specific to this one identity — every identity minted before this fix would hit the
same infinite error-spam the moment it went live.
**Fix:** `MINT_DEFAULT_PERSONALITY` now loads `common:messaging.4th` and calls `MSG-CD-INIT`
first, exactly mirroring `capsule_console.c`'s own pattern, before defining/calling `WELCOME`.
Verified live: re-minted the same drive after the fix (bleached first) — `WIREBIND` succeeded,
zero `MSG-TICK`/`UNKNOWN WORD` errors over 18+ seconds of idle-loop cycling (several multiples
of the pump's own cadence), `USE bob` and `WELCOME` both still work correctly. Full
three-architecture regression clean (amd64 fresh Zuse reload + the fix compiled in; aarch64/
riscv64 clean Zuse reload, unaffected — the fix only touches content written at `MINT` time, no
change to the boot path itself).