Skip to content

Commit c781e4a

Browse files
committed
docs(contracts): note the interactor conformance gate's coordinated-deletion blind spot
Review on PR #2301 (P2): the two-direction completeness check in interactor-operation-conformance.test.ts can't catch a catalog row and its conformance rows being deleted together in one change — both sets shrink in lockstep and neither assertion trips. No behavior change; documents the limitation for a future maintainer who wants to close it with an independent count.
1 parent d0b11ba commit c781e4a

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

packages/contracts/src/interactor-operation-conformance.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ import { fileURLToPath } from 'node:url';
44
import { expect, test } from 'vitest';
55
import { INTERACTOR_OPERATIONS } from './interactor-operation-catalog.ts';
66

7+
// Note: this gate matches the catalog against conformance rows in lockstep, so it
8+
// cannot catch a coordinated deletion (a catalog row and its conformance rows removed
9+
// together in the same change) — both sets shrink together and neither assertion trips.
10+
// Closing that gap would need an independent count (e.g. a golden minimum for
11+
// INTERACTOR_OPERATIONS.length) outside this file's registry-vs-registry comparison.
12+
713
const sourceDir = dirname(fileURLToPath(import.meta.url));
814
const conformanceImport = "from './interactor-operation-conformance.fixtures.ts'";
915
const conformanceRow = /\boperation: '(\w+)'/g;

0 commit comments

Comments
 (0)