Skip to content

perf(db): cover the provider health matrix ranking with an index - #15435

Merged
diegosouzapw merged 110 commits into
diegosouzapw:release/v3.8.52from
maxmad64bis:perf/provider-health-covering-index
Oct 6, 2026
Merged

diegosouzapw merged 110 commits into
diegosouzapw:release/v3.8.52from
maxmad64bis:perf/provider-health-covering-index

Conversation

@maxmad64bis

@maxmad64bis maxmad64bis commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ base-red inherited: #15306

Summary

The provider health matrix on the dashboard answered slowly on large call histories. The ranked read over recent call logs had no covering index, so each row fell back to a table lookup. A new covering index on the call log table now serves both the unfiltered dashboard read and the provider-filtered read from the index alone, with identical results and a faster answer.

Related Issues

  • No linked issue — the slow ranked read was replayed with no open ticket; only closed items exist.

Validation

  • Change type: DB
  • Focused tests and category gates from the golden path
  • npm run lint
  • Reconciled with the current active release base; focused checks rerun afterward
  • Production-code changes include a new or updated automated test in this PR

Tests Added Or Updated

  • tests/unit/db/migration-200-provider-health-matrix-cover.test.ts - pins the new migration and asserts the ranked health query plan uses the covering index for both the unfiltered and the provider-filtered reads.

Coverage Notes

  • src/lib/db/migrations/200_provider_health_matrix_covering_index.sql - covered by tests/unit/db/migration-200-provider-health-matrix-cover.test.ts, which asserts the ranked query plan seeks the new covering index.

Reviewer Notes

  • Behavior: The ranked read answers about a fifth faster unfiltered and about a sixth faster provider-filtered, with identical rows before and after.
  • Merge: Migration 200 keeps its number while slots 197 through 199 are held by concurrent changes covering config, binary work, and egress. No renumbering is applied, and the migration-numbering gate stays red meanwhile. The migration counters in the docs are left untouched for the maintainer as reserved (fix(proxies): steer selector to members without recent refusals #14804). The docs gate therefore flags only the expected single counter difference from the new migration.

@maxmad64bis
maxmad64bis force-pushed the perf/provider-health-covering-index branch 2 times, most recently from 85070d4 to 06a33df Compare October 3, 2026 10:07
@maxmad64bis
maxmad64bis marked this pull request as ready for review October 3, 2026 16:15
@maxmad64bis
maxmad64bis force-pushed the perf/provider-health-covering-index branch from 06a33df to a2c5daa Compare October 4, 2026 13:27
diegosouzapw and others added 23 commits October 6, 2026 11:33
…purify 3.4.16 and patched npm-bundled copies in the image (diegosouzapw#15325)

- next/eslint-config-next 16.3.5 -> 16.3.6 (critical RCE in next/og ImageResponse).
- override axios ^1.20.0 so ibm-cloud-sdk-core's exact 1.18.0 pin cannot keep the vulnerable copy.
- @grpc/grpc-js 1.14.5, dompurify 3.4.16 via lockfile.
- Dockerfile npm-internals overlay: undici 6.29.0, brace-expansion 5.0.12, ip-address 10.7.3.
node-forge has no patched release yet (dev-only, via promptfoo -> jks-js).
…gosouzapw#15003)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…zapw#15225)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… Rule diegosouzapw#16 (diegosouzapw#15389)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… text (diegosouzapw#15399)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…alog (diegosouzapw#15396)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…iegosouzapw#15395)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…osouzapw#15378)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
diegosouzapw#15432)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…get (diegosouzapw#15433)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…#15434)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…pw#15463)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…pass (diegosouzapw#15560)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…ead of failing silently (diegosouzapw#15362)

Validated in a combined 14-PR board on the current release tip (112313a): 111 focused tests, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…zapw#15224)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…umn name" (diegosouzapw#15236)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…guard (diegosouzapw#15239)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…rt failures (diegosouzapw#15248)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
… in pool visibility (diegosouzapw#15374)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…ouzapw#15375)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…osouzapw#15398)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
…diegosouzapw#15402)

Validated in a combined board on the current release tip: focused node:test + vitest suites, typecheck:core, open-sse typecheck, gate-manifest, mutation-test-coverage, file-size, changelog-integrity, complexity, env-doc-sync, test-discovery, vitest-exclusions, error-helper, cli-i18n and the i18n new-keys/ui-coverage gates green. Thank you for the contribution.
woodsonl and others added 28 commits October 6, 2026 18:21
Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…egosouzapw#15607)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…map derivation (diegosouzapw#15601)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
… row (diegosouzapw#15613)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
diegosouzapw#15609)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…w#15614)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…zapw#15591)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…e catalogs (diegosouzapw#15599)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…pw#15346)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…thrown save (diegosouzapw#15600)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
diegosouzapw#15583)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…pw#15593)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ig saves (diegosouzapw#15592)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…d fails (diegosouzapw#15587)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ouzapw#15612)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…egosouzapw#15604)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ale saves (diegosouzapw#15571)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…#15589)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ine tests (diegosouzapw#15610)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…le mirrors (diegosouzapw#15618)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ed semantics (diegosouzapw#15617)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
…ckbox (diegosouzapw#15605)

Onda 3 (woodsonl) validada num único board em `.claude/worktrees/batch-w3` sobre `origin/release/v3.8.52` (`4f4c983347b9`), 27 PRs, superfícies protegidas 0.

Evidência: `typecheck:core` limpo. i18n drift limpo no board. changelog-integrity ok. file-size ok (170 congelados). complexity 2975/3218 e cognitive-complexity 1357/1437 dentro do baseline. node:test focado: 1868 passaram, 0 falharam. Vitest da UI: 150 passaram em 12 arquivos. Os 38 do RTK caem no `useCallback` nulo de `node_modules/node_modules/react` via zustand, o mesmo React duplicado desta worktree. Onde dois PRs mexiam no mesmo save, o board ficou com os dois comportamentos: escrita parcial de engine por id e a fila/resync do PR que entrou depois.

O hash de `.i18n-state.json` do guia de quality-gates entra no follow-up, fora do squash.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).

Obrigado, @woodsonl.
Follow-up da onda 3. Os guias de compressão, environment e quality-gates já entraram nos squashes do @woodsonl. Este commit só regrava os hashes de `.i18n-state.json` para bater com o que está no disco. Nenhum doc foi reescrito aqui.

file-size no pai `5a82a1c0` ficou verde (170 congelados, 46 testes). Não há bump de teto. O drift de i18n passou depois do `--adopt`.

⚠️ base-red inherited: diegosouzapw#15306 (timeouts de suíte no tip, não neste diff).
197 and 198 belong to diegosouzapw#15564. 199 belongs to diegosouzapw#15314. Both are still open.
The covering index is 200, so the numbering gate lists those three holes
until the files arrive.
@diegosouzapw
diegosouzapw merged commit f715c86 into diegosouzapw:release/v3.8.52 Oct 6, 2026
5 of 9 checks passed
@maxmad64bis
maxmad64bis deleted the perf/provider-health-covering-index branch October 7, 2026 20:38
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.

6 participants