audit-tools 0.55.4 → 0.55.6
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/dist/audit/cli/auditReviewBindings.d.ts +4 -4
- package/dist/audit/cli/auditStep.d.ts +15 -1
- package/dist/audit/cli/auditStep.d.ts.map +1 -1
- package/dist/audit/cli/auditStep.js +24 -11
- package/dist/audit/cli/auditStep.js.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +3 -1
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/cleanup.d.ts.map +1 -1
- package/dist/audit/cli/cleanup.js +26 -2
- package/dist/audit/cli/cleanup.js.map +1 -1
- package/dist/audit/cli/conceptualDispatch.d.ts +2 -0
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +29 -8
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +37 -3
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +185 -16
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
- package/dist/audit/cli/envelope.d.ts +1 -1
- package/dist/audit/cli/envelope.d.ts.map +1 -1
- package/dist/audit/cli/envelope.js +4 -1
- package/dist/audit/cli/envelope.js.map +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts +30 -0
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +76 -8
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/laneValidators.d.ts +9 -6
- package/dist/audit/cli/laneValidators.d.ts.map +1 -1
- package/dist/audit/cli/laneValidators.js +22 -7
- package/dist/audit/cli/laneValidators.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +3 -0
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +104 -66
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +49 -14
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +169 -68
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +10 -0
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +4 -3
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts +2 -0
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +5 -50
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/validateResultsCommand.d.ts.map +1 -1
- package/dist/audit/cli/validateResultsCommand.js +3 -1
- package/dist/audit/cli/validateResultsCommand.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +14 -14
- package/dist/audit/extractors/fsIntake.d.ts +13 -0
- package/dist/audit/extractors/fsIntake.d.ts.map +1 -1
- package/dist/audit/extractors/fsIntake.js +11 -1
- package/dist/audit/extractors/fsIntake.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +35 -9
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +84 -67
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/io/rollover.d.ts +18 -0
- package/dist/audit/io/rollover.d.ts.map +1 -0
- package/dist/audit/io/rollover.js +152 -0
- package/dist/audit/io/rollover.js.map +1 -0
- package/dist/audit/io/runSnapshot.d.ts +149 -0
- package/dist/audit/io/runSnapshot.d.ts.map +1 -0
- package/dist/audit/io/runSnapshot.js +710 -0
- package/dist/audit/io/runSnapshot.js.map +1 -0
- package/dist/audit/orchestrator/advanceTypes.d.ts +11 -0
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts +9 -0
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +22 -2
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterExtractionExecutor.js +18 -3
- package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/charterPackets.d.ts +11 -1
- package/dist/audit/orchestrator/charterPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterPackets.js +13 -0
- package/dist/audit/orchestrator/charterPackets.js.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +6 -0
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/dependencySlices.d.ts.map +1 -1
- package/dist/audit/orchestrator/dependencySlices.js +35 -11
- package/dist/audit/orchestrator/dependencySlices.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts +9 -0
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +69 -31
- package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts +1 -0
- package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewSnapshot.js +2 -1
- package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +13 -4
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.js +1 -1
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts +8 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js +13 -4
- package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
- package/dist/audit/orchestrator/obligationPolicy.d.ts.map +1 -1
- package/dist/audit/orchestrator/obligationPolicy.js +4 -1
- package/dist/audit/orchestrator/obligationPolicy.js.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts +1 -1
- package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/planningExecutors.js +40 -6
- package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
- package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.js +4 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.js.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.d.ts +20 -0
- package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.js +80 -18
- package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
- package/dist/audit/systemic/reviewFileMap.d.ts +72 -21
- package/dist/audit/systemic/reviewFileMap.d.ts.map +1 -1
- package/dist/audit/systemic/reviewFileMap.js +96 -45
- package/dist/audit/systemic/reviewFileMap.js.map +1 -1
- package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts +7 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js +39 -8
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
- package/dist/audit/types.d.ts +12 -12
- package/dist/audit/validation/auditResults.d.ts +1 -0
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +1 -0
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/findingFilter.js +1 -1
- package/dist/remediate/findingFilter.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +1 -0
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +29 -5
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts +1 -1
- package/dist/remediate/phases/triage.d.ts +2 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +46 -25
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/phases/triageConformance.d.ts +14 -0
- package/dist/remediate/phases/triageConformance.d.ts.map +1 -0
- package/dist/remediate/phases/triageConformance.js +189 -0
- package/dist/remediate/phases/triageConformance.js.map +1 -0
- package/dist/remediate/state/decisionConsumption.d.ts +110 -0
- package/dist/remediate/state/decisionConsumption.d.ts.map +1 -0
- package/dist/remediate/state/decisionConsumption.js +122 -0
- package/dist/remediate/state/decisionConsumption.js.map +1 -0
- package/dist/remediate/state/store.d.ts +4 -0
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +16 -0
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +0 -6
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +3 -32
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts +9 -0
- package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/contractConformanceReview.js +32 -14
- package/dist/remediate/steps/dispatch/contractConformanceReview.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostContracts.js +1 -1
- package/dist/remediate/steps/dispatch/hostContracts.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +6 -2
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/dispatch/requiredTests.js +1 -1
- package/dist/remediate/steps/dispatch/requiredTests.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +1 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +8 -52
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +7 -0
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +69 -75
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/prompts.d.ts.map +1 -1
- package/dist/remediate/steps/prompts.js +6 -9
- package/dist/remediate/steps/prompts.js.map +1 -1
- package/dist/remediate/steps/recoverIngest.js +1 -1
- package/dist/remediate/steps/recoverIngest.js.map +1 -1
- package/dist/shared/analyzers/provenance.d.ts +1 -1
- package/dist/shared/analyzers/provenance.js +1 -1
- package/dist/shared/contentKey.d.ts +3 -2
- package/dist/shared/contentKey.d.ts.map +1 -1
- package/dist/shared/contentKey.js +3 -2
- package/dist/shared/contentKey.js.map +1 -1
- package/dist/shared/decompose/charterExtraction.d.ts +200 -13
- package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
- package/dist/shared/decompose/charterExtraction.js +34 -6
- package/dist/shared/decompose/charterExtraction.js.map +1 -1
- package/dist/shared/decompose/systemicChallenge.js +1 -1
- package/dist/shared/decompose/systemicChallenge.js.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +1 -1
- package/dist/shared/engine/obligationEngine.js +1 -1
- package/dist/shared/findings/dedupe.js +1 -1
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/git.d.ts +30 -1
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +65 -6
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/intent/clauseBoundaries.d.ts +1 -0
- package/dist/shared/intent/clauseBoundaries.d.ts.map +1 -1
- package/dist/shared/intent/clauseBoundaries.js +1 -0
- package/dist/shared/intent/clauseBoundaries.js.map +1 -1
- package/dist/shared/intent/pathScope.d.ts +1 -0
- package/dist/shared/intent/pathScope.d.ts.map +1 -1
- package/dist/shared/intent/pathScope.js +1 -0
- package/dist/shared/intent/pathScope.js.map +1 -1
- package/dist/shared/io/nodeWorktreeGuard.d.ts +1 -1
- package/dist/shared/io/nodeWorktreeGuard.js +1 -1
- package/dist/shared/io/pathIdentity.d.ts.map +1 -1
- package/dist/shared/io/pathIdentity.js +1 -0
- package/dist/shared/io/pathIdentity.js.map +1 -1
- package/dist/shared/io/stepContractWriter.d.ts +1 -0
- package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
- package/dist/shared/io/stepContractWriter.js +1 -0
- package/dist/shared/io/stepContractWriter.js.map +1 -1
- package/dist/shared/loopCorePaths.d.ts.map +1 -1
- package/dist/shared/loopCorePaths.js +11 -0
- package/dist/shared/loopCorePaths.js.map +1 -1
- package/dist/shared/prompts.d.ts +2 -0
- package/dist/shared/prompts.d.ts.map +1 -1
- package/dist/shared/prompts.js +8 -2
- package/dist/shared/prompts.js.map +1 -1
- package/dist/shared/submission/ingestReport.d.ts.map +1 -1
- package/dist/shared/submission/ingestReport.js +19 -1
- package/dist/shared/submission/ingestReport.js.map +1 -1
- package/dist/shared/submission/submissionLedger.js +2 -2
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/submission/submissionScan.js +1 -1
- package/dist/shared/submission/submissionScan.js.map +1 -1
- package/dist/shared/tooling/exec.js +2 -2
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/types/charter.d.ts +9 -0
- package/dist/shared/types/charter.d.ts.map +1 -1
- package/dist/shared/types/charter.js +7 -0
- package/dist/shared/types/charter.js.map +1 -1
- package/dist/shared/types/closingActions.js +1 -1
- package/dist/shared/types/closingActions.js.map +1 -1
- package/dist/shared/types/finding.js +2 -2
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/stepContract.js +1 -1
- package/dist/shared/types/stepContract.js.map +1 -1
- package/dist/shared/validation/findingGrounding.d.ts +1 -0
- package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
- package/dist/shared/validation/findingGrounding.js +1 -0
- package/dist/shared/validation/findingGrounding.js.map +1 -1
- package/dist/shared/validation/producerBoundary.d.ts +10 -0
- package/dist/shared/validation/producerBoundary.d.ts.map +1 -0
- package/dist/shared/validation/producerBoundary.js +26 -0
- package/dist/shared/validation/producerBoundary.js.map +1 -0
- package/docs/audit-pkg/contracts.md +6 -2
- package/docs/audit-pkg/operator-guide.md +13 -4
- package/package.json +5 -1
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
// sites-pinned: tests/remediate/phase-triage.test.ts, tests/remediate/host-handoff-corroboration-obligations.test.ts
|
|
2
|
+
import { join, relative } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { readFile, readdir, lstat, readlink } from "node:fs/promises";
|
|
5
|
+
import { hashContent } from "../../shared/hash.js";
|
|
6
|
+
import { stableStringify } from "../../shared/stableStringify.js";
|
|
7
|
+
import { headCommit } from "../../shared/git.js";
|
|
8
|
+
import { AUDIT_TOOLS_DIRNAME, readOptionalJsonFile, writeJsonFile, parseCommandString, resolveWithinRoot } from "audit-tools/shared";
|
|
9
|
+
import { worktreeContentId } from "../steps/gateCommands.js";
|
|
10
|
+
import { checkConformanceSubject, conformanceReviewPaths } from "../steps/dispatch/contractConformanceReview.js";
|
|
11
|
+
import { readSubmissionDocument } from "../../shared/submission/submissionClassifier.js";
|
|
12
|
+
const digest = (value) => hashContent(stableStringify(value));
|
|
13
|
+
/** Historical evidence only; admission continues to use the run's live request and state. */
|
|
14
|
+
export async function archiveConformanceSubjects(artifactsDir, outputDir) {
|
|
15
|
+
const sourceDir = join(artifactsDir, "conformance-review", "subjects");
|
|
16
|
+
let names;
|
|
17
|
+
try {
|
|
18
|
+
names = await readdir(sourceDir);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
if (error.code === "ENOENT")
|
|
22
|
+
return;
|
|
23
|
+
throw error;
|
|
24
|
+
}
|
|
25
|
+
for (const name of names.sort()) {
|
|
26
|
+
if (!/^[a-f0-9]{64}(?:\.review)?\.json$/.test(name))
|
|
27
|
+
throw new Error(`Unexpected conformance subject filename: ${name}`);
|
|
28
|
+
const document = JSON.parse(await readFile(join(sourceDir, name), "utf8"));
|
|
29
|
+
await writeJsonFile(join(outputDir, "remediation-conformance", name), document);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const ObservationSchema = z.object({
|
|
33
|
+
schema_version: z.literal("triage-verification/v1"), producer: z.literal("triage_required_tests"),
|
|
34
|
+
context: z.unknown(), verification: z.array(z.object({ command: z.string().min(1), outcome: z.literal("passed"), exit_code: z.literal(0) }).strict()).min(1),
|
|
35
|
+
}).strict();
|
|
36
|
+
/** The full nonignored tree plus declared files, including ignored deliverables. */
|
|
37
|
+
export async function triageEvidenceContext(root, state, itemId) {
|
|
38
|
+
const unit = state.plan?.units.find(entry => entry.id === itemId);
|
|
39
|
+
if (!unit || !state.plan)
|
|
40
|
+
return null;
|
|
41
|
+
const tree = await worktreeContentId(root);
|
|
42
|
+
const head = await headCommit(root);
|
|
43
|
+
if (!tree || !head)
|
|
44
|
+
return null;
|
|
45
|
+
const files = {};
|
|
46
|
+
const visit = async (relative) => {
|
|
47
|
+
const normalized = relative.replaceAll("\\", "/").replace(/^\.\//u, "");
|
|
48
|
+
if (normalized === ".git" || normalized.startsWith(".git/") || normalized === AUDIT_TOOLS_DIRNAME || normalized.startsWith(AUDIT_TOOLS_DIRNAME + "/"))
|
|
49
|
+
return;
|
|
50
|
+
const stats = await lstat(join(root, relative));
|
|
51
|
+
if (stats.isSymbolicLink())
|
|
52
|
+
files[relative] = digest({ symlink: await readlink(join(root, relative)), target_hash: hashContent(await readFile(join(root, relative))) });
|
|
53
|
+
else if (stats.isDirectory()) {
|
|
54
|
+
files[relative] = "directory";
|
|
55
|
+
for (const child of (await readdir(join(root, relative))).sort())
|
|
56
|
+
await visit(join(relative, child));
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
files[relative] = hashContent(await readFile(join(root, relative)));
|
|
60
|
+
};
|
|
61
|
+
try {
|
|
62
|
+
for (const path of [...new Set([...unit.allowed_files, ...unit.read_paths])].sort())
|
|
63
|
+
await visit(path);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
// Explicit test scripts can live in ignored scratch; bind their bytes too.
|
|
69
|
+
for (const command of unit.required_tests)
|
|
70
|
+
for (const argument of parseCommandString(command).slice(1)) {
|
|
71
|
+
if (argument.startsWith("-"))
|
|
72
|
+
continue;
|
|
73
|
+
const path = resolveWithinRoot(root, argument);
|
|
74
|
+
if (!path)
|
|
75
|
+
continue;
|
|
76
|
+
const rel = relative(root, path);
|
|
77
|
+
try {
|
|
78
|
+
const stats = await lstat(path);
|
|
79
|
+
if (stats.isFile() || stats.isSymbolicLink())
|
|
80
|
+
files[`test:${rel}`] = hashContent(await readFile(path));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (error.code !== "ENOENT")
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
repository_root: root, run_id: state.plan.plan_id, work_item_id: itemId,
|
|
89
|
+
verified_head: head, verified_worktree: tree, declared_file_hashes: files,
|
|
90
|
+
requirements: state.plan.requirements.filter(requirement => unit.requirement_ids.includes(requirement.id)),
|
|
91
|
+
unit, review_revision_sha256: state.plan.review_revision_sha256,
|
|
92
|
+
accepted_counterexamples: (state.plan.review_counterexamples ?? []).filter(example => unit.addresses_counterexample_ids.includes(example.id)),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function triageObservationPath(artifactsDir, runId, itemId) {
|
|
96
|
+
return join(artifactsDir, "conformance-review", `${digest({ run_id: runId, work_item_id: itemId })}.observation.json`);
|
|
97
|
+
}
|
|
98
|
+
export async function readTriageObservation(artifactsDir, runId, itemId, context) {
|
|
99
|
+
const document = await readSubmissionDocument(triageObservationPath(artifactsDir, runId, itemId));
|
|
100
|
+
const parsed = ObservationSchema.safeParse(document.kind === "value" ? document.value : null);
|
|
101
|
+
if (!parsed.success || stableStringify(parsed.data.context) !== stableStringify(context))
|
|
102
|
+
return null;
|
|
103
|
+
const commands = context.unit.required_tests;
|
|
104
|
+
return stableStringify(parsed.data.verification.map(entry => entry.command)) === stableStringify(commands) ? parsed.data : null;
|
|
105
|
+
}
|
|
106
|
+
export async function checkTriageConformance(root, artifactsDir, state, itemId, context) {
|
|
107
|
+
const unit = state.plan.units.find(entry => entry.id === itemId);
|
|
108
|
+
const observation = context ? await readTriageObservation(artifactsDir, state.plan.plan_id, itemId, context) : null;
|
|
109
|
+
const checked = await checkConformanceSubject({ artifactsDir, runId: state.plan.plan_id, itemId,
|
|
110
|
+
obligationIds: unit.requirement_ids, content: { context, observation },
|
|
111
|
+
evidenceInstruction: "This is a tool-owned observation, not a host implementation result. Inspect the current working tree identified by verified_worktree and declared_file_hashes, including the required tests and contract. HEAD alone does not identify the reviewed uncommitted source. Explain why the observed tests and source satisfy every obligation. The full tree identity omits ignored files and run scratch; declared deliverables are also hashed explicitly.", });
|
|
112
|
+
if (!observation || stableStringify(await triageEvidenceContext(root, state, itemId)) !== stableStringify(context)) {
|
|
113
|
+
const paths = conformanceReviewPaths(artifactsDir, state.plan.plan_id, itemId);
|
|
114
|
+
return { ok: false, issue: { code: "conformance_review_required", work_item_id: itemId, result_path: paths.response, review_request_path: paths.request, message: "The working-tree verification context is unavailable or changed. Keep this unit blocked; resume against stable readable source before obtaining conformance review." } };
|
|
115
|
+
}
|
|
116
|
+
return checked;
|
|
117
|
+
}
|
|
118
|
+
export async function writeTriageObservation(artifactsDir, runId, itemId, context, commands) {
|
|
119
|
+
await writeJsonFile(triageObservationPath(artifactsDir, runId, itemId), { schema_version: "triage-verification/v1", producer: "triage_required_tests", context,
|
|
120
|
+
verification: commands.map(command => ({ command, outcome: "passed", exit_code: 0 })),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/** Successful terminal units must retain the receipt for their current review subject. */
|
|
124
|
+
export async function assertSuccessfulConformance(root, artifactsDir, state) {
|
|
125
|
+
if (!state.conformance_review?.enabled || !state.plan)
|
|
126
|
+
return;
|
|
127
|
+
for (const unit of state.plan.units) {
|
|
128
|
+
const item = state.items?.[unit.id];
|
|
129
|
+
if (!item || (item.status !== "resolved" && item.status !== "resolved_no_change"))
|
|
130
|
+
continue;
|
|
131
|
+
const fail = () => { throw new Error(`conformance_review_required: ${unit.id} lacks a current independently reviewed success receipt.`); };
|
|
132
|
+
const receipt = item.conformance_review;
|
|
133
|
+
if (!receipt || receipt.review.mode !== "independent")
|
|
134
|
+
fail();
|
|
135
|
+
const paths = conformanceReviewPaths(artifactsDir, state.plan.plan_id, unit.id);
|
|
136
|
+
const request = await readOptionalJsonFile(paths.request);
|
|
137
|
+
if (!request || request.binding !== receipt.binding || digest(request.content) !== receipt.binding)
|
|
138
|
+
fail();
|
|
139
|
+
const content = request.content;
|
|
140
|
+
if ("observation" in content) {
|
|
141
|
+
const context = await triageEvidenceContext(root, state, unit.id);
|
|
142
|
+
const observation = context && await readTriageObservation(artifactsDir, state.plan.plan_id, unit.id, context);
|
|
143
|
+
if (!observation || digest({ context, observation }) !== receipt.binding)
|
|
144
|
+
fail();
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const requirements = state.plan.requirements.filter(requirement => unit.requirement_ids.includes(requirement.id));
|
|
148
|
+
const examples = (state.plan.review_counterexamples ?? []).filter(example => unit.addresses_counterexample_ids.includes(example.id));
|
|
149
|
+
if (content.run_id !== state.plan.plan_id || content.work_item_id !== unit.id || content.review_revision_sha256 !== state.plan.review_revision_sha256 ||
|
|
150
|
+
stableStringify(content.unit) !== stableStringify(unit) || stableStringify(content.requirements) !== stableStringify(requirements) ||
|
|
151
|
+
stableStringify(content.accepted_counterexamples) !== stableStringify(examples))
|
|
152
|
+
fail();
|
|
153
|
+
// Host success is a review of immutable committed evidence; later units may land.
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/** Refresh stale mutable-tree successes, or abandon them after an explicit halt; retain historical receipts. */
|
|
158
|
+
export async function reopenStaleTriageSuccesses(root, artifactsDir, state) {
|
|
159
|
+
if (!state.conformance_review?.enabled || !state.plan)
|
|
160
|
+
return false;
|
|
161
|
+
let reopened = false;
|
|
162
|
+
for (const unit of state.plan.units) {
|
|
163
|
+
const item = state.items?.[unit.id];
|
|
164
|
+
if (item?.status !== "resolved_no_change" || !item.conformance_review)
|
|
165
|
+
continue;
|
|
166
|
+
const request = await readOptionalJsonFile(conformanceReviewPaths(artifactsDir, state.plan.plan_id, unit.id).request);
|
|
167
|
+
if (!request || !("observation" in request.content))
|
|
168
|
+
continue;
|
|
169
|
+
const context = await triageEvidenceContext(root, state, unit.id);
|
|
170
|
+
const observation = context && await readTriageObservation(artifactsDir, state.plan.plan_id, unit.id, context);
|
|
171
|
+
if (!observation || digest({ context, observation }) !== item.conformance_review.binding) {
|
|
172
|
+
if (state.closing_context === "user_halted") {
|
|
173
|
+
item.status = "abandoned";
|
|
174
|
+
item.failure_reason = "The owner halted this run after the reviewed tool-owned success observation became stale. Historical conformance evidence is retained; current success is not claimed.";
|
|
175
|
+
item.completed_at = new Date().toISOString();
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
item.status = "blocked";
|
|
179
|
+
item.failure_reason = "The working tree changed since this tool-owned success observation was reviewed. Reverify and obtain a current bound review.";
|
|
180
|
+
delete item.completed_at;
|
|
181
|
+
}
|
|
182
|
+
reopened = true;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (reopened && state.closing_context !== "user_halted")
|
|
186
|
+
state.status = "triage";
|
|
187
|
+
return reopened;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=triageConformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triageConformance.js","sourceRoot":"","sources":["../../../src/remediate/phases/triageConformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { RemediationPlan, RemediationItemState } from "./types.js";
|
|
3
|
+
interface DecisionState {
|
|
4
|
+
plan?: RemediationPlan;
|
|
5
|
+
items?: Record<string, RemediationItemState>;
|
|
6
|
+
started_at?: string;
|
|
7
|
+
decision_applications?: DecisionApplicationReceipt[];
|
|
8
|
+
}
|
|
9
|
+
export declare const DecisionApplicationReceiptSchema: z.ZodObject<{
|
|
10
|
+
input: z.ZodEnum<["clarification_resolution.json", "triage_resolution.json"]>;
|
|
11
|
+
input_sha256: z.ZodString;
|
|
12
|
+
input_identity_sha256: z.ZodString;
|
|
13
|
+
context_sha256: z.ZodString;
|
|
14
|
+
run_id: z.ZodString;
|
|
15
|
+
revision_sha256: z.ZodString;
|
|
16
|
+
applied_at: z.ZodString;
|
|
17
|
+
cleanup_complete: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
retry_results: z.ZodArray<z.ZodObject<{
|
|
19
|
+
path: z.ZodEffects<z.ZodString, string, string>;
|
|
20
|
+
sha256: z.ZodString;
|
|
21
|
+
identity_sha256: z.ZodString;
|
|
22
|
+
}, "strict", z.ZodTypeAny, {
|
|
23
|
+
path: string;
|
|
24
|
+
sha256: string;
|
|
25
|
+
identity_sha256: string;
|
|
26
|
+
}, {
|
|
27
|
+
path: string;
|
|
28
|
+
sha256: string;
|
|
29
|
+
identity_sha256: string;
|
|
30
|
+
}>, "many">;
|
|
31
|
+
outcome: z.ZodOptional<z.ZodObject<{
|
|
32
|
+
resolved_at: z.ZodString;
|
|
33
|
+
items: z.ZodArray<z.ZodObject<{
|
|
34
|
+
unit_id: z.ZodString;
|
|
35
|
+
action: z.ZodString;
|
|
36
|
+
}, "strict", z.ZodTypeAny, {
|
|
37
|
+
unit_id: string;
|
|
38
|
+
action: string;
|
|
39
|
+
}, {
|
|
40
|
+
unit_id: string;
|
|
41
|
+
action: string;
|
|
42
|
+
}>, "many">;
|
|
43
|
+
}, "strict", z.ZodTypeAny, {
|
|
44
|
+
items: {
|
|
45
|
+
unit_id: string;
|
|
46
|
+
action: string;
|
|
47
|
+
}[];
|
|
48
|
+
resolved_at: string;
|
|
49
|
+
}, {
|
|
50
|
+
items: {
|
|
51
|
+
unit_id: string;
|
|
52
|
+
action: string;
|
|
53
|
+
}[];
|
|
54
|
+
resolved_at: string;
|
|
55
|
+
}>>;
|
|
56
|
+
}, "strict", z.ZodTypeAny, {
|
|
57
|
+
run_id: string;
|
|
58
|
+
input: "clarification_resolution.json" | "triage_resolution.json";
|
|
59
|
+
revision_sha256: string;
|
|
60
|
+
input_sha256: string;
|
|
61
|
+
input_identity_sha256: string;
|
|
62
|
+
context_sha256: string;
|
|
63
|
+
applied_at: string;
|
|
64
|
+
retry_results: {
|
|
65
|
+
path: string;
|
|
66
|
+
sha256: string;
|
|
67
|
+
identity_sha256: string;
|
|
68
|
+
}[];
|
|
69
|
+
outcome?: {
|
|
70
|
+
items: {
|
|
71
|
+
unit_id: string;
|
|
72
|
+
action: string;
|
|
73
|
+
}[];
|
|
74
|
+
resolved_at: string;
|
|
75
|
+
} | undefined;
|
|
76
|
+
cleanup_complete?: boolean | undefined;
|
|
77
|
+
}, {
|
|
78
|
+
run_id: string;
|
|
79
|
+
input: "clarification_resolution.json" | "triage_resolution.json";
|
|
80
|
+
revision_sha256: string;
|
|
81
|
+
input_sha256: string;
|
|
82
|
+
input_identity_sha256: string;
|
|
83
|
+
context_sha256: string;
|
|
84
|
+
applied_at: string;
|
|
85
|
+
retry_results: {
|
|
86
|
+
path: string;
|
|
87
|
+
sha256: string;
|
|
88
|
+
identity_sha256: string;
|
|
89
|
+
}[];
|
|
90
|
+
outcome?: {
|
|
91
|
+
items: {
|
|
92
|
+
unit_id: string;
|
|
93
|
+
action: string;
|
|
94
|
+
}[];
|
|
95
|
+
resolved_at: string;
|
|
96
|
+
} | undefined;
|
|
97
|
+
cleanup_complete?: boolean | undefined;
|
|
98
|
+
}>;
|
|
99
|
+
export type DecisionApplicationReceipt = z.infer<typeof DecisionApplicationReceiptSchema>;
|
|
100
|
+
/** Hash and parse consumers use the same open-file snapshot, even if its path is replaced. */
|
|
101
|
+
export declare function readDecisionSnapshot(path: string): Promise<{
|
|
102
|
+
bytes: string;
|
|
103
|
+
sha256: string;
|
|
104
|
+
identity_sha256: string;
|
|
105
|
+
} | undefined>;
|
|
106
|
+
export declare function decisionContextDigest(state: DecisionState): string;
|
|
107
|
+
/** Only a durably committed receipt may authorize cleanup; mismatching replacement bytes survive. */
|
|
108
|
+
export declare function reconcileDecisionCleanup(state: DecisionState, artifactsDir: string): Promise<boolean>;
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=decisionConsumption.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisionConsumption.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/decisionConsumption.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,0BAA0B,EAAE,CAAC;CACtD;AAGD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWlC,CAAC;AACZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,8FAA8F;AAC9F,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAgBxI;AAwBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAUlE;AAED,qGAAqG;AACrG,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6B3G"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// sites-pinned: tests/remediate/decision-consumption-recovery.test.ts, tests/remediate/clarification-round-contract.test.ts
|
|
2
|
+
import { open, rename, link, unlink } from "node:fs/promises";
|
|
3
|
+
import { isAbsolute, join } from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { compareCodeUnits, hashContent, stableStringify, withFsRetry, writeJsonFile } from "audit-tools/shared";
|
|
6
|
+
const Digest = z.string().regex(/^[0-9a-f]{64}$/u);
|
|
7
|
+
export const DecisionApplicationReceiptSchema = z.object({
|
|
8
|
+
input: z.enum(["clarification_resolution.json", "triage_resolution.json"]),
|
|
9
|
+
input_sha256: Digest,
|
|
10
|
+
input_identity_sha256: Digest,
|
|
11
|
+
context_sha256: Digest,
|
|
12
|
+
run_id: z.string().min(1),
|
|
13
|
+
revision_sha256: Digest,
|
|
14
|
+
applied_at: z.string().datetime(),
|
|
15
|
+
cleanup_complete: z.boolean().optional(),
|
|
16
|
+
retry_results: z.array(z.object({ path: z.string().min(1).refine(path => !isAbsolute(path) && !path.split(/[\\/]/u).includes("..")), sha256: Digest, identity_sha256: Digest }).strict()),
|
|
17
|
+
outcome: z.object({ resolved_at: z.string().datetime(), items: z.array(z.object({ unit_id: z.string(), action: z.string() }).strict()) }).strict().optional(),
|
|
18
|
+
}).strict();
|
|
19
|
+
/** Hash and parse consumers use the same open-file snapshot, even if its path is replaced. */
|
|
20
|
+
export async function readDecisionSnapshot(path) {
|
|
21
|
+
let handle;
|
|
22
|
+
try {
|
|
23
|
+
handle = await open(path, "r");
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (error.code === "ENOENT")
|
|
27
|
+
return undefined;
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
try {
|
|
31
|
+
const before = await handle.stat();
|
|
32
|
+
const data = await handle.readFile();
|
|
33
|
+
const bytes = data.toString("utf8");
|
|
34
|
+
const after = await handle.stat();
|
|
35
|
+
if (before.mtimeMs !== after.mtimeMs || before.size !== after.size)
|
|
36
|
+
throw new Error("Operator input changed while reading; retry without accepting it.");
|
|
37
|
+
const inputDigest = hashContent(data);
|
|
38
|
+
const identity_sha256 = hashContent(stableStringify({
|
|
39
|
+
sha256: inputDigest, dev: after.dev, ino: after.ino, birthtime: after.birthtimeMs, mtime: after.mtimeMs, size: after.size,
|
|
40
|
+
}));
|
|
41
|
+
return { bytes, sha256: inputDigest, identity_sha256 };
|
|
42
|
+
}
|
|
43
|
+
finally {
|
|
44
|
+
await handle.close();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function archiveCommittedSnapshot(path, expected, archive) {
|
|
48
|
+
const staged = `${archive}.pending-cleanup`;
|
|
49
|
+
// A crash after rename resumes from this deterministic path before examining a replacement at the live path.
|
|
50
|
+
if (!(await readDecisionSnapshot(staged))) {
|
|
51
|
+
try {
|
|
52
|
+
await withFsRetry(() => rename(path, staged));
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (error.code === "ENOENT")
|
|
56
|
+
return;
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const snapshot = await readDecisionSnapshot(staged);
|
|
61
|
+
if (!snapshot)
|
|
62
|
+
return;
|
|
63
|
+
if (snapshot.sha256 === expected.sha256 && snapshot.identity_sha256 === expected.identity_sha256) {
|
|
64
|
+
await withFsRetry(() => rename(staged, archive));
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// Hard-link restoration cannot overwrite a newer file that landed after staging.
|
|
68
|
+
// When a newer live file exists, retain the unmatched staged evidence alongside it.
|
|
69
|
+
try {
|
|
70
|
+
await link(staged, path);
|
|
71
|
+
await unlink(staged);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (error.code !== "EEXIST")
|
|
75
|
+
throw error;
|
|
76
|
+
await withFsRetry(() => rename(staged, `${archive}.replacement-preserved`));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
export function decisionContextDigest(state) {
|
|
80
|
+
return hashContent(stableStringify({
|
|
81
|
+
plan_id: state.plan?.plan_id, revision: state.plan?.review_revision_sha256,
|
|
82
|
+
started_at: state.started_at,
|
|
83
|
+
items: Object.values(state.items ?? {}).map(item => ({
|
|
84
|
+
unit_id: item.unit_id, status: item.status, rework_count: item.rework_count ?? 0,
|
|
85
|
+
question: item.clarification_question, failure_reason: item.failure_reason,
|
|
86
|
+
last_successful_step: item.last_successful_step,
|
|
87
|
+
})).sort((a, b) => compareCodeUnits(a.unit_id, b.unit_id)),
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
/** Only a durably committed receipt may authorize cleanup; mismatching replacement bytes survive. */
|
|
91
|
+
export async function reconcileDecisionCleanup(state, artifactsDir) {
|
|
92
|
+
let changed = false;
|
|
93
|
+
for (const receipt of state.decision_applications ?? []) {
|
|
94
|
+
try {
|
|
95
|
+
if (receipt.cleanup_complete) {
|
|
96
|
+
const input = join(artifactsDir, receipt.input);
|
|
97
|
+
const archive = `${input}.stale-${receipt.context_sha256}-${receipt.input_identity_sha256}`;
|
|
98
|
+
const staged = await readDecisionSnapshot(`${archive}.pending-cleanup`);
|
|
99
|
+
const snapshot = await readDecisionSnapshot(input);
|
|
100
|
+
if (staged || (snapshot?.sha256 === receipt.input_sha256 && snapshot.identity_sha256 === receipt.input_identity_sha256)) {
|
|
101
|
+
await archiveCommittedSnapshot(input, { sha256: receipt.input_sha256, identity_sha256: receipt.input_identity_sha256 }, archive);
|
|
102
|
+
}
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (receipt.outcome)
|
|
106
|
+
await writeJsonFile(join(artifactsDir, "triage-outcome.json"), receipt.outcome);
|
|
107
|
+
for (const result of receipt.retry_results) {
|
|
108
|
+
const path = join(artifactsDir, result.path);
|
|
109
|
+
await archiveCommittedSnapshot(path, result, `${path}.stale-${receipt.context_sha256}-${result.identity_sha256}`);
|
|
110
|
+
}
|
|
111
|
+
const input = join(artifactsDir, receipt.input);
|
|
112
|
+
await archiveCommittedSnapshot(input, { sha256: receipt.input_sha256, identity_sha256: receipt.input_identity_sha256 }, `${input}.consumed-${receipt.context_sha256}-${receipt.input_identity_sha256}`);
|
|
113
|
+
receipt.cleanup_complete = true;
|
|
114
|
+
changed = true;
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
throw new Error(`Operator decision is committed; pending cleanup for ${receipt.input}. Resume to reconcile cleanup before continuing.`, { cause: error });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return changed;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=decisionConsumption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisionConsumption.js","sourceRoot":"","sources":["../../../src/remediate/state/decisionConsumption.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type DecisionApplicationReceipt } from "./decisionConsumption.js";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import { SKIP_WRITE } from "audit-tools/shared";
|
|
3
4
|
import { type ConformanceReviewBinding, RemediationPlan, type FindingDisposition, type SourceVerification, RemediationItemState, ClosingPlan, CoverageLedger, RemediationHostHandoffRecord } from "./types.js";
|
|
@@ -86,6 +87,7 @@ export interface RemediationState {
|
|
|
86
87
|
*/
|
|
87
88
|
contract_version?: typeof REMEDIATION_STATE_CONTRACT_VERSION;
|
|
88
89
|
status: RemediationRunStatus;
|
|
90
|
+
decision_applications?: DecisionApplicationReceipt[];
|
|
89
91
|
/** Tool-minted current-run snapshot; survives handoff/frontier replacement. */
|
|
90
92
|
conformance_review?: ConformanceReviewBinding;
|
|
91
93
|
plan?: RemediationPlan;
|
|
@@ -198,6 +200,8 @@ export declare class StateStore {
|
|
|
198
200
|
* that no concurrent writer exists (e.g. single-agent close phase).
|
|
199
201
|
*/
|
|
200
202
|
saveState(state: RemediationState): Promise<void>;
|
|
203
|
+
/** Caller holds the existing phase lock, including startup before ordinary decisions. */
|
|
204
|
+
reconcileDecisionApplications(state: RemediationState): Promise<void>;
|
|
201
205
|
}
|
|
202
206
|
export {};
|
|
203
207
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAKL,UAAU,EAKX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,wBAAwB,EAC7B,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAGvB,oBAAoB,EACpB,WAAW,EAEX,cAAc,EACd,4BAA4B,EAE7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAC7C,yBAAkC,CAAC;AAKrC,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,EAAG,mCAA4C,CAAC;AACvF,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBlB,CAAC;AACZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,kCAAkC,CAAC;IAC7D,MAAM,EAAE,oBAAoB,CAAC;IAC7B,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,YAAY,CAAC,EAAE,4BAA4B,CAAC;CAC7C;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// sites-pinned: tests/remediate/clarification-round-contract.test.ts, tests/remediate/phase-triage.test.ts
|
|
2
|
+
import { DecisionApplicationReceiptSchema, reconcileDecisionCleanup } from "./decisionConsumption.js";
|
|
1
3
|
// sites-pinned: tests/remediate/clarification-round-contract.test.ts
|
|
2
4
|
import { z } from "zod";
|
|
3
5
|
import { executionPlanReferenceIssues } from "../../shared/types/executionPlan.js";
|
|
@@ -152,6 +154,8 @@ function validateState(value) {
|
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
}
|
|
157
|
+
if (obj["decision_applications"] !== undefined && !z.array(DecisionApplicationReceiptSchema).safeParse(obj["decision_applications"]).success)
|
|
158
|
+
errors.push("decision_applications contains invalid application receipts");
|
|
155
159
|
errors.push(...clarificationQuestionErrors(obj));
|
|
156
160
|
if (status === "closing") {
|
|
157
161
|
const closingPlan = obj["closing_plan"];
|
|
@@ -404,6 +408,18 @@ export class StateStore {
|
|
|
404
408
|
// path must not be the one door a worker-context write can still use.
|
|
405
409
|
assertNotNodeWorktreeCwd("a remediation state.json write");
|
|
406
410
|
await this.store.replace(stampedState(state));
|
|
411
|
+
await this.reconcileDecisionApplications(state);
|
|
412
|
+
}
|
|
413
|
+
/** Caller holds the existing phase lock, including startup before ordinary decisions. */
|
|
414
|
+
async reconcileDecisionApplications(state) {
|
|
415
|
+
if (await reconcileDecisionCleanup(state, this.artifactsDir)) {
|
|
416
|
+
try {
|
|
417
|
+
await this.store.replace(stampedState(state));
|
|
418
|
+
}
|
|
419
|
+
catch (error) {
|
|
420
|
+
throw new Error("Operator decision is committed; pending cleanup receipt persistence. Resume to reconcile before continuing.", { cause: error });
|
|
421
|
+
}
|
|
422
|
+
}
|
|
407
423
|
}
|
|
408
424
|
}
|
|
409
425
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/remediate/state/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,4 @@ export declare function resolveAdversarialDepth(artifactsDir: string): Promise<{
|
|
|
14
14
|
export declare function writePathASeedFromFindings(artifactsDir: string, sourcePath: string, payload: unknown): Promise<void>;
|
|
15
15
|
/** One author/revision loop, with independent review over the executable plan itself. */
|
|
16
16
|
export declare function buildNextContractPipelineStep(options: ContractPipelineStepOptions): Promise<RemediationStep | null>;
|
|
17
|
-
export interface BlockWriteScopeNormalization {
|
|
18
|
-
touched_files: string[];
|
|
19
|
-
refusals: string[];
|
|
20
|
-
}
|
|
21
|
-
export declare function normalizeBlockTouchedFiles(root: string, files: readonly string[], id: string): BlockWriteScopeNormalization;
|
|
22
|
-
export declare function checkWriteScopePathsAgainstTrackedTree(root: string, paths: readonly string[], label: string): Promise<string[]>;
|
|
23
17
|
//# sourceMappingURL=contractPipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contractPipeline.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/contractPipeline.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAUlD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CACpG;AAED,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM;;;GAWjE;AAOD,wBAAsB,0BAA0B,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc1H;AA2HD,yFAAyF;AACzF,wBAAsB,6BAA6B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgFzH"}
|