Skip to content

fix(release): drain v3.8.52 base-reds — sqlite report stall (#15106), zh-CN glossary, route map, #15979 test fallout - #16092

Merged
diegosouzapw merged 1 commit into
release/v3.8.52from
fix/release-v3.8.52-basereds-1009a
Oct 9, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.52from
fix/release-v3.8.52-basereds-1009a

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Drains the base-reds on the release/v3.8.52 tip (977d006). Each item was reproduced red on the clean tip, run on its own (not under load), and traced to the PR that caused it.

⚠️ base-red inherited: #15306. Items listed under "Not fixed here" are still red on the tip.

Fixed

1. Shared root cause of the 4 vitest 5s timeouts (production fix, #15106)

antigravity-quota-family, pipeline-router-taskfitness-mismatch, suffixComposition-4517 and vision-filter-excludes-forced.

  • Cause: a CPU profile of the first getResolvedModelCapabilities() call showed 6.0s of the 6.6s inside better-sqlite3/lib/binding.js::isLinuxMusl(). That function calls process.report.getReport(). The report's network section reverse-resolves every open TCP handle, and the vitest worker holds 2. On a host with slow reverse DNS, the measured cost was getReport() = 5948 ms, and 6 ms with excludeNetwork = true. Production pays the same cost on the first DB open when sockets are already open.
  • Fix: src/lib/db/adapters/driverFactory.ts builds the better-sqlite3 Database with process.report.excludeNetwork = true and restores the caller's value afterwards. better-sqlite3 only reads header.glibcVersionRuntime from the report.
  • Red → green: new test in tests/unit/db-adapters/driverFactory.test.ts (red first: actual: false, expected: true, then 29/29 green). All 4 vitest files are green alone: 7/7, 2/2, 6/6 and 5/5. The first test in each file dropped from ~6.5s to 0.6–1.2s.
  • Breaking PR: none. better-sqlite3 13 has been on the branch since August. The stall depends on the host's DNS. test(autoCombo): warm task-fitness DB in beforeAll so first-call init can't time out (#15106) #15253 had only warmed one call path.

2. i18n-glossary-consistency-check: zh-CN contains 提供商

3. i18n-route-namespaces: stale generated map

4. virtual-auto-combo: "restricts the no-auth pool", plus 4 sibling files with the same cause

Siblings: noauth-autocombo-allowlist, noauth-autocombo-hidden-7620, repro-6557-noauth-connection-disable-ignored, auto-combo-credentialed-model-pool.

5. zai-web-missing-browser-executable-13232

6. quota-trackers-batch-init

  • Cause (contract change): Security audit fixes #13330 let Prettier reflow await import("…quotaTrackersBatch.ts") onto one line. The test matched a hard-coded line break.
  • Fix: a whitespace-tolerant regex. The same order assertion stays (import first, then the call). 3/3 green.

Not fixed here

Gates

Run in the worktree:

  • typecheck:core clean
  • ESLint with suppressions on the changed files: 0
  • Prettier clean
  • file-size, test-masking (diff vs origin/release/v3.8.52: no weakening), changelog-integrity, test-discovery and env-doc-sync: all OK
  • pre-commit hooks passed
  • Touched node:test files all green, 10 files, N>0 each
  • The 4 vitest files are green when each runs alone

…ossary, route map, ToS-default test fallout

- fix(db): construct better-sqlite3 with process.report.excludeNetwork on. Its
  isLinuxMusl() probe calls process.report.getReport(), which reverse-resolves
  every open TCP handle; with sockets open the first DB open blocked ~6s on hosts
  with slow reverse DNS — the shared root cause of the four autoCombo/antigravity
  vitest 5s timeouts (#15106).
- fix(i18n): zh-CN codexKeyServiceMode 提供商 -> 提供者 (glossary) and regenerate
  routeNamespaces.generated.json for the namespace added by #13554.
- test: opt out of excludeTosAvoid in the auto-combo suites whose subject is not
  the ToS filter — #15979 made uncataloged models inherit the provider verdict,
  so opencode/antigravity left every default auto pool (contract change).
- test: zai-web #13232 pins DISPLAY so the missing-Chromium branch is exercised
  after #15851 started Xvfb first; quota-trackers-batch-init matches the awaited
  import independent of the Prettier reflow from #13330.
@diegosouzapw
diegosouzapw merged commit 2591176 into release/v3.8.52 Oct 9, 2026
12 of 13 checks passed
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

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.

1 participant