diff --git a/tests/unit/free-tier-providers-wave1-a.test.ts b/tests/unit/free-tier-providers-wave1-a.test.ts index 2ad3b23f41..652e7a5772 100644 --- a/tests/unit/free-tier-providers-wave1-a.test.ts +++ b/tests/unit/free-tier-providers-wave1-a.test.ts @@ -48,8 +48,22 @@ for (const { entry, id, alias, chatUrl, modelsUrl } of providers) { assert.equal(entry.modelsUrl, modelsUrl); assert.equal(entry.passthroughModels, true); }); +} +// zylo-api and unorouter rely on the live catalog with no static seed (#9085). +for (const { entry, id } of providers.filter((p) => p.id !== "poolside")) { test(`${id} relies on its live catalog without invented static model ids`, () => { assert.deepEqual(entry.models, []); }); } + +// Poolside ships the two authenticated-probe models (#10216) as static seeds — +// they are the exact IDs the live catalog returns (authenticated probe 2026-08-07, +// #9085), not invented. Assert them explicitly so a future catalog change is a +// deliberate update, not a silent drift. +test("poolside ships the probed Laguna Preview models, not invented ids", () => { + const models = poolsideProvider.models; + assert.ok(Array.isArray(models) && models.length > 0, "poolside should seed its probed catalog"); + const ids = models.map((m) => m.id); + assert.deepEqual(ids, ["poolside/laguna-xs-2.1", "poolside/laguna-s-2.1"]); +});