Repository navigation
fix(codex): retry child model lookup after empty rollout - #15285
niko-itswld wants to merge 4 commits into
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a localized server-side bug fix that adds narrowly matched, bounded retries to an existing child-model metadata lookup, with regression coverage for recovery and failure limits. Other changed files are test harness or documentation updates, and no product defaults or static-analysis suppressions are changed. You can add or adjust custom eligibility rules. Learn more. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Codex adapter now retries selected empty-rollout errors during missing child-model lookups. It skips lookups when model metadata is known or the child task is interrupted, failed, or cancelled. Replay tests cover retry limits, unrelated errors, metadata races, and interruption. ChangesSubagent model lookup
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Low Suggested reviewers: Merge Risk: ⚪ Minimal · up to The bounded retry handles the modeled empty-rollout failure; no actionable merge-blocking risk remains in the reviewed changes. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation Issue Full details: Description checkExplanation The description covers the problem, change, and focused verification. However, the scope section references a triage comment but does not state or identify explicit maintainer approval of the fix direction and scope.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Dismissing prior approval to re-evaluate 03c92e7
Fixes #15250
Problem
A Codex child can appear as "Not reported" in Lineage after its initial model lookup fails with
-32603because the rollout is still empty. The one-shot failure is swallowed, so later child metadata never reaches T3. The affected session recordedgpt-6-lunain Codex while T3 retainedmodel: null.Change
The existing
thread/resumerequest and child-model update path remain in place. Regression tests use the real adapter with controlled protocol responses and the Effect test clock.Docstrings describe the adapter factory and the replay child-metadata helper.
Scope and approval
The failure and expected recovery are established in the triage comment on #15250. This is a small, focused fix for the captured startup error in one Codex adapter path.
This is low-hanging fruit for a quick review and merge: bounded recovery in an existing path, with focused regression coverage. Maintainers decide the final fix direction and merge timing.
It leaves the metadata-source changes proposed in PR #14108 separate. Missing reasoning-effort labels remain tracked by #15214.
Verification
On commit
03c92e7a:vp test run apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.test.ts: all 128 tests pass. Coverage includes recovery, a three-request cap, unrelated errors, interruption, and newer settings/reroute metadata winning over stale or failed lookups.vp run --filter t3 typecheck: passes.vp linton the three changed files: passes with two existing unused-variable warnings in the adapter.git diff --check: passes.This is server-side metadata recovery, with no frontend or shared-contract edits. The captured live failure is in the issue. The fix was verified through the adapter replay harness; a new live desktop session was not run. Recovery remains bounded, so a rollout that stays empty beyond the retry window still remains unknown and produces a warning.
Model: GPT-6.1 Sol, high reasoning effort. Harness: Codex in T3 Code.