audit-tools 0.49.0 → 0.50.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +3 -1
  2. package/dist/audit/cli/args.d.ts +27 -0
  3. package/dist/audit/cli/args.d.ts.map +1 -1
  4. package/dist/audit/cli/args.js +32 -2
  5. package/dist/audit/cli/args.js.map +1 -1
  6. package/dist/audit/cli/dispatch/hostHandoff.d.ts +1 -1
  7. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch/hostHandoff.js +32 -55
  9. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  10. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  11. package/dist/audit/cli/nextStepHelpers.js +8 -8
  12. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  13. package/dist/audit/io/artifacts.d.ts +0 -28
  14. package/dist/audit/io/artifacts.d.ts.map +1 -1
  15. package/dist/audit/io/artifacts.js +1 -65
  16. package/dist/audit/io/artifacts.js.map +1 -1
  17. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  18. package/dist/audit/orchestrator/advance.js +12 -10
  19. package/dist/audit/orchestrator/advance.js.map +1 -1
  20. package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
  21. package/dist/audit/orchestrator/designReviewSnapshot.js +2 -5
  22. package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
  23. package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
  24. package/dist/audit/reporting/mergeFindings.js +1 -2
  25. package/dist/audit/reporting/mergeFindings.js.map +1 -1
  26. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +25 -10
  27. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  28. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +35 -88
  29. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  30. package/dist/remediate/contractPipeline/idRegistry.d.ts +10 -20
  31. package/dist/remediate/contractPipeline/idRegistry.d.ts.map +1 -1
  32. package/dist/remediate/contractPipeline/idRegistry.js +10 -24
  33. package/dist/remediate/contractPipeline/idRegistry.js.map +1 -1
  34. package/dist/remediate/contractPipeline/obligationKinds.d.ts +27 -0
  35. package/dist/remediate/contractPipeline/obligationKinds.d.ts.map +1 -0
  36. package/dist/remediate/contractPipeline/obligationKinds.js +18 -0
  37. package/dist/remediate/contractPipeline/obligationKinds.js.map +1 -0
  38. package/dist/remediate/dedup/crossLensDedup.d.ts +2 -3
  39. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  40. package/dist/remediate/dedup/crossLensDedup.js +2 -4
  41. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  42. package/dist/remediate/index.d.ts +38 -8
  43. package/dist/remediate/index.d.ts.map +1 -1
  44. package/dist/remediate/index.js +75 -27
  45. package/dist/remediate/index.js.map +1 -1
  46. package/dist/remediate/steps/contractPipeline.d.ts +6 -62
  47. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  48. package/dist/remediate/steps/contractPipeline.js +11 -80
  49. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  50. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  51. package/dist/remediate/steps/dispatch/hostHandoff.js +57 -48
  52. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  53. package/dist/remediate/steps/nextStep.d.ts +83 -2
  54. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  55. package/dist/remediate/steps/nextStep.js +79 -11
  56. package/dist/remediate/steps/nextStep.js.map +1 -1
  57. package/dist/remediate/steps/types.d.ts +1 -1
  58. package/dist/remediate/steps/types.d.ts.map +1 -1
  59. package/dist/remediate/steps/types.js.map +1 -1
  60. package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
  61. package/dist/remediate/utils/fileIntegrity.js +123 -30
  62. package/dist/remediate/utils/fileIntegrity.js.map +1 -1
  63. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  64. package/dist/remediate/validation/artifacts.js +3 -9
  65. package/dist/remediate/validation/artifacts.js.map +1 -1
  66. package/dist/remediate/validation/contractPipeline.d.ts +1 -1
  67. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  68. package/dist/remediate/validation/contractPipeline.js +8 -46
  69. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  70. package/dist/remediate/validation/contractPipelineGates.d.ts +12 -20
  71. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  72. package/dist/remediate/validation/contractPipelineGates.js +107 -135
  73. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  74. package/dist/shared/engine/obligationEngine.d.ts +32 -0
  75. package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
  76. package/dist/shared/engine/obligationEngine.js +29 -0
  77. package/dist/shared/engine/obligationEngine.js.map +1 -1
  78. package/dist/shared/findings/dedupe.d.ts +4 -11
  79. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  80. package/dist/shared/findings/dedupe.js +196 -163
  81. package/dist/shared/findings/dedupe.js.map +1 -1
  82. package/dist/shared/graph/directedCycles.d.ts +61 -0
  83. package/dist/shared/graph/directedCycles.d.ts.map +1 -0
  84. package/dist/shared/graph/directedCycles.js +190 -0
  85. package/dist/shared/graph/directedCycles.js.map +1 -0
  86. package/dist/shared/index.d.ts +6 -3
  87. package/dist/shared/index.d.ts.map +1 -1
  88. package/dist/shared/index.js +4 -2
  89. package/dist/shared/index.js.map +1 -1
  90. package/dist/shared/io/repoRoot.d.ts +45 -0
  91. package/dist/shared/io/repoRoot.d.ts.map +1 -1
  92. package/dist/shared/io/repoRoot.js +91 -1
  93. package/dist/shared/io/repoRoot.js.map +1 -1
  94. package/dist/shared/submission/submissionScan.d.ts +86 -0
  95. package/dist/shared/submission/submissionScan.d.ts.map +1 -0
  96. package/dist/shared/submission/submissionScan.js +93 -0
  97. package/dist/shared/submission/submissionScan.js.map +1 -0
  98. package/dist/shared/types/obligationLedger.d.ts +7 -3
  99. package/dist/shared/types/obligationLedger.d.ts.map +1 -1
  100. package/dist/shared/types/obligationLedger.js +9 -37
  101. package/dist/shared/types/obligationLedger.js.map +1 -1
  102. package/package.json +3 -2
  103. package/skills/audit-code/audit-code.prompt.md +5 -2
  104. package/wrapper/audit-code-wrapper-install-hosts.mjs +8 -3
  105. package/wrapper/audit-code-wrapper-lib.mjs +10 -3
  106. package/wrapper/installer-verb-help.mjs +3 -1
  107. package/wrapper/remediate-code-wrapper-install-hosts.mjs +8 -3
  108. package/wrapper/repo-root.mjs +80 -0
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipeline.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipeline.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipeline.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ValidationIssue, type Finding } from "audit-tools/shared";
2
2
  import { type PairingVerdict } from "../contractPipeline/changeClassification.js";
