diff --git a/FABRIC-3.md b/FABRIC-3.md index 7a1238b..88cfc98 100644 --- a/FABRIC-3.md +++ b/FABRIC-3.md @@ -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).