fix(server): wait for native Codex start before Stop - #10024
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This is a focused Codex race-condition fix with strong replay-test coverage and no schema, default, security, or deployment changes. The Stop path now waits without a timeout for native start or terminalization, so a human should assess the impact of a missing signal before merge. You can add or adjust custom eligibility rules. Learn more. |
9242b91 to
3d81172
Compare
Dismissing prior approval to re-evaluate 2791e93
|
Macroscope has since reviewed this pull request. An earlier review was skipped by a cost limit; a review has now completed, so that notice no longer applies. |
Allow merge-back from provider-finished runs awaiting checkpoint capture while keeping waiting runs visible but non-interruptible in mobile. Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
- Re-route steering that races completion into idempotent follow-up dispatches - Preserve scheduled-task attribution and provider ownership history across clients
Port main's pull-request discovery, active thread ordering, async question dismissal, settlement fixes, provider-session import, attachment context, and provider correctness changes into orchestration v2. Keep the branch's intentional composer and subagent behavior while adopting main's web and mobile fixes. Prevent headless setup terminals from hanging on the color probe, and move the v2 migration block to 050-061 after main claimed 048-049.
Restore the failed-before-start timer guard, align two server fixtures with the reconciled behavior, and remove dead files, exports, and dependencies surfaced by Knip. Drop the temporary branch push trigger now that the PR is mergeable, so each update runs the pull-request workflow once.
Keep main's batch machine-update banner and update action while preserving the v2 runtime-based environment lock used by draft load balancing.
Adopt TypeScript 7 and Effect rc.112 across orchestration v2, including the TaggedError API migration and updated Effect-aware tests. Restore main's composer-aware scroll-to-end clearance while retaining selected-model settings sync, preview recording transfer, image galleries, desktop context menus, and layout hit targets. Regenerate the lockfile on the upgraded dependency baseline.
efd9994 to
6102d00
Compare
Advertise bounded socket snapshots and authoritative dispatch validation, omit raw command output and inline file bodies at the wire boundary, and preserve compact status metadata across web and mobile. Add transport-budget coverage for snapshots, resume, commands, legacy import, and projection maintenance.
2791e93 to
b81d04e
Compare
There was a problem hiding this comment.
All clear
Posted via Macroscope — Effect Service Conventions
|
All clear Posted via Macroscope — Effect Service Conventions |
8187b17 to
ada72ce
Compare
Stop now waits for native Codex turn/started when turn/start acknowledges a queued turn with a null start timestamp. If the turn terminates first, Stop settles without sending an invalid interrupt. This prevents the early Stop race that returned no active turn to interrupt.
Current head
f2b6ea772includes current V2 base7dd9873edand the shared test-only prerequisite #10865. Merge #10865 first; the topic itself changes 2 files. This rebuild removes the obsolete merged-base history from the PR diff.Validation: 95 focused tests pass across the affected feature and foundation persistence coverage. Scoped server typecheck passes; targeted lint, formatting and diff checks pass. New-head CI is pending.
Earlier live-provider adapter probes reproduced the original issue and verified the feature patch on combined candidate fa6a1ab04. Those are historical adapter evidence, not fresh rendered-client or live-provider verification of this rebuilt head.
Independent cross-provider review was unavailable: the direct Claude Opus 5 high launcher in this audit exited 1 with expired OAuth before inference. No Claude review is claimed.
Targets Orchestrator V2 in #2829. Updated with GPT-6 in Codex/T3.