From 8f14f886908942d35cd07b4a09523ba19c1effdc Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sun, 12 Jul 2026 08:02:19 +0530 Subject: [PATCH] test(plugins): fail auth-literal parity when a declared provider never registers Silent skip on missing runtime registration recreated the drift class the test guards (ClawSweeper finding); capability-only plugins now must register zero text providers to be exempt. --- src/plugins/bundled-provider-auth-literal-parity.test.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/bundled-provider-auth-literal-parity.test.ts b/src/plugins/bundled-provider-auth-literal-parity.test.ts index 49fa0da4cee1..3c3e3c33c6ff 100644 --- a/src/plugins/bundled-provider-auth-literal-parity.test.ts +++ b/src/plugins/bundled-provider-auth-literal-parity.test.ts @@ -157,8 +157,13 @@ describe("bundled provider manifest↔runtime auth literal parity", () => { const provider = findRegisteredProvider(captured.providers, parityCase.providerId); if (!provider) { - // Capability-only plugins (video/image onboard flags) declare CLI keys in - // the manifest without a text ProviderPlugin.auth surface to compare. + // Capability-only plugins (video/image onboard flags) register no text + // providers at all. A plugin that registers text providers but not the + // manifest-declared id has drifted — the exact mismatch this test guards. + expect( + captured.providers.map((entry) => entry.id), + `${parityCase.pluginId} manifest declares provider ${parityCase.providerId} but runtime registers different providers`, + ).toEqual([]); return; }