audit-tools 0.49.0 → 0.50.1
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/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/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 +32 -39
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +14 -5
- package/dist/remediate/steps/nextStep.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/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 +4 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +3 -1
- 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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Follows the ValidationIssue[] pattern used by the rest of the remediator
|
|
4
4
|
* validation layer.
|
|
5
5
|
*/
|
|
6
|
-
import { isRecord, pushValidationIssue, } from "audit-tools/shared";
|
|
6
|
+
import { isRecord, pushValidationIssue, findFirstCycleWitness, } from "audit-tools/shared";
|
|
7
7
|
import { CONTRACT_PIPELINE_GOAL_SPEC_VERSION, CONTRACT_PIPELINE_CONTEXT_BUNDLE_VERSION, CONTRACT_PIPELINE_CONCEPTUAL_DESIGN_CRITIQUE_VERSION, CONTRACT_PIPELINE_OBLIGATION_LEDGER_VERSION, CONTRACT_PIPELINE_CONTRACT_ASSESSMENT_REPORT_VERSION, CONTRACT_PIPELINE_COUNTEREXAMPLE_VERSION, CONTRACT_PIPELINE_JUDGE_REPORT_VERSION, CONTRACT_PIPELINE_IMPLEMENTATION_DAG_VERSION, CONTRACT_PIPELINE_VERIFICATION_REPORT_VERSION, CONTRACT_PIPELINE_TEST_VALIDATOR_PLAN_VERSION, } from "audit-tools/shared";
|
|
8
8
|
// Version constant for cyclic_seam_resolution artifact.
|
|
9
9
|
export const CP_CYCLIC_SEAM_RESOLUTION_VERSION = "remediate-code-contract-pipeline/cyclic-seam-resolution/v1alpha1";
|
|
@@ -207,7 +207,7 @@ export function validateFinalizedModuleContracts(value, path = "finalized_module
|
|
|
207
207
|
// ── DesignSpec structural gates + cross-artifact gates ────────────────────────
|
|
208
208
|
// Extracted to contractPipelineGates.ts (MNT-86b18f1b). Re-exported here for
|
|
209
209
|
// backward-compatible imports — callers do not need to update their import paths.
|
|
210
|
-
export { validateDesignSpecGates, validateGoalIdConsistency, validateImplementationDAGIntegrity, validatePairedObligations, validateEvidenceThreaded, validateDigestCoverage, validateWorkBlockSeamPreparation, validateReconciliationDerivation, validateContractCitationGrounding, validateDecompositionFileScope, validateFinalizedModuleSetPreserved,
|
|
210
|
+
export { validateDesignSpecGates, validateGoalIdConsistency, validateImplementationDAGIntegrity, validatePairedObligations, validateEvidenceThreaded, validateDigestCoverage, validateWorkBlockSeamPreparation, validateReconciliationDerivation, validateContractCitationGrounding, validateDecompositionFileScope, validateFinalizedModuleSetPreserved, enumerateRepoTreePaths, isInsideGitWorkTree, } from "./contractPipelineGates.js";
|
|
211
211
|
// ── ConceptualDesignCritique ──────────────────────────────────────────────────
|
|
212
212
|
export function validateConceptualDesignCritique(value, path = "conceptual_design_critique") {
|
|
213
213
|
const issues = [];
|
|
@@ -477,16 +477,19 @@ export function validateImplementationDAG(value, path = "implementation_dag") {
|
|
|
477
477
|
// `depends_on` must be rejected too (referential integrity alone let it pass).
|
|
478
478
|
// Traverse declared nodes only (a dangling dep is ignored, as promotion drops it).
|
|
479
479
|
if (Array.isArray(v.nodes)) {
|
|
480
|
-
const
|
|
480
|
+
const dagNodes = [];
|
|
481
481
|
for (const node of v.nodes) {
|
|
482
482
|
if (!isRecord(node) || typeof node.id !== "string")
|
|
483
483
|
continue;
|
|
484
484
|
const deps = Array.isArray(node.depends_on)
|
|
485
485
|
? node.depends_on.filter((d) => typeof d === "string" && d !== node.id && declaredNodeIds.has(d))
|
|
486
486
|
: [];
|
|
487
|
-
|
|
487
|
+
dagNodes.push({ id: node.id, depends_on: deps });
|
|
488
488
|
}
|
|
489
|
-
|
|
489
|
+
// Self-edges are stripped above and self-loops stay OFF in the core: a node
|
|
490
|
+
// that lists itself is a redundant self-reference here, not a cycle that
|
|
491
|
+
// stalls the phase scheduler.
|
|
492
|
+
const cycle = findFirstCycleWitness(dagNodes);
|
|
490
493
|
if (cycle) {
|
|
491
494
|
pushValidationIssue(issues, `${path}.nodes`, `${path} has a dependency cycle among nodes: ${cycle.join(" -> ")}. The implementation DAG must be acyclic.`);
|
|
492
495
|
}
|
|
@@ -494,47 +497,6 @@ export function validateImplementationDAG(value, path = "implementation_dag") {
|
|
|
494
497
|
requireString(v.created_at, `${path}.created_at`, issues);
|
|
495
498
|
return issues;
|
|
496
499
|
}
|
|
497
|
-
/**
|
|
498
|
-
* Return the node ids forming the first `depends_on` cycle (as `a -> b -> a`), or
|
|
499
|
-
* null when the graph is acyclic. Standard white/gray/black DFS; iteration follows
|
|
500
|
-
* node insertion order so the reported cycle is deterministic.
|
|
501
|
-
*/
|
|
502
|
-
function findFirstDependencyCycle(adjacency) {
|
|
503
|
-
const WHITE = 0;
|
|
504
|
-
const GRAY = 1;
|
|
505
|
-
const BLACK = 2;
|
|
506
|
-
const color = new Map();
|
|
507
|
-
for (const id of adjacency.keys())
|
|
508
|
-
color.set(id, WHITE);
|
|
509
|
-
const stack = [];
|
|
510
|
-
const visit = (id) => {
|
|
511
|
-
color.set(id, GRAY);
|
|
512
|
-
stack.push(id);
|
|
513
|
-
for (const next of adjacency.get(id) ?? []) {
|
|
514
|
-
if (!adjacency.has(next))
|
|
515
|
-
continue;
|
|
516
|
-
if (color.get(next) === GRAY) {
|
|
517
|
-
return [...stack.slice(stack.indexOf(next)), next];
|
|
518
|
-
}
|
|
519
|
-
if (color.get(next) === WHITE) {
|
|
520
|
-
const found = visit(next);
|
|
521
|
-
if (found)
|
|
522
|
-
return found;
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
|
-
stack.pop();
|
|
526
|
-
color.set(id, BLACK);
|
|
527
|
-
return null;
|
|
528
|
-
};
|
|
529
|
-
for (const id of adjacency.keys()) {
|
|
530
|
-
if (color.get(id) === WHITE) {
|
|
531
|
-
const found = visit(id);
|
|
532
|
-
if (found)
|
|
533
|
-
return found;
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
return null;
|
|
537
|
-
}
|
|
538
500
|
// ── VerificationReport ────────────────────────────────────────────────────────
|
|
539
501
|
export function validateVerificationReport(value, path = "verification_report") {
|
|
540
502
|
const issues = [];
|
|
@@ -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":"AAkBA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,OAAO,EAWb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAInF;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,OAAO,EACnB,gBAAgB,CAAC,EAAE,OAAO,GACzB,eAAe,EAAE,CAqMnB;AAGD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,eAAe,EAAE,CAsBnB;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,OAAO,EACnB,uBAAuB,EAAE,OAAO,EAChC,qBAAqB,EAAE,OAAO,EAC9B,kBAAkB,EAAE,OAAO,GAC1B,eAAe,EAAE,CAkInB;AAsBD;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CACvC,uBAAuB,EAAE,OAAO,EAChC,wBAAwB,EAAE,OAAO,GAChC,eAAe,EAAE,CAkGnB;AAED,uFAAuF;AACvF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,uBAAuB,EAAE,OAAO,EAChC,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,OAAO,GAClB,eAAe,EAAE,CAmFnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,yBAAyB,EAAE,OAAO,EAClC,uBAAuB,EAAE,OAAO,GAC/B,eAAe,EAAE,CA+CnB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,gBAAgB,EAAE,OAAO,EACzB,0BAA0B,EAAE,OAAO,GAClC,eAAe,EAAE,CAsInB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,+BAA+B,EAAE,OAAO,EACxC,+BAA+B,EAAE,OAAO,GACvC,eAAe,EAAE,CAuEnB;AA6ED,mFAAmF;AACnF,MAAM,WAAW,+BAA+B;IAC9C,6DAA6D;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB,gFAAgF;IAChF,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAOpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB7D;AA8DD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,QAAQ,EAAE,MAAM,GACf,+BAA+B,CAiFjC;AA2ED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,0BAA0B,EAAE,OAAO,EACnC,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE,CAmFnB;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,mCAAmC,CACjD,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,GAChC,eAAe,EAAE,CA2CnB;AAgGD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,IAAI,EACA,oBAAoB,GACpB,mBAAmB,GACnB,iBAAiB,GACjB,2BAA2B,GAC3B,aAAa,GACb,8BAA8B,GAC9B,0BAA0B,GAC1B,gCAAgC,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwBD,kEAAkE;AAClE,MAAM,WAAW,+BAA+B;IAC9C;;iFAE6E;IAC7E,QAAQ,EAAE,WAAW,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IAC7D;;2CAEuC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;uBACmB;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,+BAA+B,GACtC,WAAW,EAAE,CAqEf"}
|
|
@@ -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");
|