mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-14 11:12:17 +03:00
chore(ci): add quota + 6 covered chatCore leaves to stryker mutate (QG v2 Fase 9 T5 Fase 3 follow-up) (#4209)
Integrated into release/v3.8.29 (round 7). CI-only: stryker mutate += quotaScoring/quotaStrategies (batch f) + 6 covered chatCore leaves (batch g); nightly matrix 5->7 batches. Follow-up to #4205/#4204.
This commit is contained in:
committed by
GitHub
parent
4c6cb45a6a
commit
8a0863c5a8
12
.github/workflows/nightly-mutation.yml
vendored
12
.github/workflows/nightly-mutation.yml
vendored
@@ -21,9 +21,11 @@ jobs:
|
||||
# big modules are now ISOLATED into their own batches (a=auth, b=accountFallback).
|
||||
# - Onda 3 / Fase 9 T5 re-add: combo.ts was split into 11 leaves; the 8 well-covered
|
||||
# combo/* leaves are back in `mutate` (covered by the 24 combo-*.test.ts), grouped into
|
||||
# 2 batches (d=heavy, e=light). chatCore/* leaves + quotaScoring/quotaStrategies (#4204)
|
||||
# are follow-ups — see _mutate_godfiles_excluded_comment in stryker.conf.json.
|
||||
# 5 PARALLEL batches, each overriding the mutate set via `--mutate` (Stryker 9 CLI:
|
||||
# 2 batches (d=heavy, e=light). After #4204 (D7b) merged, the reset-aware quota pair
|
||||
# quotaScoring/quotaStrategies was added as batch f. A covering-test audit then added the
|
||||
# 6 chatCore/* leaves with direct unit coverage as batch g; the other 9 chatCore leaves
|
||||
# remain a follow-up — see _mutate_godfiles_excluded_comment in stryker.conf.json.
|
||||
# 7 PARALLEL batches, each overriding the mutate set via `--mutate` (Stryker 9 CLI:
|
||||
# `-m, --mutate <comma-list>`; the conf's `mutate[]` remains the local-run default/union).
|
||||
# Each batch targets <180min; full coverage every night in parallel (~180min wall-clock).
|
||||
# The `incremental` cache (per-batch key) makes runs after the first cold one much cheaper,
|
||||
@@ -44,6 +46,10 @@ jobs:
|
||||
mutate: "open-sse/services/combo/comboStructure.ts,open-sse/services/combo/autoStrategy.ts,open-sse/services/combo/validateQuality.ts"
|
||||
- name: e
|
||||
mutate: "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"
|
||||
- name: f
|
||||
mutate: "open-sse/services/combo/quotaScoring.ts,open-sse/services/combo/quotaStrategies.ts"
|
||||
- name: g
|
||||
mutate: "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"
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
@@ -196,19 +196,26 @@
|
||||
"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",
|
||||
"8 well-covered combo/* leaves are ADDED back to `mutate` here (comboStructure/autoStrategy/",
|
||||
"validateQuality/shadowRouting/targetSorters/comboPredicates/rrState/comboData). They are",
|
||||
"covered by the 24 combo-*.test.ts files already in tap.testFiles. types.ts is omitted",
|
||||
"(pure type declarations produce 0 mutants).",
|
||||
"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 (do any tap.testFiles reference each leaf's exported",
|
||||
"function names?) found 6 with direct unit coverage — comboContextCache/idempotency/",
|
||||
"passthroughHelpers/responseHeaders/sanitization/upstreamTimeouts — ADDED here (batch g).",
|
||||
"",
|
||||
"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.",
|
||||
" - combo/quotaScoring.ts + combo/quotaStrategies.ts: in PR #4204 (D7b), not yet merged.",
|
||||
" Add them here once #4204 lands (they are covered by combo-prescreen/combo-config tests).",
|
||||
" - chatCore/* leaves (15 modules): thinner test coverage (only ~7 chatcore-*.test.ts in",
|
||||
" tap.testFiles); add after a covering-test audit so they don't all 'survive (no coverage)'.",
|
||||
" - the other 9 chatCore/* leaves (executorHelpers/headers/logTruncation/memoryExtraction/",
|
||||
" memorySkillsInjection/nonStreamingSse/passthroughToolNames/semanticCache/telemetryHelpers):",
|
||||
" no tap.testFiles reference their exported symbols by name — they are only exercised",
|
||||
" TRANSITIVELY via handleChatCore, which the tap unit tests may not fully drive. Adding them",
|
||||
" blindly would produce 'survived (no coverage)' noise. Add each once it gains a dedicated",
|
||||
" unit test (or after a Stryker --dryRunOnly confirms the perTest map covers it).",
|
||||
"See project memory: Quality Gate v2 / Fase 9 (project-combo-split)."
|
||||
],
|
||||
"mutate": [
|
||||
@@ -225,7 +232,15 @@
|
||||
"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/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"
|
||||
],
|
||||
"_ignorePatterns_comment": [
|
||||
"ignorePatterns = files NOT copied into the Stryker sandbox. It does NOT scope",
|
||||
|
||||
Reference in New Issue
Block a user