Skip to content

fix: repair guarded transport and release CI contracts - #16420

Merged
diegosouzapw merged 15 commits into
cheaper-inference:release/v3.8.52from
KiaroSama:fix/release-v3.8.52-basereds
Oct 14, 2026
Merged

diegosouzapw merged 15 commits into
cheaper-inference:release/v3.8.52from
KiaroSama:fix/release-v3.8.52-basereds

Conversation

@KiaroSama

@KiaroSama KiaroSama commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Preserve guarded direct egress across native Node fetch's legacy handlers and Undici 8's modern handlers. The installed public dispatcher bridge adapts only legacy callbacks; modern handler identity/options pass through unchanged. No added retries, account changes, protocol downgrade for modern clients, or DNS/private-address guard relaxation.

The release-CI follow-up retains locale refresh ordering, extracted dashboard connection types, existing attempt-options extraction, hosted webpack fallback and c8 incremental shard merging. Stronger current upstream AST, shell-boundary, policy-eligible, signed-in-session and lossless-image fixtures are preserved. The dashboard row's existing status presentation is extracted without changing its logic. Four missing mutation discovery entries are restored without changing thresholds.

Current verification

Candidate: 93c5ca5075df90449d359d1d4d93d39a334e628d, reconciled with release base 2c06e3c0cb68464379dfdc9a828a1e9868887aaf.

Earlier exact candidate a044c0d8f2 passed focused acceptance run 38638728927: original boundary RED (invalid onRequestStart), final 15/15 GREEN, generator idempotence and Linux translation hashes passed (330 explicitly stale locales). Full CI then proved a leftover fixture setup set excludeTosAvoid=false before asserting the upstream default is true; this replacement removes only that obsolete setup and retains every assertion. Replacement focused acceptance run 38645328781 now also passed on exact 93c5ca5075: original boundary RED, final15/15 GREEN, generator0changed/46unchanged/0errors and Linux translation hashesPASS with396 explicitly stale locales. Full acceptance is blocked by inherited APItypecheckTS2345 and other baseline failures.

  • Native commit gates passed: Prettier, suppression-aware ESLint, documentation version sync, explicit-any budget, tracked-artifact and attribution checks. Connection-field source-contract fixture: 2/2 passed. No local full suite/build or live provider validation was run.
  • Transport fixtures count exactly one physical HTTP request for each supported client and zero TCP attempts for metadata refusal. Real loopback controls demonstrate the connection observer is active; a failing metadata assertion stops before actual TCP egress. These passed on exact replacement 93c5ca5075 in focused hosted acceptance.
  • Established artifact generation produced no semantic difference from the current upstream output; no custom instruction block was changed. Hosted repeat-generation acceptance passed on exact replacement 93c5ca5075 (46 unchanged).
  • Seven current source hashes were refreshed while all 10,033 locale provenance records remained unchanged. Stale translations are not claimed translated. Raw Windows CRLF hash checks failed; LF-normalized Git content matched, and exact replacement hosted Linux verification passed. The396stale locale records remain explicitly stale.

Inherited base failures

⚠️ base-red inherited: #15306

The previous candidate's failed jobs were inspected against the reconciled base. The MODEL_VARIANT documentation gap and extracted quota-wiring assertion loss are resolved by upstream changes. Four unrelated inherited failures remain in unchanged upstream source/fixtures:

  • messages-count-tokens-route.test.ts: dotted model expectation conflicts with the canonical dashed model ID.
  • rate-limiter-backup-flag-not-test-mode.test.ts: second-request fallback assertion failed; a real-time fixed-window boundary is a possible cause, not a demonstrated production bypass.
  • model-test-route.test.ts: internal request lacks strict-mode authentication; existing contributor PR fix(api): authenticate the in-process model test under REQUIRE_API_KEY #16589 addresses this separately.
  • video-raw-transcript-retention-12430.test.ts: raw-transcript preservation assertions conflict with the newer content-part field allowlist.

Newer base reconciliation also exposes inherited TS2345 in openai-responses.ts from #16539, four inherited file-size overages, and the Antigravity mock's empty project result. Their source is unchanged from the release base. These are not silently fixed inside this contribution or treated as green. Exact-candidate CI is required before acceptance.

Scope and rollback

Normal revert; no DB migration or dependency upgrade. Separate from native image PR #15524. No installed gateway update/restart, paid model substitution, provider inference probe or upstream merge was performed. Existing security/auth/account-selection behavior stays intact.

@KiaroSama KiaroSama changed the title fix: restore release verification compatibility fix: repair guarded transport and release CI contracts Oct 12, 2026
KiaroSama and others added 4 commits October 12, 2026 20:42
Resolve .i18n-state.json by taking the release branch state (cheaper-inference#15840 round 2 refresh);
the branch's own copy carried stale hashes and npm run i18n:check passes on the
merged tree without it.
@diegosouzapw

Copy link
Copy Markdown
Collaborator

Merged origin/release/v3.8.52 (e23fb0f8e8) into this branch to clear the conflict that #15840 (i18n round 2) introduced in .i18n-state.json. The resolution takes the release branch's state file as-is: npm run i18n:check passes on the merged tree for every source this PR touches, and the branch's own copy carried hashes from an older generation.

Local evidence on the merged candidate (b5163f3c37), hermetic env, same command line as the test:unit:ci lanes:

  • check:agent-skills-sync, check:dashboard-typecheck, check:file-size: all pass (all three fail on the pure release tip).
  • The 21 unit files behind the Release-Green hard failures: 236/236 pass (23 assertion failures on the pure tip, all in files this PR aligns).
  • i18n:check still reports drift for docs/reference/ENVIRONMENT.md and docs/routing/AUTO-COMBO.md. That drift is on the release tip itself (docs merged after the i18n refresh) and is unrelated to this branch.

No code changed beyond the merge commit; authorship stays yours. Handing the PR to the maintainer for the merge decision.

@yourspraveen

Copy link
Copy Markdown
Contributor

Filed #16488 for the transport part of this PR: on release/v3.8.52, chats to custom-baseUrl nodes (openai-compatible-* / anthropic-compatible-*) return 502 UND_ERR_INVALID_ARG: invalid onRequestStart method under the default public-only guard. It's a regression from #13330 and not in any release yet.

The issue has a standalone repro (Node 24's built-in fetch plus an undici 8 Agent, no app code). It's also behind the 5 resilience-http-e2e integration failures that show up on unrelated PRs such as #16415 and #16418. The legacy-bridge change in connectGuardDispatcher.ts here should resolve it whichever fetch the request reaches.

stryker.conf.json: keep both sides of tap.testFiles (the branch's six fixtures plus
combo-pinned-empty-turn, and the release tip's account-weighted-runtime-16459 and
memory-extraction-pii-sanitization entries), and add the two covering tests the
release tip itself omits (repo-checks-isolate-datadir from cheaper-inference#16353,
combo-model-lock-pre-dispatch-wait-16319 from cheaper-inference#16360) so
check:mutation-test-coverage --strict passes on the merged tree.
@diegosouzapw

Copy link
Copy Markdown
Collaborator

Second sync with origin/release/v3.8.52 (e2d5747872): the only conflict was stryker.conf.json, where this branch and #16459/#16401 inserted tap.testFiles entries at the same spot. Resolved as a union (both sides kept). While there, check:mutation-test-coverage --strict demanded two covering tests the release tip itself omits (repo-checks-isolate-datadir from #16353 and combo-model-lock-pre-dispatch-wait-16319 from #16360), so both were added; the gate now reports no drift on the merged tree.

Re-validated locally on 0f932857cc, same preamble as the test:unit:ci lanes: check:agent-skills-sync, check:dashboard-typecheck, check:file-size and check:mutation-test-coverage pass; the 21 unit files behind the Release-Green hard failures are 236/236. i18n:check drift (now RESILIENCE_GUIDE.md, ENVIRONMENT.md, AUTO-COMBO.md) remains a release-tip matter outside this branch.

Hosted CI is queued behind ~300 runs from today's merge campaign; lanes will report when the queue drains.

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Independent Relay closeout diagnostic (2026-10-13): this front has not modified #16420 or your active 16420-resync3-20261013 worktree. Current owned combination 8f646607913df35d2f0ba80c439d802a04ce2ae9 over release 5b16041b73da64d421021b6c469f0f0ffc51eba6 includes the published Relay/generated-doc prerequisites and minimal dashboard #16482, but does NOT include #16420.

Fresh focused results on that exact combination:

  • Four Node test files (combo-dispatch-prelude, combos-auto-skipped-variants, model-hidden-dashboard-modality-read, pack-artifact-entrypoint-closures): 43 PASS / 4 FAIL, no skips/cancellations. Remaining failures are the two pinned official-empty-turn fixtures, the hidden-modality stored-row premise, and build-next-isolated.mjs -> scripts/i18n/generate-global-error-messages.mjs absent from the shipped-script closure.
  • Canonical test:vitest:ui selecting LocaleAutoDetect-refresh and tierResolver: 38 PASS / 3 FAIL. TierResolver passes focused; LocaleAutoDetect has three refresh/cookie failures. This does not erase its earlier full-suite cache-timing failure or certify the full UI lane.
  • Generated skills: exit 0, generated 0 / unchanged 46 / errors 0. Env/docs sync: exit 0. Strict translations: exit 0, 152 sources / 10,032 targets match.

These failures overlap the scope described in #16420 and the narrower #16059/#16150. They are current-combination diagnostics, not an exact pure-base attribution and not evidence that #16420 is accepted. Please coordinate candidate validation/landing with the existing owners before new duplicate repairs are created. This front has not imported this PR wholesale, approved its workflow/allowlist/generated-instruction changes, or bypassed any required gate.

Separate narrowly approved observer correction #16533 now rejects incomplete/cancelled complexity results without changing baselines or advisory measured-drift policy. That does not fix or waive these product/fixture failures.

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Relay closeout coordination, 2026-10-14: the repository owner has now explicitly authorized including #16420 in this campaign's review/integration scope, alongside the new ENVIRONMENT locale delta. This does not waive any required gate or transfer your active worktree.

Current readback: release 2c06e3c0cb68464379dfdc9a828a1e9868887aaf, this PR 93c5ca5075df90449d359d1d4d93d39a334e628d. I see the active 16420-final-20261014 worktree and will not modify, push, rebase or merge your branch while you own it. Please confirm the current owner/landing plan or explicitly hand off ownership when ready. I am reviewing the exact diff read-only, including the coverage/build workflow changes and assertion-relocation allowlist entries; earlier-head checks are not acceptance for this candidate.

I own #16504 and will update its actual ENVIRONMENT translations for #16510's CODEBUDDY_SYSTEM_PROMPT_MAX_LEN row, preserving source/target evidence rather than adopting hashes. Please avoid parallel edits to that PR. #15945/#15948 and the narrower #16482/#16059/#16150 overlaps remain separately owned/open; no contributor PR will be closed or bypassed by this front.

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Independent review of exact head 93c5ca5075df90449d359d1d4d93d39a334e628d over release 2c06e3c0cb68464379dfdc9a828a1e9868887aaf (2026-10-14). This front has not changed your branch/worktree or executed a merge.

Scoped diagnostics in our isolated review worktree, Node 24.20.0 / npm 11.15.0, matching lock SHA256 f2de65a4140bbe8f4f1ae78ea26e1ba06baa67850c297306d94e7b0793f7e3b4:

  • Eight selected Node files: 61/61 PASS, zero skipped/cancelled, exit 0. Covers guarded native/modern dispatch and metadata refusal, pinned-empty-turn evidence, skipped variants, visibility reads, extracted connection fields, coverage/build workflow contracts. First diagnostic used tsx plus isolateDataDir; an additional run with the canonical setupPolyfill/force-exit preamble is in progress. Neither is a full-matrix receipt.
  • Canonical npm run test:vitest:ui -- tests/unit/ui/LocaleAutoDetect-refresh.test.tsx open-sse/services/__tests__/tierResolver.test.ts: 41/41 PASS, exit 0.
  • Static TypeScript AST count confirms all six API-key E2E scenarios remain and static expect() calls total 67 -> 67 (15 + 22 + 25 + 5 in the shared helper). This supports the relocation rationale, not browser execution acceptance.

Outstanding acceptance findings:

  1. Commit 93c5ca5075 changes seven top-level source hashes without refreshing locale records/texts: AGENTS (1 stale locale) and RESILIENCE_GUIDE, REMOTE-MODE, ENVIRONMENT, AUTO-COMBO, GUARDRAILS, ROUTE_GUARD_TIERS (66 each), 397 stale locale records. The current drift checker reports stale locales but does not fail on them. That cannot certify translated parity. fix(docs): synchronize CLI and resilience contracts across locale mirrors #16504 repairs the first earlier document deltas and is now adding the CodeBuddy ENVIRONMENT row with actual translated text. The three latest security-document deltas still need real translations; source-hash-only updates must not be presented as completion.
  2. Current hosted API Route Typecheck actually checked out bc040dd6b39b04760570feeefe126d91bbe9212d (your exact head plus current base) and failed on TS2345 in open-sse/translator/request/openai-responses.ts (baseline 0, live 1). Job: https://github.com/diegosouzapw/OmniRoute/actions/runs/38645336165/job/116130662305 . Source review points to pendingCallIds.push(toolCall.id): the normalizer declares JsonRecord[], so id is statically unknown. That line came in via fix(translator): pair id-less tool results and keep orphan Responses tool outputs #16539, not this PR's diff. A pure-base runtime comparison has not been executed here, so this is not yet a BASE-RED classification. Please coordinate the narrow type repair with that owner rather than widening the baseline.
  3. Required full candidate CI, packaging/build/coverage/E2E evidence and the active-owner landing handoff are still outstanding. Current effective release rules expose no required-status-check or merge-queue guard; head matching alone cannot protect the tested base. No administrative bypass is requested or authorized here.

Thanks for the guarded-transport repair and fixture reconciliation. The local positives above are scoped evidence only, not merge approval or a declaration that the release is green.

@diegosouzapw

Copy link
Copy Markdown
Collaborator

Follow-up on the same head 93c5ca5075df90449d359d1d4d93d39a334e628d / base 2c06e3c0cb68464379dfdc9a828a1e9868887aaf:

  • The canonical-preamble Node repeat completed: 61/61 PASS, exit 0, zero skipped/cancelled. The earlier 41/41 UI PASS remains scoped evidence, not a full matrix.
  • Local API typecheck reproduced the hosted TS2345 in open-sse/translator/request/openai-responses.ts; exit 1, 257 total diagnostics including frozen debt. A separate active front now owns the narrow API-typecheck repair; its worktree was left untouched.
  • Hosted Lint's failing step is check:file-size, not the cycles ratchet. Its four frozen ceilings were exceeded: responseSanitizer 1216/1214, error.ts 1218/1217, translator-openai-responses-req test 1476/1470, vscode-token-routes test 1268/1267. The cycle scanner printed FAIL for graph cycles, but the actual ratchet explicitly passed at 14/14. Exact job.
  • The completed fast-path shard 3/4 has 12,457 tests / 12,448 pass / 1 fail / 8 skipped, zero cancelled. messages-count-tokens-route.test.ts expected claude-opus-4.6 but observed claude-opus-4-6. Exact job.
  • The completed unit shard 2/8 has 6,170 tests / 6,160 pass / 1 fail / 9 skipped, zero cancelled. model-test-route.test.ts expected HTTP 200 but observed 401 in the strict API-key / forwarded-host case. Exact job.

These are retained current-candidate failure signatures, not proven fixture defects or BASE-RED classifications; no baselines, assertions or auth requirements were weakened. #16504 now publishes the real 66-locale ENVIRONMENT delta at b07cff2ccccd1772a35e66355719a4bfc933c487. The three newer security-document translation deltas and the admission/ownership holds in the previous review remain outstanding. No merge performed by this front.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants