mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-19 13:23:50 +03:00
Validado numa worktree combinada com a onda de roteamento/free-tier desta leva sobre `release/v3.8.51`: typecheck:core limpo, check-api-typecheck OK (288), check-file-size OK após rebaseline, 84/85 nos testes focados. `reliability-first` que não pesava reliability é o defeito mais constrangedor possível num mode pack, e a causa é clara: `modePacks.ts:13` substituía os defaults por inteiro. Financiar os novos pesos com `quota`/`costInv`/`tierPriority` mantendo cada pack somando 1.0 é a parte que exige cuidado e você fez. Manter `quality-first` em 0.03, igual ao default, para que ele não fique mais fraco que `balanced`, é o tipo de detalhe que só aparece quando se checa a tabela inteira. **Integração:** conflitou com o #12794 no `computeSnapshotWeights`; os dois compõem e ambos ficaram.
23 lines
881 B
TypeScript
23 lines
881 B
TypeScript
import { test } from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import { readFileSync } from "node:fs";
|
|
import { MODE_PACKS } from "../../open-sse/services/autoCombo/modePacks.ts";
|
|
|
|
// Every pack pins quality explicitly so none silently inherits a future DEFAULT.
|
|
// Locks, not TDD: green on existing behavior, break on silent regression.
|
|
|
|
test("every pack pins quality explicitly (no silent DEFAULT inheritance)", () => {
|
|
for (const [name, pack] of Object.entries(MODE_PACKS)) {
|
|
assert.ok(
|
|
typeof (pack as { quality?: unknown }).quality === "number",
|
|
`${name} must pin quality`
|
|
);
|
|
}
|
|
});
|
|
|
|
test("scoring fallback stays neutral (no DEFAULT inheritance)", () => {
|
|
const src = readFileSync("open-sse/services/autoCombo/scoring.ts", "utf8");
|
|
assert.match(src, /weights\.quality \?\? 0\)/);
|
|
assert.match(src, /factors\.quality \?\? 0\.5\)/);
|
|
});
|