Skip to content

docs: Rust core spike decision and companion inventories - #337

Merged
arzafran merged 3 commits into
mainfrom
docs/rust-core-spike
Sep 16, 2026
Merged

arzafran merged 3 commits into
mainfrom
docs/rust-core-spike

Conversation

@arzafran

Copy link
Copy Markdown
Member

What this does

Records the answer to "should we rewrite Programa on gpui-kit for perf and Windows, and should every terminal be a dumb client of a core running elsewhere". Three docs under docs/plans:

  1. rust-core-spike.md, read this first. Perf attribution of the Swift shell (idle, hidden output, churn, real keystrokes: all clean, nothing to fix), the gpui-kit + alacritty_terminal spike numbers, the core-plus-clients architecture with personal and org attach modes, and the decision.
  2. rust-core-concepts.md, everything a replacement core has to reproduce, with every socket command, CLI command, MCP tool, settings key, and the 10 Ghostty fork patches.
  3. t3code-inventory.md, how pingdotgg/t3code splits server and clients, its RPC contract and relay pairing design, and what is worth porting.

Decision in one line

No rewrite. GPUI is viable for a Windows and Linux client. The plan is a headless core (Rust, local or hosted) with draw-only clients, contract first, the macOS app as the first client. Org mode is a product decision.

Test plan

  • Docs only, no code. Read rust-core-spike.md "Decision" and confirm it matches the intended direction.
  • Spike repo is at ~/Developer/@darkroom/programa-spike on this machine (not in this repo).

@darkestdarky-bot darkestdarky-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation-only PR adds detailed plan and inventory documents. The spike decision record omits the required ## Functional DAG opening for markdown plans/ADRs per cc-settings. Its decision rule section is also missing the explicit criteria list before deferring to a table. Otherwise the documentation is thorough and follows register and structure guidelines.

Review coverage: 500/1150 diff lines supplied. Partial input (truncated: diff, standards). Inline comments are limited to fully visible, valid right-side hunks. Reviewed commit: c36b5683ada13c2fd31d2d5c7d405462783d261c.

@arzafran
arzafran merged commit ea5f00c into main Sep 16, 2026
7 of 8 checks passed
@arzafran
arzafran deleted the docs/rust-core-spike branch September 16, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant