mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
Release v3.8.29 (#4126)
OmniRoute v3.8.29 — 115 commits since v3.8.28. Full CHANGELOG + 41 i18n mirrors. All content quality gates green (build, unit 8/8, vitest 188/188, PR test policy, quality gates extended, docs sync, quality ratchet). Remaining red CI checks are pre-existing release flakes (coverage-shard/integration/node-compat teardown), a new transitive undici advisory in electron devDeps, and a workflow-level CodeQL fail (0 open alerts). VPS-validated by the operator.
This commit is contained in:
committed by
GitHub
parent
dd5a3db55e
commit
3c9883bb73
@@ -67,10 +67,19 @@
|
||||
"tests/unit/chat-route-coverage.test.ts",
|
||||
"tests/unit/chat-route-edge-cases.test.ts",
|
||||
"tests/unit/chatcore-compression-integration.test.ts",
|
||||
"tests/unit/chatcore-executor-helpers.test.ts",
|
||||
"tests/unit/chatcore-extracted-modules-3821.test.ts",
|
||||
"tests/unit/chatcore-headers.test.ts",
|
||||
"tests/unit/chatcore-imports-cleanly.test.ts",
|
||||
"tests/unit/chatcore-log-truncation.test.ts",
|
||||
"tests/unit/chatcore-memory-extraction.test.ts",
|
||||
"tests/unit/chatcore-memory-skills-injection.test.ts",
|
||||
"tests/unit/chatcore-non-streaming-sse.test.ts",
|
||||
"tests/unit/chatcore-passthrough-tool-names.test.ts",
|
||||
"tests/unit/chatcore-sanitization.test.ts",
|
||||
"tests/unit/chatcore-semantic-cache.test.ts",
|
||||
"tests/unit/chatcore-strip-stale-headers.test.ts",
|
||||
"tests/unit/chatcore-telemetry-helpers.test.ts",
|
||||
"tests/unit/chatcore-translation-paths.test.ts",
|
||||
"tests/unit/check-error-helper.test.ts",
|
||||
"tests/unit/check-route-guard-membership.test.ts",
|
||||
@@ -185,15 +194,79 @@
|
||||
"{{testFile}}"
|
||||
]
|
||||
},
|
||||
"_mutate_godfiles_excluded_comment": [
|
||||
"2026-06-18 (Onda 2 budget): chatCore.ts + combo.ts — the two god-files — were REMOVED",
|
||||
"from `mutate`. They dominated ~2/3 of the ~15k mutants; the full 8-module run TIMED OUT",
|
||||
"at the 180min nightly cap (run 27705123780: 16:47:33 -> killed 19:47:48 = exactly 180min;",
|
||||
"the prior 120min scheduled run also timed out). #4078 made concurrency safe but the",
|
||||
"tap-runner re-spawns a node process per test file PER MUTANT, so spawn cost dominates and",
|
||||
"15k mutants does not fit.",
|
||||
"",
|
||||
"2026-06-18 (Onda 3 / Fase 9 T5 re-add): the combo.ts god-file was split into 11 small",
|
||||
"leaf modules under open-sse/services/combo/ (PRs #4162/#4175/#4186/#4196/#4204). The",
|
||||
"routing LOGIC that justified combo.ts being in `mutate` now lives in those leaves, so the",
|
||||
"10 well-covered combo/* leaves are ADDED back to `mutate` here (comboStructure/autoStrategy/",
|
||||
"validateQuality/shadowRouting/targetSorters/comboPredicates/rrState/comboData + the reset-aware",
|
||||
"quota pair quotaScoring/quotaStrategies, added after #4204 (D7b) merged). They are covered by",
|
||||
"the 24 combo-*.test.ts files already in tap.testFiles (quota by combo-prescreen/combo-config/",
|
||||
"combo-strategy-fallbacks). types.ts is omitted (pure type declarations produce 0 mutants).",
|
||||
"",
|
||||
"chatCore/* leaves: a covering-test audit found 6 with direct unit coverage (batch g:",
|
||||
"comboContextCache/idempotency/passthroughHelpers/responseHeaders/sanitization/upstreamTimeouts).",
|
||||
"A follow-up then added DEDICATED unit tests for 6 more leaves (tests/unit/chatcore-headers,",
|
||||
"-log-truncation, -memory-extraction, -non-streaming-sse, -passthrough-tool-names,",
|
||||
"-executor-helpers — wired into tap.testFiles above) and added those leaves as batch h",
|
||||
"(headers/logTruncation/memoryExtraction/nonStreamingSse/passthroughToolNames/executorHelpers).",
|
||||
"A later follow-up added dedicated tests (NO mock.module — unavailable under the tap-runner; used",
|
||||
"fetch-override + crafted inputs + temp-DATA_DIR) for telemetryHelpers (both fns, all branches) and",
|
||||
"memorySkillsInjection (getSkillsProviderForFormat fully + injectMemoryAndSkills guards/empty-DB",
|
||||
"path) and added them as batch i.",
|
||||
"",
|
||||
"The FINAL chatCore leaf, semanticCache.ts, was added to batch i once its cache-HIT block had a",
|
||||
"fixture: chatcore-semantic-cache now SEEDS the real cache via setCachedResponse (the in-memory",
|
||||
"store getCachedResponse checks first — no mock.module needed) under the exact signature",
|
||||
"checkSemanticCache rebuilds, so the HIT branch runs end-to-end (status 200 / 'semantic' / 'HIT' /",
|
||||
"the stream + content-type ternaries / the cost fallback / the side-effect calls all get killed).",
|
||||
"ALL 15 chatCore leaves are now mutated.",
|
||||
"",
|
||||
"STILL EXCLUDED (follow-ups, NOT in `mutate` yet):",
|
||||
" - combo.ts + chatCore.ts barrels: their handleComboChat/handleChatCore CORES were not",
|
||||
" split (out of scope — Fase 3 ChatCoreContext refactor). The barrels are now thin-ish",
|
||||
" but still large; keep excluded until the cores are split.",
|
||||
"See project memory: Quality Gate v2 / Fase 9 (project-combo-split)."
|
||||
],
|
||||
"mutate": [
|
||||
"open-sse/handlers/chatCore.ts",
|
||||
"open-sse/services/combo.ts",
|
||||
"open-sse/services/accountFallback.ts",
|
||||
"src/sse/services/auth.ts",
|
||||
"src/server/authz/routeGuard.ts",
|
||||
"open-sse/utils/error.ts",
|
||||
"open-sse/utils/publicCreds.ts",
|
||||
"src/shared/utils/circuitBreaker.ts"
|
||||
"src/shared/utils/circuitBreaker.ts",
|
||||
"open-sse/services/combo/comboStructure.ts",
|
||||
"open-sse/services/combo/autoStrategy.ts",
|
||||
"open-sse/services/combo/validateQuality.ts",
|
||||
"open-sse/services/combo/shadowRouting.ts",
|
||||
"open-sse/services/combo/targetSorters.ts",
|
||||
"open-sse/services/combo/comboPredicates.ts",
|
||||
"open-sse/services/combo/rrState.ts",
|
||||
"open-sse/services/combo/comboData.ts",
|
||||
"open-sse/services/combo/quotaScoring.ts",
|
||||
"open-sse/services/combo/quotaStrategies.ts",
|
||||
"open-sse/handlers/chatCore/comboContextCache.ts",
|
||||
"open-sse/handlers/chatCore/idempotency.ts",
|
||||
"open-sse/handlers/chatCore/passthroughHelpers.ts",
|
||||
"open-sse/handlers/chatCore/responseHeaders.ts",
|
||||
"open-sse/handlers/chatCore/sanitization.ts",
|
||||
"open-sse/handlers/chatCore/upstreamTimeouts.ts",
|
||||
"open-sse/handlers/chatCore/headers.ts",
|
||||
"open-sse/handlers/chatCore/logTruncation.ts",
|
||||
"open-sse/handlers/chatCore/memoryExtraction.ts",
|
||||
"open-sse/handlers/chatCore/nonStreamingSse.ts",
|
||||
"open-sse/handlers/chatCore/passthroughToolNames.ts",
|
||||
"open-sse/handlers/chatCore/executorHelpers.ts",
|
||||
"open-sse/handlers/chatCore/telemetryHelpers.ts",
|
||||
"open-sse/handlers/chatCore/memorySkillsInjection.ts",
|
||||
"open-sse/handlers/chatCore/semanticCache.ts"
|
||||
],
|
||||
"_ignorePatterns_comment": [
|
||||
"ignorePatterns = files NOT copied into the Stryker sandbox. It does NOT scope",
|
||||
|
||||
Reference in New Issue
Block a user