docs: D6 engine-side headless VT spike — recommend "not now" (WI-130) - #673
Closed
thedancingdeveloper wants to merge 1 commit into
Closed
thedancingdeveloper wants to merge 1 commit into
thedancingdeveloper wants to merge 1 commit into
Conversation
…now" Answer the D6 design question (WI-130) in a new docs/ROADMAP.md: should the engine run a headless terminal emulator per session so a cold attach ships screen state instead of byte history? - Crate comparison: vt100 (best fit — minimal grid, smallest surface), alacritty_terminal and termwiz (heavier, renderer/feature surface a snapshot server does not need). - Grounded per-session cost at 8 sessions: ~1.7–3.4 MB grid each (~14–27 MB total) ON TOP of the raw ring, plus continuous VT parse CPU on the PTY hot path — a cost the raw-ring design pays only per attach. No live number taken (no stack reachable); H1's load session is the measurement path if revisited. - Wire shape (snapshot-start kind:"screen" + server escape stream), the server-VT-vs-xterm fidelity risk and how the H2 harness proves it, and the modest mobile win (F5 already gives a bounded one-write restore). Recommendation: not now. F1–F5 (+F4) address both operator symptoms by bounding and client-side serialization without doubling engine memory or adding hot-path CPU. Revisit only if, once shipped and measured, mobile cold attach is still bottlenecked on the tail, the client cache proves untenable, or a new server-authoritative-screen requirement appears. No new work items filed. WI-130. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UtEFLJAhLiq4NfZCN2vuBb
This was referenced Sep 9, 2026
Contributor
Author
|
Cleanup: superseded by the single promotion PR #676. All of this work is already integrated into |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seventh PR of the terminal-attach-budget initiative (WI-121). Stacked on #672 (F5); all land on
feat/terminal-attach-budget. Docs only, no runtime change.What this is (D6 / WI-130)
The design-spike answer to: should the engine run a headless terminal emulator per session so a cold attach ships screen state (tmux-style) instead of byte history? Written up in a new
docs/ROADMAP.md.vt100(best fit: minimal grid, smallest surface),alacritty_terminal/termwiz(heavier renderer/feature surface a snapshot server doesn't need).snapshot-start kind:"screen"+ a server escape stream), the server-VT-vs-xterm fidelity risk and how the H2 harness proves it, and the modest mobile win (F5 already gives a bounded one-write restore).Recommendation: not now
F1–F5 (and F4) address both operator symptoms — switch re-stream and slow fresh open — by bounding and client-side serialization, without doubling engine memory or adding hot-path CPU. Revisit only if, once shipped and measured on prod, mobile cold attach is still bottlenecked on the tail, the client cache proves untenable, or a new server-authoritative-screen requirement appears. No new work items filed.
scripts/check_docs.pyclean.🤖 Generated with Claude Code
https://claude.ai/code/session_01UtEFLJAhLiq4NfZCN2vuBb