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
|
@@ -4,13 +4,159 @@
|
|
|
4
4
|
// calibration pass) can see how findings of each lens / file type fared. The
|
|
5
5
|
// auditor does not consume it automatically.
|
|
6
6
|
import { z } from "zod";
|
|
7
|
+
// CDC-25: the run's terminal-disposition vocabulary is
|
|
8
|
+
// T = { fixed, verified-already-fixed-at-HEAD, refuted-against-HEAD }. `fixed`
|
|
9
|
+
// already had two persisted encodings (`resolved` / `verified_no_change`);
|
|
10
|
+
// `verified_already_fixed` and `refuted` give the other two members of T their
|
|
11
|
+
// OWN persisted forms, so the distinction the run turns on is expressible in
|
|
12
|
+
// the machine contract itself rather than told apart only by free text (never
|
|
13
|
+
// collapsed onto `verified_no_change` and disambiguated in prose).
|
|
7
14
|
export const RemediationOutcomeStatusSchema = z.enum([
|
|
8
15
|
"resolved",
|
|
9
16
|
"verified_no_change",
|
|
10
17
|
"inappropriate",
|
|
11
18
|
"ignored",
|
|
12
19
|
"blocked",
|
|
20
|
+
"verified_already_fixed",
|
|
21
|
+
"refuted",
|
|
13
22
|
]);
|
|
23
|
+
// CDC-28: `evidence.mechanism` is a structural enum, not free text, so RED
|
|
24
|
+
// condition (4)'s second leg — a persisted member CONTRADICTING the recorded
|
|
25
|
+
// mechanism — is a structural comparison (see `mechanismContradictsOutcome`
|
|
26
|
+
// below), never a substring match on English. `read_at_head_verification` is
|
|
27
|
+
// the mechanism that CONFIRMS a finding is already fixed at HEAD;
|
|
28
|
+
// `read_at_head_refutation` is the mechanism that determines a finding is not
|
|
29
|
+
// a real problem. The two are each other's contradiction for exactly the two
|
|
30
|
+
// outcome members (`verified_already_fixed` / `refuted`) that need one.
|
|
31
|
+
export const EVIDENCE_MECHANISM_KINDS = [
|
|
32
|
+
"red_green_test",
|
|
33
|
+
"build_lint_gate",
|
|
34
|
+
"read_at_head_verification",
|
|
35
|
+
"read_at_head_refutation",
|
|
36
|
+
];
|
|
37
|
+
export const EvidenceMechanismKindSchema = z.enum(EVIDENCE_MECHANISM_KINDS);
|
|
38
|
+
/**
|
|
39
|
+
* The per-finding verification-evidence TRIPLE (INV-ISC-EVIDENCE-EMITTED):
|
|
40
|
+
* `file` (a repo-relative path), `line` (a line or line range), and
|
|
41
|
+
* `mechanism` (the structural enum above). This is the FLOOR of the widened
|
|
42
|
+
* outcome record — a minimum the record must carry for a terminal disposition,
|
|
43
|
+
* not a closed shape that excludes further fields later.
|
|
44
|
+
*/
|
|
45
|
+
export const EvidenceSchema = z
|
|
46
|
+
.object({
|
|
47
|
+
file: z.string().min(1),
|
|
48
|
+
line: z.string().min(1),
|
|
49
|
+
mechanism: EvidenceMechanismKindSchema,
|
|
50
|
+
/** Optional human-readable elaboration; never load-bearing for the mechanism-contradiction check. */
|
|
51
|
+
mechanism_detail: z.string().optional(),
|
|
52
|
+
})
|
|
53
|
+
.strict();
|
|
54
|
+
/**
|
|
55
|
+
* Whether `evidence` carries a complete triple (all three of file/line/
|
|
56
|
+
* mechanism present and non-empty). The writer (`buildRemediationOutcomesReport`
|
|
57
|
+
* in `src/remediate/phases/close.ts`) REFUSES to emit a terminal disposition
|
|
58
|
+
* for a finding whose evidence fails this check.
|
|
59
|
+
*/
|
|
60
|
+
export function isCompleteEvidence(evidence) {
|
|
61
|
+
return (evidence !== undefined &&
|
|
62
|
+
typeof evidence.file === "string" &&
|
|
63
|
+
evidence.file.length > 0 &&
|
|
64
|
+
typeof evidence.line === "string" &&
|
|
65
|
+
evidence.line.length > 0 &&
|
|
66
|
+
typeof evidence.mechanism === "string" &&
|
|
67
|
+
EVIDENCE_MECHANISM_KINDS.includes(evidence.mechanism));
|
|
68
|
+
}
|
|
69
|
+
/** Names of the evidence-triple parts missing or empty on `evidence` (diagnostic only). */
|
|
70
|
+
export function missingEvidenceParts(evidence) {
|
|
71
|
+
const missing = [];
|
|
72
|
+
if (!evidence || typeof evidence.file !== "string" || evidence.file.length === 0) {
|
|
73
|
+
missing.push("file");
|
|
74
|
+
}
|
|
75
|
+
if (!evidence || typeof evidence.line !== "string" || evidence.line.length === 0) {
|
|
76
|
+
missing.push("line");
|
|
77
|
+
}
|
|
78
|
+
if (!evidence ||
|
|
79
|
+
typeof evidence.mechanism !== "string" ||
|
|
80
|
+
!EVIDENCE_MECHANISM_KINDS.includes(evidence.mechanism)) {
|
|
81
|
+
missing.push("mechanism");
|
|
82
|
+
}
|
|
83
|
+
return missing;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* RED condition (4)'s mechanism-contradiction leg (CDC-25 / the W4 witness): a
|
|
87
|
+
* `refuted` outcome whose mechanism is a read-at-HEAD VERIFICATION (confirms
|
|
88
|
+
* already-fixed, not refuted), or a `verified_already_fixed` outcome whose
|
|
89
|
+
* mechanism is a read-at-HEAD REFUTATION, is a WRONG VALUE — not a matter of
|
|
90
|
+
* interpretation. Every other outcome/mechanism pairing is unconstrained by
|
|
91
|
+
* this check (a red-green test or a build/lint gate is neutral evidence for
|
|
92
|
+
* either of the two members).
|
|
93
|
+
*/
|
|
94
|
+
export function mechanismContradictsOutcome(outcome, mechanism) {
|
|
95
|
+
if (outcome === "refuted" && mechanism === "read_at_head_verification") {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
if (outcome === "verified_already_fixed" && mechanism === "read_at_head_refutation") {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// ── The ONE tool-owned gate-outcome vocabulary ───────────────────────────────
|
|
104
|
+
//
|
|
105
|
+
// Declared HERE, in the shared base layer, so every gate family names the three
|
|
106
|
+
// outcomes with the same words and the close/report path can consume one of
|
|
107
|
+
// them without importing a gate implementation. `src/remediate/steps/finalGate.ts`
|
|
108
|
+
// imports `FinalGateOutcomeKind` from this module rather than declaring a second
|
|
109
|
+
// copy — a gate that ran nothing was previously indistinguishable from a green
|
|
110
|
+
// floor precisely because the only thing recorded was a boolean, and two
|
|
111
|
+
// vocabularies for the same three outcomes would reintroduce that by another
|
|
112
|
+
// route.
|
|
113
|
+
/**
|
|
114
|
+
* How a gate EVALUATION ended.
|
|
115
|
+
*
|
|
116
|
+
* `executed` — the command list ran; `passed` is a real verdict.
|
|
117
|
+
* `scoped_out` — the suite does not apply to this target; zero commands ran.
|
|
118
|
+
* `disabled` — a gate was DUE but did not run.
|
|
119
|
+
*/
|
|
120
|
+
export const FinalGateOutcomeKindSchema = z.enum([
|
|
121
|
+
"executed",
|
|
122
|
+
"scoped_out",
|
|
123
|
+
"disabled",
|
|
124
|
+
]);
|
|
125
|
+
/**
|
|
126
|
+
* What the outcomes contract says about the run's tool-owned gate.
|
|
127
|
+
*
|
|
128
|
+
* `outcome` widens the three gate kinds with `absent` — which is NOT a fourth
|
|
129
|
+
* gate kind but the report's own statement that no gate record existed for this
|
|
130
|
+
* run. It is stated rather than inferred: the alternative is silence, and
|
|
131
|
+
* silence about a gate reads as "fine".
|
|
132
|
+
*
|
|
133
|
+
* `passed` is `boolean | null`. Only an `executed` gate carries a verdict; the
|
|
134
|
+
* other three carry `null`, so no consumer of this contract can read a gate
|
|
135
|
+
* that did not run as a green floor.
|
|
136
|
+
*/
|
|
137
|
+
export const FinalGateReportSchema = z
|
|
138
|
+
.object({
|
|
139
|
+
outcome: z.union([FinalGateOutcomeKindSchema, z.literal("absent")]),
|
|
140
|
+
passed: z.boolean().nullable(),
|
|
141
|
+
commands_run: z.number(),
|
|
142
|
+
/** Which gate produced it — a phase boundary, or the all-terminal funnel. */
|
|
143
|
+
scope: z.string().optional(),
|
|
144
|
+
/** Why a gate that did not run did not run, or why the record is absent. */
|
|
145
|
+
reason: z.string().optional(),
|
|
146
|
+
recorded_at: z.string().optional(),
|
|
147
|
+
})
|
|
148
|
+
.strict();
|
|
149
|
+
/**
|
|
150
|
+
* The report's statement when no gate record exists. A run that never reached a
|
|
151
|
+
* gate, and a run whose gate record could not be read, both land here — never on
|
|
152
|
+
* a green-shaped default.
|
|
153
|
+
*/
|
|
154
|
+
export const ABSENT_FINAL_GATE_REPORT = {
|
|
155
|
+
outcome: "absent",
|
|
156
|
+
passed: null,
|
|
157
|
+
commands_run: 0,
|
|
158
|
+
reason: "no tool-owned gate outcome was recorded for this run",
|
|
159
|
+
};
|
|
14
160
|
/**
|
|
15
161
|
* Item C — result of the close-gate mechanical re-verify of an analyzer-born
|
|
16
162
|
* finding. `verified_mechanically`: the finding's content-anchored lead
|
|
@@ -54,9 +200,25 @@ export const RemediationOutcomeSchema = z
|
|
|
54
200
|
duration_ms: z.number().optional(),
|
|
55
201
|
/** Item C — mechanical re-verify verdict for analyzer-born findings. */
|
|
56
202
|
mechanical_verification: MechanicalVerificationSchema.optional(),
|
|
203
|
+
/**
|
|
204
|
+
* The per-finding verification-evidence triple (INV-ISC-EVIDENCE-EMITTED).
|
|
205
|
+
* Optional at the schema level — a non-terminal (force-closed/blocked)
|
|
206
|
+
* outcome may carry none — but the writer refuses to emit `outcome` as
|
|
207
|
+
* `verified_already_fixed` or `refuted` without a complete one. FLOOR, not
|
|
208
|
+
* a closed shape: pinning these three fields does not exclude later ones.
|
|
209
|
+
*/
|
|
210
|
+
evidence: EvidenceSchema.optional(),
|
|
211
|
+
/**
|
|
212
|
+
* The attributing-module stamp (CDC-26): which module recorded this
|
|
213
|
+
* finding's evidence at its own phase. Carried byte-exact from
|
|
214
|
+
* `RemediationItemState.recorded_by_module` through to this record (the
|
|
215
|
+
* ATTRIBUTION ROUND-TRIP) so the 26 INV-COVERAGE joins' condition (3) can
|
|
216
|
+
* still tell which module closed which id.
|
|
217
|
+
*/
|
|
218
|
+
recorded_by_module: z.string().optional(),
|
|
57
219
|
})
|
|
58
220
|
.strict();
|
|
59
|
-
// Full count keyed by every status (not Partial): built by summing all
|
|
221
|
+
// Full count keyed by every status (not Partial): built by summing all 7
|
|
60
222
|
// statuses, so each key is always present. An explicit object literal keeps the
|
|
61
223
|
// inferred type a complete `Record<RemediationOutcomeStatus, number>` rather
|
|
62
224
|
// than the Partial that `z.record(enum, …)` would infer (A6 gotcha).
|
|
@@ -67,6 +229,8 @@ const RemediationOutcomeCountsSchema = z
|
|
|
67
229
|
inappropriate: z.number(),
|
|
68
230
|
ignored: z.number(),
|
|
69
231
|
blocked: z.number(),
|
|
232
|
+
verified_already_fixed: z.number(),
|
|
233
|
+
refuted: z.number(),
|
|
70
234
|
})
|
|
71
235
|
.strict();
|
|
72
236
|
// NOT strict: the on-disk remediation-outcomes.json is a superset of this shared
|
|
@@ -83,6 +247,15 @@ export const RemediationOutcomesReportSchema = z.object({
|
|
|
83
247
|
completed_at: z.string().optional(),
|
|
84
248
|
/** Milliseconds between aggregate completed_at and started_at. */
|
|
85
249
|
duration_ms: z.number().optional(),
|
|
250
|
+
/**
|
|
251
|
+
* The run's tool-owned gate outcome. REQUIRED, and never omitted on a run
|
|
252
|
+
* that had no gate: the absent case is written as `{ outcome: "absent" }`, so
|
|
253
|
+
* a reader can distinguish "the floor ran green" from "nothing ran" from "we
|
|
254
|
+
* do not know" — which the outcomes contract previously could not express at
|
|
255
|
+
* all, making a scoped-out or suppressed run's report byte-identical to an
|
|
256
|
+
* executed-green one.
|
|
257
|
+
*/
|
|
258
|
+
final_gate: FinalGateReportSchema,
|
|
86
259
|
outcomes: z.array(RemediationOutcomeSchema),
|
|
87
260
|
});
|
|
88
261
|
//# sourceMappingURL=remediationOutcome.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remediationOutcome.js","sourceRoot":"","sources":["../../../src/shared/types/remediationOutcome.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,6CAA6C;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,UAAU;IACV,oBAAoB;IACpB,eAAe;IACf,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAKH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,2EAA2E;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,+EAA+E;IAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,8BAA8B;IACvC,4EAA4E;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,kEAAkE;IAClE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,mEAAmE;IACnE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,oEAAoE;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,oEAAoE;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,8EAA8E;IAC9E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,wEAAwE;IACxE,uBAAuB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"remediationOutcome.js","sourceRoot":"","sources":["../../../src/shared/types/remediationOutcome.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+EAA+E;AAC/E,wEAAwE;AACxE,6EAA6E;AAC7E,6CAA6C;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uDAAuD;AACvD,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,mEAAmE;AACnE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,UAAU;IACV,oBAAoB;IACpB,eAAe;IACf,SAAS;IACT,SAAS;IACT,wBAAwB;IACxB,SAAS;CACV,CAAC,CAAC;AAKH,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,kEAAkE;AAClE,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,gBAAgB;IAChB,iBAAiB;IACjB,2BAA2B;IAC3B,yBAAyB;CACjB,CAAC;AACX,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAG5E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,2BAA2B;IACtC,qGAAqG;IACrG,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAuC;IAEvC,OAAO,CACL,QAAQ,KAAK,SAAS;QACtB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ;QACjC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;QACrC,wBAA8C,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,oBAAoB,CAClC,QAAuC;IAEvC,MAAM,OAAO,GAAyC,EAAE,CAAC;IACzD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,IACE,CAAC,QAAQ;QACT,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;QACtC,CAAE,wBAA8C,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAiC,EACjC,SAAgC;IAEhC,IAAI,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,2BAA2B,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,wBAAwB,IAAI,SAAS,KAAK,yBAAyB,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,mFAAmF;AACnF,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,6EAA6E;AAC7E,SAAS;AAET;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,UAAU;IACV,YAAY;IACZ,UAAU;CACX,CAAC,CAAC;AAGH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,6EAA6E;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,sDAAsD;CAC/D,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;IACrE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,2EAA2E;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,+EAA+E;IAC/E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,OAAO,EAAE,8BAA8B;IACvC,4EAA4E;IAC5E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,kEAAkE;IAClE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,mEAAmE;IACnE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,oEAAoE;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,oEAAoE;IACpE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,8EAA8E;IAC9E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,wEAAwE;IACxE,uBAAuB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAChE;;;;;;OAMG;IACH,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC;KACD,MAAM,EAAE,CAAC;AAGZ,yEAAyE;AACzE,gFAAgF;AAChF,6EAA6E;AAC7E,qEAAqE;AACrE,MAAM,8BAA8B,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,iFAAiF;AACjF,mFAAmF;AACnF,gFAAgF;AAChF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,8BAA8B;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,OAAO,EAAE,CAAC;IACvE,oDAAoD;IACpD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,oDAAoD;IACpD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,kEAAkE;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;;;;;OAOG;IACH,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;CAC5C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findingsReport.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"findingsReport.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAG9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,+BAA+B,EAC1C,qCAA8C,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAC3C,MAAM,EAAE,UAAU,GAAG,sBAAsB,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CAC1D;AAwWD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,IAAI,SAAK,GACR,eAAe,EAAE,CAEnB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAUlF;AAqBD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,SAAS,OAAO,EAAE,GACnC,mBAAmB,CAoKrB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMnE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* audit-findings.json contract.
|
|
4
4
|
*/
|
|
5
5
|
import { AuditFindingsReportSchema, } from "../types/finding.js";
|
|
6
|
+
import { workBlockSeamRationale } from "../decompose/workBlockSeams.js";
|
|
6
7
|
import { severityRank } from "../types/lens.js";
|
|
7
8
|
import { isRecord, pushValidationIssue } from "./basic.js";
|
|
8
9
|
export const AUDIT_FINDINGS_CONTRACT_VERSION = "audit-tools/audit-findings/v1alpha1";
|
|
@@ -340,7 +341,24 @@ export function projectAuditFindingsReportSubset(value, selectedFindings) {
|
|
|
340
341
|
components: componentBlocks.map(({ component }) => component),
|
|
341
342
|
},
|
|
342
343
|
work_blocks: workBlocks,
|
|
343
|
-
|
|
344
|
+
// A per-file seam narrows to the blocks that survived the projection, and
|
|
345
|
+
// stops being a conflict once fewer than two of them remain. The rationale
|
|
346
|
+
// states the block COUNT, so it is re-derived from the narrowed list rather
|
|
347
|
+
// than carried over — a persisted seam must not contradict itself.
|
|
348
|
+
work_block_seams: report.work_block_seams.flatMap((seam) => {
|
|
349
|
+
const blockIds = [
|
|
350
|
+
...new Set(seam.block_ids.filter((id) => survivingBlockIds.has(id))),
|
|
351
|
+
];
|
|
352
|
+
return blockIds.length < 2
|
|
353
|
+
? []
|
|
354
|
+
: [
|
|
355
|
+
{
|
|
356
|
+
...seam,
|
|
357
|
+
block_ids: blockIds,
|
|
358
|
+
rationale: workBlockSeamRationale(seam.file, blockIds.length, seam.kind),
|
|
359
|
+
},
|
|
360
|
+
];
|
|
361
|
+
}),
|
|
344
362
|
...(themes === undefined ? {} : { themes }),
|
|
345
363
|
summary: {
|
|
346
364
|
...report.summary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findingsReport.js","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"findingsReport.js","sourceRoot":"","sources":["../../../src/shared/validation/findingsReport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audit-tools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"description": "Provider-neutral code auditing and remediation workflows for arbitrary repositories.",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"verify:release": "npm run verify:checks && node scripts/shared/run-vitest-gate.mjs && npm run smoke:linked-audit-code && npm run smoke:linked-remediate-code",
|
|
53
53
|
"check:control-bytes": "node scripts/check-control-bytes.mjs",
|
|
54
54
|
"check:guard-reach": "node scripts/check-guard-reach.mjs",
|
|
55
|
+
"closeout": "node scripts/render-closeout.mjs",
|
|
55
56
|
"check:ci-trigger-paths": "node scripts/shared/generate-ci-trigger-paths.mjs --check",
|
|
56
57
|
"check:deadcode": "knip --no-config-hints",
|
|
57
58
|
"check:lint": "eslint .",
|
package/remediate-code.mjs
CHANGED
|
@@ -82,12 +82,27 @@ function runNpmBuild() {
|
|
|
82
82
|
// run its blocking spawnSync and forward the command against a stale/absent
|
|
83
83
|
// dist before the fallback ever fires (CE-002). The exit-code branch terminates
|
|
84
84
|
// synchronously, so it never reaches the `return false`.
|
|
85
|
+
/**
|
|
86
|
+
* Emitted on stderr the moment a build is ATTEMPTED, before the build runs.
|
|
87
|
+
*
|
|
88
|
+
* Exported so a test can assert "a build was attempted" against the wrapper's
|
|
89
|
+
* own signal instead of a literal copied into the test. The two signals below it
|
|
90
|
+
* cannot serve that purpose: the spawn-failure message fires only when the spawn
|
|
91
|
+
* itself errors (not when a build runs and fails), and the dist-not-found
|
|
92
|
+
* advisory says "Run: npm run build" on the path where NO build was attempted —
|
|
93
|
+
* so any regex loose enough to match a real build matched the no-build guard too.
|
|
94
|
+
*/
|
|
95
|
+
export const BUILD_ATTEMPT_MARKER = "remediate-code: auto-building dist";
|
|
96
|
+
|
|
85
97
|
export function ensureBuilt({
|
|
86
98
|
shouldBuild = shouldBuildDist,
|
|
87
99
|
runBuild = runNpmBuild,
|
|
88
100
|
applyExit = applyWrapperExitAction,
|
|
89
101
|
} = {}) {
|
|
90
102
|
if (!shouldBuild()) return true;
|
|
103
|
+
// UNCONDITIONAL, and before the build: this marks the ATTEMPT, so it must not
|
|
104
|
+
// be conditional on the attempt's outcome.
|
|
105
|
+
process.stderr.write(`${BUILD_ATTEMPT_MARKER}\n`);
|
|
91
106
|
const result = runBuild();
|
|
92
107
|
if (result.stdout) process.stderr.write(result.stdout);
|
|
93
108
|
if (result.stderr) process.stderr.write(result.stderr);
|
|
@@ -739,12 +739,29 @@ export async function runHostVerifyChecks(hostKey, { root, assetPaths, hostEntry
|
|
|
739
739
|
};
|
|
740
740
|
}
|
|
741
741
|
|
|
742
|
+
// A fixture that matches looksLikeRemediateCodePrompt (legacy.mjs) — seeded
|
|
743
|
+
// into the isolated root below so removeLegacyRemediateCodeSurfaceFiles's
|
|
744
|
+
// unlink branch is actually exercised by this gate, not just by the deploy's
|
|
745
|
+
// own no-op path over an empty root. CP-NODE-21/22: before this fixture, the
|
|
746
|
+
// ONLY automated caller of removeLegacyRemediateCodeSurfaceFiles always
|
|
747
|
+
// deployed into a brand-new root where no legacy surface could exist, so the
|
|
748
|
+
// destructive branch had zero reach from any gate (TST-4c1e8a96 family).
|
|
749
|
+
const LEGACY_SURFACE_FIXTURE_RELATIVE_PATH = join('.claude', 'commands', 'remediate-code.md');
|
|
750
|
+
const LEGACY_SURFACE_FIXTURE_CONTENT =
|
|
751
|
+
'# `/remediate-code`\n\n' +
|
|
752
|
+
'Conversation-first remediation fixture seeded by verifyHostsIsolated to prove ' +
|
|
753
|
+
'removeLegacyRemediateCodeSurfaceFiles actually deletes a matching legacy surface ' +
|
|
754
|
+
'inside this isolated gate, not only in a unit test.\n';
|
|
755
|
+
|
|
742
756
|
/**
|
|
743
757
|
* Deploy every host's assets into an ISOLATED throwaway repo root under a
|
|
744
758
|
* redirected `$HOME`/`USERPROFILE` (so the real user config is never touched),
|
|
745
759
|
* then re-run each host's `verify()` handler from the SAME INSTALL_HOST_DEFINITIONS
|
|
746
760
|
* table that drives the deploy. The set of hosts verified is derived from
|
|
747
761
|
* INSTALL_HOST_ORDER, so adding a host to the table auto-extends verification.
|
|
762
|
+
* Also seeds one legacy-surface fixture before the deploy so the deploy's own
|
|
763
|
+
* call to removeLegacyRemediateCodeSurfaceFiles has something real to delete —
|
|
764
|
+
* see `general_checks` in the returned report.
|
|
748
765
|
*
|
|
749
766
|
* Returns a structured report; callers (the `verify:hosts` script, tests) decide
|
|
750
767
|
* how to surface it. Never mutates the caller's environment beyond restoring the
|
|
@@ -758,6 +775,7 @@ export async function runHostVerifyChecks(hostKey, { root, assetPaths, hostEntry
|
|
|
758
775
|
* home_dir: string,
|
|
759
776
|
* repo_root: string,
|
|
760
777
|
* hosts: { host: string, status: 'ok' | 'error', checks: object[] }[],
|
|
778
|
+
* general_checks: { id: string, status: 'ok' | 'error', summary?: string }[],
|
|
761
779
|
* }>}
|
|
762
780
|
*/
|
|
763
781
|
export async function verifyHostsIsolated(options = {}) {
|
|
@@ -773,9 +791,29 @@ export async function verifyHostsIsolated(options = {}) {
|
|
|
773
791
|
|
|
774
792
|
try {
|
|
775
793
|
await mkdir(isolatedRepoRoot, { recursive: true });
|
|
794
|
+
|
|
795
|
+
const legacyFixturePath = join(isolatedRepoRoot, LEGACY_SURFACE_FIXTURE_RELATIVE_PATH);
|
|
796
|
+
await writeGeneratedMarkdown(legacyFixturePath, LEGACY_SURFACE_FIXTURE_CONTENT);
|
|
797
|
+
|
|
776
798
|
// Deploy every host surface into the throwaway root from the canonical assets.
|
|
799
|
+
// writeCoreInstallAssets (inside installBootstrap) calls
|
|
800
|
+
// removeLegacyRemediateCodeSurfaceFiles as its last step, so the fixture
|
|
801
|
+
// seeded above is what makes that call's destructive branch fire here.
|
|
777
802
|
await installBootstrap(['--host', 'all', '--root', isolatedRepoRoot], { quiet: true });
|
|
778
803
|
|
|
804
|
+
const generalChecks = [];
|
|
805
|
+
await collectVerifyCheck(generalChecks, 'legacy_surface_cleanup', async () => {
|
|
806
|
+
if (await fileExists(legacyFixturePath)) {
|
|
807
|
+
throw new Error(
|
|
808
|
+
`Seeded legacy-surface fixture was not removed by removeLegacyRemediateCodeSurfaceFiles: ${legacyFixturePath}`,
|
|
809
|
+
);
|
|
810
|
+
}
|
|
811
|
+
return {
|
|
812
|
+
summary: 'The seeded legacy-surface fixture was removed by the deploy, as looksLikeRemediateCodePrompt requires.',
|
|
813
|
+
path: legacyFixturePath,
|
|
814
|
+
};
|
|
815
|
+
});
|
|
816
|
+
|
|
779
817
|
// Derive expectations from the SAME table the deploy uses: profile → asset
|
|
780
818
|
// paths → per-host verify(). INSTALL_HOST_ORDER is the source of truth for the
|
|
781
819
|
// verified host set.
|
|
@@ -798,10 +836,12 @@ export async function verifyHostsIsolated(options = {}) {
|
|
|
798
836
|
);
|
|
799
837
|
}
|
|
800
838
|
|
|
801
|
-
const issueCount =
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
839
|
+
const issueCount =
|
|
840
|
+
generalChecks.filter((check) => check.status === 'error').length +
|
|
841
|
+
hosts.reduce(
|
|
842
|
+
(sum, host) => sum + host.checks.filter((check) => check.status === 'error').length,
|
|
843
|
+
0,
|
|
844
|
+
);
|
|
805
845
|
|
|
806
846
|
return {
|
|
807
847
|
status: issueCount > 0 ? 'error' : 'ok',
|
|
@@ -810,6 +850,7 @@ export async function verifyHostsIsolated(options = {}) {
|
|
|
810
850
|
home_dir: homeDir,
|
|
811
851
|
repo_root: isolatedRepoRoot,
|
|
812
852
|
hosts,
|
|
853
|
+
general_checks: generalChecks,
|
|
813
854
|
};
|
|
814
855
|
} finally {
|
|
815
856
|
if (previousHome === undefined) delete process.env.HOME;
|
|
@@ -5,8 +5,18 @@
|
|
|
5
5
|
* shared `renderHostAsset` helper (`audit-tools/shared`). These functions are
|
|
6
6
|
* thin wrappers that pass the canonical body through with the right `kind` and
|
|
7
7
|
* `toolName`; they do NOT re-author per-host loader prose. That makes it
|
|
8
|
-
* impossible for
|
|
9
|
-
* to embed a wrong in-repo entrypoint
|
|
8
|
+
* structurally impossible for an asset RENDERED THIS WAY to drift out of sync
|
|
9
|
+
* with the canonical body or to embed a wrong in-repo entrypoint —
|
|
10
|
+
* renderHostAsset is the single source, never a per-host copy.
|
|
11
|
+
*
|
|
12
|
+
* A no-drift guard test enforces that the COMMITTED assets stay in sync with a
|
|
13
|
+
* fresh render of that body, but today it exists only for the audit-code twin
|
|
14
|
+
* (tests/audit/host-asset-renderer-drift.test.ts, which imports
|
|
15
|
+
* wrapper/audit-code-wrapper-install-renderers.mjs — never this file). No
|
|
16
|
+
* equivalent committed-asset drift guard exists yet on the remediate-code side
|
|
17
|
+
* (CP-NODE-22 / OBL-remediate-wrapper-test-reach-inv-3): the render-time
|
|
18
|
+
* structural guarantee above holds regardless, but nothing yet re-checks a
|
|
19
|
+
* committed remediate-code host asset against a fresh render of it.
|
|
10
20
|
*/
|
|
11
21
|
|
|
12
22
|
import { renderHostAsset } from 'audit-tools/shared';
|