audit-tools 0.42.0 → 0.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dispatch/merge-results.mjs +229 -140
- package/dispatch/validate-result.mjs +98 -40
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +35 -3
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +9 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +94 -38
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +64 -0
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +877 -783
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +12 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +34 -1
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +2 -2
- package/dist/audit/extractors/graph.d.ts +28 -2
- package/dist/audit/extractors/graph.d.ts.map +1 -1
- package/dist/audit/extractors/graph.js +122 -11
- package/dist/audit/extractors/graph.js.map +1 -1
- package/dist/audit/extractors/graphRoutes.d.ts +8 -0
- package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
- package/dist/audit/extractors/graphRoutes.js +71 -4
- package/dist/audit/extractors/graphRoutes.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +55 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +189 -12
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/io/toolingManifest.d.ts +11 -0
- package/dist/audit/io/toolingManifest.d.ts.map +1 -1
- package/dist/audit/io/toolingManifest.js +13 -3
- package/dist/audit/io/toolingManifest.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +64 -0
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +191 -57
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
- package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
- package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowCoverage.js +7 -10
- package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
- package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowPlanning.js +77 -18
- package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
- package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
- package/dist/audit/orchestrator/flowRequeue.js +6 -10
- package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
- package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
- package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
- package/dist/audit/orchestrator/requeueFold.js +18 -5
- package/dist/audit/orchestrator/requeueFold.js.map +1 -1
- package/dist/audit/orchestrator/staleness.d.ts +24 -1
- package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
- package/dist/audit/orchestrator/staleness.js +147 -16
- package/dist/audit/orchestrator/staleness.js.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
- package/dist/audit/orchestrator/taskBuilder.js +111 -21
- package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
- package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
- package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
- package/dist/audit/orchestrator/trivialAudit.js +31 -4
- package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +2 -3
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
- package/dist/audit/reporting/workBlocks.js +4 -38
- package/dist/audit/reporting/workBlocks.js.map +1 -1
- package/dist/audit/types/analyzerCapability.d.ts +6 -6
- package/dist/audit/types/charterRegister.d.ts +30 -12
- package/dist/audit/types/charterRegister.d.ts.map +1 -1
- package/dist/audit/types/charterRegister.js +22 -9
- package/dist/audit/types/charterRegister.js.map +1 -1
- package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
- package/dist/audit/validation/anchorGrounding.js +17 -0
- package/dist/audit/validation/anchorGrounding.js.map +1 -1
- package/dist/audit/validation/auditResults.d.ts +17 -0
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +50 -17
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
- package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
- package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +8 -5
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +8 -16
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +43 -2
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/intent/intentOrdering.d.ts +13 -5
- package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
- package/dist/remediate/intent/intentOrdering.js +56 -25
- package/dist/remediate/intent/intentOrdering.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +57 -2
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +260 -36
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/state/disposition.d.ts +26 -4
- package/dist/remediate/state/disposition.d.ts.map +1 -1
- package/dist/remediate/state/itemStatus.d.ts +33 -6
- package/dist/remediate/state/itemStatus.d.ts.map +1 -1
- package/dist/remediate/state/itemStatus.js +154 -39
- package/dist/remediate/state/itemStatus.js.map +1 -1
- package/dist/remediate/state/types.d.ts +41 -2
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/state/types.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +287 -15
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +1664 -987
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +713 -59
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/finalGate.d.ts +136 -37
- package/dist/remediate/steps/finalGate.d.ts.map +1 -1
- package/dist/remediate/steps/finalGate.js +120 -86
- package/dist/remediate/steps/finalGate.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +8 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +40 -11
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +96 -5
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +668 -147
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/types.d.ts +4 -1
- package/dist/remediate/steps/types.d.ts.map +1 -1
- package/dist/remediate/steps/types.js +10 -0
- package/dist/remediate/steps/types.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts +20 -0
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +239 -13
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +167 -43
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +149 -15
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +149 -43
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/analyzers/candidates.d.ts +9 -8
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +96 -64
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
- package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
- package/dist/shared/analyzers/normalizeExternal.js +74 -18
- package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
- package/dist/shared/analyzers/rubocop.d.ts +14 -13
- package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
- package/dist/shared/analyzers/rubocop.js +29 -6
- package/dist/shared/analyzers/rubocop.js.map +1 -1
- package/dist/shared/analyzers/types.d.ts +196 -13
- package/dist/shared/analyzers/types.d.ts.map +1 -1
- package/dist/shared/analyzers/types.js +122 -9
- package/dist/shared/analyzers/types.js.map +1 -1
- package/dist/shared/decompose/charterClarification.d.ts +12 -1
- package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
- package/dist/shared/decompose/charterClarification.js +11 -4
- package/dist/shared/decompose/charterClarification.js.map +1 -1
- package/dist/shared/decompose/charterExtraction.d.ts +20 -10
- package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
- package/dist/shared/decompose/charterExtraction.js +52 -23
- package/dist/shared/decompose/charterExtraction.js.map +1 -1
- package/dist/shared/decompose/contentCoherence.d.ts +43 -2
- package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
- package/dist/shared/decompose/contentCoherence.js +109 -5
- package/dist/shared/decompose/contentCoherence.js.map +1 -1
- package/dist/shared/decompose/modularity.d.ts +17 -0
- package/dist/shared/decompose/modularity.d.ts.map +1 -1
- package/dist/shared/decompose/modularity.js +78 -3
- package/dist/shared/decompose/modularity.js.map +1 -1
- package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
- package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
- package/dist/shared/decompose/workBlockSeams.js +82 -0
- package/dist/shared/decompose/workBlockSeams.js.map +1 -0
- package/dist/shared/index.d.ts +4 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/intent/freeFormIntentInterpreter.d.ts +12 -2
- package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
- package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
- package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
- package/dist/shared/intent/pathScope.d.ts +12 -1
- package/dist/shared/intent/pathScope.d.ts.map +1 -1
- package/dist/shared/intent/pathScope.js +56 -19
- package/dist/shared/intent/pathScope.js.map +1 -1
- package/dist/shared/intent/sharedIntentData.d.ts +19 -1
- package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
- package/dist/shared/intent/sharedIntentData.js +33 -8
- package/dist/shared/intent/sharedIntentData.js.map +1 -1
- package/dist/shared/io/fileLock.d.ts +12 -0
- package/dist/shared/io/fileLock.d.ts.map +1 -1
- package/dist/shared/io/fileLock.js +48 -5
- package/dist/shared/io/fileLock.js.map +1 -1
- package/dist/shared/io/json.d.ts +13 -0
- package/dist/shared/io/json.d.ts.map +1 -1
- package/dist/shared/io/json.js +19 -1
- package/dist/shared/io/json.js.map +1 -1
- package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
- package/dist/shared/reporting/auditDeliverable.js +8 -3
- package/dist/shared/reporting/auditDeliverable.js.map +1 -1
- package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
- package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
- package/dist/shared/steps/stepEmissionScaffold.js +83 -0
- package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
- package/dist/shared/submission/handRecovery.d.ts.map +1 -1
- package/dist/shared/submission/handRecovery.js +69 -4
- package/dist/shared/submission/handRecovery.js.map +1 -1
- package/dist/shared/submission/submissionIdentity.d.ts +10 -1
- package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
- package/dist/shared/submission/submissionIdentity.js +12 -3
- package/dist/shared/submission/submissionIdentity.js.map +1 -1
- package/dist/shared/submission/submissionLedger.d.ts +43 -2
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +50 -7
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
- package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
- package/dist/shared/tooling/allowlistedExec.js +19 -2
- package/dist/shared/tooling/allowlistedExec.js.map +1 -1
- package/dist/shared/types/charter.d.ts +24 -0
- package/dist/shared/types/charter.d.ts.map +1 -1
- package/dist/shared/types/charter.js +9 -0
- package/dist/shared/types/charter.js.map +1 -1
- package/dist/shared/types/finding.d.ts +105 -53
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +38 -11
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/remediationOutcome.d.ts +282 -9
- package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
- package/dist/shared/types/remediationOutcome.js +174 -1
- package/dist/shared/types/remediationOutcome.js.map +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +19 -1
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/package.json +2 -1
- package/remediate-code.mjs +15 -0
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
- package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
|
@@ -5,6 +5,7 @@ import { computeArtifactMetadata } from "./artifactMetadata.js";
|
|
|
5
5
|
import { EXECUTOR_RUNNERS } from "./executorRunners.js";
|
|
6
6
|
import { nextStepIsDrainableRegen, } from "./hostInputPause.js";
|
|
7
7
|
import { computeStaleArtifacts, emitStalenessRecord, isMetadataMigrationStaleness, resetStalenessDedup, } from "./staleness.js";
|
|
8
|
+
import { DEPENDENCY_SLICE_PROJECTIONS } from "./dependencySlices.js";
|
|
8
9
|
import { AGENT_FEEDBACK_FILENAME, RunLogger, advance as advanceObligations, } from "audit-tools/shared";
|
|
9
10
|
/**
|
|
10
11
|
* Hard ceiling on the internal drain loop. The regen frontier is finite (each
|
|
@@ -25,7 +26,125 @@ import { AGENT_FEEDBACK_FILENAME, RunLogger, advance as advanceObligations, } fr
|
|
|
25
26
|
* precedent of keeping cycle/step-count bookkeeping in the local `Ctx` rather
|
|
26
27
|
* than in the engine's own transition counter.
|
|
27
28
|
*/
|
|
28
|
-
const MAX_DRAIN_STEPS = 64;
|
|
29
|
+
export const MAX_DRAIN_STEPS = 64;
|
|
30
|
+
/**
|
|
31
|
+
* Headroom between the graceful local cap and the engine's THROWING
|
|
32
|
+
* `maxTransitions` backstop. Named once and consumed by `engineMaxTransitions`
|
|
33
|
+
* so the two bounds can never be set independently: the cap emits on the step
|
|
34
|
+
* that spends the last slot, so the engine sees at most `MAX_DRAIN_STEPS`
|
|
35
|
+
* transitions and its throw is unreachable in practice.
|
|
36
|
+
*/
|
|
37
|
+
const ENGINE_TRANSITION_HEADROOM = 2;
|
|
38
|
+
/**
|
|
39
|
+
* The engine bound, DERIVED from the graceful cap rather than written as a
|
|
40
|
+
* literal at the call site. Raising `MAX_DRAIN_STEPS` therefore can never
|
|
41
|
+
* silently convert the graceful stop into an engine throw — there is no second
|
|
42
|
+
* number to remember to re-derive.
|
|
43
|
+
*/
|
|
44
|
+
export function engineMaxTransitions(cap = MAX_DRAIN_STEPS) {
|
|
45
|
+
return cap + ENGINE_TRANSITION_HEADROOM;
|
|
46
|
+
}
|
|
47
|
+
// ── The PRIORITY-ordering guarantee (owned here, as a caller precondition) ────
|
|
48
|
+
//
|
|
49
|
+
// The staleness pass DEFERS a downstream whose edge from a stale-and-pending
|
|
50
|
+
// upstream is guarded by a dependency-slice projection: the decision is
|
|
51
|
+
// postponed until the upstream has actually re-derived and the per-edge slice
|
|
52
|
+
// compare can run. That deferral is only safe because of something the
|
|
53
|
+
// staleness pass does not control and deliberately does not police — the ORDER
|
|
54
|
+
// this module drains obligations in. The precondition is therefore stated,
|
|
55
|
+
// owned and tested HERE, on the caller side of that edge:
|
|
56
|
+
//
|
|
57
|
+
// for every registered slice-projected edge, EVERY obligation that can
|
|
58
|
+
// (re)write the upstream artifact is scheduled — and its artifact_metadata
|
|
59
|
+
// persisted — strictly BEFORE the first obligation that can write the
|
|
60
|
+
// downstream; and the drain re-derives obligation state after every step
|
|
61
|
+
// (see deriveObligationState: the memo is keyed on bundle IDENTITY, which
|
|
62
|
+
// changes at every transition), so a slice moved by the upstream's
|
|
63
|
+
// re-derivation still fires the per-edge compare while the deferred set is
|
|
64
|
+
// non-empty, rather than after the downstream has already been selected.
|
|
65
|
+
/**
|
|
66
|
+
* Every PRIORITY obligation whose executor can (re)write an artifact that takes
|
|
67
|
+
* part in a registered dependency-slice projection.
|
|
68
|
+
*
|
|
69
|
+
* DECLARED DATA, RECONCILED — not a general artifact→obligation map and not a
|
|
70
|
+
* list anyone is asked to remember to update: `findPriorityOrderingViolations`
|
|
71
|
+
* REPORTS a projection participant that has no entry here, so registering a new
|
|
72
|
+
* slice-projected edge without declaring its producers is a loud failure rather
|
|
73
|
+
* than a silent hole in the guarantee.
|
|
74
|
+
*/
|
|
75
|
+
const SLICE_PARTICIPANT_PRODUCERS = {
|
|
76
|
+
// Written by the extraction pass and again by the independent delta-miner.
|
|
77
|
+
"charter_register.json": ["charter_extraction_current", "charter_delta_current"],
|
|
78
|
+
"structure_decomposition.json": ["structure_decomposition_current"],
|
|
79
|
+
"repo_manifest.json": ["repo_manifest"],
|
|
80
|
+
// Written by the structure pass and again by graph enrichment.
|
|
81
|
+
"graph_bundle.json": ["structure_artifacts", "graph_enrichment_current"],
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Check the ordering guarantee above against a priority order. Empty ⇒ the
|
|
85
|
+
* guarantee holds. Defaults to the live `PRIORITY`; a caller may pass a
|
|
86
|
+
* candidate order (which is how the guarantee is red-green validated: an order
|
|
87
|
+
* that puts a downstream's obligation ahead of its slice-projected upstream's
|
|
88
|
+
* must come back non-empty).
|
|
89
|
+
*/
|
|
90
|
+
export function findPriorityOrderingViolations(priority = PRIORITY) {
|
|
91
|
+
const violations = [];
|
|
92
|
+
const positions = (artifact) => {
|
|
93
|
+
const producers = SLICE_PARTICIPANT_PRODUCERS[artifact];
|
|
94
|
+
if (!producers) {
|
|
95
|
+
return `no producing obligation is declared for ${artifact} in SLICE_PARTICIPANT_PRODUCERS`;
|
|
96
|
+
}
|
|
97
|
+
const indexes = [];
|
|
98
|
+
for (const producer of producers) {
|
|
99
|
+
const index = priority.indexOf(producer);
|
|
100
|
+
if (index < 0) {
|
|
101
|
+
return `producing obligation "${producer}" of ${artifact} is absent from the priority order`;
|
|
102
|
+
}
|
|
103
|
+
indexes.push(index);
|
|
104
|
+
}
|
|
105
|
+
return indexes;
|
|
106
|
+
};
|
|
107
|
+
for (const [downstream, upstreams] of Object.entries(DEPENDENCY_SLICE_PROJECTIONS)) {
|
|
108
|
+
const downstreamPositions = positions(downstream);
|
|
109
|
+
for (const upstream of Object.keys(upstreams ?? {})) {
|
|
110
|
+
const upstreamPositions = positions(upstream);
|
|
111
|
+
if (typeof downstreamPositions === "string") {
|
|
112
|
+
violations.push({ downstream, upstream, reason: downstreamPositions });
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (typeof upstreamPositions === "string") {
|
|
116
|
+
violations.push({ downstream, upstream, reason: upstreamPositions });
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const lastUpstream = Math.max(...upstreamPositions);
|
|
120
|
+
const firstDownstream = Math.min(...downstreamPositions);
|
|
121
|
+
if (lastUpstream >= firstDownstream) {
|
|
122
|
+
violations.push({
|
|
123
|
+
downstream,
|
|
124
|
+
upstream,
|
|
125
|
+
reason: `the slice-projected upstream ${upstream} is regenerated at priority index ${lastUpstream}, at or after the downstream ${downstream} at index ${firstDownstream} — the deferred staleness decision would never fire before the downstream is selected`,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return violations;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Load-time enforcement, mirroring the executor-registry coverage assertion the
|
|
134
|
+
* priority scan itself carries: a priority order that breaks the guarantee
|
|
135
|
+
* throws loudly at import rather than silently under-staling a downstream at
|
|
136
|
+
* runtime.
|
|
137
|
+
*/
|
|
138
|
+
function assertPriorityOrderingGuarantee() {
|
|
139
|
+
const violations = findPriorityOrderingViolations();
|
|
140
|
+
if (violations.length === 0)
|
|
141
|
+
return;
|
|
142
|
+
throw new Error(`PRIORITY ordering violates the dependency-slice deferral precondition:\n` +
|
|
143
|
+
violations
|
|
144
|
+
.map((v) => ` - ${v.downstream} <- ${v.upstream}: ${v.reason}`)
|
|
145
|
+
.join("\n"));
|
|
146
|
+
}
|
|
147
|
+
assertPriorityOrderingGuarantee();
|
|
29
148
|
function cloneState(state) {
|
|
30
149
|
return {
|
|
31
150
|
...state,
|
|
@@ -33,6 +152,50 @@ function cloneState(state) {
|
|
|
33
152
|
obligations: state.obligations.map((obligation) => ({ ...obligation })),
|
|
34
153
|
};
|
|
35
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* The ONE {phase:"advance", kind:"obligation"} event. Both the dispatching path
|
|
157
|
+
* and the zero-dispatch path emit exactly this shape, and they emit it from
|
|
158
|
+
* here — a second hand-written copy is what let the two drift apart in the
|
|
159
|
+
* first place.
|
|
160
|
+
*/
|
|
161
|
+
function logObligationSelection(log, correlationId, obligation, reason) {
|
|
162
|
+
log.event({
|
|
163
|
+
phase: "advance",
|
|
164
|
+
kind: "obligation",
|
|
165
|
+
correlationId,
|
|
166
|
+
obligation: obligation ?? undefined,
|
|
167
|
+
note: reason,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The ONE construction of the zero-dispatch "no actionable obligation" result.
|
|
172
|
+
*
|
|
173
|
+
* Two independently-editable copies used to exist — the early return inside a
|
|
174
|
+
* single bounded step and the post-engine reconstruction for a drain where no
|
|
175
|
+
* `execute` ever ran. They were semantically equal by inspection only: nothing
|
|
176
|
+
* made a field added to `AdvanceAuditResult` reach both. One constructor makes
|
|
177
|
+
* the equality structural, so "both paths agree" is not a property anyone has
|
|
178
|
+
* to re-verify.
|
|
179
|
+
*/
|
|
180
|
+
function noActionableObligationResult(params) {
|
|
181
|
+
const { bundle, decision } = params;
|
|
182
|
+
const state = cloneState(decision.state);
|
|
183
|
+
state.last_executor = bundle.audit_state?.last_executor ?? state.last_executor;
|
|
184
|
+
state.last_obligation =
|
|
185
|
+
params.selectedObligation ??
|
|
186
|
+
bundle.audit_state?.last_obligation ??
|
|
187
|
+
state.last_obligation;
|
|
188
|
+
return {
|
|
189
|
+
audit_state: state,
|
|
190
|
+
selected_obligation: params.selectedObligation,
|
|
191
|
+
selected_executor: params.selectedExecutor,
|
|
192
|
+
progress_made: false,
|
|
193
|
+
artifacts_written: ["audit_state.json"],
|
|
194
|
+
progress_summary: decision.reason,
|
|
195
|
+
next_likely_step: null,
|
|
196
|
+
updated_bundle: { ...bundle, audit_state: state },
|
|
197
|
+
};
|
|
198
|
+
}
|
|
36
199
|
/**
|
|
37
200
|
* The identity of the executor that ACTUALLY threw, carried ON the error.
|
|
38
201
|
*
|
|
@@ -134,30 +297,14 @@ async function runSingleAdvanceStep(bundle, options = {}) {
|
|
|
134
297
|
? `forced:${forcedExecutor}`
|
|
135
298
|
: decision.selected_obligation;
|
|
136
299
|
options.heartbeat?.setLabel(selectedObligation ?? "derive");
|
|
137
|
-
log.
|
|
138
|
-
phase: "advance",
|
|
139
|
-
kind: "obligation",
|
|
140
|
-
correlationId,
|
|
141
|
-
obligation: selectedObligation ?? undefined,
|
|
142
|
-
note: decision.reason,
|
|
143
|
-
});
|
|
300
|
+
logObligationSelection(log, correlationId, selectedObligation, decision.reason);
|
|
144
301
|
if (!selectedExecutor) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
selectedObligation
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
audit_state: state,
|
|
153
|
-
selected_obligation: selectedObligation,
|
|
154
|
-
selected_executor: selectedExecutor,
|
|
155
|
-
progress_made: false,
|
|
156
|
-
artifacts_written: ["audit_state.json"],
|
|
157
|
-
progress_summary: decision.reason,
|
|
158
|
-
next_likely_step: null,
|
|
159
|
-
updated_bundle: { ...bundle, audit_state: state },
|
|
160
|
-
};
|
|
302
|
+
return noActionableObligationResult({
|
|
303
|
+
bundle,
|
|
304
|
+
decision,
|
|
305
|
+
selectedObligation,
|
|
306
|
+
selectedExecutor,
|
|
307
|
+
});
|
|
161
308
|
}
|
|
162
309
|
const executorStartedAt = Date.now();
|
|
163
310
|
log.event({
|
|
@@ -305,7 +452,7 @@ function advanceHasRunner(executor) {
|
|
|
305
452
|
* derived is unchanged, and `deriveAuditState` itself is deterministic in the
|
|
306
453
|
* bundle (no time/randomness inputs).
|
|
307
454
|
*/
|
|
308
|
-
function deriveObligationState(id, cache) {
|
|
455
|
+
export function deriveObligationState(id, cache) {
|
|
309
456
|
return (bundle) => {
|
|
310
457
|
if (bundle.audit_state?.status === "complete")
|
|
311
458
|
return "satisfied";
|
|
@@ -361,13 +508,19 @@ function mergeDrainStep(result, ctx) {
|
|
|
361
508
|
* hand loop's unconditional first call.
|
|
362
509
|
*/
|
|
363
510
|
async function runDrainStep(bundle, ctx) {
|
|
511
|
+
// HARD DISPATCH CEILING. The slot is spent BEFORE the dispatch it authorizes
|
|
512
|
+
// and the fold stops once the last slot is spent, so one call can never
|
|
513
|
+
// dispatch more than MAX_DRAIN_STEPS steps. The counter used to be bumped
|
|
514
|
+
// AFTER the step and compared with `>`, which let the 65th step run to
|
|
515
|
+
// completion before a "64" cap tripped — a silent one-step overrun of a bound
|
|
516
|
+
// stated as a maximum.
|
|
517
|
+
ctx.stepsRun.value += 1;
|
|
364
518
|
const result = await runSingleAdvanceStep(bundle, ctx.options);
|
|
365
519
|
const merged = mergeDrainStep(result, ctx);
|
|
366
520
|
if (!result.progress_made) {
|
|
367
521
|
return { kind: "emit", step: merged };
|
|
368
522
|
}
|
|
369
|
-
ctx.stepsRun.value
|
|
370
|
-
if (ctx.stepsRun.value > MAX_DRAIN_STEPS) {
|
|
523
|
+
if (ctx.stepsRun.value >= MAX_DRAIN_STEPS) {
|
|
371
524
|
// Belt-and-braces cap (see MAX_DRAIN_STEPS doc) — never trips on a healthy
|
|
372
525
|
// run; stop gracefully and hand back the last good result rather than
|
|
373
526
|
// throwing, so the host simply resumes the drain on its next call.
|
|
@@ -456,13 +609,11 @@ async function advanceAuditInner(bundle, options) {
|
|
|
456
609
|
const outcome = await advanceObligations({ priority: PRIORITY, obligations: buildDrainObligations(deriveCache) }, bundle, ctx,
|
|
457
610
|
// INVARIANT: the local graceful cap (MAX_DRAIN_STEPS, enforced inside
|
|
458
611
|
// runDrainStep) must always fire strictly before the engine's THROWING
|
|
459
|
-
// maxTransitions backstop.
|
|
460
|
-
// constant (
|
|
461
|
-
//
|
|
462
|
-
//
|
|
463
|
-
|
|
464
|
-
// engine throw.
|
|
465
|
-
{ maxTransitions: MAX_DRAIN_STEPS + 2 });
|
|
612
|
+
// maxTransitions backstop. The engine bound is DERIVED from the same
|
|
613
|
+
// constant (see engineMaxTransitions), never written as a literal here,
|
|
614
|
+
// so raising MAX_DRAIN_STEPS can never silently convert the graceful stop
|
|
615
|
+
// into an engine throw.
|
|
616
|
+
{ maxTransitions: engineMaxTransitions() });
|
|
466
617
|
if (outcome.step) {
|
|
467
618
|
result = outcome.step;
|
|
468
619
|
}
|
|
@@ -480,30 +631,13 @@ async function advanceAuditInner(bundle, options) {
|
|
|
480
631
|
const log = options.runLogger ?? RunLogger.disabled();
|
|
481
632
|
const correlationId = createCorrelationId();
|
|
482
633
|
const decision = decideNextStep(outcome.state, { emitStaleness: false });
|
|
483
|
-
log.
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
634
|
+
logObligationSelection(log, correlationId, decision.selected_obligation, decision.reason);
|
|
635
|
+
result = noActionableObligationResult({
|
|
636
|
+
bundle: outcome.state,
|
|
637
|
+
decision,
|
|
638
|
+
selectedObligation: decision.selected_obligation,
|
|
639
|
+
selectedExecutor: decision.selected_executor,
|
|
489
640
|
});
|
|
490
|
-
const state = cloneState(decision.state);
|
|
491
|
-
state.last_executor =
|
|
492
|
-
outcome.state.audit_state?.last_executor ?? state.last_executor;
|
|
493
|
-
state.last_obligation =
|
|
494
|
-
decision.selected_obligation ??
|
|
495
|
-
outcome.state.audit_state?.last_obligation ??
|
|
496
|
-
state.last_obligation;
|
|
497
|
-
result = {
|
|
498
|
-
audit_state: state,
|
|
499
|
-
selected_obligation: decision.selected_obligation,
|
|
500
|
-
selected_executor: decision.selected_executor,
|
|
501
|
-
progress_made: false,
|
|
502
|
-
artifacts_written: ["audit_state.json"],
|
|
503
|
-
progress_summary: decision.reason,
|
|
504
|
-
next_likely_step: null,
|
|
505
|
-
updated_bundle: { ...outcome.state, audit_state: state },
|
|
506
|
-
};
|
|
507
641
|
}
|
|
508
642
|
}
|
|
509
643
|
// Single consolidated staleness record for the whole round-trip: recompute the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charterClarificationExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAGL,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EAGnC,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,sBAAsB,CAGxB;
|
|
1
|
+
{"version":3,"file":"charterClarificationExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAGL,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EAGnC,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,sBAAsB,CAGxB;AAmFD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,8BAA8B,GACvC,iBAAiB,CA0EnB"}
|
|
@@ -16,35 +16,58 @@ export function resolveClarificationAttention(checkpoint) {
|
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Join the Phase-C charter register's routed deltas to their subsystem members +
|
|
19
|
-
* (optional) goal node, producing the loop input.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* (optional) goal node, producing the loop input.
|
|
20
|
+
*
|
|
21
|
+
* Both joins take the PRODUCER's own decision off the wire: `node_id` and
|
|
22
|
+
* `goal_node_id` are explicit fields the assembler stamps, so `delta_id` is opaque
|
|
23
|
+
* here and is never split to recover a node (INV-CCI-NO-DELTA-ID-PARSING). The
|
|
24
|
+
* assembler mints it with a content-derived discriminator when a subsystem carries
|
|
25
|
+
* two deltas on one channel pair, so its segment structure holds no recoverable
|
|
26
|
+
* node id — parsing it would silently join the delta to the wrong subsystem's
|
|
27
|
+
* members, which ride onto the emitted Finding's affected_files.
|
|
28
|
+
*
|
|
29
|
+
* `deltas` is typed `StampedCharterDelta[]`, so an unstamped delta can only arrive
|
|
30
|
+
* from an artifact no schema validated (`charter_register.json` is read as plain
|
|
31
|
+
* JSON). That delta is REFUSED with a validation issue rather than guessed at: a
|
|
32
|
+
* question joined to the wrong subsystem is worse than a question not asked.
|
|
23
33
|
*/
|
|
24
34
|
function clarificationInputs(bundle) {
|
|
25
35
|
const register = bundle.charter_register;
|
|
26
|
-
if (!register || register.status === "omitted")
|
|
27
|
-
return [];
|
|
36
|
+
if (!register || register.status === "omitted") {
|
|
37
|
+
return { inputs: [], validation_issues: [] };
|
|
38
|
+
}
|
|
28
39
|
const membersByNode = new Map();
|
|
29
40
|
for (const sub of register.subsystems) {
|
|
30
41
|
membersByNode.set(sub.node_id, sub.members);
|
|
31
42
|
}
|
|
32
|
-
const goalNodeIds = new Set(register.goal_graph.nodes.map((n) => n.node_id));
|
|
33
43
|
const inputs = [];
|
|
44
|
+
const validation_issues = [];
|
|
34
45
|
for (const delta of register.deltas) {
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
// typeof, not `=== undefined`: the field is required by the type, and this
|
|
47
|
+
// guard exists precisely for data that never passed through it.
|
|
48
|
+
if (typeof delta.node_id !== "string" || delta.node_id.length === 0) {
|
|
49
|
+
validation_issues.push(`delta "${delta.delta_id}" carries no node_id — skipped; its subsystem cannot be ` +
|
|
50
|
+
`recovered from the delta id, which is opaque (regenerate charter_register.json)`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
// A well-formed node_id that matches no subsystem is the same failure wearing
|
|
54
|
+
// the right shape: the question still gets asked, but with an empty
|
|
55
|
+
// affected_files, so it reads as a finding about nothing. Say so — the delta is
|
|
56
|
+
// kept (the question may still be worth asking), and groundDesignFindings marks
|
|
57
|
+
// the resulting Finding ungrounded as the second net.
|
|
58
|
+
const members = membersByNode.get(delta.node_id);
|
|
59
|
+
if (members === undefined) {
|
|
60
|
+
validation_issues.push(`delta "${delta.delta_id}" names subsystem "${delta.node_id}", which the register ` +
|
|
61
|
+
`carries no members for — its question is kept but cites no files`);
|
|
62
|
+
}
|
|
40
63
|
inputs.push({
|
|
41
64
|
delta,
|
|
42
|
-
node_id,
|
|
43
|
-
members:
|
|
44
|
-
goal_node_id:
|
|
65
|
+
node_id: delta.node_id,
|
|
66
|
+
members: members ?? [],
|
|
67
|
+
goal_node_id: delta.goal_node_id,
|
|
45
68
|
});
|
|
46
69
|
}
|
|
47
|
-
return inputs;
|
|
70
|
+
return { inputs, validation_issues };
|
|
48
71
|
}
|
|
49
72
|
function omittedRegister(ceiling, attention, generated_at) {
|
|
50
73
|
return {
|
|
@@ -104,7 +127,8 @@ export function runCharterClarificationExecutor(bundle, answers) {
|
|
|
104
127
|
}
|
|
105
128
|
}
|
|
106
129
|
}
|
|
107
|
-
const
|
|
130
|
+
const { inputs, validation_issues: inputIssues } = clarificationInputs(bundle);
|
|
131
|
+
const assembled = assembleClarificationRegister(inputs, register.goal_graph, attention, { partitionDeltasToQuestions, applyRiskGate, splitByAttention }, priorAnswers);
|
|
108
132
|
const findings = groundDesignFindings(assembled.findings, bundle.repo_manifest);
|
|
109
133
|
const clarification = {
|
|
110
134
|
generated_at,
|
|
@@ -114,17 +138,27 @@ export function runCharterClarificationExecutor(bundle, answers) {
|
|
|
114
138
|
asked: assembled.asked,
|
|
115
139
|
banked: assembled.banked,
|
|
116
140
|
findings,
|
|
117
|
-
|
|
141
|
+
// Refusals from the join come first: a delta that never became a question is
|
|
142
|
+
// context for the queue that follows, not a footnote to it.
|
|
143
|
+
validation_issues: [...inputIssues, ...assembled.validation_issues],
|
|
118
144
|
};
|
|
145
|
+
// Surface each note's MESSAGE, not just a count — mirrors the charter-extraction
|
|
146
|
+
// pass's gate-drop summary. A refused delta (no node_id, or a node no subsystem
|
|
147
|
+
// carries) is a QUESTION THAT WILL NEVER BE ASKED; behind a bare "N note(s)" the
|
|
148
|
+
// operator cannot tell that from a routine remediator-routed skip, and would have
|
|
149
|
+
// to open charter_clarification.json to find out. The messages are bounded
|
|
150
|
+
// one-liners, so listing them is cheap.
|
|
151
|
+
const noteSummary = clarification.validation_issues.length > 0
|
|
152
|
+
? `, ${clarification.validation_issues.length} note(s):\n` +
|
|
153
|
+
clarification.validation_issues.map((m) => ` - ${m}`).join("\n")
|
|
154
|
+
: ".";
|
|
119
155
|
return {
|
|
120
156
|
updated: { ...bundle, charter_clarification: clarification },
|
|
121
157
|
artifacts_written: ["charter_clarification.json"],
|
|
122
158
|
progress_summary: `Charter clarification complete: ${clarification.asked.length} interactive question(s) ` +
|
|
123
159
|
`(attention ${String(attention)}), ${clarification.banked.length} banked → ` +
|
|
124
160
|
`${clarification.findings.length} finding(s)` +
|
|
125
|
-
|
|
126
|
-
? `, ${clarification.validation_issues.length} note(s).`
|
|
127
|
-
: "."),
|
|
161
|
+
noteSummary,
|
|
128
162
|
};
|
|
129
163
|
}
|
|
130
164
|
//# sourceMappingURL=charterClarificationExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charterClarificationExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,GAOrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAAwC;IAExC,MAAM,SAAS,GAAG,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC;IACvD,OAAO,SAAS,IAAI,CAAC,CAAC;AACxB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"charterClarificationExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowCoverage.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"flowCoverage.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,oBAAoB,EACnC,cAAc,EAAE,cAAc,GAC7B,oBAAoB,CAiDtB"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
function lensSetForFlow(concerns) {
|
|
3
|
-
// COR-59c25418: use the single-source-of-truth `isLens` guard so all valid
|
|
4
|
-
// lenses (including maintainability, architecture, tests, config_deployment)
|
|
5
|
-
// are accepted rather than a hardcoded subset.
|
|
6
|
-
return concerns.filter((concern) => isLens(concern));
|
|
7
|
-
}
|
|
1
|
+
import { selectFlowLenses } from "./flowPlanning.js";
|
|
8
2
|
export function buildFlowCoverage(criticalFlows, coverageMatrix) {
|
|
9
3
|
const coverageByPath = new Map(coverageMatrix.files.map((file) => [file.path, file]));
|
|
10
4
|
const flows = criticalFlows.flows.map((flow) => {
|
|
11
5
|
const flowPaths = Array.isArray(flow.paths)
|
|
12
6
|
? flow.paths.filter((path) => typeof path === "string")
|
|
13
7
|
: [];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
// The lenses coverage marks REQUIRED come from the same flow-lens policy
|
|
9
|
+
// planning claims blocks against and requeue mints follow-ups against —
|
|
10
|
+
// `selectFlowLenses`, drawn from the one lens registry. A hardcoded subset
|
|
11
|
+
// here (or there) is what let a flow be required under a lens planning
|
|
12
|
+
// would never schedule.
|
|
13
|
+
const required = selectFlowLenses(Array.isArray(flow.concerns) ? flow.concerns : []);
|
|
17
14
|
const completed = new Set();
|
|
18
15
|
for (const path of flowPaths) {
|
|
19
16
|
const record = coverageByPath.get(path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowCoverage.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowCoverage.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAC/B,aAAmC,EACnC,cAA8B;IAE9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,wBAAwB;QACxB,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAClD,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,IAAK,QAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,GACV,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAElB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,QAAQ;YACzB,gBAAgB;YAChB,MAAM;YACN,KAAK,EAAE,CAAC,gBAAgB,SAAS,CAAC,MAAM,WAAW,CAAC;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1,8 +1,61 @@
|
|
|
1
|
+
import type { Lens } from "../types.js";
|
|
1
2
|
import type { CriticalFlowManifest } from "audit-tools/shared";
|
|
3
|
+
/**
|
|
4
|
+
* Select the reviewable lenses from a flow's declared concerns — the single
|
|
5
|
+
* membership draw shared by planning, coverage, and requeue. A concern that is
|
|
6
|
+
* not a canonical lens is SKIPPED rather than thrown on, consistent with the
|
|
7
|
+
* filter-based guards elsewhere in the orchestrator: one stray non-canonical
|
|
8
|
+
* concern must not abort a whole flow's planning or requeue.
|
|
9
|
+
*/
|
|
10
|
+
export declare function selectFlowLenses(concerns: readonly unknown[]): Lens[];
|
|
11
|
+
/**
|
|
12
|
+
* Task-ordering priority for a claimed flow block — lower sorts earlier.
|
|
13
|
+
* Derived from {@link LENS_REGISTRY}'s `order_weight` so no second hand-copied
|
|
14
|
+
* lens list backs the ordering. A non-canonical lens (which the membership draw
|
|
15
|
+
* above already excludes) sorts last.
|
|
16
|
+
*/
|
|
17
|
+
export declare function flowLensPriority(lens: string): number;
|
|
2
18
|
export interface FlowReviewBlock {
|
|
3
19
|
flow_id: string;
|
|
4
20
|
lens: string;
|
|
5
21
|
file_paths: string[];
|
|
6
22
|
}
|
|
7
|
-
|
|
23
|
+
/**
|
|
24
|
+
* `artifact:flow-claim-contract` — what a claim RETURNS beyond the blocks.
|
|
25
|
+
*
|
|
26
|
+
* `claimFlowReviewBlocks` reports the post-claim state alongside the claimed
|
|
27
|
+
* blocks: `assigned` is the caller's assigned set plus every newly claimed
|
|
28
|
+
* `lens:path` key, and `pending` is the caller's pending map with every claimed
|
|
29
|
+
* path removed. These are the ONLY channel — the call writes nothing back
|
|
30
|
+
* through its arguments (see {@link claimFlowReviewBlocks}), so a caller cannot
|
|
31
|
+
* read claim state it never asked for and the two channels cannot drift.
|
|
32
|
+
*
|
|
33
|
+
* The contract rides ON the returned array as non-enumerable properties, so
|
|
34
|
+
* every consumer that iterates the result as `FlowReviewBlock[]` is unchanged.
|
|
35
|
+
*/
|
|
36
|
+
export interface FlowClaimContract {
|
|
37
|
+
readonly blocks: readonly FlowReviewBlock[];
|
|
38
|
+
readonly pending: ReadonlyMap<string, ReadonlySet<string>>;
|
|
39
|
+
readonly assigned: ReadonlySet<string>;
|
|
40
|
+
}
|
|
41
|
+
export type FlowClaimResult = FlowReviewBlock[] & FlowClaimContract;
|
|
42
|
+
/**
|
|
43
|
+
* Claim the highest-priority critical-flow review blocks out of the pending
|
|
44
|
+
* work set.
|
|
45
|
+
*
|
|
46
|
+
* PRECONDITION (seam audit-coverage-path-keyspace → here, caller to callee):
|
|
47
|
+
* every path in `criticalFlows`, in `pendingByLens`, and in the `lens:path`
|
|
48
|
+
* keys of `assigned` is already normalized into ONE key space by the caller.
|
|
49
|
+
* This module does no normalizing of its own — an unnormalized path simply
|
|
50
|
+
* fails to intersect and the flow is silently under-claimed. The sole caller,
|
|
51
|
+
* `buildChunkedAuditTasks`, now SATISFIES that precondition by normalizing every
|
|
52
|
+
* repo path once at its own boundary, rather than assuming it upstream.
|
|
53
|
+
*
|
|
54
|
+
* NO WRITE-BACK: the post-claim state is reported ONLY on the returned
|
|
55
|
+
* {@link FlowClaimContract}. The parameters are `Readonly` collections so
|
|
56
|
+
* reintroducing an in-place mutation is a compile error, not a convention —
|
|
57
|
+
* the by-reference channel this used to ALSO write through was a second,
|
|
58
|
+
* invisible return value that a caller had to know to look for.
|
|
59
|
+
*/
|
|
60
|
+
export declare function claimFlowReviewBlocks(criticalFlows: CriticalFlowManifest, pendingByLens: ReadonlyMap<string, ReadonlySet<string>>, assigned: ReadonlySet<string>): FlowClaimResult;
|
|
8
61
|
//# sourceMappingURL=flowPlanning.d.ts.map
|