3
3
  import type { ContractPipelineArtifactName } from "../contractPipeline/artifactStore.js";
4
+ import { TESTABLE_OBLIGATION_KINDS } from "../contractPipeline/obligationKinds.js";
4
5
  /**
5
6
  * Deterministic structural gates run before the adversarial critic phase.
6
7
  * Returns ValidationIssue[] — errors block the pipeline (re-emit design phase),
@@ -48,10 +49,11 @@ export declare function validateImplementationDAGIntegrity(dagPayload: unknown,
48
49
  * copies had already diverged — derive.ts failed OPEN on an unrecognized kind
49
50
  * (conservatively testable) while this file failed CLOSED (silently skipped,
50
51
  * i.e. treated as non-testable, so a scaffold-offered spec was never actually
51
- * required). Single-sourced here; derive.ts imports isTestablePhaseObligation
52
- * from this module instead of re-declaring it.
52
+ * required). The subset is now derived from the full vocabulary in
53
+ * contractPipeline/obligationKinds.ts; this module owns only the fail-open
54
+ * classification policy.
53
55
  */
54
- export declare const TESTABLE_OBLIGATION_KINDS: Set<string>;
56
+ export { TESTABLE_OBLIGATION_KINDS };
55
57
  /**
56
58
  * testable (invariant/behavioral) → true; the structural contract-conformance
57
59
  * kind → false; an unrecognized/unexpected kind → true (fail-OPEN into the
@@ -261,14 +263,14 @@ export declare function validateFinalizedModuleSetPreserved(draftedModuleContrac
261
263
  * on that follow-up; see CP-BLOCK-CP-NODE-14's result deviations.
262
264
  */
263
265
  export interface GateOutcome {
264
- /** Stable identity, in evaluateContractPipelineCrossGates's fixed canonical order. */
266
+ /** Stable identity, in evaluateContractPipelineCrossGateOutcomes's fixed canonical order. */
265
267
  gate: "paired_obligations" | "evidence_threaded" | "digest_coverage" | "reconciliation_derivation" | "design_spec" | "implementation_dag_integrity" | "decomposition_file_scope" | "finalized_module_set_preserved";
266
268
  evaluated: boolean;
267
269
  issues: ValidationIssue[];
268
270
  /** Present only when `evaluated` is false. */
269
271
  reason?: string;
270
272
  }
