fix(ci): clear the open-sse typecheck base-red on release/v3.8.51

#12731 added the "Mode pack ranking gates (cold/warm/health)" block to
open-sse/services/autoCombo/__tests__/autoCombo.test.ts with seven
ProviderCandidate literals that omit three required fields (provider,
model, errorRate). check:open-sse-typecheck reports them as
'TS2739 (baseline 0, live 7)', which fails Fast Quality Gates on the tip
and therefore on every open PR.

The fields are filled with neutral values that preserve each case's
intent: provider/model are identical across every candidate (so
classifyTier cannot skew a comparison), and errorRate is 0 — which is
only read when failureRate is absent, i.e. the two 'cold pool' candidates
the test itself describes as 'reliability 1'.

Validation: npm run check:open-sse-typecheck goes from
'FAIL - 1 new/regressed error' to 'OK - 0 pre-existing error(s)'.
The suite itself does not execute in CI: vitest.config.ts excludes this
file (#8618), so typecheck is its only gate.

Refs #12732
This commit is contained in:
diegosouzapw
2026-09-10 11:29:23 -03:00
parent af49d4972e
commit 9db4483722
2 changed files with 22 additions and 0 deletions

View File

@@ -0,0 +1 @@
- Clear the `release/v3.8.51` typecheck base-red from #12731: the new `Mode pack ranking gates` candidates in `open-sse/services/autoCombo/__tests__/autoCombo.test.ts` omitted the required `provider`, `model` and `errorRate` fields of `ProviderCandidate`, failing `check:open-sse-typecheck` (and with it `Fast Quality Gates`) on every open PR.

View File

@@ -261,8 +261,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
}
it("cold pool ranking unchanged (reliability 1, quality 0.5 neutrals)", () => {
const a: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: undefined,
errorRate: 0,
quality: undefined,
quotaRemaining: 50,
quotaTotal: 100,
@@ -272,8 +275,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
latencyStdDev: 10,
};
const b: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: undefined,
errorRate: 0,
quality: undefined,
quotaRemaining: 50,
quotaTotal: 100,
@@ -287,8 +293,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
});
it("warm reliability 0.01 vs 0.4 flips winner at health tie", () => {
const highFail: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: 0.4,
errorRate: 0,
quality: 0.5,
quotaRemaining: 50,
quotaTotal: 100,
@@ -298,8 +307,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
latencyStdDev: 10,
};
const lowFail: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: 0.01,
errorRate: 0,
quality: 0.5,
quotaRemaining: 50,
quotaTotal: 100,
@@ -313,8 +325,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
});
it("boundedRate NaN yields reliability 1", () => {
const c: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: NaN,
errorRate: 0,
quotaRemaining: 50,
quotaTotal: 100,
costPer1MTokens: 1,
@@ -327,8 +342,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
});
it("health CLOSED vs HALF_OPEN still outweighs reliability gap", () => {
const healthyHighFail: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "CLOSED",
failureRate: 0.4,
errorRate: 0,
quality: 0.5,
quotaRemaining: 50,
quotaTotal: 100,
@@ -338,8 +356,11 @@ describe("Mode pack ranking gates (cold/warm/health)", () => {
latencyStdDev: 10,
};
const halfOpenLowFail: ProviderCandidate = {
provider: "test-provider",
model: "test-model",
circuitBreakerState: "HALF_OPEN",
failureRate: 0.01,
errorRate: 0,
quality: 0.5,
quotaRemaining: 50,
quotaTotal: 100,