Skip to content

Signal abandonment of unanswered MCP elicitations - #51611

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/53fe9f4a8b32f7324be180288aa492f31f4d2057
Oct 7, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/53fe9f4a8b32f7324be180288aa492f31f4d2057

Conversation

@copyberry

@copyberry copyberry Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Signal abandonment of unanswered MCP elicitations

Why

Published MCP elicitation requests could lose their response waiter without notifying the event consumer that the request was no longer answerable.

What changed

  • Add ElicitationAbandoned with the original server name and response token for requests published through unbounded event channels.
  • Emit abandonment exactly once when a waiter is dropped, response delivery fails, or the MCP runtime shuts down.
  • Close the elicitation router during shutdown, reject new requests on unbounded sources, and wait for terminal deliveries before shutdown completes. Preserve bounded sources' request-only behavior and backpressure.

Testing

Add router tests for ordered, exactly-once abandonment, closed receivers, failed response delivery, shutdown coordination, and bounded-channel backpressure. Add a core integration scenario verifying that a pending form's abandonment precedes ShutdownComplete.

## Why

Published MCP elicitation requests could lose their response waiter without notifying the event consumer that the request was no longer answerable.

## What changed

- Add `ElicitationAbandoned` with the original server name and response token for requests published through unbounded event channels.
- Emit abandonment exactly once when a waiter is dropped, response delivery fails, or the MCP runtime shuts down.
- Close the elicitation router during shutdown, reject new requests on unbounded sources, and wait for terminal deliveries before shutdown completes. Preserve bounded sources' request-only behavior and backpressure.

## Testing

Add router tests for ordered, exactly-once abandonment, closed receivers, failed response delivery, shutdown coordination, and bounded-channel backpressure. Add a core integration scenario verifying that a pending form's abandonment precedes `ShutdownComplete`.

GitOrigin-RevId: 53fe9f4a8b32f7324be180288aa492f31f4d2057
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/53fe9f4a8b32f7324be180288aa492f31f4d2057 branch from 765c083 to a6baf88 Compare October 7, 2026 07:57
@copyberry
copyberry Bot merged commit a6baf88 into main Oct 7, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review 🔄 Running since 2026-10-07T07:57:26.861955Z 765c083 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/53fe9f4a8b32f7324be180288aa492f31f4d2057 branch October 7, 2026 07:57
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 7, 2026
@Imysea
Imysea deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@Imysea
Imysea deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@Imysea
Imysea deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@doc66666
doc66666 deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@doc66666
doc66666 deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@doc66666
doc66666 deployed to issue-triage October 7, 2026 08:01 — with Image GitHub Actions Active
@Imysea
Imysea deployed to issue-triage October 7, 2026 08:02 — with Image GitHub Actions Active
@dalizi2333
dalizi2333 deployed to issue-triage October 7, 2026 08:08 — with Image GitHub Actions Active
@dalizi2333
dalizi2333 deployed to issue-triage October 7, 2026 08:08 — with Image GitHub Actions Active
@dalizi2333
dalizi2333 deployed to issue-triage October 7, 2026 08:08 — with Image GitHub Actions Active
@zleo-ai
zleo-ai deployed to issue-triage October 7, 2026 08:16 — with Image GitHub Actions Active
@zleo-ai
zleo-ai deployed to issue-triage October 7, 2026 08:16 — with Image GitHub Actions Active
@zleo-ai
zleo-ai deployed to issue-triage October 7, 2026 08:16 — with Image GitHub Actions Active
@zleo-ai
zleo-ai deployed to issue-triage October 7, 2026 08:17 — with Image GitHub Actions Active
@mimeeq-neal
mimeeq-neal deployed to issue-triage October 7, 2026 08:20 — with Image GitHub Actions Active
@mimeeq-neal
mimeeq-neal deployed to issue-triage October 7, 2026 08:20 — with Image GitHub Actions Active
@mimeeq-neal
mimeeq-neal deployed to issue-triage October 7, 2026 08:20 — with Image GitHub Actions Active
@mimeeq-neal
mimeeq-neal deployed to issue-triage October 7, 2026 08:21 — with Image GitHub Actions Active
@Crabby090
Crabby090 deployed to issue-triage October 7, 2026 08:30 — with Image GitHub Actions Active
@Crabby090
Crabby090 deployed to issue-triage October 7, 2026 08:30 — with Image GitHub Actions Active
@Crabby090
Crabby090 deployed to issue-triage October 7, 2026 08:30 — with Image GitHub Actions Active
@Crabby090
Crabby090 deployed to issue-triage October 7, 2026 08:31 — with Image GitHub Actions Active
@Alek2077
Alek2077 deployed to issue-triage October 7, 2026 08:38 — with Image GitHub Actions Active
@Alek2077
Alek2077 deployed to issue-triage October 7, 2026 08:38 — with Image GitHub Actions Active
@Alek2077
Alek2077 deployed to issue-triage October 7, 2026 08:38 — with Image GitHub Actions Active
@leo770429
leo770429 deployed to issue-triage October 7, 2026 08:39 — with Image GitHub Actions Active
@leo770429
leo770429 deployed to issue-triage October 7, 2026 08:39 — with Image GitHub Actions Active
@leo770429
leo770429 deployed to issue-triage October 7, 2026 08:39 — with Image GitHub Actions Active
@leo770429
leo770429 deployed to issue-triage October 7, 2026 08:39 — with Image GitHub Actions Active
@atis-s
atis-s deployed to issue-triage October 7, 2026 08:47 — with Image GitHub Actions Active
@atis-s
atis-s deployed to issue-triage October 7, 2026 08:47 — with Image GitHub Actions Active
@atis-s
atis-s deployed to issue-triage October 7, 2026 08:47 — with Image GitHub Actions Active
@jeevesops
jeevesops deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@jeevesops
jeevesops deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@jeevesops
jeevesops deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@erson
erson deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@erson
erson deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@erson
erson deployed to issue-triage October 7, 2026 08:50 — with Image GitHub Actions Active
@Djarnis007
Djarnis007 deployed to issue-triage October 7, 2026 08:57 — with Image GitHub Actions Active
@Djarnis007
Djarnis007 deployed to issue-triage October 7, 2026 08:57 — with Image GitHub Actions Active
@Djarnis007
Djarnis007 deployed to issue-triage October 7, 2026 08:57 — with Image GitHub Actions Active
@tom-takeru
tom-takeru deployed to issue-triage October 7, 2026 09:06 — with Image GitHub Actions Active
@tom-takeru
tom-takeru deployed to issue-triage October 7, 2026 09:06 — with Image GitHub Actions Active
@tom-takeru
tom-takeru deployed to issue-triage October 7, 2026 09:06 — with Image GitHub Actions Active
@tom-takeru
tom-takeru deployed to issue-triage October 7, 2026 09:07 — with Image GitHub Actions Active

This branch was successfully deployed

1 active deployment
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.