audit-tools 0.42.0 → 0.43.0
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/dispatch/merge-results.mjs +229 -140
- package/dispatch/validate-result.mjs +98 -40
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +35 -3
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +9 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +94 -38
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +64 -0
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +877 -783
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +12 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +34 -1
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +2 -2
- package/dist/audit/extractors/graph.d.ts +28 -2
- package/dist/audit/extractors/graph.d.ts.map +1 -1
- package/dist/audit/extractors/graph.js +122 -11
- package/dist/audit/extractors/graph.js.map +1 -1
- package/dist/audit/extractors/graphRoutes.d.ts +8 -0
- package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
- package/dist/audit/extractors/graphRoutes.js +71 -4
- package/dist/audit/extractors/graphRoutes.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +55 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +189 -12
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/io/toolingManifest.d.ts +11 -0
- package/dist/audit/io/toolingManifest.d.ts.map +1 -1
- package/dist/audit/io/toolingManifest.js +13 -3
- package/dist/audit/io/toolingManifest.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +64 -0
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +191 -57
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
- package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
- package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowCoverage.js +7 -10
- package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
- package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.js +77 -18
- package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
- package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowRequeue.js +6 -10
- package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
- package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
- package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
- package/dist/audit/orchestrator/requeueFold.js +18 -5
- package/dist/audit/orchestrator/requeueFold.js.map +1 -1
- package/dist/audit/orchestrator/staleness.d.ts +24 -1
- package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
- package/dist/audit/orchestrator/staleness.js +147 -16
- package/dist/audit/orchestrator/staleness.js.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.js +111 -21
- package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
- package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
- package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
- package/dist/audit/orchestrator/trivialAudit.js +31 -4
- package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +2 -3
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
- package/dist/audit/reporting/workBlocks.js +4 -38
- package/dist/audit/reporting/workBlocks.js.map +1 -1
- package/dist/audit/types/analyzerCapability.d.ts +6 -6
- package/dist/audit/types/charterRegister.d.ts +30 -12
- package/dist/audit/types/charterRegister.d.ts.map +1 -1
- package/dist/audit/types/charterRegister.js +22 -9
- package/dist/audit/types/charterRegister.js.map +1 -1
- package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
- package/dist/audit/validation/anchorGrounding.js +17 -0
- package/dist/audit/validation/anchorGrounding.js.map +1 -1
- package/dist/audit/validation/auditResults.d.ts +17 -0
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +50 -17
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +8 -5
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +8 -16
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +43 -2
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/intent/intentOrdering.d.ts +13 -5
- package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
- package/dist/remediate/intent/intentOrdering.js +56 -25
- package/dist/remediate/intent/intentOrdering.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +57 -2
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +260 -36
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/state/disposition.d.ts +26 -4
- package/dist/remediate/state/disposition.d.ts.map +1 -1
- package/dist/remediate/state/itemStatus.d.ts +33 -6
- package/dist/remediate/state/itemStatus.d.ts.map +1 -1
- package/dist/remediate/state/itemStatus.js +154 -39
- package/dist/remediate/state/itemStatus.js.map +1 -1
- package/dist/remediate/state/types.d.ts +41 -2
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/state/types.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +287 -15
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +1664 -987
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +713 -59
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/finalGate.d.ts +136 -37
- package/dist/remediate/steps/finalGate.d.ts.map +1 -1
- package/dist/remediate/steps/finalGate.js +120 -86
- package/dist/remediate/steps/finalGate.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +8 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +40 -11
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +96 -5
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +668 -147
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +4 -1
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js +10 -0
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts +20 -0
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +239 -13
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +167 -43
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +149 -15
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +149 -43
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/analyzers/candidates.d.ts +9 -8
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +96 -64
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
- package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.js +74 -18
- package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
- package/dist/shared/analyzers/rubocop.d.ts +14 -13
- package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
- package/dist/shared/analyzers/rubocop.js +29 -6
- package/dist/shared/analyzers/rubocop.js.map +1 -1
- package/dist/shared/analyzers/types.d.ts +196 -13
- package/dist/shared/analyzers/types.d.ts.map +1 -1
- package/dist/shared/analyzers/types.js +122 -9
- package/dist/shared/analyzers/types.js.map +1 -1
- package/dist/shared/decompose/charterClarification.d.ts +12 -1
- package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
- package/dist/shared/decompose/charterClarification.js +11 -4
- package/dist/shared/decompose/charterClarification.js.map +1 -1
- package/dist/shared/decompose/charterExtraction.d.ts +20 -10
- package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
- package/dist/shared/decompose/charterExtraction.js +52 -23
- package/dist/shared/decompose/charterExtraction.js.map +1 -1
- package/dist/shared/decompose/contentCoherence.d.ts +43 -2
- package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
- package/dist/shared/decompose/contentCoherence.js +109 -5
- package/dist/shared/decompose/contentCoherence.js.map +1 -1
- package/dist/shared/decompose/modularity.d.ts +17 -0
- package/dist/shared/decompose/modularity.d.ts.map +1 -1
- package/dist/shared/decompose/modularity.js +78 -3
- package/dist/shared/decompose/modularity.js.map +1 -1
- package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
- package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
- package/dist/shared/decompose/workBlockSeams.js +82 -0
- package/dist/shared/decompose/workBlockSeams.js.map +1 -0
- package/dist/shared/index.d.ts +4 -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/intent/freeFormIntentInterpreter.d.ts +12 -2
- package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
- package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
- package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
- package/dist/shared/intent/pathScope.d.ts +12 -1
- package/dist/shared/intent/pathScope.d.ts.map +1 -1
- package/dist/shared/intent/pathScope.js +56 -19
- package/dist/shared/intent/pathScope.js.map +1 -1
- package/dist/shared/intent/sharedIntentData.d.ts +19 -1
- package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
- package/dist/shared/intent/sharedIntentData.js +33 -8
- package/dist/shared/intent/sharedIntentData.js.map +1 -1
- package/dist/shared/io/fileLock.d.ts +12 -0
- package/dist/shared/io/fileLock.d.ts.map +1 -1
- package/dist/shared/io/fileLock.js +48 -5
- package/dist/shared/io/fileLock.js.map +1 -1
- package/dist/shared/io/json.d.ts +13 -0
- package/dist/shared/io/json.d.ts.map +1 -1
- package/dist/shared/io/json.js +19 -1
- package/dist/shared/io/json.js.map +1 -1
- package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
- package/dist/shared/reporting/auditDeliverable.js +8 -3
- package/dist/shared/reporting/auditDeliverable.js.map +1 -1
- package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
- package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
- package/dist/shared/steps/stepEmissionScaffold.js +83 -0
- package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
- package/dist/shared/submission/handRecovery.d.ts.map +1 -1
- package/dist/shared/submission/handRecovery.js +69 -4
- package/dist/shared/submission/handRecovery.js.map +1 -1
- package/dist/shared/submission/submissionIdentity.d.ts +10 -1
- package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
- package/dist/shared/submission/submissionIdentity.js +12 -3
- package/dist/shared/submission/submissionIdentity.js.map +1 -1
- package/dist/shared/submission/submissionLedger.d.ts +43 -2
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +50 -7
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
- package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
- package/dist/shared/tooling/allowlistedExec.js +19 -2
- package/dist/shared/tooling/allowlistedExec.js.map +1 -1
- package/dist/shared/types/charter.d.ts +24 -0
- package/dist/shared/types/charter.d.ts.map +1 -1
- package/dist/shared/types/charter.js +9 -0
- package/dist/shared/types/charter.js.map +1 -1
- package/dist/shared/types/finding.d.ts +105 -53
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +38 -11
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/remediationOutcome.d.ts +282 -9
- package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
- package/dist/shared/types/remediationOutcome.js +174 -1
- package/dist/shared/types/remediationOutcome.js.map +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +19 -1
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/package.json +2 -1
- package/remediate-code.mjs +15 -0
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
- package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isUnmeasuredLineCount } from "../cli/lineIndex.js";
|
|
2
|
-
import { describeValue, formatValidationIssues, isRecord, VALID_LENSES, VALID_SEVERITIES, VALID_CONFIDENCES, } from "audit-tools/shared";
|
|
2
|
+
import { describeValue, formatValidationIssues, isRecord, normalizeGraphPath, VALID_LENSES, VALID_SEVERITIES, VALID_CONFIDENCES, } from "audit-tools/shared";
|
|
3
3
|
// CE-009 semantic-validity gate — significant line-count divergence.
|
|
4
4
|
//
|
|
5
5
|
// A `total_lines` that merely differs from disk by a line or two is an S7
|
|
@@ -29,8 +29,26 @@ export function isSignificantLineCountDivergence(got, expected) {
|
|
|
29
29
|
return true;
|
|
30
30
|
return diff / expected > LINE_COUNT_DIVERGENCE_RATIO;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* THE ONE KEY SPACE for every path this module joins on:
|
|
34
|
+
* coverage entries, affected-finding locations, followup-task file paths, the
|
|
35
|
+
* line index, and the packet boundary. Delegates to the shared
|
|
36
|
+
* {@link normalizeGraphPath} — the same normalizer `taskBuilder` applies once at
|
|
37
|
+
* the coverage/flow-planning boundary — rather than re-deriving the rules here,
|
|
38
|
+
* because two hand-rolled normalizers ARE two key spaces the moment one of them
|
|
39
|
+
* learns something the other has not (this one previously stripped only a
|
|
40
|
+
* LEADING `./`, so an interior `src/./x.ts` was a different key from `src/x.ts`).
|
|
41
|
+
*
|
|
42
|
+
* Case is preserved: a repo path is the identity of a real file on disk, and
|
|
43
|
+
* lowercasing it would make two genuinely different files collide on
|
|
44
|
+
* case-sensitive filesystems.
|
|
45
|
+
*
|
|
46
|
+
* An empty (or whitespace-only) path stays empty rather than becoming posix's
|
|
47
|
+
* `"."`, so callers can keep testing `length > 0` for "no usable path".
|
|
48
|
+
*/
|
|
32
49
|
export function normalizeCoveragePath(path) {
|
|
33
|
-
|
|
50
|
+
const trimmed = path.trim();
|
|
51
|
+
return trimmed.length === 0 ? "" : normalizeGraphPath(trimmed);
|
|
34
52
|
}
|
|
35
53
|
const REQUIRED_FINDING_FIELDS = [
|
|
36
54
|
"id",
|
|
@@ -330,7 +348,11 @@ function validateVerificationFollowupTask(task, label, taskId, resultIndex, expe
|
|
|
330
348
|
});
|
|
331
349
|
continue;
|
|
332
350
|
}
|
|
333
|
-
|
|
351
|
+
// Join on the one normalized key space (`allowedPaths` is built from the
|
|
352
|
+
// normalized coverage entries and the normalized boundary); the RAW string
|
|
353
|
+
// the worker wrote is quoted back in the message so the diagnostic still
|
|
354
|
+
// names what it actually saw.
|
|
355
|
+
if (!allowedPaths.has(normalizeCoveragePath(path))) {
|
|
334
356
|
pushIssue(issues, {
|
|
335
357
|
result_index: resultIndex,
|
|
336
358
|
task_id: taskId,
|
|
@@ -444,7 +466,7 @@ function validateResultIdentityFields(ctx, issues) {
|
|
|
444
466
|
}
|
|
445
467
|
}
|
|
446
468
|
function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAssignedCoveragePaths, normalizedFileCoverage, issues) {
|
|
447
|
-
const { task, taskId, resultIndex,
|
|
469
|
+
const { task, taskId, resultIndex, taskAssignedPaths, normLineIndex, normBoundary } = ctx;
|
|
448
470
|
if (!isRecord(entry)) {
|
|
449
471
|
pushIssue(issues, {
|
|
450
472
|
result_index: resultIndex,
|
|
@@ -455,19 +477,23 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
|
|
|
455
477
|
return;
|
|
456
478
|
}
|
|
457
479
|
const entryNorm = isNonEmptyString(entry.path) ? normalizeCoveragePath(entry.path) : "";
|
|
458
|
-
const
|
|
480
|
+
const inAssigned = entryNorm.length > 0 && taskAssignedPaths.has(entryNorm);
|
|
459
481
|
// Widen the hard-reject gate from the per-task assigned set to the packet/unit
|
|
460
482
|
// boundary (union of sibling task file_paths). A coverage path the assigned
|
|
461
483
|
// task didn't list, but a sibling in the packet did, is accepted rather than
|
|
462
|
-
// hard-rejected. Fail-closed: an empty boundary
|
|
463
|
-
//
|
|
464
|
-
// span-coverage check can reference in-boundary coverage entries.
|
|
484
|
+
// hard-rejected. Fail-closed: an empty boundary contributes nothing, leaving
|
|
485
|
+
// only assigned paths in scope.
|
|
465
486
|
const inBoundary = entryNorm.length > 0 && normBoundary.has(entryNorm);
|
|
466
|
-
|
|
487
|
+
// ACCEPTANCE IS A BOOLEAN, NOT A PATH. It used to be the accepted path itself,
|
|
488
|
+
// which is how a raw form leaked in: the assigned branch yielded the task's
|
|
489
|
+
// raw string and the boundary branch yielded the normalized one, and whichever
|
|
490
|
+
// won became the stored coverage key. Everything stored downstream is
|
|
491
|
+
// `entryNorm` now, so acceptance can never change which key space a path lands in.
|
|
492
|
+
const accepted = inAssigned || inBoundary;
|
|
467
493
|
if (!isNonEmptyString(entry.path)) {
|
|
468
494
|
pushIssue(issues, { result_index: resultIndex, task_id: taskId, field: `file_coverage[${j}].path`, message: "file_coverage entry has an empty path." });
|
|
469
495
|
}
|
|
470
|
-
else if (task && !
|
|
496
|
+
else if (task && !accepted) {
|
|
471
497
|
pushIssue(issues, {
|
|
472
498
|
result_index: resultIndex,
|
|
473
499
|
task_id: taskId,
|
|
@@ -481,8 +507,8 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
|
|
|
481
507
|
else {
|
|
482
508
|
seenCoveragePaths.add(entryNorm);
|
|
483
509
|
}
|
|
484
|
-
if (entryNorm.length > 0 && (!task ||
|
|
485
|
-
declaredAssignedCoveragePaths.add(
|
|
510
|
+
if (entryNorm.length > 0 && (!task || accepted)) {
|
|
511
|
+
declaredAssignedCoveragePaths.add(entryNorm);
|
|
486
512
|
}
|
|
487
513
|
if (!Number.isInteger(entry.total_lines)) {
|
|
488
514
|
pushIssue(issues, { result_index: resultIndex, task_id: taskId, field: `file_coverage[${j}].total_lines`, message: `file_coverage[${j}].total_lines must be an integer, got ${describeValue(entry.total_lines)}.` });
|
|
@@ -521,8 +547,8 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
|
|
|
521
547
|
severity: significant ? "error" : "warning",
|
|
522
548
|
});
|
|
523
549
|
}
|
|
524
|
-
if (entryNorm.length > 0 && Number.isInteger(entry.total_lines) && Number(entry.total_lines) >= 0 && (!task ||
|
|
525
|
-
normalizedFileCoverage.push({ path:
|
|
550
|
+
if (entryNorm.length > 0 && Number.isInteger(entry.total_lines) && Number(entry.total_lines) >= 0 && (!task || accepted)) {
|
|
551
|
+
normalizedFileCoverage.push({ path: entryNorm, total_lines: Number(entry.total_lines) });
|
|
526
552
|
}
|
|
527
553
|
}
|
|
528
554
|
/**
|
|
@@ -661,13 +687,20 @@ function validateSingleAuditResult(result, resultIndex, taskMap, allTasks, normL
|
|
|
661
687
|
}
|
|
662
688
|
const taskId = issueTaskId(result, resultIndex);
|
|
663
689
|
const task = taskMap.get(taskId);
|
|
664
|
-
|
|
690
|
+
// The assigned set enters the join already normalized — an un-normalized
|
|
691
|
+
// `file_paths` entry (the shape `selectiveDeepening`'s `pathsForFinding`
|
|
692
|
+
// produces by copying a worker string verbatim into a followup task) is a
|
|
693
|
+
// surface difference, never a different file.
|
|
694
|
+
const taskAssignedPaths = new Set();
|
|
665
695
|
if (task) {
|
|
666
696
|
for (const fp of task.file_paths) {
|
|
667
|
-
|
|
697
|
+
const norm = normalizeCoveragePath(fp);
|
|
698
|
+
if (norm.length > 0) {
|
|
699
|
+
taskAssignedPaths.add(norm);
|
|
700
|
+
}
|
|
668
701
|
}
|
|
669
702
|
}
|
|
670
|
-
const ctx = { result, task, taskId, resultIndex,
|
|
703
|
+
const ctx = { result, task, taskId, resultIndex, taskAssignedPaths, normLineIndex, allTasks, normBoundary };
|
|
671
704
|
validateResultIdentityFields(ctx, issues);
|
|
672
705
|
const { normalizedFileCoverage, declaredAssignedCoveragePaths } = validateResultFileCoverage(ctx, issues);
|
|
673
706
|
const findingsOk = validateResultFindings(ctx, normalizedFileCoverage, declaredAssignedCoveragePaths, issues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditResults.js","sourceRoot":"","sources":["../../../src/audit/validation/auditResults.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditResults.js","sourceRoot":"","sources":["../../../src/audit/validation/auditResults.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,23 @@ export interface CycleBreakValidation {
|
|
|
38
38
|
/** Present only when accepted === false. */
|
|
39
39
|
reason?: string;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* The break a worker ACTUALLY authored, read off the `cyclic_seam_resolution`
|
|
43
|
+
* record rather than fabricated by the re-checker.
|
|
44
|
+
*
|
|
45
|
+
* Both sanctioned strategies designate a REAL node: `mediator` names a third
|
|
46
|
+
* obligation that now owns the shared primitive, `single_authority` names the
|
|
47
|
+
* one cycle member that keeps the interface. A record that designates nothing
|
|
48
|
+
* cannot be validated against the real graph at all — see
|
|
49
|
+
* {@link validateAuthoredCycleBreak}, which refuses it rather than inventing a
|
|
50
|
+
* placeholder.
|
|
51
|
+
*/
|
|
52
|
+
export interface AuthoredCycleBreak {
|
|
53
|
+
/** `break_strategy` from the resolution record. */
|
|
54
|
+
strategy: "mediator" | "single_authority";
|
|
55
|
+
/** The obligation id the record designates, when it named one. */
|
|
56
|
+
designatedId?: string;
|
|
57
|
+
}
|
|
41
58
|
/**
|
|
42
59
|
* Detect cyclic seam obligations in a module graph.
|
|
43
60
|
*
|
|
@@ -65,4 +82,35 @@ export declare function detectCyclicSeamObligations(nodes: SeamObligationNode[])
|
|
|
65
82
|
* rejected.
|
|
66
83
|
*/
|
|
67
84
|
export declare function validateCycleBreak(originalCycle: DetectedCycle, allNodes: SeamObligationNode[], proposedMediator: ProposedMediator): CycleBreakValidation;
|
|
85
|
+
/**
|
|
86
|
+
* Re-check a cycle-break AS AUTHORED, against the REAL obligation graph.
|
|
87
|
+
*
|
|
88
|
+
* The distinction from {@link validateCycleBreak} is the whole point: that
|
|
89
|
+
* function asks a HYPOTHETICAL — "if the intra-cycle edges were redirected to
|
|
90
|
+
* this proposed node, would the graph be acyclic?" — and its caller used to
|
|
91
|
+
* answer it with a node it had fabricated itself (`{ id: "_mediator_A_B",
|
|
92
|
+
* needs: [] }`) against the UNMODIFIED ledger. An edge-free sink absorbs every
|
|
93
|
+
* redirected edge, so for a single detected cycle that question is acyclic BY
|
|
94
|
+
* CONSTRUCTION and the re-check could never reject — a worker could claim
|
|
95
|
+
* `status: "resolved"` while leaving the ledger's cycle edges exactly as they
|
|
96
|
+
* were, and the pipeline advanced.
|
|
97
|
+
*
|
|
98
|
+
* This function asks the REAL question instead: does the graph the pipeline
|
|
99
|
+
* will actually consume still carry the cycle? The break is accepted only when
|
|
100
|
+
*
|
|
101
|
+
* 1. the record designates a node (a break with no designated owner is not a
|
|
102
|
+
* break, it is a claim), and that node EXISTS in the live graph;
|
|
103
|
+
* 2. the strategy and the designated node agree — a mediator is a THIRD node
|
|
104
|
+
* outside the cycle, a single authority is one of the cycle's own members;
|
|
105
|
+
* 3. the live graph no longer contains a cycle touching the original members
|
|
106
|
+
* — i.e. the break is reflected in the edges, not just asserted in prose;
|
|
107
|
+
* 4. and, for the mediator strategy, redirecting the cycle's edges at the
|
|
108
|
+
* mediator's REAL `needs` (never a fabricated empty set) stays acyclic, so
|
|
109
|
+
* a mediator that itself depends back into the cycle is refused.
|
|
110
|
+
*
|
|
111
|
+
* `currentNodes` must be built from the obligation ledger as it stands NOW, on
|
|
112
|
+
* this invocation, after ingestion and the staleness-archive pass — a stale
|
|
113
|
+
* snapshot would reintroduce exactly the vacuity this closes.
|
|
114
|
+
*/
|
|
115
|
+
export declare function validateAuthoredCycleBreak(originalCycle: DetectedCycle, currentNodes: SeamObligationNode[], authored: AuthoredCycleBreak): CycleBreakValidation;
|
|
68
116
|
//# sourceMappingURL=cyclicSeamResolution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cyclicSeamResolution.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,aAAa,EAAE,CAiFjB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,CAoCtB"}
|
|
1
|
+
{"version":3,"file":"cyclicSeamResolution.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAC1C,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,aAAa,EAAE,CAiFjB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,CAoCtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,kBAAkB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAC3B,oBAAoB,CAiHtB"}
|
|
@@ -148,4 +148,132 @@ export function validateCycleBreak(originalCycle, allNodes, proposedMediator) {
|
|
|
148
148
|
}
|
|
149
149
|
return { accepted: true };
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Re-check a cycle-break AS AUTHORED, against the REAL obligation graph.
|
|
153
|
+
*
|
|
154
|
+
* The distinction from {@link validateCycleBreak} is the whole point: that
|
|
155
|
+
* function asks a HYPOTHETICAL — "if the intra-cycle edges were redirected to
|
|
156
|
+
* this proposed node, would the graph be acyclic?" — and its caller used to
|
|
157
|
+
* answer it with a node it had fabricated itself (`{ id: "_mediator_A_B",
|
|
158
|
+
* needs: [] }`) against the UNMODIFIED ledger. An edge-free sink absorbs every
|
|
159
|
+
* redirected edge, so for a single detected cycle that question is acyclic BY
|
|
160
|
+
* CONSTRUCTION and the re-check could never reject — a worker could claim
|
|
161
|
+
* `status: "resolved"` while leaving the ledger's cycle edges exactly as they
|
|
162
|
+
* were, and the pipeline advanced.
|
|
163
|
+
*
|
|
164
|
+
* This function asks the REAL question instead: does the graph the pipeline
|
|
165
|
+
* will actually consume still carry the cycle? The break is accepted only when
|
|
166
|
+
*
|
|
167
|
+
* 1. the record designates a node (a break with no designated owner is not a
|
|
168
|
+
* break, it is a claim), and that node EXISTS in the live graph;
|
|
169
|
+
* 2. the strategy and the designated node agree — a mediator is a THIRD node
|
|
170
|
+
* outside the cycle, a single authority is one of the cycle's own members;
|
|
171
|
+
* 3. the live graph no longer contains a cycle touching the original members
|
|
172
|
+
* — i.e. the break is reflected in the edges, not just asserted in prose;
|
|
173
|
+
* 4. and, for the mediator strategy, redirecting the cycle's edges at the
|
|
174
|
+
* mediator's REAL `needs` (never a fabricated empty set) stays acyclic, so
|
|
175
|
+
* a mediator that itself depends back into the cycle is refused.
|
|
176
|
+
*
|
|
177
|
+
* `currentNodes` must be built from the obligation ledger as it stands NOW, on
|
|
178
|
+
* this invocation, after ingestion and the staleness-archive pass — a stale
|
|
179
|
+
* snapshot would reintroduce exactly the vacuity this closes.
|
|
180
|
+
*/
|
|
181
|
+
export function validateAuthoredCycleBreak(originalCycle, currentNodes, authored) {
|
|
182
|
+
const members = originalCycle.members;
|
|
183
|
+
const cycleSet = new Set(members);
|
|
184
|
+
const designatedId = authored.designatedId?.trim();
|
|
185
|
+
if (!designatedId) {
|
|
186
|
+
return {
|
|
187
|
+
accepted: false,
|
|
188
|
+
reason: `The ${authored.strategy} break for cycle [${members.join(", ")}] names no obligation. ` +
|
|
189
|
+
`A mediator break must name the mediating obligation and a single_authority break must ` +
|
|
190
|
+
`name the owning obligation, or there is nothing to re-check against the ledger.`,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
const designated = currentNodes.find((node) => node.id === designatedId);
|
|
194
|
+
if (!designated) {
|
|
195
|
+
return {
|
|
196
|
+
accepted: false,
|
|
197
|
+
reason: `The ${authored.strategy} break for cycle [${members.join(", ")}] names "${designatedId}", ` +
|
|
198
|
+
`which is not an obligation in the ledger. The break must be recorded in the ledger the ` +
|
|
199
|
+
`pipeline reads, not only in the resolution record.`,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
if (authored.strategy === "mediator" && cycleSet.has(designatedId)) {
|
|
203
|
+
return {
|
|
204
|
+
accepted: false,
|
|
205
|
+
reason: `Mediator "${designatedId}" is itself a member of cycle [${members.join(", ")}]. A mediator ` +
|
|
206
|
+
`is a THIRD obligation that both sides depend on; designating a participant is a ` +
|
|
207
|
+
`single_authority break, not a mediator break.`,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
if (authored.strategy === "single_authority" && !cycleSet.has(designatedId)) {
|
|
211
|
+
return {
|
|
212
|
+
accepted: false,
|
|
213
|
+
reason: `Single authority "${designatedId}" is not a member of cycle [${members.join(", ")}]. The ` +
|
|
214
|
+
`authority must be one of the co-defining obligations; the others become consumers.`,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
// (3) The designated obligation must be a member of THE BROKEN CYCLE'S OWN
|
|
218
|
+
// node set — the cycle members plus what they now need. Existing in the
|
|
219
|
+
// ledger is not enough: a mediator that no cycle member depends on mediates
|
|
220
|
+
// nothing, so an arbitrary unrelated obligation could otherwise be named and
|
|
221
|
+
// the break would pass on the strength of a graph that is acyclic for
|
|
222
|
+
// reasons having nothing to do with the claim.
|
|
223
|
+
const brokenCycleNodeSet = new Set(members);
|
|
224
|
+
for (const node of currentNodes) {
|
|
225
|
+
if (!cycleSet.has(node.id))
|
|
226
|
+
continue;
|
|
227
|
+
for (const dep of node.needs)
|
|
228
|
+
brokenCycleNodeSet.add(dep);
|
|
229
|
+
}
|
|
230
|
+
if (!brokenCycleNodeSet.has(designatedId)) {
|
|
231
|
+
return {
|
|
232
|
+
accepted: false,
|
|
233
|
+
reason: `The ${authored.strategy} break names "${designatedId}", which no member of cycle ` +
|
|
234
|
+
`[${members.join(", ")}] depends on. The designated obligation must be part of the broken ` +
|
|
235
|
+
`cycle's own node set — a mediator no cycle member needs is not mediating the cycle.`,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
// (4) The live edges, not the claim: any remaining cycle that still touches
|
|
239
|
+
// the original members means the ledger was never actually rewritten.
|
|
240
|
+
const allRemaining = detectCyclicSeamObligations(currentNodes);
|
|
241
|
+
const remaining = allRemaining.filter((cycle) => cycle.members.some((id) => cycleSet.has(id)));
|
|
242
|
+
if (remaining.length > 0) {
|
|
243
|
+
const affectedIds = [...new Set(remaining.flatMap((c) => c.members))].join(", ");
|
|
244
|
+
return {
|
|
245
|
+
accepted: false,
|
|
246
|
+
reason: `Cycle [${members.join(", ")}] is still present in the obligation ledger after the claimed ` +
|
|
247
|
+
`${authored.strategy} break via "${designatedId}" — the depends_on edges involving ` +
|
|
248
|
+
`[${affectedIds}] were not changed. Rewrite the ledger so the cycle's edges actually route ` +
|
|
249
|
+
`through the designated obligation.`,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
// (5) SYMMETRIC across both strategies: the break must not have introduced a
|
|
253
|
+
// cycle ELSEWHERE either. Step (4) only looks at cycles touching the original
|
|
254
|
+
// members, so a brand-new cycle among untouched obligations would pass it —
|
|
255
|
+
// and a single_authority break used to reach the accept with no whole-graph
|
|
256
|
+
// check at all.
|
|
257
|
+
if (allRemaining.length > 0) {
|
|
258
|
+
const affectedIds = [...new Set(allRemaining.flatMap((c) => c.members))].join(", ");
|
|
259
|
+
return {
|
|
260
|
+
accepted: false,
|
|
261
|
+
reason: `The ${authored.strategy} break via "${designatedId}" leaves the obligation graph cyclic ` +
|
|
262
|
+
`elsewhere: [${affectedIds}]. Breaking one cycle may not introduce another.`,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
// (6) The mediator's REAL needs — the check the fabricated `needs: []` node
|
|
266
|
+
// could never fail. Deliberately NOT run for single_authority: that strategy
|
|
267
|
+
// designates a cycle MEMBER, and `validateCycleBreak` redirects a member's
|
|
268
|
+
// intra-cycle edges at the designated node, which for the authority itself
|
|
269
|
+
// would manufacture a self-edge and reject a sound break. Step (5) is the
|
|
270
|
+
// whole-graph guarantee both strategies share.
|
|
271
|
+
if (authored.strategy === "mediator") {
|
|
272
|
+
return validateCycleBreak(originalCycle, currentNodes, {
|
|
273
|
+
id: designated.id,
|
|
274
|
+
needs: designated.needs,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
return { accepted: true };
|
|
278
|
+
}
|
|
151
279
|
//# sourceMappingURL=cyclicSeamResolution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cyclicSeamResolution.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"cyclicSeamResolution.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
* no parallel logic").
|
|
22
22
|
*/
|
|
23
23
|
import { type ObligationLedger } from "audit-tools/shared";
|
|
24
|
+
import { isTestablePhaseObligation } from "../validation/contractPipelineGates.js";
|
|
24
25
|
/** Options accepted by the derivers (created_at injected for deterministic tests). */
|
|
25
26
|
export interface DeriveOptions {
|
|
26
27
|
/** Overrides the generated ISO-8601 timestamp (for deterministic snapshots). */
|
|
@@ -69,16 +70,18 @@ export declare function deriveFinalizedModuleContracts(draftedModuleContracts: u
|
|
|
69
70
|
* Shared obligation-membership predicates — the single source for which
|
|
70
71
|
* obligations each downstream scaffold covers.
|
|
71
72
|
*
|
|
72
|
-
* `isTestablePhaseObligation
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
73
|
+
* `isTestablePhaseObligation` (imported above) is now single-sourced in
|
|
74
|
+
* `../validation/contractPipelineGates.ts` (MNT-e10b9d9b: this file's former
|
|
75
|
+
* local TESTABLE_KINDS set and that file's TESTABLE_OBLIGATION_KINDS were
|
|
76
|
+
* "kept in parity by hand" and had already diverged — fail-open here,
|
|
77
|
+
* fail-closed there, on an identical unrecognized-kind input). Re-exported
|
|
78
|
+
* here so every existing importer of derive.js keeps working unchanged.
|
|
76
79
|
*
|
|
77
80
|
* `isDagPhaseObligation`: every obligation is covered by the implementation DAG,
|
|
78
81
|
* so this is always true. It exists so both scaffolds derive their membership
|
|
79
82
|
* from a named predicate rather than an inline ad-hoc filter.
|
|
80
83
|
*/
|
|
81
|
-
export
|
|
84
|
+
export { isTestablePhaseObligation };
|
|
82
85
|
export declare function isDagPhaseObligation(_kind: string): boolean;
|
|
83
86
|
export interface TestValidatorPlanScaffold {
|
|
84
87
|
test_specs: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAiBnF,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA6DlB;AAiDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAgCA;AAaD;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
|
|
@@ -25,6 +25,7 @@ import { buildBaselineSymbolCorpus, classifyObligationChange, obligationScopeAnc
|
|
|
25
25
|
import { derivePhaseCut, phaseCutModulesFromContracts } from "./phaseCut.js";
|
|
26
26
|
import { obligationId } from "./idRegistry.js";
|
|
27
27
|
import { CP_FINALIZED_MODULE_CONTRACTS_VERSION } from "../validation/contractPipeline.js";
|
|
28
|
+
import { isTestablePhaseObligation } from "../validation/contractPipelineGates.js";
|
|
28
29
|
/**
|
|
29
30
|
* Derive the obligation ledger deterministically from the finalized module
|
|
30
31
|
* contracts. Pure function of its input (modulo the `created_at` stamp): the
|
|
@@ -198,31 +199,22 @@ export function deriveFinalizedModuleContracts(draftedModuleContracts, seamRecon
|
|
|
198
199
|
// mis-reference an obligation. These are NOT writable artifacts: the blank
|
|
199
200
|
// fields fail validation by design (that is the point — the model must fill
|
|
200
201
|
// them). They are rendered into the dispatch prompt as a pre-filled skeleton.
|
|
201
|
-
// NOTE(follow-up unification): this testable-kind set is duplicated in
|
|
202
|
-
// `../validation/contractPipelineGates.ts` (~438, `TESTABLE_OBLIGATION_KINDS`).
|
|
203
|
-
// The two should be single-sourced; for now they are kept in parity by hand.
|
|
204
|
-
// Do NOT edit gates.ts here — that unification is tracked separately.
|
|
205
|
-
const TESTABLE_KINDS = new Set(["invariant", "behavioral"]);
|
|
206
202
|
/**
|
|
207
203
|
* Shared obligation-membership predicates — the single source for which
|
|
208
204
|
* obligations each downstream scaffold covers.
|
|
209
205
|
*
|
|
210
|
-
* `isTestablePhaseObligation
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
206
|
+
* `isTestablePhaseObligation` (imported above) is now single-sourced in
|
|
207
|
+
* `../validation/contractPipelineGates.ts` (MNT-e10b9d9b: this file's former
|
|
208
|
+
* local TESTABLE_KINDS set and that file's TESTABLE_OBLIGATION_KINDS were
|
|
209
|
+
* "kept in parity by hand" and had already diverged — fail-open here,
|
|
210
|
+
* fail-closed there, on an identical unrecognized-kind input). Re-exported
|
|
211
|
+
* here so every existing importer of derive.js keeps working unchanged.
|
|
214
212
|
*
|
|
215
213
|
* `isDagPhaseObligation`: every obligation is covered by the implementation DAG,
|
|
216
214
|
* so this is always true. It exists so both scaffolds derive their membership
|
|
217
215
|
* from a named predicate rather than an inline ad-hoc filter.
|
|
218
216
|
*/
|
|
219
|
-
export
|
|
220
|
-
if (TESTABLE_KINDS.has(kind))
|
|
221
|
-
return true;
|
|
222
|
-
if (kind === "structural")
|
|
223
|
-
return false;
|
|
224
|
-
return true; // unknown kind → conservatively testable
|
|
225
|
-
}
|
|
217
|
+
export { isTestablePhaseObligation };
|
|
226
218
|
export function isDagPhaseObligation(_kind) {
|
|
227
219
|
return true;
|
|
228
220
|
}
|