Summary
F-mcp-terminal-sync — the "rich" layer: perception + synchronisation over
a session's terminal. wait_for_status and read_terminal. This is what turns
fire-and-forget orchestration into a browser-grade act → wait → observe loop.
Child of the F-mcp-control-surface 🧬 split
(.personal/feature-torture/reports/F-mcp-control-surface.md; brainstorm
brainstorm/20260713-mcp-agent-terminal-interaction.md). Analogy: terminal =
"page", OSC status = "load-state", PTY text = "DOM text".
Scope
Relationships
Labels: enhancement, P2
Summary
F-mcp-terminal-sync— the "rich" layer: perception + synchronisation overa session's terminal.
wait_for_statusandread_terminal. This is what turnsfire-and-forget orchestration into a browser-grade
act → wait → observeloop.Child of the
F-mcp-control-surface🧬 split(
.personal/feature-torture/reports/F-mcp-control-surface.md; brainstormbrainstorm/20260713-mcp-agent-terminal-interaction.md). Analogy: terminal ="page", OSC status = "load-state", PTY text = "DOM text".
Scope
wait_for_status(session, Idle|Attention)— built on the already-shippedOSC status machine (
SessionStatus::Busy|Attention|Idle). Alwaystimeout-bounded + a max-wait cap (a session that never idles must not hang
the caller — Q7).
read_terminal(session)— the focused/target PTY visible text, generalisedfrom the
CaptureDumpper session.wait_for_text(pattern)(poll-raced) and a selectorDSL — YAGNI, a stable handle + status suffice (per the FT report).
Relationships
F-mcp-live-bridge(live transport + stable handle).F-mcp-agent-loop.Labels: enhancement, P2