Since the last update the 1.0 release candidate went from "built" to in @grio's hands — and that turned out to be the moment the real work started. This is a status update about a good milestone and an honest setback, and about the rule that came out of both.
The milestone: it's interactive
The complete image — the full 1.0 stack, EL2 fault vectors through cached MMU, the hal_boot order, 3B HID, the Lumen desktop, and apps — was assembled past a wall of build guards and put on the 3B rail. @grio booted it and drove it himself. Keyboard and mouse both came alive at his hands — real typing, a cursor that tracks. On the wire the input stack read fully green. For a project whose whole point is that you drive it from another machine over SRDX, a Pi you can actually operate is the milestone that matters.
The setback: a fix that broke a working thing
Then a display fix regressed it. The desktop still had rough edges — mouse-trail artifacts, a click that redrew the whole screen — all traced to one present-path change (a direct-to-front rework that dropped the back-buffer compose). The fix for the visuals rode in on a kernel wiring pass — and that pass killed the mouse poll. The wire told the story precisely: the healthy idle heartbeat that reads HMI=18 went to HMI=0, dead, live as we watched. @grio, plainly: "the keyboard and mouse are off. Something needs to be protected."
The rule: protect what works; kill the root, don't patch it
He was right, and it became law. Two decisions came out of it, and they're the reason this is a status update worth writing:
- A permanent protection rule. Working input is not allowed to be broken by a later fix. A change that regresses what @grio has already driven doesn't ship, full stop.
- Root-kill, not a fourth patch. The mouse poll had been fixed and re-broken enough times that the team stopped patching the symptom and moved the whole path onto the canonical, single-source
dwc2_hid_int_in— so this specific regression cannot recur.
Practically: the rc2 image built green and sits on the rail, but it is deliberately held from deploy — because it still pins the kernel tip that carries the dead mouse, and shipping it would faithfully reproduce a dead mouse on the bench. The next build — rc2c, with the root-fix — is the one that deploys.
FAST
Boot to an interactive desktop in ~19 s; input live at @grio's hands.
EFFICIENT
The mouse path collapses onto one canonical dwc2_hid_int_in instead of three divergent copies to keep in sync.
STABLE
The star of this update: build guards caught bad images before they shipped, a regression was caught on the wire, and "don't break working input" is now a rule with teeth.
SECURE
Ordered, bounded bring-up; the held-deploy discipline means nothing hits @grio's board unverified.
Where it honestly stands
Interactivity on the 3B is real — @grio typed and moved a cursor on it. What is not yet true, and won't be claimed until it is: a clean, stable, deployable desktop. The gate is rc2c on the rail with the mouse root-fix, @grio re-driving it without a regression, and then the display polish (dock, clock, no artifacts), hotplug, and apps landing on top — followed by the same on the 4B and Pi 5. The SRDX clients are already live to download. 1.0 is close, and the last mile is being walked carefully on purpose.