/** * Compile-time drift detector for the contracts/graph catalog duplication. * * `@opensip-tools/contracts/src/graph-catalog.ts` declares a structural * mirror of this engine's `Catalog` so the dashboard package can consume * the catalog shape without reaching into a Layer-3 tool. The duplication * is intentional (see graph-catalog.ts §2.4 decoupling claim) but has no * automated detector — when the engine adds a field, the contracts mirror * can drift silently and the dashboard reads the old shape. * * This test asserts the engine's `Catalog` is structurally assignable to * contracts' `GraphCatalog`. The producer (engine) is more specific * (`version: '3.0'` literal, `cacheKey: string` required) than the * consumer-facing contract (`version: string`, `cacheKey?: string`), so * the producer-to-contract direction is the load-bearing one: any new * field added to `Catalog` that is not absorbed by the contract surfaces * as a compile error here. * * The runtime body is a placeholder — vitest needs at least one `it` block * for the file to register. The actual assertion is the type-level * statement below; if it survives `tsc`, we are drift-free. */ export {}; //# sourceMappingURL=graph-catalog-drift.test.d.ts.map