Repository navigation
chore(genie-ui): remove superseded browser-shell package from the OSS tree - #2622
Conversation
packages/genie-ui was the original fresh-substrate UI (PR #2609), superseded 2026-07-21 when Felipe rejected the substrate live and the UI direction moved to genie-ui-dash in the private khal-os/genie-desktop repo. it was never promoted to main; the docs superseded it but the code kept squatting on dev. removes the standalone package (@automagik/genie-ui, private) and its 9 root-package deps that nothing in src/ imports (@agentclientprotocol/sdk, node-pty-prebuilt-multiarch, 5x @xterm/*, ws, @types/ws), plus the gate touchpoints: typecheck leg, tsconfig reference, biome packages/** override, knip entries/project, complexity-budget scan scope. the sanctioned genie ui-bridge command (src/term-commands/ui-bridge.ts) stays — it is the stdio MCP channel the private UI spawns, not the shell. gate: typecheck/lint/dead-code/complexity-budget clean; 2343 tests pass (the single ui-bridge 'ss' failure is a pre-existing linux-only test, absent on darwin, byte-unchanged here).
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Why
packages/genie-ui(@automagik/genie-ui,private:true) is the original fresh-substrate browser shell from PR #2609. Per the INDEX ledger it was superseded 2026-07-21 — Felipe rejected the substrate after seeing it live, and the UI direction moved togenie-ui-dashin the privatekhal-os/genie-desktoprepo. The docs superseded it but the code kept squatting ondev; it was never promoted to main.Left in place, the pending dev→main promotion (#2619) would drag this dead PTY/browser shell into main for the first time — which is also why the DNS-rebinding RCE (#2621) mattered. Deleting it removes that surface from main's future entirely.
Swept the whole repo: this is the only stale UI. The sole frontend files anywhere (
index.html,styles.css) were inside this package; no other browser shell or dashboard frontend exists.What's removed
src/imports (@agentclientprotocol/sdk,@homebridge/node-pty-prebuilt-multiarch, 5×@xterm/*,ws,@types/ws) + lockfile.typecheckpackage leg,tsconfigproject reference, thebiomepackages/**override,knipentries/project, and thecomplexity-budgetscan scope.What stays
The sanctioned
genie ui-bridgecommand (src/term-commands/ui-bridge.ts+src/lib/v5/bridge-watcher.ts, PR #2610) — the stdio MCP channel the private dash UI spawns. It's the protocol seam, by design in OSS; not the shell.Salvage
The chat-backend the ledger earmarked as conductor-wish substrate is preserved in git history at the #2609 merge; recoverable if/when that wish starts.
Gate
typecheck/lint/dead-code/complexity-budgetclean; 2343 tests pass. The singleui-bridgefailure (holds zero listening TCP sockets) is a pre-existing Linux-only test — it shells out toss, absent on darwin — byte-unchanged by this PR and green on CI.