This is the story of one six-hour morning on the road to sigilOS 1.0 — start to now, told straight. It begins with hardware waking up and ends with a machine that boots to its desktop on camera, keyboard and mouse green on the wire, and one honest gate still open: @grio's own hands.
Hour one: the hardware wakes up
The window opened on a breakthrough that had been weeks coming. On the Raspberry Pi 3B, the keyboard came alive on metal — real scancodes, NumLock lit, @grio's eyes on it. The fix that closed it was an encoder correction (0x8000C083 on the wire), but the deeper win was structural: the whole enumeration-crash class had a single root — USB enumeration must run with the MMU on. Before the cached MMU is live, peripheral MMIO is uncached and the reads bring-up depends on misbehave. That stopped being a per-board scramble and became a law, folded into hal_boot: MMU and caches first, then all hardware — USB host, hub, HID, the 3B's LAN9514 NIC — then networking. The 4B and Pi 5 inherit it rather than re-deriving it. (The bring-up itself was already fast: USB core up at 1.4 s, down from ~50, by emulating Circle.)
Hours two–four: assembling the whole thing
Getting one complete image — the crash-loop fix, the 3B HID, the full Lumen desktop, and every app in a single build — was its own grind, and an instructive one. Build after build tripped a manifest guard: a source file called but not listed, a symbol defined in one branch and not another, a reseed that looked fine and wasn't. The pattern held: the guards did their job. A three-gate rule caught a broken compiler reseed before it ever shipped; a "complete" image that came back suspiciously small was rejected by a size floor. Each failure was a guard refusing to let a plausible-but-wrong build through — which is exactly what you want when you're closing on a release. The reconcile turned out small in the end (a two-function port, a couple of manifest lines), and the complete image went green and deployed to the 3B rail.
Hour five: it renders
Then the 3B proved it on metal. The boot chain came up clean on UART all the way to login, and boot time dropped from ~49 s to ~19 s as a dongle-settling ladder was tuned out. The camera caught the payoff: the Lumen desktop, in violet, with a live cursor — LMDN → CURS on the wire, keyboard, mouse, and Ethernet all reading green.
Hour six: the honest part
A single good boot is not a shippable OS, and this is where the discipline earns its keep. Two problems surfaced, and both were run to ground rather than papered over:
- The flake. Across ~10 boots the second device — the mouse — bound only about half the time. The honest scorecard at the low point read kbd 3/4, eth 1/4. Not @grio-ready, and said so out loud. A predicate-and-retry fix on the enumeration path followed, and the wire verdict flipped: consecutive full-HID-green boots, 5 of 5 — the enum-flake class dead (every leg:
D2=0 · KL=0 · D0=0 · A3=0 · KM3=1 · ETH=0). - The mirage. For a stretch, @grio reported "still broken — keyboard and mouse aren't initializing," while the wire showed green. Both were true: it was a two-board mix-up — the working image was on the 3B, but @grio's monitor and devices were plugged into the 4B, a different board entirely. Naming that reconciled the contradiction.
FAST
USB core at 1.4 s; full boot to desktop trimmed ~49 s → ~19 s over the morning.
EFFICIENT
One boot-order law in hal_boot for three boards; a small two-function reconcile closed the whole-image build.
STABLE
Build guards caught a bad reseed and a too-small image before they shipped; the enum flake was killed at the root, 5/5 green.
SECURE
Ordered, bounded bring-up — the whole device stack is up and accounted for before anything else runs.
Where it honestly stands
The 3B boots to its Lumen desktop, and keyboard, mouse, and Ethernet come up green and reliably on the wire — 5 of 5. The complete full-OS image is built and on the rail. What is not yet done, and won't be claimed until it is: @grio putting his own hands on the working board — typing, moving the cursor, driving it — and then the same proof on the 4B and the Pi 5. On this particular morning image, Ethernet is a known follow-up. The SRDX remote-desktop clients (macOS, Linux, Windows) are already live to download. 1.0 is close. It lands when @grio drives it, not when the wire says green — and this team has been careful, all morning, to keep that distinction.