271
- /** Input to {@link evaluateContractPipelineCrossGates}. */
273
+ /** Input to {@link evaluateContractPipelineCrossGateOutcomes}. */
272
274
  export interface ContractPipelineCrossGateInputs {
273
275
  /** Every contract-pipeline artifact payload currently known, by name. An
274
276
  * absent entry means "this artifact is not available" — every gate below
@@ -284,10 +286,11 @@ export interface ContractPipelineCrossGateInputs {
284
286
  }
285
287
  /**
286
288
  * Evaluate the SAME 8 cross-artifact gates the plural `validate-artifacts`
287
- * sweep runs, returning one `ValidationIssue[]` PER gate in a FIXED canonical
288
- * order (never a flattened single array callers that need per-gate issue
289
- * counts, e.g. INV-CVG-1's "one issue-string entry per failing gate", rely on
290
- * this shape; a caller that just wants everything can `.flat()` the result).
289
+ * sweep runs, returning one {@link GateOutcome} PER gate in a FIXED canonical
290
+ * order. This is the single cross-gate entry point: callers that need only
291
+ * issues flatten `outcome.issues` in returned order, while callers that need
292
+ * per-gate counts or evaluated/skipped classification retain the outcome
293
+ * records (OBS-cca3801c / OBS-cca3801c-2).
291
294
  *
292
295
  * Absent-input tolerance is guaranteed PER GATE, not by this runner — this
293
296
  * function adds NO extra tolerance logic of its own, it only wires named
@@ -321,16 +324,5 @@ export interface ContractPipelineCrossGateInputs {
321
324
  * self-check in an otherwise-empty run) can never false-fail: every gate
322
325
  * lacking its input contributes an empty array, not a fabricated issue.
323
326
  */
324
- export declare function evaluateContractPipelineCrossGates(inputs: ContractPipelineCrossGateInputs): ValidationIssue[][];
325
- /**
326
- * Evaluate the SAME 8 cross-artifact gates {@link evaluateContractPipelineCrossGates}
327
- * calls, in the SAME canonical order, additionally classifying each as
328
- * evaluated or skipped-with-reason (OBS-cca3801c / OBS-cca3801c-2, see
329
- * {@link GateOutcome}). Additive: evaluateContractPipelineCrossGates keeps its
330
- * existing `ValidationIssue[][]` shape unchanged for its existing callers
331
- * (validation/artifacts.ts, index.ts) — this is a parallel, richer view for a
332
- * caller that must refuse an empty `issues` array as proof-of-clean without
333
- * checking `evaluated` first.
334
- */
335
327
  export declare function evaluateContractPipelineCrossGateOutcomes(inputs: ContractPipelineCrossGateInputs): GateOutcome[];
336
328
  //# sourceMappingURL=contractPipelineGates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipelineGates.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipelineGates.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Structural gates for the DesignSpec contract-pipeline artifact.
3
3
  *
4
4
  * Extracted from contractPipeline.ts to keep gate logic (structural checks,
5
- * obligation cross-checks, Kahn's topological sort) separate from the
6
- * per-artifact field validators. MNT-86b18f1b.
5
+ * obligation cross-checks, cycle detection) separate from the per-artifact
6
+ * field validators. MNT-86b18f1b.
7
7
  *
8
8
  * Re-exported from contractPipeline.ts for backward-compatible imports.
9
9
  *
@@ -16,8 +16,9 @@
16
16
  import { spawnSync } from "node:child_process";
17
17
  import { readFileSync } from "node:fs";
18
18
  import { join } from "node:path";
19
- import { WorkBlockSeamSchema, isRecord, pushValidationIssue, groundDesignFinding, normalizeRepoPath, isBareBasename, resolveBasenameToTrackedPath, enumerateTrackedFilePaths, } from "audit-tools/shared";
19
+ import { WorkBlockSeamSchema, isRecord, pushValidationIssue, groundDesignFinding, normalizeRepoPath, isBareBasename, resolveBasenameToTrackedPath, enumerateTrackedFilePaths, findCyclicComponents, } from "audit-tools/shared";
20
20
  import { evaluatePairing, obligationScopeAnchors, readObligationChangeClassification, extractSymbolTokens, } from "../contractPipeline/changeClassification.js";
21
+ import { TESTABLE_OBLIGATION_KINDS } from "../contractPipeline/obligationKinds.js";
21
22
  // ── DesignSpec structural gates ───────────────────────────────────────────────
22
23
  /**
23
24
  * Deterministic structural gates run before the adversarial critic phase.
@@ -32,33 +33,87 @@ export function validateDesignSpecGates(designSpec, obligationLedger) {
32
33
  const issues = [];
33
34
  if (!canEvaluateDesignSpec(designSpec))
34
35
  return issues;
35
- // Gate 1: every module entry must have non-empty inputs and outputs.
36
- // Checks both DesignSpec.modules (optional annotation array) and
37
- // finalized_module_contracts.module_contracts (used when called with the
38
- // finalized design artifact).
39
- const [moduleFieldName, moduleEntries] = Array.isArray(designSpec.modules)
40
- ? ["modules", designSpec.modules]
41
- : ["module_contracts", Array.isArray(designSpec.module_contracts) ? designSpec.module_contracts : []];
42
- for (const [i, mod] of moduleEntries.entries()) {
43
- if (!isRecord(mod))
44
- continue;
45
- if (!Array.isArray(mod.inputs) || mod.inputs.length === 0) {
46
- pushValidationIssue(issues, `${moduleFieldName}[${i}].inputs`, `${moduleFieldName}[${i}].inputs must be a non-empty array — every module must declare its inputs.`);
36
+ const requiredFieldChecks = [
37
+ {
38
+ collections: ["modules", "module_contracts"],
39
+ field: "inputs",
40
+ expectedShape: "array",
41
+ message: (collection, index) => `${collection}[${index}].inputs must be a non-empty array — every module must declare its inputs.`,
42
+ },
43
+ {
44
+ collections: ["modules", "module_contracts"],
45
+ field: "outputs",
46
+ expectedShape: "array",
47
+ message: (collection, index) => `${collection}[${index}].outputs must be a non-empty array — every module must declare its outputs.`,
48
+ },
49
+ {
50
+ collections: ["side_effects"],
51
+ field: "owner",
52
+ expectedShape: "string",
53
+ message: (_, index) => `side_effects[${index}].owner must be a non-empty string — every side effect must have an owner.`,
54
+ },
55
+ {
56
+ collections: ["external_dependencies"],
57
+ field: "failure_semantics",
58
+ expectedShape: "string",
59
+ message: (collection, index, field) => `${collection}[${index}].${field} must be a non-empty string — every external dependency must declare its failure semantics.`,
60
+ },
61
+ {
62
+ collections: ["trust_boundaries"],
63
+ field: "untrusted_inputs",
64
+ expectedShape: "array",
65
+ message: (collection, index, field) => `${collection}[${index}].${field} must be a non-empty array — every trust boundary must declare its untrusted inputs.`,
66
+ },
67
+ {
68
+ collections: ["trust_boundaries"],
69
+ field: "validation_ref",
70
+ expectedShape: "string",
71
+ message: (collection, index, field) => `${collection}[${index}].${field} must be a non-empty string — every trust boundary must have a validation reference.`,
72
+ },
73
+ ];
74
+ const checksGate1And2 = requiredFieldChecks.slice(0, 3);
75
+ const checksGate4And5 = requiredFieldChecks.slice(3);
76
+ const specRecord = designSpec;
77
+ const resolveCollection = (check) => {
78
+ if (check.collections.includes("modules")) {
79
+ if (Array.isArray(specRecord.modules))
80
+ return "modules";
81
+ if (Array.isArray(specRecord.module_contracts))
82
+ return "module_contracts";
47
83
  }
48
- if (!Array.isArray(mod.outputs) || mod.outputs.length === 0) {
49
- pushValidationIssue(issues, `${moduleFieldName}[${i}].outputs`, `${moduleFieldName}[${i}].outputs must be a non-empty array — every module must declare its outputs.`);
84
+ return check.collections.find((collection) => Array.isArray(specRecord[collection]));
85
+ };
86
+ const runDesignSpecFieldChecks = (checks) => {
87
+ const isInvalid = (shape, value) => {
88
+ if (shape === "array") {
89
+ return !Array.isArray(value) || value.length === 0;
90
+ }
91
+ return typeof value !== "string" || value.length === 0;
92
+ };
93
+ const collectionOrder = [];
94
+ for (const check of checks) {
95
+ const collection = resolveCollection(check);
96
+ if (collection && !collectionOrder.includes(collection)) {
97
+ collectionOrder.push(collection);
98
+ }
50
99
  }
51
- }
52
- // Gate 2: every side-effect entry must have a non-empty owner.
53
- if (Array.isArray(designSpec.side_effects)) {
54
- for (const [i, se] of designSpec.side_effects.entries()) {
55
- if (!isRecord(se))
100
+ for (const collection of collectionOrder) {
101
+ const maybeEntries = specRecord[collection];
102
+ if (!Array.isArray(maybeEntries))
56
103
  continue;
57
- if (typeof se.owner !== "string" || se.owner.length === 0) {
58
- pushValidationIssue(issues, `side_effects[${i}].owner`, `side_effects[${i}].owner must be a non-empty string — every side effect must have an owner.`);
104
+ const checksForCollection = checks.filter((check) => resolveCollection(check) === collection);
105
+ for (const [index, entry] of maybeEntries.entries()) {
106
+ if (!isRecord(entry))
107
+ continue;
108
+ for (const check of checksForCollection) {
109
+ if (isInvalid(check.expectedShape, entry[check.field])) {
110
+ pushValidationIssue(issues, `${collection}[${index}].${check.field}`, check.message(collection, index, check.field));
111
+ }
112
+ }
59
113
  }
60
114
  }
61
- }
115
+ };
116
+ runDesignSpecFieldChecks(checksGate1And2);
62
117
  // Gate 3: invariant/obligation ledger cross-check.
63
118
  // Every invariant in the design_spec must have at least one obligation in the ledger
64
119
  // with kind === 'invariant' and whose description or id references the invariant's id.
@@ -81,8 +136,8 @@ export function validateDesignSpecGates(designSpec, obligationLedger) {
81
136
  // substring false-positives (e.g. "INV-1" ⊂ "INV-10"). COR-cca3801c:
82
137
  // invId is worker-authored and must be escaped before interpolation —
83
138
  // unescaped, a metacharacter id (e.g. "INV-(1") threw and aborted the
84
- // whole evaluateContractPipelineCrossGates array literal, losing all
85
- // eight gate results, not just this one. Mirrors the sibling fix
139
+ // whole cross-gate evaluation, losing all eight gate results, not just
140
+ // this one. Mirrors the sibling fix
86
141
  // already applied to fid in validateDigestCoverage below.
87
142
  return oblId === invId || new RegExp(`(?<![\\w-])${escapeRegExp(invId)}(?![\\w-])`).test(oblDesc);
88
143
  });
@@ -91,77 +146,29 @@ export function validateDesignSpecGates(designSpec, obligationLedger) {
91
146
  }
92
147
  }
93
148
  }
94
- // Gate 4: every external_dependency entry must have non-empty failure_semantics.
95
- if (Array.isArray(designSpec.external_dependencies)) {
96
- for (const [i, dep] of designSpec.external_dependencies.entries()) {
97
- if (!isRecord(dep))
98
- continue;
99
- if (typeof dep.failure_semantics !== "string" || dep.failure_semantics.length === 0) {
100
- pushValidationIssue(issues, `external_dependencies[${i}].failure_semantics`, `external_dependencies[${i}].failure_semantics must be a non-empty string — every external dependency must declare its failure semantics.`);
101
- }
102
- }
103
- }
104
- // Gate 5: every trust_boundary entry must have non-empty untrusted_inputs and validation_ref.
105
- if (Array.isArray(designSpec.trust_boundaries)) {
106
- for (const [i, tb] of designSpec.trust_boundaries.entries()) {
107
- if (!isRecord(tb))
108
- continue;
109
- if (!Array.isArray(tb.untrusted_inputs) || tb.untrusted_inputs.length === 0) {
110
- pushValidationIssue(issues, `trust_boundaries[${i}].untrusted_inputs`, `trust_boundaries[${i}].untrusted_inputs must be a non-empty array — every trust boundary must declare its untrusted inputs.`);
111
- }
112
- if (typeof tb.validation_ref !== "string" || tb.validation_ref.length === 0) {
113
- pushValidationIssue(issues, `trust_boundaries[${i}].validation_ref`, `trust_boundaries[${i}].validation_ref must be a non-empty string — every trust boundary must have a validation reference.`);
114
- }
115
- }
116
- }
149
+ runDesignSpecFieldChecks(checksGate4And5);
117
150
  // Gate 6: circular obligation dependency detection (warning, not error).
118
- // Uses Kahn's algorithm (iterative topological sort).
151
+ // Exact cycle membership from the shared directed-cycle core: the reported
152
+ // ids are the strongly connected components' own members, so an obligation
153
+ // merely DOWNSTREAM of a cycle is not named (the Kahn drain this replaced
154
+ // reported every node it could not drain, tails included). The ledger is
155
+ // untrusted host-authored input, so the shape guards stay here at the call
156
+ // site — the core takes typed nodes.
119
157
  if (isRecord(obligationLedger) && Array.isArray(obligationLedger.obligations)) {
120
158
  const obligations = obligationLedger.obligations;
121
- const ids = new Set();
122
- const dependsOnMap = new Map();
159
+ const nodes = [];
123
160
  for (const obl of obligations) {
124
161
  if (!isRecord(obl) || typeof obl.id !== "string")
125
162
  continue;
126
- ids.add(obl.id);
127
- dependsOnMap.set(obl.id, Array.isArray(obl.depends_on)
128
- ? obl.depends_on.filter((d) => typeof d === "string")
129
- : []);
130
- }
131
- // Build in-degree count and adjacency list (edge: dependency → dependent).
132
- const inDegree = new Map();
133
- const adjacency = new Map();
134
- for (const id of ids) {
135
- inDegree.set(id, 0);
136
- adjacency.set(id, []);
137
- }
138
- for (const [id, deps] of dependsOnMap.entries()) {
139
- for (const dep of deps) {
140
- if (!ids.has(dep))
141
- continue; // ignore external refs
142
- adjacency.get(dep).push(id);
143
- inDegree.set(id, (inDegree.get(id) ?? 0) + 1);
144
- }
145
- }
146
- const queue = [];
147
- for (const [id, deg] of inDegree.entries()) {
148
- if (deg === 0)
149
- queue.push(id);
150
- }
151
- let visited = 0;
152
- while (queue.length > 0) {
153
- const node = queue.shift();
154
- visited++;
155
- for (const next of adjacency.get(node) ?? []) {
156
- const newDeg = (inDegree.get(next) ?? 0) - 1;
157
- inDegree.set(next, newDeg);
158
- if (newDeg === 0)
159
- queue.push(next);
160
- }
163
+ nodes.push({
164
+ id: obl.id,
165
+ depends_on: Array.isArray(obl.depends_on)
166
+ ? obl.depends_on.filter((d) => typeof d === "string")
167
+ : [],
168
+ });
161
169
  }
162
- if (visited < ids.size) {
163
- // Remaining nodes with inDegree > 0 are part of the cycle.
164
- const cycleIds = [...ids].filter((id) => (inDegree.get(id) ?? 0) > 0);
170
+ const cycleIds = findCyclicComponents(nodes, { includeSelfLoops: true }).flat();
171
+ if (cycleIds.length > 0) {
165
172
  issues.push({
166
173
  path: "obligation_ledger.obligations",
167
174
  message: `Circular interface-definition dependency detected among obligations: [${cycleIds.join(", ")}]; route to N-R21 for resolution`,
@@ -356,10 +363,11 @@ export function validateImplementationDAGIntegrity(dagPayload, obligationLedgerP
356
363
  * copies had already diverged — derive.ts failed OPEN on an unrecognized kind
357
364
  * (conservatively testable) while this file failed CLOSED (silently skipped,
358
365
  * i.e. treated as non-testable, so a scaffold-offered spec was never actually
359
- * required). Single-sourced here; derive.ts imports isTestablePhaseObligation
360
- * from this module instead of re-declaring it.
366
+ * required). The subset is now derived from the full vocabulary in
367
+ * contractPipeline/obligationKinds.ts; this module owns only the fail-open
368
+ * classification policy.
361
369
  */
362
- export const TESTABLE_OBLIGATION_KINDS = new Set(["invariant", "behavioral"]);
370
+ export { TESTABLE_OBLIGATION_KINDS };
363
371
  /**
364
372
  * testable (invariant/behavioral) → true; the structural contract-conformance
365
373
  * kind → false; an unrecognized/unexpected kind → true (fail-OPEN into the
@@ -1314,10 +1322,11 @@ function gateOutcome(gate, evaluated, issues, reason) {
1314
1322
  }
1315
1323
  /**
1316
1324
  * Evaluate the SAME 8 cross-artifact gates the plural `validate-artifacts`
1317
- * sweep runs, returning one `ValidationIssue[]` PER gate in a FIXED canonical
1318
- * order (never a flattened single array callers that need per-gate issue
1319
- * counts, e.g. INV-CVG-1's "one issue-string entry per failing gate", rely on
1320
- * this shape; a caller that just wants everything can `.flat()` the result).
1325
+ * sweep runs, returning one {@link GateOutcome} PER gate in a FIXED canonical
1326
+ * order. This is the single cross-gate entry point: callers that need only
1327
+ * issues flatten `outcome.issues` in returned order, while callers that need
1328
+ * per-gate counts or evaluated/skipped classification retain the outcome
1329
+ * records (OBS-cca3801c / OBS-cca3801c-2).
1321
1330
  *
1322
1331
  * Absent-input tolerance is guaranteed PER GATE, not by this runner — this
1323
1332
  * function adds NO extra tolerance logic of its own, it only wires named
@@ -1351,43 +1360,6 @@ function gateOutcome(gate, evaluated, issues, reason) {
1351
1360
  * self-check in an otherwise-empty run) can never false-fail: every gate
1352
1361
  * lacking its input contributes an empty array, not a fabricated issue.
1353
1362
  */
1354
- export function evaluateContractPipelineCrossGates(inputs) {
1355
- const { payloads, findingEnumeration, root } = inputs;
1356
- const goalSpec = payloads.get("goal_spec");
1357
- const sourceType = isRecord(goalSpec) && typeof goalSpec.source_type === "string"
1358
- ? goalSpec.source_type
1359
- : undefined;
1360
- const obligationLedger = payloads.get("obligation_ledger");
1361
- const testValidatorPlan = payloads.get("test_validator_plan");
1362
- const finalizedContracts = payloads.get("finalized_module_contracts");
1363
- const draftedContracts = payloads.get("module_contracts");
1364
- const seamReport = payloads.get("seam_reconciliation_report");
1365
- const assessment = payloads.get("contract_assessment_report");
1366
- const judge = payloads.get("judge_report");
1367
- const counterexample = payloads.get("counterexample");
1368
- const dag = payloads.get("implementation_dag");
1369
- const moduleDecomposition = payloads.get("module_decomposition");
1370
- return [
1371
- validatePairedObligations(obligationLedger, testValidatorPlan),
1372
- validateEvidenceThreaded(assessment, judge, dag),
1373
- validateDigestCoverage(sourceType, findingEnumeration, obligationLedger),
1374
- validateReconciliationDerivation(seamReport, finalizedContracts),
1375
- validateDesignSpecGates(finalizedContracts, obligationLedger),
1376
- validateImplementationDAGIntegrity(dag, obligationLedger, counterexample, judge),
1377
- validateDecompositionFileScope(moduleDecomposition, root),
1378
- validateFinalizedModuleSetPreserved(draftedContracts, finalizedContracts),
1379
- ];
1380
- }
1381
- /**
1382
- * Evaluate the SAME 8 cross-artifact gates {@link evaluateContractPipelineCrossGates}
1383
- * calls, in the SAME canonical order, additionally classifying each as
1384
- * evaluated or skipped-with-reason (OBS-cca3801c / OBS-cca3801c-2, see
1385
- * {@link GateOutcome}). Additive: evaluateContractPipelineCrossGates keeps its
1386
- * existing `ValidationIssue[][]` shape unchanged for its existing callers
1387
- * (validation/artifacts.ts, index.ts) — this is a parallel, richer view for a
1388
- * caller that must refuse an empty `issues` array as proof-of-clean without
1389
- * checking `evaluated` first.
1390
- */
1391
1363
  export function evaluateContractPipelineCrossGateOutcomes(inputs) {
1392
1364
  const { payloads, findingEnumeration, root } = inputs;
1393
1365
  const goalSpec = payloads.get("goal_spec");