Skip to content

Preserve MCP startup state under backpressure #103

Description

@ipo

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglocal-ticket/enhancementAdds or improves behavior in the local Codex fork

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions