Outcome
Restore both halves of one correctness contract: app-server startup status delivery remains lossless under backpressure, and TUI receiver lag does not falsely mark MCP startup completed or cancelled.
Governing evidence
Closed issue #78 and commits 7b4a44da77 and a88dd32bda.
The issue and this evidence define required behavior. Port functional intent onto the current upstream architecture; patch identity is irrelevant.
Non-goals
Do not redesign MCP startup, add unbounded queues, or change ordinary terminal status semantics.
Acceptance criteria and verification
Concurrency/integration tests cover saturated channels, lagged receivers, late subscription/reconnect, eventual terminal delivery, bounded state, and ordinary startup regression behavior. Run the smallest focused just test -p <crate> checks that cover the changed crates under the repository reduced-priority wrapper. Regenerate schemas or snapshots only when this ticket changes them. For a large Rust change run scoped just fix -p <crate>, then just fmt; do not rerun tests after fix/format. Remove disposable build artifacts afterward.
Likely areas
MCP connection manager/startup state, app-server delivery, TUI receiver handling, and focused concurrency tests.
Dependencies
Fully blocked by #81.
Do not begin ticket-owned mutation until every dependency is integrated; their landed contracts are authoritative.
Blocks #104.
Delivery
The accepted result must integrate as exactly one issue-linked commit with subject fix(mcp): preserve startup state under backpressure. Tests, snapshots, generated files, and fixes belong in that commit; adaptation or test-only follow-up commits are not permitted.
Agent routing
agent_level: 5
Agent signature
gpt-5.6-sol@high:01a07441-98af-75c1-9950-8af46deb76de
Outcome
Restore both halves of one correctness contract: app-server startup status delivery remains lossless under backpressure, and TUI receiver lag does not falsely mark MCP startup completed or cancelled.
Governing evidence
Closed issue #78 and commits
7b4a44da77anda88dd32bda.The issue and this evidence define required behavior. Port functional intent onto the current upstream architecture; patch identity is irrelevant.
Non-goals
Do not redesign MCP startup, add unbounded queues, or change ordinary terminal status semantics.
Acceptance criteria and verification
Concurrency/integration tests cover saturated channels, lagged receivers, late subscription/reconnect, eventual terminal delivery, bounded state, and ordinary startup regression behavior. Run the smallest focused
just test -p <crate>checks that cover the changed crates under the repository reduced-priority wrapper. Regenerate schemas or snapshots only when this ticket changes them. For a large Rust change run scopedjust fix -p <crate>, thenjust fmt; do not rerun tests after fix/format. Remove disposable build artifacts afterward.Likely areas
MCP connection manager/startup state, app-server delivery, TUI receiver handling, and focused concurrency tests.
Dependencies
Fully blocked by #81.
Do not begin ticket-owned mutation until every dependency is integrated; their landed contracts are authoritative.
Blocks #104.
Delivery
The accepted result must integrate as exactly one issue-linked commit with subject
fix(mcp): preserve startup state under backpressure. Tests, snapshots, generated files, and fixes belong in that commit; adaptation or test-only follow-up commits are not permitted.Agent routing
agent_level: 5Agent signature
gpt-5.6-sol@high:01a07441-98af-75c1-9950-8af46deb76de