fix(catalog): keep live pins when the supplied baseline omits the slug - #5025
Conversation
|
Warning Review limit reachedNext included review available in 7 minutes. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✅ Deterministic PR hygiene checks passed. |
|
Merging with macOS legs outstanding, and recording why rather than leaving it implicit. At this exact head the full Linux suite (test 1/4 through 4/4), This change is platform-neutral, so waiting on a queue that is both saturated and known-unreliable would delay the work without adding information. The evidence that governs the release is not per-PR macOS legs; it is the full-platform Stating the boundary plainly: this is merged on Linux, gates and cross-platform smoke evidence at its exact head, with macOS coverage deferred to the candidate run rather than claimed here. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. |
Summary
Follow-up for a CodeRabbit fix that missed the #4941 merge window: the review thread was resolved against commit
89fcc5de6, but the PR merged at the earlier head84014036d, so the fix never reacheddev. This replays exactly that change onto currentdev.When
applyMultiAgentModemerges a suppliednativeDefaultsbaseline, a native row whose slug is absent from the baseline fell back to the bundledUPSTREAM_NATIVE_ENTRIESsnapshot — so a bundled "v2" pin overwrote a live "v1" pin the baseline never mentioned. The fallback now only applies when no baseline was supplied at all (options.nativeDefaults === undefined); an explicit baseline is authoritative for exactly the slugs it contains, and omitted slugs keep their live pins.Regression test:
mode default keeps a live pin the supplied baseline does not mentioncovers a baseline that lists onlygpt-5.5, asserting the livegpt-5.6-sol"v1" pin survives.Verification
bun test tests/codex-integration/codex-v2-gate.test.ts— 131 pass / 1 pre-existing flaky timeout (mode-only switches translate the limit..., passes in isolation at 4.75s vs its 5s bound; unrelated management-API surface).origin/dev88249ed75, 0 behind.Review readiness checklist
This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met: