Files
rune/docs/tui-registry.md
T
Nick d571658b5a
deploy / deploy (push) Skipped
CI Pipeline / go-surface (push) Successful in 4s
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / type-check (push) Successful in 28s
CI Pipeline / lint (push) Successful in 37s
CI Pipeline / canary (push) Successful in 43s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / go-surface (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 34s
CI Pipeline / best-practices (pull_request) Successful in 1s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / canary (pull_request) Successful in 37s
CI Pipeline / type-check (pull_request) Successful in 27s
CI Pipeline / gitea-offline (pull_request) Successful in 13s
Spec gate (headless) / spec-gate (pull_request) Successful in 4s
CI Pipeline / unit-tests (push) Failing after 4m50s
CI Pipeline / unit-tests (pull_request) Failing after 4m48s
CI Pipeline / required-checks (push) Failing after 1s
CI Pipeline / required-checks (pull_request) Failing after 1s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Successful in 2s
CI Pipeline / CI Pipeline / notify-event-bridge (pull_request) Successful in 1s
fix(ci): register tui_transport in the TUI registry
The tui_panels_are_governed henxel held on the H4 slice-1 surface
(runs 18346/18347): new TUI surfaces ship with a registry entry in the
same PR. Entry added (not-a-surface seam, contract ref, coverage ref).
Local henxels: all hold.
2026-10-04 12:16:23 +01:00

1.5 KiB

TUI registry

Every TUI surface in src/rune/ is registered here — what it renders, who owns it. Governed by the tui_panels_are_governed henxel: a new TUI surface that isn't registered fails the contract. Add the entry IN THE SAME PR as the new surface.

Surface Renders Notes
rune_tui.py The main Textual application — chat pane, work pane, status bar (version label + refresh), footer, dialogs The known giant (file-size debt tracked in henxels); composition root for all UI
tui_validator.py Import-allowlist validation for TUI code Drift defect tracked in #139 (allowlist vs __future__/relative imports)
tui_backlog.py Not a surface — the durable TUI Upgrade Backlog ledger (outstanding projection/control work per backend feature) SCAFFOLD-TRANCHE-007; ledger only, never structural authority
tui_transport.py Not a surface — the transport seam for the TUI's operator calls (in-process default / /v1 wire opt-in) H4 slice 1 (contract BUILDER-2026-10-04T10:32:00Z-cli); RUNE_TUI_TRANSPORT selects; coverage: canary_tui_transport.py

Adding a TUI surface

  1. Create the module under src/rune/.
  2. Add a row here (renders / notes) in the same PR.
  3. Ship a test or canary (the new_rune_modules_have_canary_or_test_coverage henxel enforces coverage).
  4. Decomposition of rune_tui.py along the authority map is tracked in #125 — new panels should target the decomposed structure, not grow the giant.