audit-tools 0.32.19 → 0.32.22
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/clarification/blastRadius.d.ts +23 -0
- package/dist/audit/clarification/blastRadius.d.ts.map +1 -0
- package/dist/audit/clarification/blastRadius.js +65 -0
- package/dist/audit/clarification/blastRadius.js.map +1 -0
- package/dist/audit/clarification/dials.d.ts +28 -0
- package/dist/audit/clarification/dials.d.ts.map +1 -0
- package/dist/audit/clarification/dials.js +37 -0
- package/dist/audit/clarification/dials.js.map +1 -0
- package/dist/audit/clarification/partition.d.ts +25 -0
- package/dist/audit/clarification/partition.d.ts.map +1 -0
- package/dist/audit/clarification/partition.js +77 -0
- package/dist/audit/clarification/partition.js.map +1 -0
- package/dist/audit/clarification/riskGate.d.ts +24 -0
- package/dist/audit/clarification/riskGate.d.ts.map +1 -0
- package/dist/audit/clarification/riskGate.js +38 -0
- package/dist/audit/clarification/riskGate.js.map +1 -0
- package/dist/audit/clarification/voiQueue.d.ts +17 -0
- package/dist/audit/clarification/voiQueue.d.ts.map +1 -0
- package/dist/audit/clarification/voiQueue.js +37 -0
- package/dist/audit/clarification/voiQueue.js.map +1 -0
- package/dist/audit/cli/auditStep.d.ts +2 -0
- package/dist/audit/cli/auditStep.d.ts.map +1 -1
- package/dist/audit/cli/auditStep.js +9 -1
- package/dist/audit/cli/auditStep.js.map +1 -1
- package/dist/audit/cli/charterClarificationPrompt.d.ts +19 -0
- package/dist/audit/cli/charterClarificationPrompt.d.ts.map +1 -0
- package/dist/audit/cli/charterClarificationPrompt.js +60 -0
- package/dist/audit/cli/charterClarificationPrompt.js.map +1 -0
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +74 -0
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +62 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +129 -0
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +4 -4
- package/dist/audit/cli/steps.d.ts.map +1 -1
- package/dist/audit/cli/steps.js +2 -0
- package/dist/audit/cli/steps.js.map +1 -1
- package/dist/audit/io/artifacts.d.ts +6 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +2 -0
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +23 -0
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +122 -4
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +22 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/charterClarificationExecutor.d.ts +28 -0
- package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -0
- package/dist/audit/orchestrator/charterClarificationExecutor.js +130 -0
- package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -0
- package/dist/audit/orchestrator/dependencyMap.d.ts +2 -0
- package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +24 -0
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.d.ts +17 -0
- package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
- package/dist/audit/orchestrator/designReviewPrompt.js +50 -0
- package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +4 -0
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +20 -0
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +11 -1
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +6 -2
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/staleness.d.ts +27 -1
- package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
- package/dist/audit/orchestrator/staleness.js +33 -16
- package/dist/audit/orchestrator/staleness.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts +12 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +41 -2
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.js +1 -0
- package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
- package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts +25 -0
- package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts.map +1 -0
- package/dist/audit/orchestrator/systemicChallengeExecutor.js +107 -0
- package/dist/audit/orchestrator/systemicChallengeExecutor.js.map +1 -0
- package/dist/audit/reporting/mergeFindings.d.ts +2 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +6 -1
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts +2 -0
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +1 -1
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/systemic/aggregateMetricsDigest.d.ts +11 -0
- package/dist/audit/systemic/aggregateMetricsDigest.d.ts.map +1 -0
- package/dist/audit/systemic/aggregateMetricsDigest.js +84 -0
- package/dist/audit/systemic/aggregateMetricsDigest.js.map +1 -0
- package/dist/audit/systemic/metricsDigestTypes.d.ts +35 -0
- package/dist/audit/systemic/metricsDigestTypes.d.ts.map +1 -0
- package/dist/audit/systemic/metricsDigestTypes.js +10 -0
- package/dist/audit/systemic/metricsDigestTypes.js.map +1 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts +16 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js +85 -0
- package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -0
- package/dist/audit/systemic/systemicChallengeLoop.d.ts +48 -0
- package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -0
- package/dist/audit/systemic/systemicChallengeLoop.js +107 -0
- package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -0
- package/dist/audit/types/charterClarification.d.ts +52 -0
- package/dist/audit/types/charterClarification.d.ts.map +1 -0
- package/dist/audit/types/charterClarification.js +2 -0
- package/dist/audit/types/charterClarification.js.map +1 -0
- package/dist/audit/types/systemicChallenge.d.ts +69 -0
- package/dist/audit/types/systemicChallenge.d.ts.map +1 -0
- package/dist/audit/types/systemicChallenge.js +2 -0
- package/dist/audit/types/systemicChallenge.js.map +1 -0
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +16 -1
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts +178 -0
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/acceptNode.js +351 -0
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -0
- package/dist/remediate/steps/dispatch/common.d.ts +123 -0
- package/dist/remediate/steps/dispatch/common.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/common.js +236 -0
- package/dist/remediate/steps/dispatch/common.js.map +1 -0
- package/dist/remediate/steps/dispatch/dagNodeFields.d.ts +37 -0
- package/dist/remediate/steps/dispatch/dagNodeFields.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/dagNodeFields.js +19 -0
- package/dist/remediate/steps/dispatch/dagNodeFields.js.map +1 -0
- package/dist/remediate/steps/dispatch/implementPrompt.d.ts +70 -0
- package/dist/remediate/steps/dispatch/implementPrompt.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/implementPrompt.js +577 -0
- package/dist/remediate/steps/dispatch/implementPrompt.js.map +1 -0
- package/dist/remediate/steps/dispatch/marshal.d.ts +32 -0
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/marshal.js +935 -0
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -0
- package/dist/remediate/steps/dispatch/verifyCommands.d.ts +97 -0
- package/dist/remediate/steps/dispatch/verifyCommands.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/verifyCommands.js +204 -0
- package/dist/remediate/steps/dispatch/verifyCommands.js.map +1 -0
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts +90 -0
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/waveScheduling.js +352 -0
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -0
- package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts +189 -0
- package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/worktreeLifecycle.js +643 -0
- package/dist/remediate/steps/dispatch/worktreeLifecycle.js.map +1 -0
- package/dist/remediate/steps/dispatch/writeScope.d.ts +151 -0
- package/dist/remediate/steps/dispatch/writeScope.d.ts.map +1 -0
- package/dist/remediate/steps/dispatch/writeScope.js +376 -0
- package/dist/remediate/steps/dispatch/writeScope.js.map +1 -0
- package/dist/remediate/steps/dispatch.d.ts +16 -863
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +18 -3613
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/shared/decompose/charterClarification.d.ts +80 -0
- package/dist/shared/decompose/charterClarification.d.ts.map +1 -0
- package/dist/shared/decompose/charterClarification.js +105 -0
- package/dist/shared/decompose/charterClarification.js.map +1 -0
- package/dist/shared/decompose/systemicChallenge.d.ts +326 -0
- package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -0
- package/dist/shared/decompose/systemicChallenge.js +30 -0
- package/dist/shared/decompose/systemicChallenge.js.map +1 -0
- package/dist/shared/index.d.ts +10 -5
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +6 -4
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/opencodePermissions.d.ts +73 -0
- package/dist/shared/opencodePermissions.d.ts.map +1 -1
- package/dist/shared/opencodePermissions.js +172 -0
- package/dist/shared/opencodePermissions.js.map +1 -1
- package/dist/shared/tooling/exec.d.ts +10 -1
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +13 -1
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/types/charter.d.ts +89 -0
- package/dist/shared/types/charter.d.ts.map +1 -1
- package/dist/shared/types/charter.js +68 -0
- package/dist/shared/types/charter.js.map +1 -1
- package/dist/shared/types/intentCheckpoint.d.ts +15 -0
- package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
- package/dist/shared/types/intentCheckpoint.js +11 -0
- package/dist/shared/types/intentCheckpoint.js.map +1 -1
- package/dist/shared/validation/charterGate.d.ts +20 -1
- package/dist/shared/validation/charterGate.d.ts.map +1 -1
- package/dist/shared/validation/charterGate.js +23 -0
- package/dist/shared/validation/charterGate.js.map +1 -1
- package/docs/audit-pkg/contracts.md +1 -1
- package/docs/audit-pkg/development.md +8 -7
- package/docs/audit-pkg/product.md +7 -4
- package/docs/audit-pkg/release.md +4 -2
- package/opencode.json +36 -20
- package/package.json +1 -1
- package/scripts/postinstall.mjs +2 -1
- package/wrapper/audit-code-wrapper-opencode.mjs +38 -12
- package/wrapper/remediate-code-wrapper-opencode.mjs +38 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marshal.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { RemediationState } from "../../state/store.js";
|
|
2
|
+
/**
|
|
3
|
+
* The host manages the build centrally; a per-node verify command that runs
|
|
4
|
+
* `npm run build` (or a `npm test` whose package script prepends a build) races
|
|
5
|
+
* the central build's dist/ and is therefore forbidden. A command is build-free
|
|
6
|
+
* only when it neither builds nor invokes a build-prepending test script.
|
|
7
|
+
*
|
|
8
|
+
* Forbidden (return false):
|
|
9
|
+
* - `npm run build` / `npm run build -w ...` / `tsc` emit (`tsc -b`, `tsc --build`)
|
|
10
|
+
* - bare `npm test` / `npm t` / `npm run test` (the package script prepends build)
|
|
11
|
+
*
|
|
12
|
+
* Allowed (return true):
|
|
13
|
+
* - `npm run check` (no emit)
|
|
14
|
+
* - `npx vitest run <path>` / `vitest run <path>`
|
|
15
|
+
* - `node --test <path>`
|
|
16
|
+
*/
|
|
17
|
+
export declare function isBuildFreeVerifyCommand(cmd: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Inject the tsx ESM loader into a bare `node --test <file>` command so the `.mjs`
|
|
20
|
+
* node:test suites (which import `audit-tools/shared` via tsconfig `paths`, honored
|
|
21
|
+
* only by tsx) resolve in a per-node worktree with no built `dist/`. A host- or
|
|
22
|
+
* DAG-authored `node --test tests/audit/x.test.mjs` would otherwise fail module
|
|
23
|
+
* resolution; the tool normalizes it so correctness can't depend on the host
|
|
24
|
+
* remembering to add the loader. Idempotent: a command already carrying
|
|
25
|
+
* `--import tsx/esm` or a `--loader` is left untouched. Mirrors the runner the
|
|
26
|
+
* derived verify uses ({@link verifyCommandsForEdits}), so the displayed per-node
|
|
27
|
+
* command and the in-process verify match.
|
|
28
|
+
*/
|
|
29
|
+
export declare function normalizeNodeTestCommand(cmd: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* True when `cmd` is a test-runner invocation whose target is a whole directory
|
|
32
|
+
* or the entire suite rather than specific test files — e.g. `npx vitest run
|
|
33
|
+
* tests/remediate`, `vitest run` (no path), `node --test tests/audit/`. Such a
|
|
34
|
+
* command, run as an *additional* per-node verify alongside the scoped derive,
|
|
35
|
+
* re-enters the FULL suite inside a per-node worktree. That is the structural
|
|
36
|
+
* deadlock proven 2026-06-30: a source node's whole-suite verify fails on a
|
|
37
|
+
* stale test owned by a DIFFERENT node, and concurrent worktrees race shared
|
|
38
|
+
* test temp dirs. The derived verify already runs this node's OWN touched
|
|
39
|
+
* tests, so a host/DAG-authored whole-suite command adds only risk — the tool
|
|
40
|
+
* drops it rather than relying on the author to scope it (enforce-in-tooling,
|
|
41
|
+
* never host discretion). A command naming at least one concrete `.test.<ext>`
|
|
42
|
+
* file is scoped and kept.
|
|
43
|
+
*/
|
|
44
|
+
export declare function isWholeSuiteTestCommand(cmd: string): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Filter a node's `targeted_commands` to the build-free subset for the per-node
|
|
47
|
+
* verify section. Build-prepending or build commands are dropped (the host runs
|
|
48
|
+
* the build centrally) rather than emitted into the prompt. Whole-suite /
|
|
49
|
+
* whole-directory test runs are dropped too — they re-enter the full suite in a
|
|
50
|
+
* per-node worktree and re-create the cross-node verify deadlock (the scoped
|
|
51
|
+
* derive already covers this node's own tests). Surviving `node --test`
|
|
52
|
+
* commands are normalized to carry the tsx loader.
|
|
53
|
+
*/
|
|
54
|
+
export declare function buildFreeVerifyCommands(commands: string[] | undefined): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Repo-relative path-like tokens in a shell command — tokens containing a `/` and a
|
|
57
|
+
* file extension (e.g. `scripts/remediate/verify-hosts.mjs`, `tests/x.test.ts`).
|
|
58
|
+
* Used to decide whether a targeted verify command is self-contained.
|
|
59
|
+
*/
|
|
60
|
+
export declare function pathTokensInCommand(cmd: string): string[];
|
|
61
|
+
/**
|
|
62
|
+
* Keep only the targeted verify commands that are SELF-CONTAINED for this node:
|
|
63
|
+
* every path-like token they reference is either one of the node's own paths (its
|
|
64
|
+
* declared write set ∪ the files it actually edited on its branch) or already
|
|
65
|
+
* present in the tree. A command referencing a path this node doesn't own and that
|
|
66
|
+
* isn't in the tree depends on a SIBLING node's not-yet-created deliverable —
|
|
67
|
+
* running it in per-node verify is a guaranteed-fail deadlock (proven 2026-07-03: a
|
|
68
|
+
* node's `targeted_command` was `node scripts/remediate/verify-hosts.mjs`, another
|
|
69
|
+
* node's pending output). Per-node verify must be self-contained; such a cross-node
|
|
70
|
+
* command is dropped here and deferred to the integration/close gate. A command with
|
|
71
|
+
* no path tokens (e.g. `npm run check`) is always kept.
|
|
72
|
+
*/
|
|
73
|
+
export declare function selfContainedVerifyCommands(commands: string[], ownPaths: Iterable<string>, treeRoot: string): string[];
|
|
74
|
+
/**
|
|
75
|
+
* Derive a node's per-node verify commands from the test files it ACTUALLY touched
|
|
76
|
+
* on its worktree branch (the git ground truth), instead of trusting host-authored
|
|
77
|
+
* `targeted_commands` whose paths/runner can drift from where the worker put the
|
|
78
|
+
* test. Always typechecks (`npm run check`, no emit), then runs ONLY this node's
|
|
79
|
+
* own touched test files with the repo's runners — never the whole suite (which
|
|
80
|
+
* would re-enter worktree-spawning tests inside a nested worktree). Build-free: the
|
|
81
|
+
* host owns the central build; a node's own test imports the source it changed via
|
|
82
|
+
* the tsx loader. Returns `[]` when there is no git ground truth so the caller can
|
|
83
|
+
* skip the gate rather than fabricate a command.
|
|
84
|
+
*/
|
|
85
|
+
/** Pure assembly (git-free) of the verify commands for a set of edited paths —
|
|
86
|
+
* the testable core of {@link deriveVerifyCommandsFromBranch}. */
|
|
87
|
+
export declare function verifyCommandsForEdits(editedFiles: Iterable<string>): string[];
|
|
88
|
+
export declare function deriveVerifyCommandsFromBranch(root: string, branch: string): string[];
|
|
89
|
+
/**
|
|
90
|
+
* A node's own `targeted_commands` for the per-node verify (task_7d35176d) — the union
|
|
91
|
+
* of the block's `targeted_commands` and its findings' `targeted_commands` (the
|
|
92
|
+
* auditor-specified, fix-specific verification). `acceptNodeWorktree` runs these IN
|
|
93
|
+
* ADDITION to the derived touched-test commands (build-free subset, deduped), so a
|
|
94
|
+
* fix-specific regression check is honoured even when the fix touches no test file.
|
|
95
|
+
*/
|
|
96
|
+
export declare function targetedCommandsForBlock(state: RemediationState, blockId: string): string[];
|
|
97
|
+
//# sourceMappingURL=verifyCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyCommands.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/verifyCommands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAe7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAU5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAUhF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAGzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAUV;AAaD;;;;;;;;;;GAUG;AACH;mEACmE;AACnE,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAW9E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAIrF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAS3F"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { gitEditedFilesForBranch } from "./common.js";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Build-free per-node verification commands (residual CE-001)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
/**
|
|
8
|
+
* The host manages the build centrally; a per-node verify command that runs
|
|
9
|
+
* `npm run build` (or a `npm test` whose package script prepends a build) races
|
|
10
|
+
* the central build's dist/ and is therefore forbidden. A command is build-free
|
|
11
|
+
* only when it neither builds nor invokes a build-prepending test script.
|
|
12
|
+
*
|
|
13
|
+
* Forbidden (return false):
|
|
14
|
+
* - `npm run build` / `npm run build -w ...` / `tsc` emit (`tsc -b`, `tsc --build`)
|
|
15
|
+
* - bare `npm test` / `npm t` / `npm run test` (the package script prepends build)
|
|
16
|
+
*
|
|
17
|
+
* Allowed (return true):
|
|
18
|
+
* - `npm run check` (no emit)
|
|
19
|
+
* - `npx vitest run <path>` / `vitest run <path>`
|
|
20
|
+
* - `node --test <path>`
|
|
21
|
+
*/
|
|
22
|
+
export function isBuildFreeVerifyCommand(cmd) {
|
|
23
|
+
const c = cmd.trim().toLowerCase().replace(/\s+/g, " ");
|
|
24
|
+
if (c.length === 0)
|
|
25
|
+
return false;
|
|
26
|
+
// Any explicit build step is forbidden.
|
|
27
|
+
if (/\bnpm\s+run\s+build\b/.test(c))
|
|
28
|
+
return false;
|
|
29
|
+
if (/\btsc\b.*(-b\b|--build\b)/.test(c))
|
|
30
|
+
return false;
|
|
31
|
+
if (/(^|\s)tsc(\s|$)/.test(c) && !/--noemit\b/.test(c)) {
|
|
32
|
+
// A bare `tsc` (or `tsc -p ...`) emits unless --noEmit is set.
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
// A build-prepending `npm test` / `npm t` / `npm run test` is forbidden; the
|
|
36
|
+
// build-free runner (vitest run / node --test) must be invoked directly.
|
|
37
|
+
if (/\bnpm\s+(test|t)\b/.test(c))
|
|
38
|
+
return false;
|
|
39
|
+
if (/\bnpm\s+run\s+test\b/.test(c))
|
|
40
|
+
return false;
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Inject the tsx ESM loader into a bare `node --test <file>` command so the `.mjs`
|
|
45
|
+
* node:test suites (which import `audit-tools/shared` via tsconfig `paths`, honored
|
|
46
|
+
* only by tsx) resolve in a per-node worktree with no built `dist/`. A host- or
|
|
47
|
+
* DAG-authored `node --test tests/audit/x.test.mjs` would otherwise fail module
|
|
48
|
+
* resolution; the tool normalizes it so correctness can't depend on the host
|
|
49
|
+
* remembering to add the loader. Idempotent: a command already carrying
|
|
50
|
+
* `--import tsx/esm` or a `--loader` is left untouched. Mirrors the runner the
|
|
51
|
+
* derived verify uses ({@link verifyCommandsForEdits}), so the displayed per-node
|
|
52
|
+
* command and the in-process verify match.
|
|
53
|
+
*/
|
|
54
|
+
export function normalizeNodeTestCommand(cmd) {
|
|
55
|
+
const trimmed = cmd.trim();
|
|
56
|
+
if (!/^node\b/.test(trimmed))
|
|
57
|
+
return cmd;
|
|
58
|
+
if (!/\s--test\b/.test(trimmed))
|
|
59
|
+
return cmd;
|
|
60
|
+
if (/--import\s+tsx\/esm\b/.test(trimmed) || /--loader\b/.test(trimmed))
|
|
61
|
+
return cmd;
|
|
62
|
+
return trimmed.replace(/^node\b/, "node --import tsx/esm");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* True when `cmd` is a test-runner invocation whose target is a whole directory
|
|
66
|
+
* or the entire suite rather than specific test files — e.g. `npx vitest run
|
|
67
|
+
* tests/remediate`, `vitest run` (no path), `node --test tests/audit/`. Such a
|
|
68
|
+
* command, run as an *additional* per-node verify alongside the scoped derive,
|
|
69
|
+
* re-enters the FULL suite inside a per-node worktree. That is the structural
|
|
70
|
+
* deadlock proven 2026-06-30: a source node's whole-suite verify fails on a
|
|
71
|
+
* stale test owned by a DIFFERENT node, and concurrent worktrees race shared
|
|
72
|
+
* test temp dirs. The derived verify already runs this node's OWN touched
|
|
73
|
+
* tests, so a host/DAG-authored whole-suite command adds only risk — the tool
|
|
74
|
+
* drops it rather than relying on the author to scope it (enforce-in-tooling,
|
|
75
|
+
* never host discretion). A command naming at least one concrete `.test.<ext>`
|
|
76
|
+
* file is scoped and kept.
|
|
77
|
+
*/
|
|
78
|
+
export function isWholeSuiteTestCommand(cmd) {
|
|
79
|
+
const c = cmd.trim();
|
|
80
|
+
const isVitest = /\bvitest\b\s+run\b/.test(c) || /\bvitest\b(?!\s+run)/.test(c);
|
|
81
|
+
const isNodeTest = /^node\b/.test(c) && /\s--test\b/.test(c);
|
|
82
|
+
if (!isVitest && !isNodeTest)
|
|
83
|
+
return false;
|
|
84
|
+
// Tokenise; a concrete test file makes it scoped. Anything that is a runner
|
|
85
|
+
// with no concrete test-file target (bare runner, or a directory/glob target)
|
|
86
|
+
// is whole-suite.
|
|
87
|
+
const namesConcreteTestFile = /(^|\s)[^\s]*\.test\.(ts|tsx|mjs|cjs|js)(\s|$)/.test(c);
|
|
88
|
+
return !namesConcreteTestFile;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Filter a node's `targeted_commands` to the build-free subset for the per-node
|
|
92
|
+
* verify section. Build-prepending or build commands are dropped (the host runs
|
|
93
|
+
* the build centrally) rather than emitted into the prompt. Whole-suite /
|
|
94
|
+
* whole-directory test runs are dropped too — they re-enter the full suite in a
|
|
95
|
+
* per-node worktree and re-create the cross-node verify deadlock (the scoped
|
|
96
|
+
* derive already covers this node's own tests). Surviving `node --test`
|
|
97
|
+
* commands are normalized to carry the tsx loader.
|
|
98
|
+
*/
|
|
99
|
+
export function buildFreeVerifyCommands(commands) {
|
|
100
|
+
if (!Array.isArray(commands))
|
|
101
|
+
return [];
|
|
102
|
+
return commands
|
|
103
|
+
.filter((c) => typeof c === "string" &&
|
|
104
|
+
isBuildFreeVerifyCommand(c) &&
|
|
105
|
+
!isWholeSuiteTestCommand(c))
|
|
106
|
+
.map(normalizeNodeTestCommand);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Repo-relative path-like tokens in a shell command — tokens containing a `/` and a
|
|
110
|
+
* file extension (e.g. `scripts/remediate/verify-hosts.mjs`, `tests/x.test.ts`).
|
|
111
|
+
* Used to decide whether a targeted verify command is self-contained.
|
|
112
|
+
*/
|
|
113
|
+
export function pathTokensInCommand(cmd) {
|
|
114
|
+
const tokens = cmd.match(/(?:[\w.@-]+\/)+[\w.@-]+\.\w+/g) ?? [];
|
|
115
|
+
return [...new Set(tokens.map((t) => t.replace(/\\/g, "/")))];
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Keep only the targeted verify commands that are SELF-CONTAINED for this node:
|
|
119
|
+
* every path-like token they reference is either one of the node's own paths (its
|
|
120
|
+
* declared write set ∪ the files it actually edited on its branch) or already
|
|
121
|
+
* present in the tree. A command referencing a path this node doesn't own and that
|
|
122
|
+
* isn't in the tree depends on a SIBLING node's not-yet-created deliverable —
|
|
123
|
+
* running it in per-node verify is a guaranteed-fail deadlock (proven 2026-07-03: a
|
|
124
|
+
* node's `targeted_command` was `node scripts/remediate/verify-hosts.mjs`, another
|
|
125
|
+
* node's pending output). Per-node verify must be self-contained; such a cross-node
|
|
126
|
+
* command is dropped here and deferred to the integration/close gate. A command with
|
|
127
|
+
* no path tokens (e.g. `npm run check`) is always kept.
|
|
128
|
+
*/
|
|
129
|
+
export function selfContainedVerifyCommands(commands, ownPaths, treeRoot) {
|
|
130
|
+
const owned = new Set([...ownPaths].map((p) => p.replace(/\\/g, "/")));
|
|
131
|
+
return commands.filter((cmd) => {
|
|
132
|
+
for (const token of pathTokensInCommand(cmd)) {
|
|
133
|
+
if (owned.has(token))
|
|
134
|
+
continue;
|
|
135
|
+
if (existsSync(join(treeRoot, token)))
|
|
136
|
+
continue;
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
return true;
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/** A repo-relative test path → the runner that executes that file directly. */
|
|
143
|
+
function verifyRunnerForTestFile(repoRelPath) {
|
|
144
|
+
// ONE vitest runner across all suites (audit / shared / remediate). The node:test
|
|
145
|
+
// split was retired 2026-07-02, so every tracked `.test.mjs` / `.test.ts` file is a
|
|
146
|
+
// vitest file — running a `.mjs` vitest suite under `node --test` throws "Vitest
|
|
147
|
+
// failed to access its internal state". vitest resolves `audit-tools/shared` via its
|
|
148
|
+
// config alias, so a per-node worktree needs no prior build (`npx vitest run <file>`).
|
|
149
|
+
if (/^tests\/.+\.test\.(mjs|ts|tsx)$/.test(repoRelPath))
|
|
150
|
+
return "vitest";
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Derive a node's per-node verify commands from the test files it ACTUALLY touched
|
|
155
|
+
* on its worktree branch (the git ground truth), instead of trusting host-authored
|
|
156
|
+
* `targeted_commands` whose paths/runner can drift from where the worker put the
|
|
157
|
+
* test. Always typechecks (`npm run check`, no emit), then runs ONLY this node's
|
|
158
|
+
* own touched test files with the repo's runners — never the whole suite (which
|
|
159
|
+
* would re-enter worktree-spawning tests inside a nested worktree). Build-free: the
|
|
160
|
+
* host owns the central build; a node's own test imports the source it changed via
|
|
161
|
+
* the tsx loader. Returns `[]` when there is no git ground truth so the caller can
|
|
162
|
+
* skip the gate rather than fabricate a command.
|
|
163
|
+
*/
|
|
164
|
+
/** Pure assembly (git-free) of the verify commands for a set of edited paths —
|
|
165
|
+
* the testable core of {@link deriveVerifyCommandsFromBranch}. */
|
|
166
|
+
export function verifyCommandsForEdits(editedFiles) {
|
|
167
|
+
const vitestTests = [];
|
|
168
|
+
for (const f of editedFiles) {
|
|
169
|
+
const rel = f.replace(/\\/g, "/");
|
|
170
|
+
if (verifyRunnerForTestFile(rel) === "vitest")
|
|
171
|
+
vitestTests.push(rel);
|
|
172
|
+
}
|
|
173
|
+
const cmds = ["npm run check"];
|
|
174
|
+
if (vitestTests.length > 0) {
|
|
175
|
+
cmds.push(`npx vitest run ${vitestTests.sort().join(" ")}`);
|
|
176
|
+
}
|
|
177
|
+
return cmds;
|
|
178
|
+
}
|
|
179
|
+
export function deriveVerifyCommandsFromBranch(root, branch) {
|
|
180
|
+
const edited = gitEditedFilesForBranch(root, branch);
|
|
181
|
+
if (!edited.available)
|
|
182
|
+
return [];
|
|
183
|
+
return verifyCommandsForEdits(edited.files);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* A node's own `targeted_commands` for the per-node verify (task_7d35176d) — the union
|
|
187
|
+
* of the block's `targeted_commands` and its findings' `targeted_commands` (the
|
|
188
|
+
* auditor-specified, fix-specific verification). `acceptNodeWorktree` runs these IN
|
|
189
|
+
* ADDITION to the derived touched-test commands (build-free subset, deduped), so a
|
|
190
|
+
* fix-specific regression check is honoured even when the fix touches no test file.
|
|
191
|
+
*/
|
|
192
|
+
export function targetedCommandsForBlock(state, blockId) {
|
|
193
|
+
const block = state.plan?.blocks?.find((b) => b.block_id === blockId);
|
|
194
|
+
if (!block)
|
|
195
|
+
return [];
|
|
196
|
+
const out = [...(block.targeted_commands ?? [])];
|
|
197
|
+
for (const fid of block.items) {
|
|
198
|
+
const finding = state.plan?.findings?.find((f) => f.id === fid);
|
|
199
|
+
for (const c of finding?.targeted_commands ?? [])
|
|
200
|
+
out.push(c);
|
|
201
|
+
}
|
|
202
|
+
return [...new Set(out)];
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=verifyCommands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyCommands.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/verifyCommands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { SessionConfig, HostConcurrencyLimit, WaveSchedule, QuotaStateEntry, ResolvedProviderName, DispatchCapacityPoolSummary, HostModelRosterEntry, CapacityPool } from "audit-tools/shared";
|
|
2
|
+
import { HostSessionQuotaSource } from "audit-tools/shared";
|
|
3
|
+
import { type DispatchPhase, type RemediationDispatchQuota } from "../types.js";
|
|
4
|
+
import { resolveHostActiveSubagentLimit } from "../../quota/index.js";
|
|
5
|
+
export { resolveHostActiveSubagentLimit };
|
|
6
|
+
export { detectHostActiveSubagentLimit as detectHostConcurrencyFromEnv, } from "../../quota/hostLimits.js";
|
|
7
|
+
export type { HostConcurrencyLimit };
|
|
8
|
+
export interface ScheduleWaveInput {
|
|
9
|
+
hostMaxConcurrent?: number | null;
|
|
10
|
+
sessionConfig: SessionConfig | null;
|
|
11
|
+
itemCount: number;
|
|
12
|
+
estimatedSlotTokens?: number[];
|
|
13
|
+
providerName?: ResolvedProviderName;
|
|
14
|
+
hostModel?: string | null;
|
|
15
|
+
/** Context window the host reports for its dispatch model (handshake). */
|
|
16
|
+
hostContextTokens?: number | null;
|
|
17
|
+
/** Output cap the host reports for its dispatch model (handshake). */
|
|
18
|
+
hostOutputTokens?: number | null;
|
|
19
|
+
/**
|
|
20
|
+
* Ordered model roster (lowest rank first) from the multi-rank handshake
|
|
21
|
+
* (`--host-models`); outranks the scalar pair. One capacity pool is built per
|
|
22
|
+
* reported rank, each with its own discovered window.
|
|
23
|
+
*/
|
|
24
|
+
hostModels?: HostModelRosterEntry[] | null;
|
|
25
|
+
/**
|
|
26
|
+
* Opaque model identity for the quota key when no model name resolves —
|
|
27
|
+
* a key segment ONLY (`provider/<id>`), never a window authority.
|
|
28
|
+
*/
|
|
29
|
+
hostModelId?: string | null;
|
|
30
|
+
env?: NodeJS.ProcessEnv;
|
|
31
|
+
}
|
|
32
|
+
export declare function normalizeSlotTokens(tokens: number[] | undefined, count: number): number[];
|
|
33
|
+
export interface WaveScheduleResult extends WaveSchedule {
|
|
34
|
+
host_concurrency_limit: HostConcurrencyLimit | null;
|
|
35
|
+
capacity_pools?: DispatchCapacityPoolSummary[];
|
|
36
|
+
}
|
|
37
|
+
export declare function resolveHostConcurrencyLimit(options: {
|
|
38
|
+
hostMaxConcurrent?: number | null;
|
|
39
|
+
sessionConfig: SessionConfig | null;
|
|
40
|
+
env?: NodeJS.ProcessEnv;
|
|
41
|
+
}): HostConcurrencyLimit | null;
|
|
42
|
+
export declare function scheduleWave(input: ScheduleWaveInput): Promise<WaveScheduleResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Build the confirmed `CapacityPool[]` for a dispatch — one pool per reported
|
|
45
|
+
* roster rank (each with its own discovered window + quota key), or a single
|
|
46
|
+
* conservative pool for the scalar/absent handshake. This is the same pool shape
|
|
47
|
+
* `scheduleWave` constructs internally; it is exposed so the rolling dispatch
|
|
48
|
+
* engine (which is fed `confirmedPools` directly) sizes concurrency from the
|
|
49
|
+
* identical quota inputs, never from a raw host flag. Reused by
|
|
50
|
+
* `driveRollingImplementDispatch`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function buildConfirmedPools(input: {
|
|
53
|
+
sessionConfig: SessionConfig | null;
|
|
54
|
+
hostMaxConcurrent?: number | null;
|
|
55
|
+
hostContextTokens?: number | null;
|
|
56
|
+
hostOutputTokens?: number | null;
|
|
57
|
+
hostModels?: HostModelRosterEntry[] | null;
|
|
58
|
+
hostModelId?: string | null;
|
|
59
|
+
env?: NodeJS.ProcessEnv;
|
|
60
|
+
/**
|
|
61
|
+
* The host-session source the rolling driver RETAINS to feed `recordLimit` and
|
|
62
|
+
* read `isPacketEscalated`. Passed in (not constructed anonymously here) so the
|
|
63
|
+
* driver threads the SAME instance through pool sizing AND the dispatcher's
|
|
64
|
+
* write/read escalation hooks — otherwise the bounded-escalation chain is unfed.
|
|
65
|
+
* Omit on the proactive-sizing-only paths; one is constructed internally.
|
|
66
|
+
*/
|
|
67
|
+
hostSession?: HostSessionQuotaSource;
|
|
68
|
+
/** Defect-1: demote the primary in-process backend to a source when an attended host drives. */
|
|
69
|
+
demotePrimaryInProcess?: boolean;
|
|
70
|
+
}): Promise<CapacityPool[]>;
|
|
71
|
+
export declare function buildDispatchQuota(runId: string, phase: DispatchPhase, schedule: WaveScheduleResult, admissionPackets: {
|
|
72
|
+
id: string;
|
|
73
|
+
inputTokens: number;
|
|
74
|
+
complexity: number;
|
|
75
|
+
}[],
|
|
76
|
+
/**
|
|
77
|
+
* Whether to LEASE the granted set against the shared reservation ledger. The
|
|
78
|
+
* host-subagent path passes `true` (the host dispatches the grant across processes,
|
|
79
|
+
* so the tool reserves-before-dispatch and reconciles at accept-node). The
|
|
80
|
+
* in-process rolling engine passes `false`: it admits + leases per-packet itself, so
|
|
81
|
+
* a host-grant lease here would double-count the same work. Mirrors audit's
|
|
82
|
+
* `finalizeDispatchQuota` grantLeases parameterization.
|
|
83
|
+
*/
|
|
84
|
+
grantLeases: boolean, quotaStateEntry?: QuotaStateEntry | null,
|
|
85
|
+
/**
|
|
86
|
+
* Operator-confirmed cost ordering (rung 1 of costRank; spec/cost-first-routing.md),
|
|
87
|
+
* keyed by model id → 0-based confirmed position. Absent ⇒ price then tier.
|
|
88
|
+
*/
|
|
89
|
+
confirmedCostPositions?: Map<string, number> | null): Promise<RemediationDispatchQuota>;
|
|
90
|
+
//# sourceMappingURL=waveScheduling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waveScheduling.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/waveScheduling.ts"],"names":[],"mappings":"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"}
|