Repository navigation
fix(orchestration): safely wake opted-in Codex coordinators - #27924
Draft
toantranol wants to merge 9 commits into
Draft
toantranol wants to merge 9 commits into
toantranol wants to merge 9 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ELI5
An idle Codex coordinator can receive a worker report as terminal input without starting a new turn. This draft adds an explicit coordination mode that submits through Orca's existing prompt path and records delivery only after a new turn is observed. Routine progress stays available to read without waking the coordinator.
Early review draft: head
b428803a409bf25b9e0da5052854d55d27420409. Independent Standards and Spec review clears source behavior at this exact tip. The coordinating reviewer independently verified and accepted this hardened source checkpoint after checking the committed tip, published draft, check ledger and reviewer receipt. End-to-end timer/restart and the release validation below remain pending. This is not an installed-runtime fix or a merge-ready claim.What Changed
orchestration run-create --notification-policy coordination. Existing Runs keep their notification behavior. Worker completion, escalation, questions, declared material status and rejected lifecycle reports request attention; ordinary heartbeat/status stay readable and quiet.request-passthrough existing durable send, naming the current owner/generation/process. It requests one bounded reconciliation pass withoutrun-use, takeover, worker launch or a runtime timer. Callers keep responsibility for cadence, scope, pause and expiry.run-userebinds a coordination Run. Refuse unsupported owners before changing either Run, while generic binding remains compatible. Preserve explicit unsupported/unverifiable delivery errors across RPC.Current support is an addressable Codex PTY owner with settled-write support. Structured owners and other providers are explicitly unsupported by this opt-in contract.
Why
The completion-title recovery from PR19243 is already in the base and is preserved. Windows trials still reached pointer text plus one Enter without an observed notification turn. Two readiness-only candidates failed. Reusing the existing prompt delivery and turn correlation gives an honest delivery result without another wake subsystem or automatic repeated Enter. Quiet filtering is scoped to an explicit contract so generic message delivery keeps its compatibility.
Linked Issue
Existing requests addressed in part by this draft:
Related Windows submission evidence: #11343. Its large-dispatch mechanism is not claimed identical to this smaller mailbox failure. Outstanding Delivery acknowledgment suppression #21081 is preserved, not bypassed. No broader issue closure or new issue creation is claimed; the linked-issue scope needs maintainer agreement before finalizing this draft.
Visual Proof
Terminal behavior was tested without opening a browser or focusing an app window. Sanitized observations:
Raw terminal captures remain local and are not committed or attached.
Testing
Windows, Node24.21.0, pinned pnpm12.8.1, Codex0.162.1. Scoped temporary Codex homes/hooks, real PTY and a local Responses fixture; no hosted-model generation in the proof.
Remaining validation: real integrated event/timer overlap and restart through the built host/CLI; installed-runtime activation; SSH/macOS/Linux execution; CI. Current busy/overlap/restart guarantees have focused automated seam coverage rather than that full integration proof.
AI Disclosure
Writer: GPT-6.1 Sol medium. Independent read-only reviewer: GPT-6 Luna max. Four rounds cleared Standards and identified capability negotiation, invalid-policy, unsupported rebinding, current receiver proof and retired-refusal gaps; all have regression-first corrections. The fifth exact-tip review clears both Standards and source Spec, with no material findings. No Claude review/diagnosis or recursive implementation delegation.
Review
Source checkpoint accepted after independent verification at
b428803a409bf25b9e0da5052854d55d27420409; this acceptance covers source behavior only and does not waive integrated-host, installed-runtime, platform, CI or release gates.One current owner, no blind repeated Enter, permission prompts fail closed, and contact loss is not treated as process death. Existing acknowledgment/waiter fences remain binding. Both earlier review terminals are retained under ownership protection. Merge, installation/restart, production schedule and cleanup decisions remain unapproved.
Agent skill upstream boundary
Checklist
Browser-free launch follow-up — current source checkpoint
The earlier accepted
b428803checkpoint and all its evidence and limitations above are retained. The current draft head is7449ade38a354615b092aaeb19175d13dcd735f1, independently reviewed and accepted by the coordinator as a source-local successor for the next isolated proof. This remains a draft, not a merge-ready or installed-runtime claim.Before, orcad could discover and start installed Electron without a browser request, preventing a browser-free coordinator proof.
orcad --no-browserandorca serve --no-browsernow skip browser discovery and startup through the existing host lifecycle. Default behavior is unchanged; browser commands remain unavailable when opted out. Malformed values and Electron-only selections reject, including the direct Electron serve form.Browser-free supervision validates host selection before changing force/brake state and before each attempt, outside retry handling; the attempt uses that same validated selection. Unsupported selection cannot become a persisted retry failure. Supported orcad supervision and ordinary service behavior remain. An explicit launch option avoids environment tricks, hiding installed binaries, or redesigning terminal daemon lifetime.
Follow-up evidence
0.1.0+cb84d72ff874, 5852 modules, zero Electron/node:sqlite imports, pinned Node 24.21.0. Both built public help paths expose the option.7449ade38a; diagnostic assertion suggestionS-STD-01and supervised-validation findingSPEC-13-01are resolved. Reviewers were read-only leaves and are fully accounted for. This follow-up did not rerun or relabel the earlier six real-Codex mailbox trials as integrated latest-host proof.Preserved remaining gates
Managed-stop retirement is existing support, not executed cleanup: a retired acknowledgment still needs independent host/daemon/child exit proof. The next ticket11 live proof remains behind coordinator review of exact resources, absolute expiry and cleanup ownership. Busy or unknown daemons remain live/unverifiable.
No live host, browser/Electron application, daemon or timer was launched for this follow-up; no installed app/daemon replacement or restart, merge, default smoke, prior rejected cleanup or protected/user-owned resource mutation. The earlier negative capability evidence, EPERM/cleanup residuals, protected reviewers and all prior limitations remain unchanged.
Integrated event/timer/overlap/restart, installed-runtime activation, SSH/macOS/Linux execution, hosted CI/packaging and maintainer agreement on linked issues remain unproven or separately gated. Source acceptance does not close those gaps or complete the wider workstream.