Skip to content

Route extension warnings to app-server threads - #35168

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/4dcb1ba7f17c0edb1a9d548f9568e0c734bffc15
Jul 24, 2026
Merged

Route extension warnings to app-server threads#35168
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/4dcb1ba7f17c0edb1a9d548f9568e0c734bffc15

Conversation

@copyberry

@copyberry copyberry Bot commented Jul 24, 2026

Copy link
Copy Markdown

Route extension warnings to app-server threads

Why

Extension warnings need a stable thread target even when they are emitted outside an active turn.

What changed

  • Add ExtensionWarning and a dedicated ExtensionEventSink::emit_warning path with an explicit thread ID and optional turn ID.
  • Deliver extension warnings as thread-scoped app-server warning notifications, preserving listener ordering and waiting briefly for a subscriber when no listener is active.
  • Move skills warnings to the new path, limiting provider catalog warnings to four messages of 256 bytes each.

Testing

  • Cover warning routing, ordering, UTF-8-safe truncation, subscriber fallback, and invalid thread IDs.
  • Verify skills warning bounds and app-server delivery of executor catalog budget warnings.

## Why

Extension warnings need a stable thread target even when they are emitted outside an active turn.

## What changed

- Add `ExtensionWarning` and a dedicated `ExtensionEventSink::emit_warning` path with an explicit thread ID and optional turn ID.
- Deliver extension warnings as thread-scoped app-server `warning` notifications, preserving listener ordering and waiting briefly for a subscriber when no listener is active.
- Move skills warnings to the new path, limiting provider catalog warnings to four messages of 256 bytes each.

## Testing

- Cover warning routing, ordering, UTF-8-safe truncation, subscriber fallback, and invalid thread IDs.
- Verify skills warning bounds and app-server delivery of executor catalog budget warnings.

GitOrigin-RevId: 4dcb1ba7f17c0edb1a9d548f9568e0c734bffc15
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/4dcb1ba7f17c0edb1a9d548f9568e0c734bffc15 branch from e1ec676 to 5dd992a Compare July 24, 2026 12:29
@copyberry
copyberry Bot merged commit 5dd992a into main Jul 24, 2026
14 of 32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/4dcb1ba7f17c0edb1a9d548f9568e0c734bffc15 branch July 24, 2026 12:30
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 24, 2026
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.

4 participants