Repository navigation
fix(release): drain v3.8.52 tip unit reds (catalog/translator) - #15903
Merged
Merged
Conversation
Production fix: - combo: #13603 family-sibling hop ran on every quality failure, including request-scoped streaming refusals (invalid_request / context overflow), replaying the refused request on codex/gpt-6-astra-max instead of advancing to the next combo target (and turning single-target 400s into retries). Skip the hop when upstreamFailure.requestScoped. Tests aligned to intentional contract changes (each annotated): - cc-discovery-aliases-append: auto/* combos now mirrored (#15301) - claude-codex-identity-version-sync: GitHub fallback after cache, live branch persists directly (#15132) - claude-web-sonnet5-registry-6209 / ghe-copilot / devin-cli-catalog: Sonnet 5.5 + Sonnet 5 pricing (#15035), GHE targetFormat claude (#15478) - codex-effort-model-echo-3697: EOF without finish_reason now fails (#15310) - executor-codex-gpt56: parenthesized (ultra) honors ultra set (#15710) - probe-gate-autodisable: Codex model test syncs empty catalog first (#15487)
diegosouzapw
added a commit
that referenced
this pull request
Oct 8, 2026
Drains 9 v3.8.52 tip unit reds: 3 production defects — MCP bundle startup deadlock (async ESM init cycle from #13739; lazy-load cleanModelName), client bundles pulling server-only DB via imageRegistry→featureFlags (#15423; dependency-free resolver bridge, DB override preserved, default OFF), zh-CN/zh-TW glossary violations (#15138/#15092) — plus regenerated route namespaces, env-isolated guide-settings test, auth-test alignments that keep (and tighten to count=2) the loopback/management guards, quota-card guard following #15138 redesign, and stryker listing of 2 tip covering tests. Combined-board validation with #15903: 327/329 on the previously red files, typechecks, lint, 22 gates.
Contributor
CI Coverage Report
Coverage artifact was not available for this run. |
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.
Drains 9 unit-test files that are red on the pure
release/v3.8.52tip (cleannpm ci,86e3eb56).Per failure
combo-responses-sse-failure-fallback(3 request-scoped refusal tests)invalid_request_error, context overflow) oncodex/gpt-6-astra-highgot replayed ongpt-6-astra-maxinstead of the combo moving on to the next target. A single-target 400 turned into retries too.executeTargetAttempt.ts: skip the family hop whenquality.upstreamFailure.requestScoped. The existing tests are the red-first proof.cc-discovery-aliases-appendauto/*exclusion on purpose (the resolver now materializes them viacreateBuiltinAutoCombo).auto/*combos are mirrored. Bareautowas dropped from the fixture because the resolver only handlesauto/.claude-codex-identity-version-sync(test 7 ×2)persistDiscoveredModels()+buildResponse().doesNotMatch(persistDiscoveredModels).claude-web-sonnet5-registry-6209claude-sonnet-5-5.ghe-copilottargetFormat: "claude"on the GHE Copilot Claude models.devin-cli-catalogcodex-effort-model-echo-3697finish_reasonnow ends asresponse.failed(stream_early_eof).finish_reason: "stop"chunk. All assertions kept.executor-codex-gpt56(ultra)now uses the ultra alias set, and Luna is max-only, sogpt-5.6-luna(ultra)is no longer an alias.gpt-5.6-luna(max).probe-gate-autodisable(codex 429)Every (b) change has a
// contract changed by #Ncomment. No asserts were removed or loosened, and nothing is skipped.Validation
tests/unitfile importingservices/combo.ts/executeTargetAttempt(155 files total, 0 failures).typecheck:coreOK.check:open-sse-typecheckOK (0 errors). ESLint with suppressions OK on the changed files.check-file-size(also re-checked after the commit),check-changelog-integrity,check-complexity,check-test-masking,check-test-discovery: all pass.changelog.d/fixes/basereds-1008g.md.