From a1f7cf12f43f15bdd43d663fdb85c0a97848e5dd Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Wed, 3 Jun 2026 20:13:09 -0700 Subject: [PATCH] test(cli): follow dashboard api-lane indirection in workspace contract test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The curated-lane contract still holds — default lane never runs broad dashboard-app/dashboard-api — but test:quality:api now chains curated + backfill sub-lanes, so the --project arg lives one level down. Contract strengthened to also pin the backfill completeness net. --- packages/cli/src/__tests__/package-config.test.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/__tests__/package-config.test.ts b/packages/cli/src/__tests__/package-config.test.ts index b80af0a358..9c6ed4b801 100644 --- a/packages/cli/src/__tests__/package-config.test.ts +++ b/packages/cli/src/__tests__/package-config.test.ts @@ -276,12 +276,18 @@ describe("Workspace bootstrap script contract", () => { const defaultTest = dashboardPkg.scripts?.test; const defaultAppQuality = dashboardPkg.scripts?.["test:quality:app"]; const defaultApiQuality = dashboardPkg.scripts?.["test:quality:api"]; + const apiCurated = dashboardPkg.scripts?.["test:quality:api:curated"]; const deepTest = dashboardPkg.scripts?.["test:deep"]; expect(defaultTest).toBe("pnpm run test:quality:app && pnpm run test:quality:api"); expect(defaultAppQuality).toContain("test:quality:app:foundation-api"); expect(defaultAppQuality).toContain("test:quality:app:settings"); - expect(hasProjectArg(defaultApiQuality, "dashboard-api-quality")).toBe(true); + // The api lane chains curated + backfill sub-lanes; the curated sub-lane + // carries the explicit quality project, and the backfill lane is the + // curated-gate completeness net (broad glob minus curated minus skip-list). + expect(defaultApiQuality).toContain("test:quality:api:curated"); + expect(defaultApiQuality).toContain("test:quality:api:backfill"); + expect(hasProjectArg(apiCurated, "dashboard-api-quality")).toBe(true); expect(hasProjectArg(defaultTest, "dashboard-app")).toBe(false); expect(hasProjectArg(defaultTest, "dashboard-api")).toBe(false);