audit-tools 0.44.0 → 0.46.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/README.md +15 -2
- package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
- package/dist/audit/cli/charterExtractionPrompt.js +11 -1
- package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
- package/dist/audit/cli/cleanupCommand.d.ts +25 -0
- package/dist/audit/cli/cleanupCommand.d.ts.map +1 -1
- package/dist/audit/cli/cleanupCommand.js +69 -0
- package/dist/audit/cli/cleanupCommand.js.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.d.ts +64 -3
- package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/hostHandoff.js +247 -99
- package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
- package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
- package/dist/audit/cli/dispatch.d.ts +1 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +1 -1
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
- package/dist/audit/cli/fanoutLanes.js +6 -1
- package/dist/audit/cli/fanoutLanes.js.map +1 -1
- package/dist/audit/cli/laneSubmissions.d.ts +16 -2
- package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
- package/dist/audit/cli/laneSubmissions.js +38 -27
- package/dist/audit/cli/laneSubmissions.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +9 -6
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +39 -4
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +132 -42
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +1 -1
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +2 -9
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
- package/dist/audit/cli/sampleRunCommand.js +12 -1
- package/dist/audit/cli/sampleRunCommand.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts +5 -2
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +28 -1
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/steps.d.ts +6 -6
- package/dist/audit/cli/unacceptResultsCommand.d.ts +18 -0
- package/dist/audit/cli/unacceptResultsCommand.d.ts.map +1 -0
- package/dist/audit/cli/unacceptResultsCommand.js +49 -0
- package/dist/audit/cli/unacceptResultsCommand.js.map +1 -0
- package/dist/audit/cli.d.ts +6 -0
- package/dist/audit/cli.d.ts.map +1 -1
- package/dist/audit/cli.js +34 -59
- package/dist/audit/cli.js.map +1 -1
- package/dist/audit/contracts/findingContractPrompt.d.ts +11 -0
- package/dist/audit/contracts/findingContractPrompt.d.ts.map +1 -0
- package/dist/audit/contracts/findingContractPrompt.js +112 -0
- package/dist/audit/contracts/findingContractPrompt.js.map +1 -0
- package/dist/audit/contracts/workerSchemas.d.ts +106 -42
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/contracts/workerSchemas.js +16 -7
- package/dist/audit/contracts/workerSchemas.js.map +1 -1
- package/dist/audit/contracts/wrapperResponse.d.ts +52 -28
- package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
- package/dist/audit/contracts/wrapperResponse.js +8 -5
- package/dist/audit/contracts/wrapperResponse.js.map +1 -1
- package/dist/audit/decompose/sources.d.ts.map +1 -1
- package/dist/audit/decompose/sources.js +21 -5
- package/dist/audit/decompose/sources.js.map +1 -1
- package/dist/audit/extractors/analyzers/registry.d.ts +8 -5
- package/dist/audit/extractors/analyzers/registry.d.ts.map +1 -1
- package/dist/audit/extractors/analyzers/registry.js +28 -7
- package/dist/audit/extractors/analyzers/registry.js.map +1 -1
- package/dist/audit/extractors/designAssessment.js +1 -1
- package/dist/audit/extractors/gitHistory.d.ts +1 -1
- package/dist/audit/extractors/gitHistory.js +1 -1
- package/dist/audit/extractors/graph.d.ts +1 -1
- package/dist/audit/extractors/graph.js +1 -1
- package/dist/audit/extractors/risk.d.ts +1 -1
- package/dist/audit/extractors/risk.js +1 -1
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +5 -5
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +11 -6
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/advance.d.ts +14 -10
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +49 -24
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +14 -0
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts +20 -1
- package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/autoFixExecutor.js +77 -15
- package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +1 -1
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +18 -4
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts +54 -0
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +352 -0
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +20 -11
- package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.js +17 -11
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
- package/dist/audit/orchestrator/localCommands.d.ts +24 -1
- package/dist/audit/orchestrator/localCommands.d.ts.map +1 -1
- package/dist/audit/orchestrator/localCommands.js +44 -9
- package/dist/audit/orchestrator/localCommands.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +13 -0
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +13 -0
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts +32 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.js +90 -3
- package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
- package/dist/audit/orchestrator/structureExecutors.js +1 -1
- package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +11 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js +25 -9
- package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts +0 -1
- package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
- package/dist/audit/supervisor/operatorHandoff.js +2 -1
- package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
- package/dist/audit/types.d.ts +33 -19
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.d.ts +39 -0
- package/dist/audit/validation/auditResults.d.ts.map +1 -1
- package/dist/audit/validation/auditResults.js +111 -53
- package/dist/audit/validation/auditResults.js.map +1 -1
- package/dist/audit/validation/ingestIssueCodes.d.ts +18 -0
- package/dist/audit/validation/ingestIssueCodes.d.ts.map +1 -0
- package/dist/audit/validation/ingestIssueCodes.js +26 -0
- package/dist/audit/validation/ingestIssueCodes.js.map +1 -0
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +1 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.d.ts +5 -4
- package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/semanticProjection.js +34 -19
- package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +3 -2
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts +37 -2
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +100 -31
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +2 -2
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
- package/dist/remediate/phases/triage.d.ts.map +1 -1
- package/dist/remediate/phases/triage.js +61 -19
- package/dist/remediate/phases/triage.js.map +1 -1
- package/dist/remediate/state/types.d.ts +15 -1
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts +13 -0
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +82 -3
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +297 -139
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +37 -7
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/types/options.d.ts +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +61 -28
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +83 -24
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +8 -2
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +4 -4
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/constitutionalDocPaths.d.ts.map +1 -1
- package/dist/shared/constitutionalDocPaths.js +7 -0
- package/dist/shared/constitutionalDocPaths.js.map +1 -1
- package/dist/shared/decompose/systemicChallenge.d.ts +15 -1
- package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.d.ts +44 -3
- package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
- package/dist/shared/engine/obligationEngine.js +53 -7
- package/dist/shared/engine/obligationEngine.js.map +1 -1
- package/dist/shared/findings/dedupe.d.ts.map +1 -1
- package/dist/shared/findings/dedupe.js +8 -0
- package/dist/shared/findings/dedupe.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +42 -2
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js +111 -3
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +15 -0
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +33 -2
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +16 -11
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +16 -9
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/fileLock.d.ts.map +1 -1
- package/dist/shared/io/fileLock.js +22 -3
- package/dist/shared/io/fileLock.js.map +1 -1
- package/dist/shared/io/frictionCapture.d.ts +73 -19
- package/dist/shared/io/frictionCapture.d.ts.map +1 -1
- package/dist/shared/io/frictionCapture.js +21 -30
- package/dist/shared/io/frictionCapture.js.map +1 -1
- package/dist/shared/io/lockedJsonStore.d.ts +24 -3
- package/dist/shared/io/lockedJsonStore.d.ts.map +1 -1
- package/dist/shared/io/lockedJsonStore.js +35 -7
- package/dist/shared/io/lockedJsonStore.js.map +1 -1
- package/dist/shared/io/stepContractWriter.d.ts +3 -3
- package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
- package/dist/shared/io/stepContractWriter.js +97 -13
- package/dist/shared/io/stepContractWriter.js.map +1 -1
- package/dist/shared/submission/expectedSubmissions.d.ts +18 -0
- package/dist/shared/submission/expectedSubmissions.d.ts.map +1 -1
- package/dist/shared/submission/expectedSubmissions.js +17 -0
- package/dist/shared/submission/expectedSubmissions.js.map +1 -1
- package/dist/shared/submission/handRecovery.d.ts.map +1 -1
- package/dist/shared/submission/handRecovery.js +9 -11
- package/dist/shared/submission/handRecovery.js.map +1 -1
- package/dist/shared/submission/hostHandoffCore.d.ts +155 -0
- package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -0
- package/dist/shared/submission/hostHandoffCore.js +210 -0
- package/dist/shared/submission/hostHandoffCore.js.map +1 -0
- package/dist/shared/submission/submissionClassifier.d.ts +4 -1
- package/dist/shared/submission/submissionClassifier.d.ts.map +1 -1
- package/dist/shared/submission/submissionClassifier.js.map +1 -1
- package/dist/shared/submission/submissionLedger.d.ts +16 -5
- package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
- package/dist/shared/submission/submissionLedger.js +42 -3
- package/dist/shared/submission/submissionLedger.js.map +1 -1
- package/dist/shared/tooling/commandShape.d.ts +29 -0
- package/dist/shared/tooling/commandShape.d.ts.map +1 -1
- package/dist/shared/tooling/commandShape.js +82 -10
- package/dist/shared/tooling/commandShape.js.map +1 -1
- package/dist/shared/tooling/exec.d.ts +32 -0
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +189 -0
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/types/finding.d.ts +132 -20
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +70 -63
- package/dist/shared/types/finding.js.map +1 -1
- package/docs/audit-pkg/contracts.md +8 -1
- package/docs/audit-pkg/operator-guide.md +13 -2
- package/docs/audit-pkg/product.md +22 -6
- package/package.json +10 -6
- package/schemas/audit-code-v1alpha1.schema.json +297 -0
- package/schemas/audit_result.schema.json +5 -1
- package/schemas/audit_results.schema.json +5 -1
- package/schemas/finding.schema.json +1 -1
- package/scripts/shared/install-host-assets.mjs +8 -5
- package/skills/audit-code/SKILL.md +4 -2
- package/skills/audit-code/audit-code.prompt.md +5 -2
- package/skills/audit-code/opencode-command-template.txt +1 -1
- package/wrapper/audit-code-wrapper-lib.mjs +82 -16
- package/wrapper/installer-verb-help.mjs +14 -4
- package/docs/audit-pkg/development.md +0 -113
- package/docs/audit-pkg/release.md +0 -140
|
@@ -23,21 +23,24 @@ export function graphEnrichmentUnresolvedAnalyzers(bundle, inputs) {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Item B (consent surfacing): the consent-gated analyzer candidates that are
|
|
26
|
-
* APPLICABLE to this repo and have NO recorded decision
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* mechanical-analyzer-layer program
|
|
32
|
-
*
|
|
33
|
-
* recorded decision (declined is never re-offered)
|
|
26
|
+
* APPLICABLE to this repo and have NO recorded decision AND are not admitted by
|
|
27
|
+
* this run's consent grant — the set the operator is still owed a batched offer
|
|
28
|
+
* on. The SINGLE source of the analyzer-consent fold, consumed by BOTH the
|
|
29
|
+
* `next-step` fold (which relays the list as the offer step) and the drain stop
|
|
30
|
+
* predicate (which halts before the acquisition executor would silently skip
|
|
31
|
+
* them — the silent-fail-closed defect the mechanical-analyzer-layer program
|
|
32
|
+
* exists to fix). Nothing is owed when acquisition is off, the candidate has a
|
|
33
|
+
* recorded decision (declined is never re-offered), the setting is `skip`, or
|
|
34
|
+
* THIS RUN's grant names the candidate. A grant that does not name a candidate
|
|
35
|
+
* leaves it owed — scope is honored per candidate, never widened to the run.
|
|
34
36
|
*/
|
|
35
37
|
export function pendingAnalyzerConsent(inputs) {
|
|
36
38
|
if (inputs.externalAcquisitionEnabled !== true || !inputs.root)
|
|
37
39
|
return [];
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const grant = inputs.acquisitionConsentToken;
|
|
41
|
+
const grantedTools = grant && grant.value.trim().length > 0 && Array.isArray(grant.tools)
|
|
42
|
+
? new Set(grant.tools)
|
|
43
|
+
: undefined;
|
|
41
44
|
const root = inputs.root;
|
|
42
45
|
return EXTERNAL_ANALYZER_CANDIDATES.filter((candidate) => {
|
|
43
46
|
if (candidate.defaultRun)
|
|
@@ -46,6 +49,9 @@ export function pendingAnalyzerConsent(inputs) {
|
|
|
46
49
|
return false;
|
|
47
50
|
if (inputs.analyzerConsent?.[candidate.id] !== undefined)
|
|
48
51
|
return false;
|
|
52
|
+
// Scoped: only a grant that names THIS candidate suppresses its offer.
|
|
53
|
+
if (grantedTools?.has(candidate.id))
|
|
54
|
+
return false;
|
|
49
55
|
try {
|
|
50
56
|
return candidate.detect(root);
|
|
51
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostInputPause.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/hostInputPause.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hostInputPause.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/hostInputPause.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,39 @@
|
|
|
1
|
+
import { type AnalyzerConsentDecisions } from "audit-tools/shared";
|
|
1
2
|
export interface LocalCommandCandidate {
|
|
2
3
|
command: string;
|
|
3
4
|
args: string[];
|
|
4
5
|
display?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Explicit registry key for admission, for an arm whose argv cannot yield
|
|
8
|
+
* its real tool (`python -m black`, `uvx black`, `pipx run black`). Absent
|
|
9
|
+
* ⇒ the key derives from the full argv ({@link localToolIdFor}).
|
|
10
|
+
*/
|
|
11
|
+
toolId?: string;
|
|
5
12
|
}
|
|
6
13
|
export interface LocalCommandResult {
|
|
7
14
|
candidate: LocalCommandCandidate;
|
|
8
15
|
exitCode: number | null;
|
|
9
16
|
stdout: string;
|
|
10
17
|
stderr: string;
|
|
18
|
+
/** The refusal reason when a recorded operator decline vetoed the candidate. */
|
|
19
|
+
declinedReason?: string;
|
|
11
20
|
error?: Error;
|
|
12
21
|
}
|
|
13
22
|
export declare function __resolveFromPathForTests(command: string): string | null;
|
|
14
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Run the first resolvable, ADMITTED candidate. Admission is the shared
|
|
25
|
+
* decline-first veto ({@link admitLocalSpawn}): a recorded operator `declined`
|
|
26
|
+
* for this tool id refuses the spawn OUTRIGHT — the remaining candidates are
|
|
27
|
+
* still walked (a decline names ONE tool, not every formatter), so `prettier`
|
|
28
|
+
* being declined does not silently route formatting to `black`. The returned
|
|
29
|
+
* record carries `declinedReason` when a candidate was refused for that reason.
|
|
30
|
+
*
|
|
31
|
+
* Spawns go through the SHARED exec boundary (`runTracked`): argv-only, the
|
|
32
|
+
* control-env scrub applied, windowsHide forced — never a direct
|
|
33
|
+
* `node:child_process` call with the unscrubbed parent environment.
|
|
34
|
+
*/
|
|
35
|
+
export declare function runFirstAvailableCommand(root: string, candidates: LocalCommandCandidate[], options?: {
|
|
36
|
+
analyzerConsent?: AnalyzerConsentDecisions;
|
|
37
|
+
}): LocalCommandResult | null;
|
|
15
38
|
export declare function resolveNodeTool(root: string, relativePath: string, args: string[], display: string): LocalCommandCandidate[];
|
|
16
39
|
//# sourceMappingURL=localCommands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localCommands.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localCommands.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAaD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AA4ED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,wBAAwB,CAAA;CAAO,GAC3D,kBAAkB,GAAG,IAAI,CA6D3B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAWzB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { existsSync } from "node:fs";
|
|
2
|
-
import { spawnSync } from "node:child_process";
|
|
3
2
|
import { delimiter, extname, isAbsolute, join } from "node:path";
|
|
4
|
-
import { resolveExecArgv } from "audit-tools/shared";
|
|
3
|
+
import { admitLocalSpawn, resolveExecArgv, runTracked, } from "audit-tools/shared";
|
|
5
4
|
function toSpawnTuple(candidate) {
|
|
6
5
|
// Shared resolver applies the single Windows `.cmd`/`.bat` wrapping impl.
|
|
7
6
|
// The candidate command is already PATH-resolved (absolute path or
|
|
@@ -69,18 +68,42 @@ function resolveCandidate(root, candidate) {
|
|
|
69
68
|
}
|
|
70
69
|
return null;
|
|
71
70
|
}
|
|
72
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Run the first resolvable, ADMITTED candidate. Admission is the shared
|
|
73
|
+
* decline-first veto ({@link admitLocalSpawn}): a recorded operator `declined`
|
|
74
|
+
* for this tool id refuses the spawn OUTRIGHT — the remaining candidates are
|
|
75
|
+
* still walked (a decline names ONE tool, not every formatter), so `prettier`
|
|
76
|
+
* being declined does not silently route formatting to `black`. The returned
|
|
77
|
+
* record carries `declinedReason` when a candidate was refused for that reason.
|
|
78
|
+
*
|
|
79
|
+
* Spawns go through the SHARED exec boundary (`runTracked`): argv-only, the
|
|
80
|
+
* control-env scrub applied, windowsHide forced — never a direct
|
|
81
|
+
* `node:child_process` call with the unscrubbed parent environment.
|
|
82
|
+
*/
|
|
83
|
+
export function runFirstAvailableCommand(root, candidates, options = {}) {
|
|
84
|
+
let lastDecline;
|
|
73
85
|
for (const candidate of candidates) {
|
|
86
|
+
// Decline-first admission, BEFORE resolution and before anything spawns. A
|
|
87
|
+
// recorded refusal is a veto for THIS tool wherever its executable resolves
|
|
88
|
+
// from — including the repo-local `node <script>` arm (the script is the
|
|
89
|
+
// key, never `node`). It runs ahead of resolution because whether the binary
|
|
90
|
+
// happens to be INSTALLED says nothing about whether the operator refused
|
|
91
|
+
// it: resolving first meant an absent tool reported `not_resolved` and the
|
|
92
|
+
// recorded decline was never consulted, so one policy read two ways on two
|
|
93
|
+
// machines.
|
|
94
|
+
const denied = admitLocalSpawn([candidate.command, ...candidate.args], options.analyzerConsent, candidate.toolId);
|
|
95
|
+
if (denied) {
|
|
96
|
+
lastDecline = denied;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
74
99
|
const resolved = resolveCandidate(root, candidate);
|
|
75
100
|
if (!resolved) {
|
|
76
101
|
continue;
|
|
77
102
|
}
|
|
78
103
|
const spawnTarget = toSpawnTuple(resolved);
|
|
79
|
-
const result =
|
|
104
|
+
const result = runTracked([spawnTarget.command, ...spawnTarget.args], {
|
|
80
105
|
cwd: root,
|
|
81
|
-
env: process.env,
|
|
82
106
|
encoding: "utf8",
|
|
83
|
-
windowsHide: true,
|
|
84
107
|
stdio: "pipe",
|
|
85
108
|
});
|
|
86
109
|
return {
|
|
@@ -89,14 +112,26 @@ export function runFirstAvailableCommand(root, candidates) {
|
|
|
89
112
|
display: candidate.display ?? [candidate.command, ...candidate.args].join(" "),
|
|
90
113
|
},
|
|
91
114
|
exitCode: result.status,
|
|
92
|
-
stdout: result.stdout
|
|
93
|
-
stderr: result.stderr
|
|
115
|
+
stdout: result.stdout,
|
|
116
|
+
stderr: result.stderr,
|
|
94
117
|
error: result.error
|
|
95
118
|
? new Error(result.error.message, { cause: result.error })
|
|
96
119
|
: undefined,
|
|
97
120
|
};
|
|
98
121
|
}
|
|
99
|
-
return
|
|
122
|
+
return lastDecline
|
|
123
|
+
? {
|
|
124
|
+
candidate: {
|
|
125
|
+
command: "",
|
|
126
|
+
args: [],
|
|
127
|
+
display: "(all candidates declined or unresolved)",
|
|
128
|
+
},
|
|
129
|
+
exitCode: null,
|
|
130
|
+
stdout: "",
|
|
131
|
+
stderr: "",
|
|
132
|
+
declinedReason: lastDecline,
|
|
133
|
+
}
|
|
134
|
+
: null;
|
|
100
135
|
}
|
|
101
136
|
export function resolveNodeTool(root, relativePath, args, display) {
|
|
102
137
|
const localToolPath = join(root, relativePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localCommands.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"localCommands.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EACL,eAAe,EACf,eAAe,EACf,UAAU,GAEX,MAAM,oBAAoB,CAAC;AAwB5B,SAAS,YAAY,CAAC,SAAgC;IAIpD,0EAA0E;IAC1E,mEAAmE;IACnE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACrB,UAAU,CAAC,OAAO,CAAC,EACnB,CAAC;QACD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,SAAS;SAC1B,KAAK,CAAC,SAAS,CAAC;SAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,qBAAqB,CAAC;aAC3C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEX,0EAA0E;IAC1E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,mBAAmB,GACvB,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAC3D,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEX,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,SAAgC;IAEhC,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE,aAAa;SACvB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,UAAmC,EACnC,UAA0D,EAAE;IAE5D,IAAI,WAA+B,CAAC;IACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,6EAA6E;QAC7E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,YAAY;QACZ,MAAM,MAAM,GAAG,eAAe,CAC5B,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,EACtC,OAAO,CAAC,eAAe,EACvB,SAAS,CAAC,MAAM,CACjB,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,GAAG,MAAM,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE;YACpE,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE;gBACT,GAAG,QAAQ;gBACX,OAAO,EACL,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACxE;YACD,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACjB,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1D,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;IAED,OAAO,WAAW;QAChB,CAAC,CAAC;YACE,SAAS,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,OAAO,EAAE,yCAAyC;aACnD;YACD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,WAAW;SAC5B;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,YAAoB,EACpB,IAAc,EACd,OAAe;IAEf,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC;YACd,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC;YAC9B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -26,6 +26,19 @@ export interface DecideNextStepOptions {
|
|
|
26
26
|
emitStaleness?: boolean;
|
|
27
27
|
}
|
|
28
28
|
export declare function decideNextStep(bundle: ArtifactBundle, options?: DecideNextStepOptions): NextStepDecision;
|
|
29
|
+
/**
|
|
30
|
+
* The audit friction record's own key. Audit keeps ONE friction record per artifacts
|
|
31
|
+
* dir — its step envelopes carry no per-run id — so the key is a fixed literal rather
|
|
32
|
+
* than a minted run id. Single-sourced here beside the close-out that reads it, so the
|
|
33
|
+
* capture seams, the close-out, the run-linkage writers, and the operator handoff's
|
|
34
|
+
* `friction_record` path cannot spell it differently. Two source sites still write the
|
|
35
|
+
* derived record path out as a literal, each because a mechanical reader requires one
|
|
36
|
+
* there: `friction_capture_executor`'s `artifacts_written` (executorRunners.ts), read
|
|
37
|
+
* structurally by the write-site extractor, and the same executor's
|
|
38
|
+
* `produces[].artifact` in EXECUTOR_REGISTRY (executors.ts), whose producer generator
|
|
39
|
+
* refuses any non-string-literal initializer. DECL-10 pins BOTH against this constant.
|
|
40
|
+
*/
|
|
41
|
+
export declare const AUDIT_FRICTION_RUN_ID = "run";
|
|
29
42
|
/**
|
|
30
43
|
* Terminal friction-TRIAGE close-out for audit. Folded into the `present_report`
|
|
31
44
|
* terminal step (not a separate executor) so it fires at exactly the right moment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAuC5B,CAAC;AAkCF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAAE,GAC7B,eAAe,GAAG,SAAS,CAE7B;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,gBAAgB,CAqClB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAEjC"}
|
|
1
|
+
{"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAuC5B,CAAC;AAkCF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAAE,GAC7B,eAAe,GAAG,SAAS,CAE7B;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,gBAAgB,CAqClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAEjC"}
|
|
@@ -110,6 +110,19 @@ export function decideNextStep(bundle, options = {}) {
|
|
|
110
110
|
: `No executor found for obligation ${next.id}; EXECUTOR_REGISTRY has no entry for this obligation ID. This is a configuration gap — the obligation was selected but cannot be dispatched.`,
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* The audit friction record's own key. Audit keeps ONE friction record per artifacts
|
|
115
|
+
* dir — its step envelopes carry no per-run id — so the key is a fixed literal rather
|
|
116
|
+
* than a minted run id. Single-sourced here beside the close-out that reads it, so the
|
|
117
|
+
* capture seams, the close-out, the run-linkage writers, and the operator handoff's
|
|
118
|
+
* `friction_record` path cannot spell it differently. Two source sites still write the
|
|
119
|
+
* derived record path out as a literal, each because a mechanical reader requires one
|
|
120
|
+
* there: `friction_capture_executor`'s `artifacts_written` (executorRunners.ts), read
|
|
121
|
+
* structurally by the write-site extractor, and the same executor's
|
|
122
|
+
* `produces[].artifact` in EXECUTOR_REGISTRY (executors.ts), whose producer generator
|
|
123
|
+
* refuses any non-string-literal initializer. DECL-10 pins BOTH against this constant.
|
|
124
|
+
*/
|
|
125
|
+
export const AUDIT_FRICTION_RUN_ID = "run";
|
|
113
126
|
/**
|
|
114
127
|
* Terminal friction-TRIAGE close-out for audit. Folded into the `present_report`
|
|
115
128
|
* terminal step (not a separate executor) so it fires at exactly the right moment.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextStep.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nextStep.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,8 @@ export declare function buildRequeuePayload(matrix: CoverageMatrix, criticalFlow
|
|
|
24
24
|
inputs?: Record<string, string> | undefined;
|
|
25
25
|
line_ranges?: {
|
|
26
26
|
path: string;
|
|
27
|
-
start: number;
|
|
28
27
|
end: number;
|
|
28
|
+
start: number;
|
|
29
29
|
}[] | undefined;
|
|
30
30
|
priority?: "high" | "low" | "medium" | undefined;
|
|
31
31
|
risk_estimate?: number | undefined;
|
|
@@ -1,4 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The bounded wait every runtime-validation command runs under.
|
|
3
|
+
*
|
|
4
|
+
* Stated ONCE and exported so no call site writes its own number: a bound
|
|
5
|
+
* hard-coded per caller is how two callers end up disagreeing about how long
|
|
6
|
+
* "too long" is, and the drain's progress guarantee then depends on which one
|
|
7
|
+
* you happened to read. Generous, because a validation command is host-authored
|
|
8
|
+
* and may legitimately be a whole suite — what matters is that it is FINITE.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RUNTIME_COMMAND_TIMEOUT_MS: number;
|
|
11
|
+
/**
|
|
12
|
+
* Terminate a timed-out child, INCLUDING anything it spawned.
|
|
13
|
+
*
|
|
14
|
+
* On win32 this runner wraps package-manager shims in `cmd.exe /d /s /c` (see
|
|
15
|
+
* `resolveRuntimeValidationSpawnCommand`), so the process we hold a handle to is
|
|
16
|
+
* the shell, not the tool: `child.kill()` reaps the wrapper and leaves the npm →
|
|
17
|
+
* node grandchildren running, which is the orphan case the bound exists to
|
|
18
|
+
* prevent. `taskkill /T` walks the tree instead. Everywhere else the executable
|
|
19
|
+
* is spawned DIRECTLY — no wrapper, so no tree of our making — and the signal
|
|
20
|
+
* pair is the whole story. A command that itself forks a daemon on POSIX is
|
|
21
|
+
* beyond what this can promise without a process group, and is left stated
|
|
22
|
+
* rather than silently assumed.
|
|
23
|
+
*
|
|
24
|
+
* `platform` is a parameter so both branches are reachable from a test on either
|
|
25
|
+
* OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
|
|
26
|
+
* than leaving the child alive.
|
|
27
|
+
*/
|
|
28
|
+
export declare function killRuntimeCommandTree(child: {
|
|
29
|
+
pid?: number;
|
|
30
|
+
kill: (signal?: NodeJS.Signals) => boolean;
|
|
31
|
+
}, platform?: NodeJS.Platform): void;
|
|
32
|
+
export declare function runCommand(command: string[], cwd: string, timeoutMs?: number): Promise<{
|
|
2
33
|
status: "confirmed" | "not_confirmed" | "inconclusive";
|
|
3
34
|
summary: string;
|
|
4
35
|
evidence: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAqBA,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAqBA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAQ1D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,OAAO,CAAA;CAAE,EACnE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,IAAI,CAYN;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAmC,GAC7C,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CA+GD;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,SAAmC,GAC9C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkDrC"}
|
|
@@ -13,7 +13,52 @@ import { quoteForShellInterpreterCmd, stripAuditToolsControlEnv, } from "audit-t
|
|
|
13
13
|
// This strips the host-signaling env vars so a runtime-validation command sees a
|
|
14
14
|
// clean environment — a suite that branches on CLAUDECODE would otherwise be graded
|
|
15
15
|
// against the host's interactive-session state, marking healthy code "not_confirmed".
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The bounded wait every runtime-validation command runs under.
|
|
18
|
+
*
|
|
19
|
+
* Stated ONCE and exported so no call site writes its own number: a bound
|
|
20
|
+
* hard-coded per caller is how two callers end up disagreeing about how long
|
|
21
|
+
* "too long" is, and the drain's progress guarantee then depends on which one
|
|
22
|
+
* you happened to read. Generous, because a validation command is host-authored
|
|
23
|
+
* and may legitimately be a whole suite — what matters is that it is FINITE.
|
|
24
|
+
*/
|
|
25
|
+
export const RUNTIME_COMMAND_TIMEOUT_MS = 10 * 60 * 1_000;
|
|
26
|
+
/**
|
|
27
|
+
* Grace between the polite stop and the unignorable one. SIGTERM is a request a
|
|
28
|
+
* child may ignore; without the escalation the "bound" would be advisory.
|
|
29
|
+
*/
|
|
30
|
+
const KILL_ESCALATION_GRACE_MS = 2_000;
|
|
31
|
+
/**
|
|
32
|
+
* Terminate a timed-out child, INCLUDING anything it spawned.
|
|
33
|
+
*
|
|
34
|
+
* On win32 this runner wraps package-manager shims in `cmd.exe /d /s /c` (see
|
|
35
|
+
* `resolveRuntimeValidationSpawnCommand`), so the process we hold a handle to is
|
|
36
|
+
* the shell, not the tool: `child.kill()` reaps the wrapper and leaves the npm →
|
|
37
|
+
* node grandchildren running, which is the orphan case the bound exists to
|
|
38
|
+
* prevent. `taskkill /T` walks the tree instead. Everywhere else the executable
|
|
39
|
+
* is spawned DIRECTLY — no wrapper, so no tree of our making — and the signal
|
|
40
|
+
* pair is the whole story. A command that itself forks a daemon on POSIX is
|
|
41
|
+
* beyond what this can promise without a process group, and is left stated
|
|
42
|
+
* rather than silently assumed.
|
|
43
|
+
*
|
|
44
|
+
* `platform` is a parameter so both branches are reachable from a test on either
|
|
45
|
+
* OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
|
|
46
|
+
* than leaving the child alive.
|
|
47
|
+
*/
|
|
48
|
+
export function killRuntimeCommandTree(child, platform = process.platform) {
|
|
49
|
+
if (platform === "win32" && child.pid !== undefined) {
|
|
50
|
+
const reaper = spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], {
|
|
51
|
+
stdio: "ignore",
|
|
52
|
+
windowsHide: true,
|
|
53
|
+
});
|
|
54
|
+
reaper.on("error", () => {
|
|
55
|
+
child.kill("SIGKILL");
|
|
56
|
+
});
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
child.kill("SIGTERM");
|
|
60
|
+
}
|
|
61
|
+
export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEOUT_MS) {
|
|
17
62
|
// COR-4a8d9779: fast-fail before spawn so an empty command array produces a
|
|
18
63
|
// descriptive error instead of an ENOENT from spawn("", ...).
|
|
19
64
|
if (command.length === 0 || !command[0]) {
|
|
@@ -42,7 +87,38 @@ export async function runCommand(command, cwd) {
|
|
|
42
87
|
});
|
|
43
88
|
let exitCode = null;
|
|
44
89
|
let exitSignal = null;
|
|
90
|
+
// Set when THIS runner's bound fired, so `close` can report a timeout rather
|
|
91
|
+
// than reporting the kill it caused as an ordinary signal death.
|
|
92
|
+
let timedOut = false;
|
|
93
|
+
let escalation = null;
|
|
94
|
+
const deadline = timeoutMs > 0
|
|
95
|
+
? setTimeout(() => {
|
|
96
|
+
timedOut = true;
|
|
97
|
+
killRuntimeCommandTree(child);
|
|
98
|
+
// SIGTERM is a request; a child that installs a handler and ignores
|
|
99
|
+
// it would never emit `close`, and the bound would be a bound in
|
|
100
|
+
// name only. `unref` so a child that does exit promptly never holds
|
|
101
|
+
// the event loop open waiting for this.
|
|
102
|
+
escalation = setTimeout(() => {
|
|
103
|
+
child.kill("SIGKILL");
|
|
104
|
+
}, KILL_ESCALATION_GRACE_MS);
|
|
105
|
+
escalation.unref?.();
|
|
106
|
+
}, timeoutMs)
|
|
107
|
+
: null;
|
|
108
|
+
/**
|
|
109
|
+
* Clear BOTH timers on every resolution path. A deadline left armed after an
|
|
110
|
+
* early exit is a leaked handle that can hold the process open past the work
|
|
111
|
+
* it was watching — the reason this is one function rather than a line
|
|
112
|
+
* repeated in each branch.
|
|
113
|
+
*/
|
|
114
|
+
const clearTimers = () => {
|
|
115
|
+
if (deadline)
|
|
116
|
+
clearTimeout(deadline);
|
|
117
|
+
if (escalation)
|
|
118
|
+
clearTimeout(escalation);
|
|
119
|
+
};
|
|
45
120
|
child.on("error", (error) => {
|
|
121
|
+
clearTimers();
|
|
46
122
|
const output = `${stdout}\n${stderr}`.trim();
|
|
47
123
|
const lines = output.length > 0 ? output.split(/\r?\n/) : [];
|
|
48
124
|
const truncated = lines.length > 10;
|
|
@@ -60,15 +136,26 @@ export async function runCommand(command, cwd) {
|
|
|
60
136
|
exitSignal = signal;
|
|
61
137
|
});
|
|
62
138
|
child.on("close", () => {
|
|
139
|
+
clearTimers();
|
|
63
140
|
const output = `${stdout}\n${stderr}`.trim();
|
|
64
141
|
const lines = output.length > 0 ? output.split(/\r?\n/) : [];
|
|
65
142
|
const truncated = lines.length > 10;
|
|
66
143
|
const evidence = truncated
|
|
67
144
|
? [`[... truncated: showing last 10 of ${lines.length} lines ...]`, ...lines.slice(-10)]
|
|
68
145
|
: lines;
|
|
69
|
-
const succeeded = exitCode === 0;
|
|
146
|
+
const succeeded = exitCode === 0 && !timedOut;
|
|
70
147
|
let summary;
|
|
71
|
-
if (
|
|
148
|
+
if (timedOut) {
|
|
149
|
+
// NAMED as a timeout, ahead of the exit-code branches: the child died of
|
|
150
|
+
// the kill this runner sent, so its code/signal describe our own bound,
|
|
151
|
+
// not the command's verdict. Reporting "terminated by SIGKILL" here
|
|
152
|
+
// would attribute the runner's action to the code under validation, and
|
|
153
|
+
// a caller triaging the failure could not tell a hang from a crash.
|
|
154
|
+
summary =
|
|
155
|
+
`Deterministic runtime command timed out after ${String(timeoutMs)}ms and was killed: ` +
|
|
156
|
+
`${displayCommand}`;
|
|
157
|
+
}
|
|
158
|
+
else if (succeeded) {
|
|
72
159
|
summary = `Deterministic runtime command succeeded: ${displayCommand}`;
|
|
73
160
|
}
|
|
74
161
|
else if (exitCode !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeCommand.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,iBAAiB;AACjB,EAAE;AACF,8EAA8E;AAC9E,2DAA2D;AAE3D,2EAA2E;AAC3E,6EAA6E;AAC7E,iFAAiF;AACjF,oFAAoF;AACpF,sFAAsF;AAEtF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAiB,EACjB,GAAW;
|
|
1
|
+
{"version":3,"file":"runtimeCommand.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export async function runStructureExecutor(bundle, root) {
|
|
|
54
54
|
// co_change bucket as defense-in-depth).
|
|
55
55
|
const graphSignals = deriveGraphSignals(graphBundle);
|
|
56
56
|
const baseRiskRegister = buildRiskRegister(unitManifest, criticalFlows, externalAnalyzerResults, graphSignals);
|
|
57
|
-
//
|
|
57
|
+
// Git-history mining. A deterministic, language-neutral extraction source
|
|
58
58
|
// (degrades to empty without a root / git): co-change coupling the dependency
|
|
59
59
|
// graph misses, churn + authorship-breadth risk signals, and the churn ×
|
|
60
60
|
// complexity compound (the real risk concentration). Merged through the shared
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structureExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/structureExecutors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"structureExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/structureExecutors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ArtifactBundle } from "../io/artifacts.js";
|
|
2
2
|
import type { ExecutorRunResult } from "./executorResult.js";
|
|
3
|
+
import { type AnalyzerConsentDecisions } from "audit-tools/shared";
|
|
3
4
|
/**
|
|
4
5
|
* The eslint argv for the installed major. `--ext` was removed in ESLint 9 and is
|
|
5
6
|
* a hard "unrecognized option" there, which kills the whole JSON run and lands it
|
|
@@ -26,5 +27,14 @@ export interface EslintConfigState {
|
|
|
26
27
|
* distinguishable at the status record, never both silently zero findings.
|
|
27
28
|
*/
|
|
28
29
|
export declare function resolveEslintConfigState(root: string): EslintConfigState;
|
|
29
|
-
export
|
|
30
|
+
export interface SyntaxResolutionExecutorOptions {
|
|
31
|
+
/**
|
|
32
|
+
* Recorded consent decisions (from the durable analyzer policy). A recorded
|
|
33
|
+
* `declined` for `tsc` or `eslint` vetoes that spawn at the shared
|
|
34
|
+
* admitLocalSpawn chokepoint — the same decline-first rule every other local
|
|
35
|
+
* tooling spawn faces.
|
|
36
|
+
*/
|
|
37
|
+
analyzerConsent?: AnalyzerConsentDecisions;
|
|
38
|
+
}
|
|
39
|
+
export declare function runSyntaxResolutionExecutor(bundle: ArtifactBundle, root: string, options?: SyntaxResolutionExecutorOptions): ExecutorRunResult;
|
|
30
40
|
//# sourceMappingURL=syntaxResolutionExecutor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntaxResolutionExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/syntaxResolutionExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"syntaxResolutionExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/syntaxResolutionExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AA8E5B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAIrE;AAkBD,MAAM,WAAW,iBAAiB;IAChC,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAwBxE;AAgOD,MAAM,WAAW,+BAA+B;IAC9C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,+BAAoC,GAC5C,iBAAiB,CA6EnB"}
|