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.
- package/README.md +3 -1
- package/dist/audit/cli/args.d.ts +27 -0
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +32 -2
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +32 -55
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +8 -8
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +0 -28
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +1 -65
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +12 -10
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.js +2 -5
- package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +1 -2
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +25 -10
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js +35 -88
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.d.ts +10 -20
- package/dist/remediate/contractPipeline/idRegistry.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.js +10 -24
- package/dist/remediate/contractPipeline/idRegistry.js.map +1 -1
- package/dist/remediate/contractPipeline/obligationKinds.d.ts +27 -0
- package/dist/remediate/contractPipeline/obligationKinds.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/obligationKinds.js +18 -0
- package/dist/remediate/contractPipeline/obligationKinds.js.map +1 -0
- package/dist/remediate/dedup/crossLensDedup.d.ts +2 -3
- package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
- package/dist/remediate/dedup/crossLensDedup.js +2 -4
- package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
- package/dist/remediate/index.d.ts +38 -8
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +75 -27
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +6 -62
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +11 -80
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +57 -48
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +83 -2
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +79 -11
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +1 -1
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
- package/dist/remediate/utils/fileIntegrity.js +123 -30
- package/dist/remediate/utils/fileIntegrity.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +3 -9
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +8 -46
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +12 -20
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +107 -135
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +32 -0
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +29 -0
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts +4 -11
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +196 -163
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/graph/directedCycles.d.ts +61 -0
- package/dist/shared/graph/directedCycles.d.ts.map +1 -0
- package/dist/shared/graph/directedCycles.js +190 -0
- package/dist/shared/graph/directedCycles.js.map +1 -0
- package/dist/shared/index.d.ts +6 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/repoRoot.d.ts +45 -0
- package/dist/shared/io/repoRoot.d.ts.map +1 -1
- package/dist/shared/io/repoRoot.js +91 -1
- package/dist/shared/io/repoRoot.js.map +1 -1
- package/dist/shared/submission/submissionScan.d.ts +86 -0
- package/dist/shared/submission/submissionScan.d.ts.map +1 -0
- package/dist/shared/submission/submissionScan.js +93 -0
- package/dist/shared/submission/submissionScan.js.map +1 -0
- package/dist/shared/types/obligationLedger.d.ts +7 -3
- package/dist/shared/types/obligationLedger.d.ts.map +1 -1
- package/dist/shared/types/obligationLedger.js +9 -37
- package/dist/shared/types/obligationLedger.js.map +1 -1
- package/package.json +3 -2
- package/skills/audit-code/audit-code.prompt.md +5 -2
- package/wrapper/audit-code-wrapper-install-hosts.mjs +8 -3
- package/wrapper/audit-code-wrapper-lib.mjs +10 -3
- package/wrapper/installer-verb-help.mjs +3 -1
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +8 -3
- 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).
|
|
52
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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
|
|
288
|
-
* order
|
|
289
|
-
*
|
|
290
|
-
*
|
|
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":"AAkBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,OAAO,
|
|
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,
|
|
6
|
-
*
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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
|
-
|
|
53
|
-
|
|
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
|
-
|
|
58
|
-
|
|
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
|
|
85
|
-
//
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
163
|
-
|
|
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).
|
|
360
|
-
*
|
|
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
|
|
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
|
|
1318
|
-
* order
|
|
1319
|
-
*
|
|
1320
|
-
*
|
|
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");
|