audit-tools 0.49.0 → 0.50.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/audit/cli/args.d.ts +27 -0
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +32 -2
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +32 -55
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +8 -8
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +0 -28
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +1 -65
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +12 -10
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.js +2 -5
- package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +1 -2
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +25 -10
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js +35 -88
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.d.ts +10 -20
- package/dist/remediate/contractPipeline/idRegistry.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/idRegistry.js +10 -24
- package/dist/remediate/contractPipeline/idRegistry.js.map +1 -1
- package/dist/remediate/contractPipeline/obligationKinds.d.ts +27 -0
- package/dist/remediate/contractPipeline/obligationKinds.d.ts.map +1 -0
- package/dist/remediate/contractPipeline/obligationKinds.js +18 -0
- package/dist/remediate/contractPipeline/obligationKinds.js.map +1 -0
- package/dist/remediate/dedup/crossLensDedup.d.ts +2 -3
- package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
- package/dist/remediate/dedup/crossLensDedup.js +2 -4
- package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
- package/dist/remediate/index.d.ts +38 -8
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +75 -27
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +6 -62
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +11 -80
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +57 -48
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +83 -2
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +79 -11
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +1 -1
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
- package/dist/remediate/utils/fileIntegrity.js +123 -30
- package/dist/remediate/utils/fileIntegrity.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +3 -9
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +8 -46
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +12 -20
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +107 -135
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +32 -0
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +29 -0
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts +4 -11
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +196 -163
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/graph/directedCycles.d.ts +61 -0
- package/dist/shared/graph/directedCycles.d.ts.map +1 -0
- package/dist/shared/graph/directedCycles.js +190 -0
- package/dist/shared/graph/directedCycles.js.map +1 -0
- package/dist/shared/index.d.ts +6 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/repoRoot.d.ts +45 -0
- package/dist/shared/io/repoRoot.d.ts.map +1 -1
- package/dist/shared/io/repoRoot.js +91 -1
- package/dist/shared/io/repoRoot.js.map +1 -1
- package/dist/shared/submission/submissionScan.d.ts +86 -0
- package/dist/shared/submission/submissionScan.d.ts.map +1 -0
- package/dist/shared/submission/submissionScan.js +93 -0
- package/dist/shared/submission/submissionScan.js.map +1 -0
- package/dist/shared/types/obligationLedger.d.ts +7 -3
- package/dist/shared/types/obligationLedger.d.ts.map +1 -1
- package/dist/shared/types/obligationLedger.js +9 -37
- package/dist/shared/types/obligationLedger.js.map +1 -1
- package/package.json +3 -2
- package/skills/audit-code/audit-code.prompt.md +5 -2
- package/wrapper/audit-code-wrapper-install-hosts.mjs +8 -3
- package/wrapper/audit-code-wrapper-lib.mjs +10 -3
- package/wrapper/installer-verb-help.mjs +3 -1
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +8 -3
- package/wrapper/repo-root.mjs +80 -0
|
@@ -18,8 +18,8 @@ export interface ValidateArtifactActionResult {
|
|
|
18
18
|
* Beyond the per-artifact structural validator, this ALSO loads the on-disk
|
|
19
19
|
* sibling contract-pipeline artifacts (under `<artifactsDir>/intake/contract/`)
|
|
20
20
|
* and runs the SAME cross-artifact gates the plural `validate-artifacts` sweep
|
|
21
|
-
* and `next-step` enforce (
|
|
22
|
-
* in validation/contractPipelineGates.ts), substituting the in-flight `name`
|
|
21
|
+
* and `next-step` enforce (evaluateContractPipelineCrossGateOutcomes —
|
|
22
|
+
* single-sourced in validation/contractPipelineGates.ts), substituting the in-flight `name`
|
|
23
23
|
* payload for its on-disk version so the in-flight edit always wins over a
|
|
24
24
|
* stale/absent sibling. Without this, a shape-valid artifact missing its
|
|
25
25
|
* cross-artifact obligations (e.g. a test_validator_plan missing its CE-006
|
|
@@ -29,7 +29,8 @@ export interface ValidateArtifactActionResult {
|
|
|
29
29
|
export declare function runValidateArtifactAction(options: {
|
|
30
30
|
name: string;
|
|
31
31
|
file?: string;
|
|
32
|
-
root
|
|
32
|
+
/** Raw `--root` as supplied; absent means "discover it" (`resolveRootOption`). */
|
|
33
|
+
root?: string;
|
|
33
34
|
artifactsDir: string;
|
|
34
35
|
}): Promise<{
|
|
35
36
|
result: ValidateArtifactActionResult;
|
|
@@ -43,14 +44,43 @@ export declare function parseProgram(argv: string[]): void;
|
|
|
43
44
|
* non-boolean `<flag>=<other>` value fails loudly rather than silently defaulting.
|
|
44
45
|
*/
|
|
45
46
|
export declare function normalizeBooleanFlagArgv(argv: string[], flag: string): string[];
|
|
47
|
+
/**
|
|
48
|
+
* The repository root every remediate-code command acts on — the remediate DRAW
|
|
49
|
+
* of the resolution audit-code's `getRootDir` performs (`src/audit/cli/args.ts`).
|
|
50
|
+
*
|
|
51
|
+
* Two arms, and the difference between them is the whole point:
|
|
52
|
+
* • `--root <X>` supplied → `resolveRepoRoot(X)`, which honors X verbatim
|
|
53
|
+
* (only climbing out of a `.audit-tools/` segment). An explicit root is an
|
|
54
|
+
* instruction, never a hint — a sub-project inside a larger repo stays the
|
|
55
|
+
* sub-project. This is the EXPLICIT OVERRIDE for running from outside the
|
|
56
|
+
* target repository.
|
|
57
|
+
* • no `--root` → `discoverRepoRoot` from the caller's working directory: the
|
|
58
|
+
* nearest ancestor owning `.audit-tools/` or `.git`, below the HOME ceiling.
|
|
59
|
+
* So every command run from anywhere inside a repository — including from
|
|
60
|
+
* inside its own `.audit-tools/` tree — resolves the SAME root.
|
|
61
|
+
*
|
|
62
|
+
* There is no literal default root any more. Every `--root`-bearing command used
|
|
63
|
+
* to default to the string `"."`, i.e. the caller's cwd verbatim, so a run
|
|
64
|
+
* launched from `<repo>/src` rooted the remediation at `<repo>/src` and minted a
|
|
65
|
+
* second `.audit-tools/remediation` tree there — the property is now
|
|
66
|
+
* tool-guaranteed instead of something the host must remember to pass on every
|
|
67
|
+
* call (auditor-agnostic robustness). Commander leaves an absent `--root`
|
|
68
|
+
* `undefined`, which is what makes "the user passed `--root .`" distinguishable
|
|
69
|
+
* from "no `--root`" at all: the former still means the cwd, unclimbed.
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveRootOption(rawRoot: string | undefined): string;
|
|
46
72
|
/**
|
|
47
73
|
* Resolve the remediation artifacts dir. An explicit `--artifacts-dir` is
|
|
48
74
|
* honored verbatim; the unchanged commander default (`.audit-tools/remediation`)
|
|
49
|
-
* rebases onto
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
75
|
+
* rebases onto `root` via the shared `remediationArtifactsDir()` helper, so the
|
|
76
|
+
* default always lands under `<root>/.audit-tools/remediation`. The
|
|
77
|
+
* `.audit-tools/...` join literal lives only in the shared path module.
|
|
78
|
+
*
|
|
79
|
+
* `root` is the CANONICAL root — already through `resolveRootOption`, which is
|
|
80
|
+
* where the discovered-vs-explicit decision and the climb out of a drifted
|
|
81
|
+
* `.audit-tools/` cwd both happen. Anchoring here as well would put the same
|
|
82
|
+
* decision in two places, and only one of them would see whether `--root` was
|
|
83
|
+
* supplied at all.
|
|
54
84
|
*/
|
|
55
85
|
export declare function resolveArtifactsDirOption(root: string, artifactsDir: string): string;
|
|
56
86
|
export declare function runValidateCommand(deps?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EASL,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAiB5B,QAAA,MAAM,OAAO,SAAgB,CAAC;AAiS9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgHtE;AAiCD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAYD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIrE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR"}
|
package/dist/remediate/index.js
CHANGED
|
@@ -4,10 +4,11 @@ import { join, dirname, resolve } from "node:path";
|
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
5
|
import { decideNextStep, recoverIngestHostResults } from "./steps/nextStep.js";
|
|
6
6
|
import { validateArtifacts } from "./validation/artifacts.js";
|
|
7
|
-
import { CONTRACT_PIPELINE_VALIDATORS
|
|
7
|
+
import { CONTRACT_PIPELINE_VALIDATORS } from "./validation/contractPipeline.js";
|
|
8
|
+
import { evaluateContractPipelineCrossGateOutcomes } from "./validation/contractPipelineGates.js";
|
|
8
9
|
import { CP_ARTIFACT_NAMES, isEnvelope, stampToolCreatedAt, readContractArtifact, envelopePayload, } from "./contractPipeline/artifactStore.js";
|
|
9
10
|
import { intakePaths } from "./intake.js";
|
|
10
|
-
import { applyGuidanceFile, assertCliCommandAllowedFromCwd, remediationArtifactsDir, resolveRepoRoot, readOptionalJsonFile, recoverSubmission, runTracked, runWithBlockedStepBackstop, } from "audit-tools/shared";
|
|
11
|
+
import { applyGuidanceFile, assertCliCommandAllowedFromCwd, callerWorkingDirectory, discoverRepoRoot, remediationArtifactsDir, resolveRepoRoot, readOptionalJsonFile, recoverSubmission, runTracked, runWithBlockedStepBackstop, } from "audit-tools/shared";
|
|
11
12
|
import { writeBlockedStep } from "./steps/stepWriter.js";
|
|
12
13
|
import { remediationSubmissionBinding, } from "./steps/dispatch/hostHandoff.js";
|
|
13
14
|
// src/remediate/index.ts (source) or dist/remediate/index.js (built) → three
|
|
@@ -22,6 +23,17 @@ program
|
|
|
22
23
|
.name("remediate-code")
|
|
23
24
|
.description("Autonomous remediation orchestrator")
|
|
24
25
|
.version(pkgVersion);
|
|
26
|
+
/**
|
|
27
|
+
* The ONE `--root` help string, shared by every command that declares the
|
|
28
|
+
* option. Five hand-kept copies of the same sentence is the duplication tell:
|
|
29
|
+
* they drift one at a time, and `--help` then documents the same flag
|
|
30
|
+
* differently depending on which subcommand the operator asked.
|
|
31
|
+
*
|
|
32
|
+
* Note what it does NOT say: there is no literal default. See
|
|
33
|
+
* `resolveRootOption` for the two arms the absent value takes.
|
|
34
|
+
*/
|
|
35
|
+
const ROOT_OPTION_DESCRIPTION = "Repository root (default: the repository the working directory is in — the nearest ancestor owning .audit-tools/ or .git). " +
|
|
36
|
+
"Pass it only to target a repository you are not inside, or a sub-project inside a larger one.";
|
|
25
37
|
/**
|
|
26
38
|
* Worker-safe subcommands: the only commands a dispatched worker may run from
|
|
27
39
|
* inside a tool-created node worktree (result-scoped validators — nothing that
|
|
@@ -49,7 +61,7 @@ program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
|
49
61
|
program
|
|
50
62
|
.command("next-step")
|
|
51
63
|
.description("Write and print one backend-rendered remediation step")
|
|
52
|
-
.option("--root <path>",
|
|
64
|
+
.option("--root <path>", ROOT_OPTION_DESCRIPTION)
|
|
53
65
|
.option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
|
|
54
66
|
// Repeatable: each `--input <path>` accumulates into a string[] via a collect
|
|
55
67
|
// reducer (NOT a variadic `<path...>`, which would greedily swallow following
|
|
@@ -64,7 +76,8 @@ program
|
|
|
64
76
|
.option("--finalize-closing", "Finalize a closing remediation state from a generated close_run step")
|
|
65
77
|
.option("--force-replan", "Rebuild the remediation plan from the existing intake artifacts")
|
|
66
78
|
.action(async (options) => {
|
|
67
|
-
const
|
|
79
|
+
const root = resolveRootOption(options.root);
|
|
80
|
+
const artifactsDir = resolveArtifactsDirOption(root, options.artifactsDir);
|
|
68
81
|
// Terminal-exit backstop (backlog: abnormal-exit no-step-contract), the
|
|
69
82
|
// remediate DRAW of the shared mechanism audit-code's cmdNextStep uses: any
|
|
70
83
|
// throw below writes a blocked step naming the cause before propagating, so
|
|
@@ -78,14 +91,14 @@ program
|
|
|
78
91
|
applyGuidanceFile(artifactsDir, options.guidanceFile);
|
|
79
92
|
}
|
|
80
93
|
return withBackendLogsOnStderr(() => decideNextStep({
|
|
81
|
-
root
|
|
94
|
+
root,
|
|
82
95
|
artifactsDir,
|
|
83
96
|
input: options.input,
|
|
84
97
|
guidanceFileSupplied: Boolean(options.guidanceFile),
|
|
85
98
|
finalizeClosing: options.finalizeClosing === true,
|
|
86
99
|
forceReplan: options.forceReplan === true,
|
|
87
100
|
}));
|
|
88
|
-
}, (reason) => writeBlockedStep({ root
|
|
101
|
+
}, (reason) => writeBlockedStep({ root, artifactsDir, reason }));
|
|
89
102
|
console.log(JSON.stringify(step, null, 2));
|
|
90
103
|
});
|
|
91
104
|
// The four installer verbs are intercepted by the remediate-code bin BEFORE the
|
|
@@ -122,7 +135,7 @@ for (const [verb, summary] of BIN_ROUTED_INSTALLER_VERBS) {
|
|
|
122
135
|
program
|
|
123
136
|
.command("recover-submission")
|
|
124
137
|
.description("Re-land a host submission that was mangled, through the same validator the normal lane runs")
|
|
125
|
-
.option("--root <path>",
|
|
138
|
+
.option("--root <path>", ROOT_OPTION_DESCRIPTION)
|
|
126
139
|
.option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
|
|
127
140
|
.requiredOption("--run-id <id>", "The run the work item belongs to")
|
|
128
141
|
.requiredOption("--submission-id <id>", "The work item id the submission answers")
|
|
@@ -131,8 +144,8 @@ program
|
|
|
131
144
|
// Deliberately the ONLY new verb: the ordinary lane needs no command at all
|
|
132
145
|
// (the host writes a file at a tool-named path), so the fragile argv surface
|
|
133
146
|
// is paid only on the rare rescue, by an operator at a terminal.
|
|
134
|
-
const root =
|
|
135
|
-
const artifactsDir = resolveArtifactsDirOption(
|
|
147
|
+
const root = resolveRootOption(options.root);
|
|
148
|
+
const artifactsDir = resolveArtifactsDirOption(root, options.artifactsDir);
|
|
136
149
|
const binding = await remediationSubmissionBinding({
|
|
137
150
|
root,
|
|
138
151
|
artifactsDir,
|
|
@@ -168,18 +181,19 @@ program
|
|
|
168
181
|
program
|
|
169
182
|
.command("recover-ingest")
|
|
170
183
|
.description("Ingest landed host results whose trusted workload baseline was ORPHANED by a history rewrite (every other corroboration check still applies)")
|
|
171
|
-
.option("--root <path>",
|
|
184
|
+
.option("--root <path>", ROOT_OPTION_DESCRIPTION)
|
|
172
185
|
.option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
|
|
173
186
|
.requiredOption("--run-id <id>", "The run whose workload results are ingested")
|
|
174
187
|
.action(async (options) => {
|
|
175
188
|
// An operator-explicit verb, exactly like recover-submission: the ordinary
|
|
176
189
|
// lane needs no command (next-step ingests), so the relaxed evidence bar is
|
|
177
190
|
// never reachable by a host that merely calls the normal loop.
|
|
191
|
+
const root = resolveRootOption(options.root);
|
|
178
192
|
let summary;
|
|
179
193
|
try {
|
|
180
194
|
summary = await recoverIngestHostResults({
|
|
181
|
-
root
|
|
182
|
-
artifactsDir: resolveArtifactsDirOption(
|
|
195
|
+
root,
|
|
196
|
+
artifactsDir: resolveArtifactsDirOption(root, options.artifactsDir),
|
|
183
197
|
runId: options.runId,
|
|
184
198
|
});
|
|
185
199
|
}
|
|
@@ -209,10 +223,11 @@ program
|
|
|
209
223
|
program
|
|
210
224
|
.command("validate-artifacts")
|
|
211
225
|
.description("Validate remediation runtime artifacts")
|
|
212
|
-
.option("--root <path>",
|
|
226
|
+
.option("--root <path>", ROOT_OPTION_DESCRIPTION)
|
|
213
227
|
.option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
|
|
214
228
|
.action(async (options) => {
|
|
215
|
-
const
|
|
229
|
+
const root = resolveRootOption(options.root);
|
|
230
|
+
const result = await validateArtifacts(resolveArtifactsDirOption(root, options.artifactsDir), root);
|
|
216
231
|
console.log(JSON.stringify(result, null, 2));
|
|
217
232
|
process.exit(result.status === "ok" ? 0 : 1);
|
|
218
233
|
});
|
|
@@ -224,8 +239,8 @@ program
|
|
|
224
239
|
* Beyond the per-artifact structural validator, this ALSO loads the on-disk
|
|
225
240
|
* sibling contract-pipeline artifacts (under `<artifactsDir>/intake/contract/`)
|
|
226
241
|
* and runs the SAME cross-artifact gates the plural `validate-artifacts` sweep
|
|
227
|
-
* and `next-step` enforce (
|
|
228
|
-
* in validation/contractPipelineGates.ts), substituting the in-flight `name`
|
|
242
|
+
* and `next-step` enforce (evaluateContractPipelineCrossGateOutcomes —
|
|
243
|
+
* single-sourced in validation/contractPipelineGates.ts), substituting the in-flight `name`
|
|
229
244
|
* payload for its on-disk version so the in-flight edit always wins over a
|
|
230
245
|
* stale/absent sibling. Without this, a shape-valid artifact missing its
|
|
231
246
|
* cross-artifact obligations (e.g. a test_validator_plan missing its CE-006
|
|
@@ -274,8 +289,8 @@ export async function runValidateArtifactAction(options) {
|
|
|
274
289
|
// matches ingest: a host payload without a timestamp is valid here too (B4).
|
|
275
290
|
const payload = stampToolCreatedAt(unwrapped, new Date().toISOString());
|
|
276
291
|
const structuralIssues = validator(payload, name);
|
|
277
|
-
const root =
|
|
278
|
-
const artifactsDir = resolveArtifactsDirOption(
|
|
292
|
+
const root = resolveRootOption(options.root);
|
|
293
|
+
const artifactsDir = resolveArtifactsDirOption(root, options.artifactsDir);
|
|
279
294
|
let crossGateIssues;
|
|
280
295
|
try {
|
|
281
296
|
const payloads = new Map();
|
|
@@ -289,11 +304,11 @@ export async function runValidateArtifactAction(options) {
|
|
|
289
304
|
// in-flight content is what must be gated, not a possibly-stale sibling file.
|
|
290
305
|
payloads.set(name, payload);
|
|
291
306
|
const findingEnumeration = await readOptionalJsonFile(intakePaths(artifactsDir).findingEnumeration);
|
|
292
|
-
crossGateIssues =
|
|
307
|
+
crossGateIssues = evaluateContractPipelineCrossGateOutcomes({
|
|
293
308
|
payloads,
|
|
294
309
|
findingEnumeration,
|
|
295
310
|
root,
|
|
296
|
-
}).
|
|
311
|
+
}).flatMap((outcome) => outcome.issues);
|
|
297
312
|
}
|
|
298
313
|
catch (err) {
|
|
299
314
|
// readContractArtifact / readOptionalJsonFile throw on a corrupt (malformed-
|
|
@@ -348,7 +363,7 @@ program
|
|
|
348
363
|
.description("Validate a single contract-pipeline artifact payload against its contract (write-time self-check)")
|
|
349
364
|
.requiredOption("--name <name>", "Contract-pipeline artifact name (e.g. obligation_ledger, test_validator_plan)")
|
|
350
365
|
.option("--file <path>", "Path to the artifact JSON file (defaults to stdin)")
|
|
351
|
-
.option("--root <path>",
|
|
366
|
+
.option("--root <path>", ROOT_OPTION_DESCRIPTION)
|
|
352
367
|
.option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
|
|
353
368
|
.action(async (options) => {
|
|
354
369
|
const { result, exitCode } = await runValidateArtifactAction(options);
|
|
@@ -400,18 +415,51 @@ async function withBackendLogsOnStderr(fn) {
|
|
|
400
415
|
console.log = originalLog;
|
|
401
416
|
}
|
|
402
417
|
}
|
|
418
|
+
/**
|
|
419
|
+
* The repository root every remediate-code command acts on — the remediate DRAW
|
|
420
|
+
* of the resolution audit-code's `getRootDir` performs (`src/audit/cli/args.ts`).
|
|
421
|
+
*
|
|
422
|
+
* Two arms, and the difference between them is the whole point:
|
|
423
|
+
* • `--root <X>` supplied → `resolveRepoRoot(X)`, which honors X verbatim
|
|
424
|
+
* (only climbing out of a `.audit-tools/` segment). An explicit root is an
|
|
425
|
+
* instruction, never a hint — a sub-project inside a larger repo stays the
|
|
426
|
+
* sub-project. This is the EXPLICIT OVERRIDE for running from outside the
|
|
427
|
+
* target repository.
|
|
428
|
+
* • no `--root` → `discoverRepoRoot` from the caller's working directory: the
|
|
429
|
+
* nearest ancestor owning `.audit-tools/` or `.git`, below the HOME ceiling.
|
|
430
|
+
* So every command run from anywhere inside a repository — including from
|
|
431
|
+
* inside its own `.audit-tools/` tree — resolves the SAME root.
|
|
432
|
+
*
|
|
433
|
+
* There is no literal default root any more. Every `--root`-bearing command used
|
|
434
|
+
* to default to the string `"."`, i.e. the caller's cwd verbatim, so a run
|
|
435
|
+
* launched from `<repo>/src` rooted the remediation at `<repo>/src` and minted a
|
|
436
|
+
* second `.audit-tools/remediation` tree there — the property is now
|
|
437
|
+
* tool-guaranteed instead of something the host must remember to pass on every
|
|
438
|
+
* call (auditor-agnostic robustness). Commander leaves an absent `--root`
|
|
439
|
+
* `undefined`, which is what makes "the user passed `--root .`" distinguishable
|
|
440
|
+
* from "no `--root`" at all: the former still means the cwd, unclimbed.
|
|
441
|
+
*/
|
|
442
|
+
export function resolveRootOption(rawRoot) {
|
|
443
|
+
return rawRoot === undefined
|
|
444
|
+
? discoverRepoRoot(callerWorkingDirectory())
|
|
445
|
+
: resolveRepoRoot(rawRoot);
|
|
446
|
+
}
|
|
403
447
|
/**
|
|
404
448
|
* Resolve the remediation artifacts dir. An explicit `--artifacts-dir` is
|
|
405
449
|
* honored verbatim; the unchanged commander default (`.audit-tools/remediation`)
|
|
406
|
-
* rebases onto
|
|
407
|
-
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
410
|
-
*
|
|
450
|
+
* rebases onto `root` via the shared `remediationArtifactsDir()` helper, so the
|
|
451
|
+
* default always lands under `<root>/.audit-tools/remediation`. The
|
|
452
|
+
* `.audit-tools/...` join literal lives only in the shared path module.
|
|
453
|
+
*
|
|
454
|
+
* `root` is the CANONICAL root — already through `resolveRootOption`, which is
|
|
455
|
+
* where the discovered-vs-explicit decision and the climb out of a drifted
|
|
456
|
+
* `.audit-tools/` cwd both happen. Anchoring here as well would put the same
|
|
457
|
+
* decision in two places, and only one of them would see whether `--root` was
|
|
458
|
+
* supplied at all.
|
|
411
459
|
*/
|
|
412
460
|
export function resolveArtifactsDirOption(root, artifactsDir) {
|
|
413
461
|
return artifactsDir === ".audit-tools/remediation"
|
|
414
|
-
? remediationArtifactsDir(
|
|
462
|
+
? remediationArtifactsDir(root)
|
|
415
463
|
: resolve(artifactsDir);
|
|
416
464
|
}
|
|
417
465
|
export function runValidateCommand(deps = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ValidationIssue, type JudgeReport, type WorkBlock, type WorkBlockSeam } from "audit-tools/shared";
|
|
2
|
+
import { OBLIGATION_KIND_PRIORITY, type ObligationKind } from "../contractPipeline/obligationKinds.js";
|
|
2
3
|
import { readIntakeRiskSignal, type AdversarialDepth } from "../riskSignal.js";
|
|
3
4
|
import { type ContractPipelineCrossGateInputs, type GateOutcome } from "../validation/contractPipelineGates.js";
|
|
4
5
|
import type { ContractPipelineArtifactName } from "../contractPipeline/artifactStore.js";
|
|
@@ -393,17 +394,12 @@ export declare function buildNextContractPipelineStep(options: ContractPipelineS
|
|
|
393
394
|
* `undefined` — so a ledger kind outside these four promoted a finding with
|
|
394
395
|
* `lens: undefined`.
|
|
395
396
|
*
|
|
396
|
-
*
|
|
397
|
-
*
|
|
398
|
-
*
|
|
399
|
-
* kind added there and not here is a red contract test rather than a silent
|
|
400
|
-
* misclassification;
|
|
401
|
-
* • SEMANTICS — an unrecognized kind is not dropped or cast. It is routed
|
|
402
|
-
* through the gate module's own `isTestablePhaseObligation` predicate, so
|
|
403
|
-
* the two modules answer "is this kind testable?" with ONE implementation.
|
|
397
|
+
* Membership and priority are now derived from the single definition list in
|
|
398
|
+
* `contractPipeline/obligationKinds.ts`. An unrecognized kind is not dropped or
|
|
399
|
+
* cast: it is routed through the shared `isTestablePhaseObligation` predicate.
|
|
404
400
|
*/
|
|
405
|
-
export
|
|
406
|
-
export type ObligationKind
|
|
401
|
+
export { OBLIGATION_KIND_PRIORITY };
|
|
402
|
+
export type { ObligationKind };
|
|
407
403
|
/**
|
|
408
404
|
* Classify a raw ledger `kind` string (which the ledger types as a bare
|
|
409
405
|
* `string`) into this module's vocabulary. A recognized kind maps to itself; an
|
|
@@ -412,13 +408,6 @@ export type ObligationKind = (typeof OBLIGATION_KIND_PRIORITY)[number];
|
|
|
412
408
|
* carries a real lens and a mid severity), otherwise ⇒ `structural`.
|
|
413
409
|
*/
|
|
414
410
|
export declare function classifyObligationKind(kind: string): ObligationKind;
|
|
415
|
-
/**
|
|
416
|
-
* Kinds the gate module declares TESTABLE that this module's vocabulary does
|
|
417
|
-
* not carry — the drift MNT-114e4941-3 names, reported as data so a contract
|
|
418
|
-
* test can go red on it instead of a reviewer having to notice.
|
|
419
|
-
* Empty when the two agree.
|
|
420
|
-
*/
|
|
421
|
-
export declare function obligationKindVocabularyDivergence(): string[];
|
|
422
411
|
/**
|
|
423
412
|
* Normalize one block's declared write scope into repo-relative, forward-slashed,
|
|
424
413
|
* unique, sorted paths, refusing outright anything that leaves the repository.
|
|
@@ -517,49 +506,4 @@ export declare function collectPathARefusals(artifactsDir: string): Promise<stri
|
|
|
517
506
|
* root for write-scope normalization.
|
|
518
507
|
*/
|
|
519
508
|
export declare function promoteImplementationDagToExtractedPlan(artifactsDir: string, root?: string): Promise<void>;
|
|
520
|
-
/**
|
|
521
|
-
* The PINNED shape of everything this module's two planning producers decide —
|
|
522
|
-
* `promoteImplementationDagToExtractedPlan`'s canonical block membership and
|
|
523
|
-
* normalized write scope, and `writePathASeedFromFindings`' sha256 baselines —
|
|
524
|
-
* exported as ONE record so the regression guard that pins them imports a real
|
|
525
|
-
* contract instead of re-deriving the plan's internals from JSON by hand.
|
|
526
|
-
*
|
|
527
|
-
* CDC-03: the guard consumes this token, so the phase deriver places it adjacent
|
|
528
|
-
* to this module rather than four phases later, and a change to block membership
|
|
529
|
-
* goes red in the phase immediately after this one.
|
|
530
|
-
*
|
|
531
|
-
* `estimated_tokens` is byte-derived and LOCAL (`estimateTokensFromBytes`) — it
|
|
532
|
-
* describes content size only and is never a backend-fit claim; audit-tools does
|
|
533
|
-
* not route.
|
|
534
|
-
*/
|
|
535
|
-
export interface ContractPipelinePlanningOutputs {
|
|
536
|
-
/** Canonical membership + normalized write scope, in block-id order. */
|
|
537
|
-
block_membership: Array<{
|
|
538
|
-
block_id: string;
|
|
539
|
-
items: string[];
|
|
540
|
-
touched_files: string[];
|
|
541
|
-
targeted_commands: string[];
|
|
542
|
-
}>;
|
|
543
|
-
/** Every promoted finding id, and whether each is claimed by exactly one block. */
|
|
544
|
-
coverage: {
|
|
545
|
-
finding_ids: string[];
|
|
546
|
-
exhaustive_once: boolean;
|
|
547
|
-
};
|
|
548
|
-
/** Byte-derived per-block estimate over the findings the block claims. */
|
|
549
|
-
token_estimates: Array<{
|
|
550
|
-
block_id: string;
|
|
551
|
-
estimated_tokens: number;
|
|
552
|
-
}>;
|
|
553
|
-
/** The path_a seed's recorded per-path sha256 baselines, path-sorted. */
|
|
554
|
-
seed_source_digests: Array<{
|
|
555
|
-
path: string;
|
|
556
|
-
sha256: string;
|
|
557
|
-
}>;
|
|
558
|
-
}
|
|
559
|
-
/**
|
|
560
|
-
* Read the pinned planning outputs for a run, or null when no plan has been
|
|
561
|
-
* promoted yet.
|
|
562
|
-
*/
|
|
563
|
-
export declare function readContractPipelinePlanningOutputs(artifactsDir: string): Promise<ContractPipelinePlanningOutputs | null>;
|
|
564
|
-
export {};
|
|
565
509
|
//# sourceMappingURL=contractPipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"AAwBA,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,WAAW,EAIhB,KAAK,SAAS,EACd,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
import { existsSync } from "node:fs";
|
|
23
23
|
import { mkdir, readFile, rename, rm } from "node:fs/promises";
|
|
24
24
|
import { isAbsolute, join, resolve } from "node:path";
|
|
25
|
-
import { writeJsonFile, readOptionalJsonFile, formatValidationIssues, hashContent, isRecord, withFsRetry, projectApprovedFindings, captureStepBoundaryFriction, climbOutOfAuditTools, partitionCommandsByDeclaredShape,
|
|
25
|
+
import { writeJsonFile, readOptionalJsonFile, formatValidationIssues, hashContent, isRecord, withFsRetry, projectApprovedFindings, captureStepBoundaryFriction, climbOutOfAuditTools, partitionCommandsByDeclaredShape, normalizeRepoPath, repoRelativePath, } from "audit-tools/shared";
|
|
26
26
|
import { createStepEmissionScaffold, } from "../../shared/steps/stepEmissionScaffold.js";
|
|
27
27
|
import { counterexampleFingerprint } from "../contractPipeline/counterexampleFingerprint.js";
|
|
28
|
+
import { OBLIGATION_KIND_PRIORITY, } from "../contractPipeline/obligationKinds.js";
|
|
28
29
|
import { CP_ARTIFACT_NAMES, contractArtifactExists, contractArtifactFilePath, contractInputFilePath, contractPipelineDir, detectStaleArtifacts, envelopePayload, envelopeSemanticHash, isEnvelope, pathASeedFilePath, payloadSemanticHash, readContractArtifact, stampToolCreatedAt, writeContractArtifact, writeDerivedContractArtifact, } from "../contractPipeline/artifactStore.js";
|
|
29
30
|
import { readIntakeRiskSignal, writeIntakeRiskSignal, escalateRiskSignal, decompositionRiskEvidence, adversarialDepthForTier, roundTripGranularityForTier, } from "../riskSignal.js";
|
|
30
31
|
import { phaseOrdinalForObligations, moduleSlug, renderPhaseCutSection, } from "../contractPipeline/phaseCut.js";
|
|
@@ -42,11 +43,10 @@ import { renderContractPipelinePrompt, renderContractRepairPrompt, CONTRACT_PIPE
|
|
|
42
43
|
// (the branch-on-evaluated rule). What remains here are the checks that are not
|
|
43
44
|
// part of that eight-gate set.
|
|
44
45
|
import { CONTRACT_PIPELINE_VALIDATORS, CP_MODULE_CONTRACTS_VERSION, validateGoalIdConsistency, validateWorkBlockSeamPreparation, validateContractCitationGrounding, } from "../validation/contractPipeline.js";
|
|
45
|
-
// Imported from the gate module
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
import { evaluateContractPipelineCrossGateOutcomes, enumerateRepoTreePaths, isInsideGitWorkTree, isTestablePhaseObligation, TESTABLE_OBLIGATION_KINDS, } from "../validation/contractPipelineGates.js";
|
|
46
|
+
// Imported from the owning gate module directly (as derive.ts does): this
|
|
47
|
+
// loop-core path consumes the single outcome-based entry point and its
|
|
48
|
+
// evaluated/skipped vocabulary together.
|
|
49
|
+
import { evaluateContractPipelineCrossGateOutcomes, enumerateRepoTreePaths, isInsideGitWorkTree, isTestablePhaseObligation, } from "../validation/contractPipelineGates.js";
|
|
50
50
|
import { compareCodeUnits } from "../../shared/compareCodeUnits.js";
|
|
51
51
|
import { writeCurrentStep } from "./stepWriter.js";
|
|
52
52
|
import { loaderCommand } from "./prompts.js";
|
|
@@ -2793,21 +2793,11 @@ async function buildReReviewSection(phase, artifactsDir) {
|
|
|
2793
2793
|
* `undefined` — so a ledger kind outside these four promoted a finding with
|
|
2794
2794
|
* `lens: undefined`.
|
|
2795
2795
|
*
|
|
2796
|
-
*
|
|
2797
|
-
*
|
|
2798
|
-
*
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
* • SEMANTICS — an unrecognized kind is not dropped or cast. It is routed
|
|
2802
|
-
* through the gate module's own `isTestablePhaseObligation` predicate, so
|
|
2803
|
-
* the two modules answer "is this kind testable?" with ONE implementation.
|
|
2804
|
-
*/
|
|
2805
|
-
export const OBLIGATION_KIND_PRIORITY = [
|
|
2806
|
-
"test",
|
|
2807
|
-
"structural",
|
|
2808
|
-
"behavioral",
|
|
2809
|
-
"invariant",
|
|
2810
|
-
];
|
|
2796
|
+
* Membership and priority are now derived from the single definition list in
|
|
2797
|
+
* `contractPipeline/obligationKinds.ts`. An unrecognized kind is not dropped or
|
|
2798
|
+
* cast: it is routed through the shared `isTestablePhaseObligation` predicate.
|
|
2799
|
+
*/
|
|
2800
|
+
export { OBLIGATION_KIND_PRIORITY };
|
|
2811
2801
|
const OBLIGATION_KIND_SET = new Set(OBLIGATION_KIND_PRIORITY);
|
|
2812
2802
|
/**
|
|
2813
2803
|
* Classify a raw ledger `kind` string (which the ledger types as a bare
|
|
@@ -2821,17 +2811,6 @@ export function classifyObligationKind(kind) {
|
|
|
2821
2811
|
return kind;
|
|
2822
2812
|
return isTestablePhaseObligation(kind) ? "behavioral" : "structural";
|
|
2823
2813
|
}
|
|
2824
|
-
/**
|
|
2825
|
-
* Kinds the gate module declares TESTABLE that this module's vocabulary does
|
|
2826
|
-
* not carry — the drift MNT-114e4941-3 names, reported as data so a contract
|
|
2827
|
-
* test can go red on it instead of a reviewer having to notice.
|
|
2828
|
-
* Empty when the two agree.
|
|
2829
|
-
*/
|
|
2830
|
-
export function obligationKindVocabularyDivergence() {
|
|
2831
|
-
return [...TESTABLE_OBLIGATION_KINDS]
|
|
2832
|
-
.filter((kind) => !OBLIGATION_KIND_SET.has(kind))
|
|
2833
|
-
.sort();
|
|
2834
|
-
}
|
|
2835
2814
|
function deriveObligationLensAndSeverity(kinds) {
|
|
2836
2815
|
if (kinds.length === 0) {
|
|
2837
2816
|
return { lens: "correctness", severity: "medium" };
|
|
@@ -3314,52 +3293,4 @@ export async function promoteImplementationDagToExtractedPlan(artifactsDir, root
|
|
|
3314
3293
|
};
|
|
3315
3294
|
await writeJsonFile(paths.extractedPlan, extractedPlan);
|
|
3316
3295
|
}
|
|
3317
|
-
/**
|
|
3318
|
-
* Read the pinned planning outputs for a run, or null when no plan has been
|
|
3319
|
-
* promoted yet.
|
|
3320
|
-
*/
|
|
3321
|
-
export async function readContractPipelinePlanningOutputs(artifactsDir) {
|
|
3322
|
-
const plan = await readOptionalJsonFile(intakePaths(artifactsDir).extractedPlan);
|
|
3323
|
-
if (!plan)
|
|
3324
|
-
return null;
|
|
3325
|
-
const stringsOf = (value) => Array.isArray(value) ? value.filter((v) => typeof v === "string") : [];
|
|
3326
|
-
const blocks = (Array.isArray(plan.blocks) ? plan.blocks : [])
|
|
3327
|
-
.map((block) => ({
|
|
3328
|
-
block_id: typeof block.block_id === "string" ? block.block_id : "",
|
|
3329
|
-
items: stringsOf(block.items),
|
|
3330
|
-
touched_files: stringsOf(block.touched_files),
|
|
3331
|
-
targeted_commands: stringsOf(block.targeted_commands),
|
|
3332
|
-
}))
|
|
3333
|
-
.sort((left, right) => compareCodeUnits(left.block_id, right.block_id));
|
|
3334
|
-
const findingBytes = new Map();
|
|
3335
|
-
for (const finding of Array.isArray(plan.findings) ? plan.findings : []) {
|
|
3336
|
-
if (typeof finding.id !== "string")
|
|
3337
|
-
continue;
|
|
3338
|
-
const text = `${String(finding.title ?? "")}\n${String(finding.summary ?? "")}`;
|
|
3339
|
-
findingBytes.set(finding.id, Buffer.byteLength(text, "utf8"));
|
|
3340
|
-
}
|
|
3341
|
-
const claimCounts = new Map();
|
|
3342
|
-
for (const block of blocks) {
|
|
3343
|
-
for (const item of block.items) {
|
|
3344
|
-
claimCounts.set(item, (claimCounts.get(item) ?? 0) + 1);
|
|
3345
|
-
}
|
|
3346
|
-
}
|
|
3347
|
-
const findingIds = [...findingBytes.keys()].sort((left, right) => compareCodeUnits(left, right));
|
|
3348
|
-
return {
|
|
3349
|
-
block_membership: blocks,
|
|
3350
|
-
coverage: {
|
|
3351
|
-
finding_ids: findingIds,
|
|
3352
|
-
exhaustive_once: findingIds.length > 0 &&
|
|
3353
|
-
findingIds.every((id) => claimCounts.get(id) === 1) &&
|
|
3354
|
-
[...claimCounts.keys()].every((id) => findingBytes.has(id)),
|
|
3355
|
-
},
|
|
3356
|
-
token_estimates: blocks.map((block) => ({
|
|
3357
|
-
block_id: block.block_id,
|
|
3358
|
-
estimated_tokens: estimateTokensFromBytes(block.items.reduce((total, item) => total + (findingBytes.get(item) ?? 0), 0)),
|
|
3359
|
-
})),
|
|
3360
|
-
seed_source_digests: [
|
|
3361
|
-
...((await readOptionalJsonFile(pathASeedFilePath(artifactsDir)))?.source_digests ?? []),
|
|
3362
|
-
].sort((left, right) => compareCodeUnits(left.path, right.path)),
|
|
3363
|
-
};
|
|
3364
|
-
}
|
|
3365
3296
|
//# sourceMappingURL=contractPipeline.js.map
|