audit-tools 0.42.1 → 0.44.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/laneSubmissions.d.ts +2 -2
- package/dist/audit/cli/laneSubmissions.js +2 -2
- 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 -36
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +34 -77
- 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/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/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/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +14 -2
- package/dist/remediate/phases/triage.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 +296 -15
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +1783 -1001
- package/dist/remediate/steps/contractPipeline.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 +657 -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 -3
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js +10 -2
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts +20 -2
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +224 -130
- 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 +143 -27
- 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/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -0
- 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/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/tooling/commandShape.d.ts +21 -0
- package/dist/shared/tooling/commandShape.d.ts.map +1 -0
- package/dist/shared/tooling/commandShape.js +120 -0
- package/dist/shared/tooling/commandShape.js.map +1 -0
- 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/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/package.json +2 -1
- package/remediate-code.mjs +15 -0
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
- package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { cp, rm, unlink } from "node:fs/promises";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
import { AUDIT_REPORT_FILENAME, AUDIT_FINDINGS_FILENAME, archiveFrictionRecords, auditReportPath, auditFindingsPath, promotedAuditReportPath, promotedAuditFindingsPath, readSubmissionLedger, submissionLedgerPath, } from "audit-tools/shared";
|
|
1
|
+
import { cp, readdir, readFile, rm, unlink } from "node:fs/promises";
|
|
2
|
+
import { basename, dirname, join } from "node:path";
|
|
3
|
+
import { AUDIT_REPORT_FILENAME, AUDIT_FINDINGS_FILENAME, archiveFrictionRecords, frictionCaptureDir, auditReportPath, auditFindingsPath, promotedAuditReportPath, promotedAuditFindingsPath, readSubmissionLedger, submissionLedgerPath, } from "audit-tools/shared";
|
|
4
|
+
// Deep for the same reason: `writeFileAtomic` is newly exported from json.ts and
|
|
5
|
+
// the `audit-tools/shared` barrel (outside this module's write scope) does not
|
|
6
|
+
// re-export it.
|
|
7
|
+
import { writeFileAtomic } from "../../shared/io/json.js";
|
|
4
8
|
import { loadDesignReviewSnapshots, } from "../orchestrator/designReviewSnapshot.js";
|
|
5
9
|
import { loadGraphEdgeCache, writeGraphEdgeCache, } from "../orchestrator/graphEdgeCache.js";
|
|
6
10
|
import { AGENT_FEEDBACK_FILENAME, discardOnSchemaVersionMismatch, isFileMissingError, parseReflectionsNdjson, readOptionalJsonFile, readOptionalNdjsonFile, readOptionalTextFile, throwOnSchemaVersionMismatch, writeJsonFile, writeNdjsonFile, writeTextFile, } from "audit-tools/shared";
|
|
@@ -152,9 +156,18 @@ export async function loadArtifactBundle(root) {
|
|
|
152
156
|
// The submission ledger rides the same read-only NDJSON seam: absent (a run
|
|
153
157
|
// where nothing was ever submitted through a gate) reads as nothing to say.
|
|
154
158
|
const ledger = await readSubmissionLedger(root);
|
|
159
|
+
// BOTH halves, read off the value BEFORE anything transforms it. Gating on
|
|
160
|
+
// `ledger.length > 0` alone meant a ledger whose every line was torn — events
|
|
161
|
+
// empty, dropped non-empty — set no field at all, so the drop signal died on
|
|
162
|
+
// precisely the worst case: the run whose record is least trustworthy looked
|
|
163
|
+
// identical to the run that never drifted.
|
|
164
|
+
const droppedLines = ledger.dropped;
|
|
155
165
|
if (ledger.length > 0) {
|
|
156
166
|
bundle.submission_ledger = ledger;
|
|
157
167
|
}
|
|
168
|
+
if (droppedLines.length > 0) {
|
|
169
|
+
bundle.submission_ledger_dropped = droppedLines;
|
|
170
|
+
}
|
|
158
171
|
return bundle;
|
|
159
172
|
}
|
|
160
173
|
export async function writeCoreArtifacts(root, bundle, options = {}) {
|
|
@@ -192,7 +205,104 @@ export async function writeCoreArtifacts(root, bundle, options = {}) {
|
|
|
192
205
|
await writeGraphEdgeCache(root, bundle.graph_edge_cache);
|
|
193
206
|
}
|
|
194
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* The ONE bar for "this archive is verified", used by BOTH the promotion archive
|
|
210
|
+
* and the canonical write path.
|
|
211
|
+
*
|
|
212
|
+
* Read the copy back and BYTE-COMPARE it. "The copy call did not throw" is a
|
|
213
|
+
* weaker bar, and it was the one guarding the DESTRUCTIVE path: a copy that
|
|
214
|
+
* reported success but landed a truncated or empty file cleared the way for a
|
|
215
|
+
* recursive delete of the only other copy. One helper, so the two paths cannot
|
|
216
|
+
* drift to different standards again.
|
|
217
|
+
*
|
|
218
|
+
* Returns null when verified, or a reason string naming the mismatch.
|
|
219
|
+
*/
|
|
220
|
+
async function verifyArchivedBytes(archivePath, expected) {
|
|
221
|
+
let actual;
|
|
222
|
+
try {
|
|
223
|
+
actual = await readFile(archivePath);
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
return archivePath + " could not be read back (" +
|
|
227
|
+
(error instanceof Error ? error.message : String(error)) + ")";
|
|
228
|
+
}
|
|
229
|
+
return Buffer.compare(actual, expected) === 0
|
|
230
|
+
? null
|
|
231
|
+
: archivePath + " did not read back byte-identical to its source";
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Copy one file into the archive and VERIFY the bytes landed. Throws exactly
|
|
235
|
+
* what the copy threw (so an absent source stays distinguishable through
|
|
236
|
+
* `isFileMissingError`); returns a reason string when the copy "succeeded" but
|
|
237
|
+
* the bytes do not match.
|
|
238
|
+
*/
|
|
239
|
+
async function archiveVerified(copyFn, from, to) {
|
|
240
|
+
const sourceBytes = await readFile(from);
|
|
241
|
+
await copyFn(from, to, { force: true });
|
|
242
|
+
return verifyArchivedBytes(to, sourceBytes);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* artifact:canonical-audit-deliverable-write-path -- the ONE write path to the
|
|
246
|
+
* canonical `.audit-tools/audit-findings.json` + `audit-report.md` pair.
|
|
247
|
+
*
|
|
248
|
+
* ARCHIVE, THEN VERIFY, THEN REPLACE. An existing pair is copied into the
|
|
249
|
+
* history directory and the copy is READ BACK and compared before either
|
|
250
|
+
* destination is overwritten. A copy that is merely attempted-and-warned is not
|
|
251
|
+
* an archive: it leaves the caller believing a prior deliverable was preserved
|
|
252
|
+
* when it may not have been -- the same swallow-the-failure shape
|
|
253
|
+
* DAT-4802dc9e-2 / -3 closed on the promotion side.
|
|
254
|
+
*
|
|
255
|
+
* Refuses rather than replaces: if the archive cannot be verified, the existing
|
|
256
|
+
* pair stays exactly as it was and this throws. Keeping a stale deliverable is
|
|
257
|
+
* recoverable; overwriting an unarchived one is not.
|
|
258
|
+
*
|
|
259
|
+
* CONSUMER DEFERRAL: `remediate-nextstep-and-final-gate` must route its own
|
|
260
|
+
* leftover deliverable through this path and emit to a remediation-owned
|
|
261
|
+
* location instead of writing this pair directly. That edit is CP-NODE-15's,
|
|
262
|
+
* not this node's -- the same mechanical hand-off shape CP-NODE-5 used when it
|
|
263
|
+
* deferred its ledger-read consumers here.
|
|
264
|
+
*/
|
|
265
|
+
export async function writeCanonicalAuditDeliverables(params) {
|
|
266
|
+
const findingsPath = promotedAuditFindingsPath(params.artifactsDir);
|
|
267
|
+
const reportPath = promotedAuditReportPath(params.artifactsDir);
|
|
268
|
+
const historyDir = join(dirname(reportPath), "audit-history", new Date().toISOString().replace(/[:.]/gu, "-"));
|
|
269
|
+
const archived = [];
|
|
270
|
+
for (const existing of [findingsPath, reportPath]) {
|
|
271
|
+
let priorBytes;
|
|
272
|
+
try {
|
|
273
|
+
priorBytes = await readFile(existing);
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
// Nothing there is the ordinary first-write case and archives nothing.
|
|
277
|
+
if (isFileMissingError(error))
|
|
278
|
+
continue;
|
|
279
|
+
throw error;
|
|
280
|
+
}
|
|
281
|
+
const archivePath = join(historyDir, basename(existing));
|
|
282
|
+
await writeFileAtomic(archivePath, priorBytes);
|
|
283
|
+
// VERIFIED, not attempted: read the archive back and compare the bytes. A
|
|
284
|
+
// write that reported success but landed nothing would otherwise clear the
|
|
285
|
+
// way for the replace below.
|
|
286
|
+
const mismatch = await verifyArchivedBytes(archivePath, priorBytes);
|
|
287
|
+
if (mismatch) {
|
|
288
|
+
throw new Error(`audit-code: refusing to replace ${existing} - ${mismatch}, so the existing ` +
|
|
289
|
+
"deliverable is not safely preserved.");
|
|
290
|
+
}
|
|
291
|
+
archived.push(archivePath);
|
|
292
|
+
}
|
|
293
|
+
// TWO ATOMIC WRITES, NOT ONE ATOMIC PAIR. Each destination is replaced
|
|
294
|
+
// atomically, but a crash BETWEEN them leaves the findings JSON and the report
|
|
295
|
+
// markdown skewed - a new machine contract beside a stale human render. That is
|
|
296
|
+
// recoverable: the pre-write pair sits in the verified archive above, so both
|
|
297
|
+
// sides of the skew are reconstructable. A genuinely atomic pair would need a
|
|
298
|
+
// directory-level swap, which this path deliberately does not attempt.
|
|
299
|
+
await writeFileAtomic(findingsPath, `${JSON.stringify(params.findings, null, 2)}
|
|
300
|
+
`);
|
|
301
|
+
await writeFileAtomic(reportPath, params.report);
|
|
302
|
+
return { archived };
|
|
303
|
+
}
|
|
195
304
|
export async function promoteFinalAuditReport(params, options = {}) {
|
|
305
|
+
const lost = [];
|
|
196
306
|
const source = auditReportPath(params.artifactsDir);
|
|
197
307
|
const destination = promotedAuditReportPath(params.artifactsDir);
|
|
198
308
|
const copy = options.copy ?? cp;
|
|
@@ -210,24 +320,66 @@ export async function promoteFinalAuditReport(params, options = {}) {
|
|
|
210
320
|
// Promote the canonical machine contract alongside the human report. Missing
|
|
211
321
|
// (e.g. legacy bundle) or unreadable: best-effort, never blocks completion.
|
|
212
322
|
try {
|
|
213
|
-
await copy
|
|
323
|
+
const mismatch = await archiveVerified(copy, auditFindingsPath(params.artifactsDir), promotedAuditFindingsPath(params.artifactsDir));
|
|
324
|
+
if (mismatch)
|
|
325
|
+
lost.push(AUDIT_FINDINGS_FILENAME + " (" + mismatch + ")");
|
|
214
326
|
}
|
|
215
327
|
catch (error) {
|
|
216
|
-
//
|
|
217
|
-
//
|
|
328
|
+
// The warning is unchanged — an absent findings file (the legacy-bundle
|
|
329
|
+
// case) still announces a partial promotion. What changed is the DELETE
|
|
330
|
+
// GATE: an absent file has nothing to lose, but any OTHER failure means the
|
|
331
|
+
// machine contract is about to be destroyed by the rm below with no copy
|
|
332
|
+
// anywhere, and warning-and-proceeding turned that into silent data loss
|
|
333
|
+
// reported as { promoted: true, cleaned: true }.
|
|
218
334
|
warn(`audit-code: could not promote ${AUDIT_FINDINGS_FILENAME} to ${promotedAuditFindingsPath(params.artifactsDir)}: ` +
|
|
219
335
|
(error instanceof Error ? error.message : String(error)));
|
|
336
|
+
// An ABSENT findings file (the legacy-bundle case) has nothing to lose. Any
|
|
337
|
+
// other failure means the machine contract is about to be destroyed by the
|
|
338
|
+
// rm below with no copy anywhere — DAT-4802dc9e-2 / -3 — so it is recorded
|
|
339
|
+
// as loss and gates the delete.
|
|
340
|
+
if (!isFileMissingError(error)) {
|
|
341
|
+
lost.push(`${AUDIT_FINDINGS_FILENAME} (${error instanceof Error ? error.message : String(error)})`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
// agent-feedback.jsonl is worker-owned, append-only, and lives inside
|
|
345
|
+
// artifactsDir — so the rm below destroys it. It had no archive step at all
|
|
346
|
+
// while the friction records and the ledger beside it both had one
|
|
347
|
+
// (DAT-4802dc9e).
|
|
348
|
+
try {
|
|
349
|
+
const mismatch = await archiveVerified(copy, join(params.artifactsDir, AGENT_FEEDBACK_FILENAME), join(dirname(destination), `audit-${AGENT_FEEDBACK_FILENAME}`));
|
|
350
|
+
if (mismatch)
|
|
351
|
+
lost.push(AGENT_FEEDBACK_FILENAME + " (" + mismatch + ")");
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
if (!isFileMissingError(error)) {
|
|
355
|
+
lost.push(`${AGENT_FEEDBACK_FILENAME} (${error instanceof Error ? error.message : String(error)})`);
|
|
356
|
+
}
|
|
220
357
|
}
|
|
221
358
|
// Archive the friction close-out record with the promoted deliverables BEFORE
|
|
222
359
|
// the rm below destroys it — the walk completed (the close gate enforced it),
|
|
223
360
|
// but no consumer has read the record yet. Best-effort, like the findings copy.
|
|
224
|
-
|
|
361
|
+
// The RETURN is consumed, not discarded. `archiveFrictionRecords` warns per
|
|
362
|
+
// failed file and simply omits it from the archived list, so dropping the
|
|
363
|
+
// return meant a friction record that failed to copy was destroyed by the rm
|
|
364
|
+
// below with nothing gating it - the same class as the findings and ledger
|
|
365
|
+
// archives beside it. Comparing the archived count against what is on disk
|
|
366
|
+
// surfaces a per-file failure without reaching into that module's internals.
|
|
367
|
+
const frictionNames = await readdir(frictionCaptureDir(params.artifactsDir))
|
|
368
|
+
.then((names) => names.filter((name) => name.endsWith(".json")))
|
|
369
|
+
.catch(() => []);
|
|
370
|
+
const archivedFriction = await archiveFrictionRecords({
|
|
225
371
|
artifactsDir: params.artifactsDir,
|
|
226
372
|
destDir: dirname(destination),
|
|
227
373
|
prefix: "audit-friction",
|
|
228
374
|
copyFile: copy,
|
|
229
375
|
warn: (message) => warn(`audit-code: ${message}`),
|
|
230
376
|
});
|
|
377
|
+
if (archivedFriction.length < frictionNames.length) {
|
|
378
|
+
lost.push(String(frictionNames.length - archivedFriction.length) +
|
|
379
|
+
" friction record(s) (archived " +
|
|
380
|
+
String(archivedFriction.length) + " of " +
|
|
381
|
+
String(frictionNames.length) + ")");
|
|
382
|
+
}
|
|
231
383
|
// The submission ledger rides the same seam. It is the only durable statement
|
|
232
384
|
// that a run drifted and was repaired — a rejection, a re-emit, a hand
|
|
233
385
|
// recovery — so letting the tree rm take it would mean the distinction
|
|
@@ -235,8 +387,17 @@ export async function promoteFinalAuditReport(params, options = {}) {
|
|
|
235
387
|
// Best-effort: a run that never drifted has no ledger to archive.
|
|
236
388
|
const ledgerSource = submissionLedgerPath(params.artifactsDir);
|
|
237
389
|
const ledgerDestination = join(dirname(destination), "audit-submission-ledger.jsonl");
|
|
390
|
+
// Read the drops BEFORE the copy and off the reader's own return value: the
|
|
391
|
+
// `dropped` property is non-enumerable, so it would not survive being passed
|
|
392
|
+
// through anything that clones or serializes. The ARCHIVE itself stays a byte
|
|
393
|
+
// copy — never a re-serialization of the parsed events — so the archived file
|
|
394
|
+
// keeps the torn lines the reader could not use. Surfacing the drops is how the
|
|
395
|
+
// RESULT stops claiming a cleaner record than the bytes contain.
|
|
396
|
+
const ledgerDropped = (await readSubmissionLedger(params.artifactsDir)).dropped;
|
|
238
397
|
try {
|
|
239
|
-
await copy
|
|
398
|
+
const mismatch = await archiveVerified(copy, ledgerSource, ledgerDestination);
|
|
399
|
+
if (mismatch)
|
|
400
|
+
lost.push("the submission ledger (" + mismatch + ")");
|
|
240
401
|
}
|
|
241
402
|
catch (error) {
|
|
242
403
|
// A missing ledger is the ordinary case (nothing was ever submitted through
|
|
@@ -245,19 +406,35 @@ export async function promoteFinalAuditReport(params, options = {}) {
|
|
|
245
406
|
// announced, exactly as the friction-archive seam announces its own copy
|
|
246
407
|
// failures. Still best-effort: bookkeeping must not fail a completed audit.
|
|
247
408
|
if (!isFileMissingError(error)) {
|
|
248
|
-
|
|
249
|
-
|
|
409
|
+
// GATES THE DELETE, like every other member of the archive set. Warning
|
|
410
|
+
// and falling through meant the one durable statement that this run
|
|
411
|
+
// drifted and was repaired got destroyed by the rm below - the exact loss
|
|
412
|
+
// the ledger exists to prevent, with only a console line left behind.
|
|
413
|
+
lost.push("the submission ledger (" +
|
|
414
|
+
(error instanceof Error ? error.message : String(error)) + ")");
|
|
250
415
|
}
|
|
251
416
|
}
|
|
417
|
+
const dropped = ledgerDropped.length > 0 ? { ledger_dropped: ledgerDropped } : {};
|
|
418
|
+
// THE DELETE IS CONDITIONED ON VERIFIED COPIES (INV 1). Anything that failed
|
|
419
|
+
// to archive still exists only inside artifactsDir, so removing it destroys
|
|
420
|
+
// the sole copy. Keeping the directory is always recoverable; the delete is
|
|
421
|
+
// not — REL-4802dc9e.
|
|
422
|
+
if (lost.length > 0) {
|
|
423
|
+
const warning = `audit-code: promoted final report to ${destination}, but could NOT archive ` +
|
|
424
|
+
`${lost.join("; ")} — leaving ${params.artifactsDir} in place rather than ` +
|
|
425
|
+
"destroying the only copy. Recover those files, then remove the directory by hand.";
|
|
426
|
+
warn(warning);
|
|
427
|
+
return { promoted: true, cleaned: false, warning, unarchived: lost, ...dropped };
|
|
428
|
+
}
|
|
252
429
|
try {
|
|
253
430
|
await remove(params.artifactsDir, { recursive: true, force: true });
|
|
254
|
-
return { promoted: true, cleaned: true };
|
|
431
|
+
return { promoted: true, cleaned: true, ...dropped };
|
|
255
432
|
}
|
|
256
433
|
catch (error) {
|
|
257
434
|
const warning = `audit-code: promoted final report to ${destination}, but could not remove ${params.artifactsDir}: ` +
|
|
258
435
|
(error instanceof Error ? error.message : String(error));
|
|
259
436
|
warn(warning);
|
|
260
|
-
return { promoted: true, cleaned: false, warning };
|
|
437
|
+
return { promoted: true, cleaned: false, warning, ...dropped };
|
|
261
438
|
}
|
|
262
439
|
}
|
|
263
440
|
//# sourceMappingURL=artifacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { ToolingManifest } from "../types/toolingManifest.js";
|
|
2
2
|
export declare const TOOLING_INPUTS: readonly ["audit-code.mjs", "wrapper/audit-code-wrapper-lib.mjs", "package.json", "dist", "schemas", "skills/audit-code"];
|
|
3
|
+
/**
|
|
4
|
+
* Read `version` from the package.json under `packageRoot`, or `null` when the
|
|
5
|
+
* file is absent, unreadable, malformed, or carries a non-string version — a
|
|
6
|
+
* missing tooling version must never abort manifest construction.
|
|
7
|
+
*
|
|
8
|
+
* Exported and root-parameterized so its failure branch is reachable from a
|
|
9
|
+
* test against a temp directory: the regression it guards (a parse failure that
|
|
10
|
+
* reports to stderr and degrades to `null`) is only actually guarded by a test
|
|
11
|
+
* that runs THIS function, not a copy of it.
|
|
12
|
+
*/
|
|
13
|
+
export declare function readPackageVersion(packageRoot: string): Promise<string | null>;
|
|
3
14
|
export declare function buildToolingManifest(): Promise<ToolingManifest>;
|
|
4
15
|
//# sourceMappingURL=toolingManifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolingManifest.d.ts","sourceRoot":"","sources":["../../../src/audit/io/toolingManifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAWnE,eAAO,MAAM,cAAc,2HAOjB,CAAC;
|
|
1
|
+
{"version":3,"file":"toolingManifest.d.ts","sourceRoot":"","sources":["../../../src/audit/io/toolingManifest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAWnE,eAAO,MAAM,cAAc,2HAOjB,CAAC;AA4BX;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CA0BrE"}
|
|
@@ -37,8 +37,18 @@ async function collectFiles(path) {
|
|
|
37
37
|
}
|
|
38
38
|
return files;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Read `version` from the package.json under `packageRoot`, or `null` when the
|
|
42
|
+
* file is absent, unreadable, malformed, or carries a non-string version — a
|
|
43
|
+
* missing tooling version must never abort manifest construction.
|
|
44
|
+
*
|
|
45
|
+
* Exported and root-parameterized so its failure branch is reachable from a
|
|
46
|
+
* test against a temp directory: the regression it guards (a parse failure that
|
|
47
|
+
* reports to stderr and degrades to `null`) is only actually guarded by a test
|
|
48
|
+
* that runs THIS function, not a copy of it.
|
|
49
|
+
*/
|
|
50
|
+
export async function readPackageVersion(packageRoot) {
|
|
51
|
+
const packageJsonPath = join(packageRoot, "package.json");
|
|
42
52
|
if (!(await pathExists(packageJsonPath))) {
|
|
43
53
|
return null;
|
|
44
54
|
}
|
|
@@ -71,7 +81,7 @@ export async function buildToolingManifest() {
|
|
|
71
81
|
return {
|
|
72
82
|
generated_at: new Date().toISOString(),
|
|
73
83
|
package_root: PACKAGE_ROOT,
|
|
74
|
-
package_version: await readPackageVersion(),
|
|
84
|
+
package_version: await readPackageVersion(PACKAGE_ROOT),
|
|
75
85
|
implementation_hash: hash.digest("hex"),
|
|
76
86
|
inputs: existingInputs,
|
|
77
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolingManifest.js","sourceRoot":"","sources":["../../../src/audit/io/toolingManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,kEAAkE;AAClE,mCAAmC;AACnC,MAAM,YAAY,GAAG,OAAO,CAC1B,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB;IAChB,oCAAoC;IACpC,cAAc;IACd,MAAM;IACN,SAAS;IACT,mBAAmB;CACX,CAAC;AAEX,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB;
|
|
1
|
+
{"version":3,"file":"toolingManifest.js","sourceRoot":"","sources":["../../../src/audit/io/toolingManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,49 @@
|
|
|
1
1
|
import type { ArtifactBundle } from "../io/artifacts.js";
|
|
2
|
+
import type { AuditState } from "../types/auditState.js";
|
|
2
3
|
import type { AdvanceAuditOptions, AdvanceAuditResult } from "./advanceTypes.js";
|
|
3
4
|
export type { AdvanceAuditOptions, AdvanceAuditResult } from "./advanceTypes.js";
|
|
5
|
+
/**
|
|
6
|
+
* Hard ceiling on the internal drain loop. The regen frontier is finite (each
|
|
7
|
+
* deterministic step satisfies at least one obligation and no deterministic
|
|
8
|
+
* executor re-opens an upstream one), so the loop terminates naturally when the
|
|
9
|
+
* next step is a host-delegation boundary / complete / no-runner. This bound is
|
|
10
|
+
* a belt-and-braces guard against an unforeseen re-opening cycle — larger than
|
|
11
|
+
* the deterministic obligation frontier can ever be, so it never trips on a
|
|
12
|
+
* healthy run. Chain-length/index-agnostic: it caps iterations, not a fixed
|
|
13
|
+
* executor index.
|
|
14
|
+
*
|
|
15
|
+
* Kept as a LOCAL cap enforced from inside the drain obligations' `execute`
|
|
16
|
+
* (see `runDrainStep` below) rather than threaded through the shared engine's
|
|
17
|
+
* `advance(..., { maxTransitions })` — that option THROWS once exceeded, while
|
|
18
|
+
* this cap has always been a graceful "stop and hand back the last good
|
|
19
|
+
* result" backstop (the caller simply resumes the drain on its next
|
|
20
|
+
* `next-step` call). Mirrors the CLI fold's (`nextStepHelpers.ts`) established
|
|
21
|
+
* precedent of keeping cycle/step-count bookkeeping in the local `Ctx` rather
|
|
22
|
+
* than in the engine's own transition counter.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MAX_DRAIN_STEPS = 64;
|
|
25
|
+
/**
|
|
26
|
+
* The engine bound, DERIVED from the graceful cap rather than written as a
|
|
27
|
+
* literal at the call site. Raising `MAX_DRAIN_STEPS` therefore can never
|
|
28
|
+
* silently convert the graceful stop into an engine throw — there is no second
|
|
29
|
+
* number to remember to re-derive.
|
|
30
|
+
*/
|
|
31
|
+
export declare function engineMaxTransitions(cap?: number): number;
|
|
32
|
+
export interface PriorityOrderingViolation {
|
|
33
|
+
/** The slice-projected downstream artifact. */
|
|
34
|
+
downstream: string;
|
|
35
|
+
/** The upstream artifact whose edge into it is slice-projected. */
|
|
36
|
+
upstream: string;
|
|
37
|
+
reason: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check the ordering guarantee above against a priority order. Empty ⇒ the
|
|
41
|
+
* guarantee holds. Defaults to the live `PRIORITY`; a caller may pass a
|
|
42
|
+
* candidate order (which is how the guarantee is red-green validated: an order
|
|
43
|
+
* that puts a downstream's obligation ahead of its slice-projected upstream's
|
|
44
|
+
* must come back non-empty).
|
|
45
|
+
*/
|
|
46
|
+
export declare function findPriorityOrderingViolations(priority?: readonly string[]): PriorityOrderingViolation[];
|
|
4
47
|
/**
|
|
5
48
|
* The identity of the executor that ACTUALLY threw, carried ON the error.
|
|
6
49
|
*
|
|
@@ -37,6 +80,27 @@ export interface AdvanceHeartbeat {
|
|
|
37
80
|
stop: () => void;
|
|
38
81
|
}
|
|
39
82
|
export declare function startAdvanceHeartbeat(intervalMs?: number): AdvanceHeartbeat;
|
|
83
|
+
/**
|
|
84
|
+
* `derive` for one PRIORITY id: the same holistic `deriveAuditState` scan
|
|
85
|
+
* `decideNextStep` runs, narrowed to this id's own missing/stale/satisfied
|
|
86
|
+
* state. A pruned/absent obligation (e.g. `friction_capture_current`, which
|
|
87
|
+
* `deriveAuditState` never emits — see `executorRunners.ts`) is satisfied, so
|
|
88
|
+
* the scan can never select it — preserving today's "unreachable" behavior.
|
|
89
|
+
*
|
|
90
|
+
* MEMOIZED per bundle object identity: `findNextObligation` calls every def's
|
|
91
|
+
* `derive` on the SAME bundle each scan (one scan per fold iteration), and
|
|
92
|
+
* `deriveAuditState` runs the full `computeStaleArtifacts` content-hash pass —
|
|
93
|
+
* without the cache each scan would recompute it |PRIORITY| times (~8-9x the
|
|
94
|
+
* hand loop's per-iteration derivation count). The cache is a per-`advanceAudit`
|
|
95
|
+
* -call `WeakMap` created in `advanceAudit` (never module-level, so a caller
|
|
96
|
+
* that mutates a bundle in place between calls can never observe a stale
|
|
97
|
+
* entry); bundle identity changes exactly at each `transition`
|
|
98
|
+
* (`runSingleAdvanceStep` builds a fresh `finalizedBundle`), so the memo
|
|
99
|
+
* yields exactly one derivation per scanned bundle. Pure memoization — WHAT is
|
|
100
|
+
* derived is unchanged, and `deriveAuditState` itself is deterministic in the
|
|
101
|
+
* bundle (no time/randomness inputs).
|
|
102
|
+
*/
|
|
103
|
+
export declare function deriveObligationState(id: string, cache: WeakMap<ArtifactBundle, AuditState>): (bundle: ArtifactBundle) => "missing" | "stale" | "satisfied";
|
|
40
104
|
/**
|
|
41
105
|
* Advance the audit by ONE bounded step, then SAFELY DRAIN the deterministic
|
|
42
106
|
* regen frontier within the SAME call: run the first bounded step, then keep
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAwBzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAwBzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAWlC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAwB,GAAG,MAAM,CAE1E;AAwCD,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,GAAE,SAAS,MAAM,EAAa,GACrC,yBAAyB,EAAE,CA4C7B;AAqFD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAOzE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,eAAe,GAAG,SAAS,CAS7B;AAwCD,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,GAAE,MAA8B,GACzC,gBAAgB,CAsBlB;AAiOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,CAAC,GACzC,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS,GAAG,OAAO,GAAG,WAAW,CAoB/D;AAiFD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAY7B"}
|