audit-tools 0.32.67 → 0.33.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/dist/audit/cli/advanceAuditCommand.d.ts.map +1 -1
- package/dist/audit/cli/advanceAuditCommand.js +8 -3
- package/dist/audit/cli/advanceAuditCommand.js.map +1 -1
- package/dist/audit/cli/args.d.ts +9 -27
- package/dist/audit/cli/args.d.ts.map +1 -1
- package/dist/audit/cli/args.js +116 -50
- package/dist/audit/cli/args.js.map +1 -1
- package/dist/audit/cli/auditStep.d.ts +15 -1
- package/dist/audit/cli/auditStep.d.ts.map +1 -1
- package/dist/audit/cli/auditStep.js +2 -0
- package/dist/audit/cli/auditStep.js.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts +2 -1
- package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
- package/dist/audit/cli/dispatch/quotaPool.js +43 -77
- package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
- package/dist/audit/cli/dispatch/types.d.ts +9 -0
- package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +17 -6
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts +3 -1
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
- package/dist/audit/cli/hybridDispatch.js +1 -0
- package/dist/audit/cli/hybridDispatch.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts +0 -9
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +151 -92
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +11 -2
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +56 -8
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/prepareDispatchCommand.d.ts.map +1 -1
- package/dist/audit/cli/prepareDispatchCommand.js +15 -9
- package/dist/audit/cli/prepareDispatchCommand.js.map +1 -1
- package/dist/audit/cli/prompts.d.ts +12 -32
- package/dist/audit/cli/prompts.d.ts.map +1 -1
- package/dist/audit/cli/prompts.js +19 -33
- package/dist/audit/cli/prompts.js.map +1 -1
- package/dist/audit/cli/providerConfirmationStep.d.ts +13 -5
- package/dist/audit/cli/providerConfirmationStep.d.ts.map +1 -1
- package/dist/audit/cli/providerConfirmationStep.js +47 -8
- package/dist/audit/cli/providerConfirmationStep.js.map +1 -1
- package/dist/audit/cli/quotaCommand.d.ts.map +1 -1
- package/dist/audit/cli/quotaCommand.js +16 -10
- package/dist/audit/cli/quotaCommand.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +8 -0
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/cli/semanticReviewStep.d.ts +11 -1
- package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
- package/dist/audit/cli/semanticReviewStep.js +11 -15
- package/dist/audit/cli/semanticReviewStep.js.map +1 -1
- package/dist/audit/cli/validateCommand.d.ts.map +1 -1
- package/dist/audit/cli/validateCommand.js +3 -3
- package/dist/audit/cli/validateCommand.js.map +1 -1
- package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +39 -7
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +52 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +9 -1
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.d.ts +27 -3
- package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/intakeExecutors.js +119 -19
- package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts +7 -0
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +3 -0
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/providerConfirmation.d.ts.map +1 -1
- package/dist/audit/orchestrator/providerConfirmation.js +0 -2
- package/dist/audit/orchestrator/providerConfirmation.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts +17 -0
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +13 -1
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/quota/index.d.ts +128 -128
- package/dist/audit/supervisor/sessionConfig.d.ts +3 -11
- package/dist/audit/supervisor/sessionConfig.d.ts.map +1 -1
- package/dist/audit/supervisor/sessionConfig.js +3 -25
- package/dist/audit/supervisor/sessionConfig.js.map +1 -1
- package/dist/audit/types/analyzerCapability.d.ts +6 -6
- package/dist/audit/types/externalAnalyzer.d.ts +10 -10
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +5 -4
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +9 -3
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +5 -4
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts +4 -2
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +33 -85
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +0 -10
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +33 -24
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/providerNodeDispatch.d.ts +8 -0
- package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
- package/dist/remediate/steps/providerNodeDispatch.js +4 -0
- package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
- package/dist/remediate/steps/sessionConfigLoad.d.ts +46 -0
- package/dist/remediate/steps/sessionConfigLoad.d.ts.map +1 -0
- package/dist/remediate/steps/sessionConfigLoad.js +32 -0
- package/dist/remediate/steps/sessionConfigLoad.js.map +1 -0
- package/dist/shared/config/resolveSessionConfig.d.ts +72 -0
- package/dist/shared/config/resolveSessionConfig.d.ts.map +1 -0
- package/dist/shared/config/resolveSessionConfig.js +105 -0
- package/dist/shared/config/resolveSessionConfig.js.map +1 -0
- package/dist/shared/dispatch/admissionLoop.d.ts +12 -12
- package/dist/shared/friction/stepBoundaryCapture.d.ts +22 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js +40 -0
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/index.d.ts +14 -8
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +11 -5
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/auditorSources.d.ts +102 -0
- package/dist/shared/providers/auditorSources.d.ts.map +1 -0
- package/dist/shared/providers/auditorSources.js +226 -0
- package/dist/shared/providers/auditorSources.js.map +1 -0
- package/dist/shared/providers/openAiCompatibleProvider.d.ts +20 -5
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +123 -19
- package/dist/shared/providers/openAiCompatibleProvider.js.map +1 -1
- package/dist/shared/providers/providerConfirmation.d.ts +3 -20
- package/dist/shared/providers/providerConfirmation.d.ts.map +1 -1
- package/dist/shared/providers/providerConfirmation.js +3 -37
- package/dist/shared/providers/providerConfirmation.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +6 -0
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +6 -0
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.d.ts +264 -75
- package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.js +534 -113
- package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
- package/dist/shared/providers/types.d.ts +17 -0
- package/dist/shared/providers/types.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +34 -11
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +21 -23
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +50 -50
- package/dist/shared/quota/hostPool.d.ts +107 -0
- package/dist/shared/quota/hostPool.d.ts.map +1 -0
- package/dist/shared/quota/hostPool.js +103 -0
- package/dist/shared/quota/hostPool.js.map +1 -0
- package/dist/shared/quota/quotaSource.d.ts +2 -2
- package/dist/shared/types/auditorDescriptor.d.ts +112 -0
- package/dist/shared/types/auditorDescriptor.d.ts.map +1 -0
- package/dist/shared/types/auditorDescriptor.js +28 -0
- package/dist/shared/types/auditorDescriptor.js.map +1 -0
- package/dist/shared/types/providerConfirmation.d.ts +64 -6
- package/dist/shared/types/providerConfirmation.d.ts.map +1 -1
- package/dist/shared/types/providerConfirmation.js +1 -1
- package/dist/shared/types/sessionConfig.d.ts +73 -65
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +48 -0
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/dist/shared/validation/sessionConfig.d.ts +26 -14
- package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
- package/dist/shared/validation/sessionConfig.js +72 -70
- package/dist/shared/validation/sessionConfig.js.map +1 -1
- package/docs/audit-pkg/contracts.md +4 -4
- package/docs/audit-pkg/operator-guide.md +43 -24
- package/package.json +1 -1
- package/skills/audit-code/SKILL.md +17 -14
- package/skills/audit-code/audit-code.prompt.md +17 -16
- package/wrapper/audit-code-wrapper-install-hosts.mjs +6 -10
- package/wrapper/remediate-code-wrapper-install-hosts.mjs +4 -8
- package/dist/shared/quota/repairProxyRegistry.d.ts +0 -84
- package/dist/shared/quota/repairProxyRegistry.d.ts.map +0 -1
- package/dist/shared/quota/repairProxyRegistry.js +0 -144
- package/dist/shared/quota/repairProxyRegistry.js.map +0 -1
|
@@ -72,6 +72,31 @@ export function resolveRollingEngineFlag(options) {
|
|
|
72
72
|
return false;
|
|
73
73
|
return true;
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Whether the run is unattended (autonomous). Host-agnostic — ONE flag drives the
|
|
77
|
+
* whole path. Resolution order: `sessionConfig.autonomous_mode` →
|
|
78
|
+
* `AUDIT_TOOLS_AUTONOMOUS` env → false (the attended/interactive default, so a gate
|
|
79
|
+
* halts for a human unless autonomy is explicitly requested).
|
|
80
|
+
*
|
|
81
|
+
* Unlike {@link resolveHostDispatchCapability} / {@link resolveRollingEngineFlag},
|
|
82
|
+
* this takes NO per-tool `envVarName`: attendedness is a property of the RUN, not of
|
|
83
|
+
* one tool's invocation, and the same pipeline drives audit→remediate end to end. A
|
|
84
|
+
* run that is unattended for the auditor is unattended for the remediator, so a
|
|
85
|
+
* per-tool name could only ever encode a contradiction. (Lifted out of
|
|
86
|
+
* `src/remediate/` for G3's reconciliation gate — audit needs the same flag; the old
|
|
87
|
+
* `REMEDIATE_AUTONOMOUS` name went with the fork.)
|
|
88
|
+
*/
|
|
89
|
+
export function resolveAutonomousMode(options = {}) {
|
|
90
|
+
const cfg = options.sessionConfig?.autonomous_mode;
|
|
91
|
+
if (cfg !== undefined)
|
|
92
|
+
return cfg;
|
|
93
|
+
const envValue = (options.env ?? process.env).AUDIT_TOOLS_AUTONOMOUS;
|
|
94
|
+
if (envValue === "true")
|
|
95
|
+
return true;
|
|
96
|
+
if (envValue === "false")
|
|
97
|
+
return false;
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
75
100
|
export const SESSION_UI_MODES = ["visible", "headless"];
|
|
76
101
|
export const PROVIDER_SECTION_KEYS = {
|
|
77
102
|
"subprocess-template": "subprocess_template",
|
|
@@ -120,4 +145,27 @@ export const ANALYZER_SETTINGS = [
|
|
|
120
145
|
"auto",
|
|
121
146
|
];
|
|
122
147
|
export const AnalyzerSettingSchema = z.enum(ANALYZER_SETTINGS);
|
|
148
|
+
/**
|
|
149
|
+
* The flat {@link SessionConfig} fields that constitute DISPATCH INVENTORY (the
|
|
150
|
+
* per-auditor backend/launch set), as opposed to audit INTENT. Single-sourced so
|
|
151
|
+
* the persisted-type derivation ({@link RepoSessionIntent}), the store-level
|
|
152
|
+
* validator (`validateRepoSessionIntent`), and `resolve()` cannot drift on which
|
|
153
|
+
* fields are inventory vs intent. `dispatch.rolling_engine` is deliberately absent
|
|
154
|
+
* from this flat list — it is nested under `dispatch`, so {@link RepoSessionIntent}
|
|
155
|
+
* strips it via {@link RepoDispatchConfig} separately (see there).
|
|
156
|
+
*/
|
|
157
|
+
export const DISPATCH_INVENTORY_FIELDS = [
|
|
158
|
+
"provider",
|
|
159
|
+
"host_provider",
|
|
160
|
+
"subprocess_template",
|
|
161
|
+
"claude_code",
|
|
162
|
+
"codex",
|
|
163
|
+
"opencode",
|
|
164
|
+
"openai_compatible",
|
|
165
|
+
"vscode_task",
|
|
166
|
+
"antigravity",
|
|
167
|
+
"agy",
|
|
168
|
+
"sources",
|
|
169
|
+
"parallel_workers",
|
|
170
|
+
];
|
|
123
171
|
//# sourceMappingURL=sessionConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM;IACN,gBAAgB;IAChB,qBAAqB;IACrB,aAAa;IACb,OAAO;IACP,UAAU;IACV,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,KAAK;CACG,CAAC;AAIX;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa;IAEb,IAAI,CAAE,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,mCAAmC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAC/D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAKxC;IACC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC;IAC5D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AA+IjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,qBAAqB,EAAE,qBAAqB;IAC5C,aAAa,EAAE,aAAa;IAC5B,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,mBAAmB,EAAE,mBAAmB;IACxC,aAAa,EAAE,aAAa;IAC5B,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,KAAK;CACF,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,OAAO;IACP,UAAU;IACV,gBAAgB;IAChB,qBAAqB;IACrB,KAAK;CACG,CAAC;
|
|
1
|
+
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/types/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Rule (Auditor-agnostic robustness): both orchestrators MUST reject a malformed
|
|
10
10
|
* `session-config.json` at load rather than degrade silently to a floor. The
|
|
11
|
-
* shared {@link
|
|
11
|
+
* shared {@link readValidatedRepoSessionIntent} helper is the load-boundary chokepoint
|
|
12
12
|
* that guarantees this without either orchestrator having to remember to call the
|
|
13
13
|
* validator itself.
|
|
14
14
|
*/
|
|
15
|
-
import { type
|
|
15
|
+
import { type RepoSessionIntent } from "../types/sessionConfig.js";
|
|
16
16
|
import { type ValidationIssue } from "./basic.js";
|
|
17
17
|
/**
|
|
18
18
|
* A configured provider `command` must be either a bare executable name or a
|
|
@@ -27,21 +27,33 @@ export declare function isSupportedConfiguredCommand(command: string): boolean;
|
|
|
27
27
|
* Validate a SessionConfig's field shapes and surface security-sensitive
|
|
28
28
|
* settings. Returns a (possibly empty) list of {@link ValidationIssue}s; `error`
|
|
29
29
|
* severity means the config cannot be used safely, `warning` means the caller
|
|
30
|
-
* should surface the concern before proceeding (see {@link
|
|
30
|
+
* should surface the concern before proceeding (see {@link readValidatedRepoSessionIntent}).
|
|
31
31
|
*/
|
|
32
32
|
export declare function validateSessionConfig(value: unknown): ValidationIssue[];
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* `
|
|
41
|
-
*
|
|
42
|
-
*
|
|
34
|
+
* Validate a PERSISTED {@link RepoSessionIntent} — the on-disk `session-config.json`
|
|
35
|
+
* shape, which carries audit INTENT + policy ONLY. On top of every field-shape check
|
|
36
|
+
* {@link validateSessionConfig} runs, this REJECTS any dispatch-inventory field (the
|
|
37
|
+
* {@link DISPATCH_INVENTORY_FIELDS} + `dispatch.rolling_engine`) as an `error`, so a
|
|
38
|
+
* resolved backend/launch set is UNREPRESENTABLE on disk: it rides the per-auditor
|
|
39
|
+
* `--auditor` descriptor, never the repo config, and is never inherited across auditors
|
|
40
|
+
* ([[capability-is-per-auditor-not-per-audit]], `spec/unified-dispatch-worker-model.md`).
|
|
41
|
+
* This is what makes the "unrepresentable on disk" invariant REAL rather than
|
|
42
|
+
* TS-write-only — both the audit store and remediate's disk read route through it.
|
|
43
43
|
*/
|
|
44
|
-
export declare function
|
|
44
|
+
export declare function validateRepoSessionIntent(value: unknown): ValidationIssue[];
|
|
45
|
+
/**
|
|
46
|
+
* Read `session-config.json` from `path` and validate it as a {@link RepoSessionIntent}
|
|
47
|
+
* at the load boundary — the single chokepoint both orchestrators route through so a
|
|
48
|
+
* malformed config (or one carrying dispatch inventory that can no longer be persisted)
|
|
49
|
+
* fails loud instead of degrading silently (Auditor-agnostic robustness). Returns
|
|
50
|
+
* `undefined` when the file is absent (a run with no session config is legal), the typed
|
|
51
|
+
* intent when valid, and THROWS on any `error`-severity issue. `warning`-severity issues
|
|
52
|
+
* (e.g. `dangerously_skip_permissions=true`) do not block the load; they are surfaced via
|
|
53
|
+
* `onWarnings` (defaulting to a stderr write so a security-sensitive setting is never
|
|
54
|
+
* silently honored). Consumers overlay the per-auditor descriptor via `resolveSessionConfig`.
|
|
55
|
+
*/
|
|
56
|
+
export declare function readValidatedRepoSessionIntent(path: string, options?: {
|
|
45
57
|
onWarnings?: (warnings: ValidationIssue[]) => void;
|
|
46
|
-
}): Promise<
|
|
58
|
+
}): Promise<RepoSessionIntent | undefined>;
|
|
47
59
|
//# sourceMappingURL=sessionConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"sessionConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAQL,KAAK,iBAAiB,EAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AA+ZpB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMrE;AAwCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAuLvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,EAAE,CAuB3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;CAAO,GACnE,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAuBxC"}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Rule (Auditor-agnostic robustness): both orchestrators MUST reject a malformed
|
|
10
10
|
* `session-config.json` at load rather than degrade silently to a floor. The
|
|
11
|
-
* shared {@link
|
|
11
|
+
* shared {@link readValidatedRepoSessionIntent} helper is the load-boundary chokepoint
|
|
12
12
|
* that guarantees this without either orchestrator having to remember to call the
|
|
13
13
|
* validator itself.
|
|
14
14
|
*/
|
|
15
15
|
import { readOptionalJsonFile } from "../io/json.js";
|
|
16
|
-
import { ANALYZER_SETTINGS, DISPATCHABLE_SOURCE_PROVIDERS, PROVIDER_NAMES, SESSION_UI_MODES, } from "../types/sessionConfig.js";
|
|
16
|
+
import { ANALYZER_SETTINGS, DISPATCHABLE_SOURCE_PROVIDERS, DISPATCH_INVENTORY_FIELDS, PROVIDER_NAMES, SESSION_UI_MODES, } from "../types/sessionConfig.js";
|
|
17
17
|
import { formatValidationIssues, isRecord, pushValidationIssue, } from "./basic.js";
|
|
18
18
|
const VALID_PROVIDERS = new Set(PROVIDER_NAMES);
|
|
19
19
|
const VALID_UI_MODES = new Set(SESSION_UI_MODES);
|
|
@@ -73,10 +73,25 @@ function validateQuotaModelLimits(value, path, issues) {
|
|
|
73
73
|
pushIssue(issues, `${path}.output_tokens`, "output_tokens must be less than context_tokens (no room for input otherwise).");
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* The `DispatchableSource` fields that must be strings when present — every one is
|
|
78
|
+
* read by the ambient-reach probe (`providers/auditorSources.ts`) and/or the launch
|
|
79
|
+
* path, so a non-string here coerces to nonsense downstream rather than failing.
|
|
80
|
+
*/
|
|
81
|
+
const DISPATCHABLE_SOURCE_STRING_FIELDS = [
|
|
82
|
+
"id",
|
|
83
|
+
"endpoint",
|
|
84
|
+
"model",
|
|
85
|
+
"api_key_env",
|
|
86
|
+
"api_key",
|
|
87
|
+
"credentials_path",
|
|
88
|
+
"account",
|
|
89
|
+
];
|
|
76
90
|
/**
|
|
77
91
|
* Validate `sessionConfig.sources[]` — the explicit dispatchable-source pool
|
|
78
|
-
* list. Shape-guards each entry's provider and (the C1 concern)
|
|
79
|
-
* which is now the single source of truth for a source pool's admission
|
|
92
|
+
* list. Shape-guards each entry's provider, its string fields, and (the C1 concern)
|
|
93
|
+
* its `quota`, which is now the single source of truth for a source pool's admission
|
|
94
|
+
* budget.
|
|
80
95
|
*/
|
|
81
96
|
function validateDispatchableSources(value, issues) {
|
|
82
97
|
if (value === undefined)
|
|
@@ -96,64 +111,24 @@ function validateDispatchableSources(value, issues) {
|
|
|
96
111
|
!VALID_DISPATCHABLE_SOURCE_PROVIDERS.has(provider)) {
|
|
97
112
|
pushIssue(issues, `${path}.provider`, `provider must be one of: ${Array.from(VALID_DISPATCHABLE_SOURCE_PROVIDERS).join(", ")}.`);
|
|
98
113
|
}
|
|
114
|
+
// The string fields the ambient-reach probe and the launch path both READ. Left
|
|
115
|
+
// unchecked, `{"api_key_env": {"a":1}}` passed here and `env[{...}]` coerced to
|
|
116
|
+
// "[object Object]" downstream. Guarded at this ONE shared site so both boundaries
|
|
117
|
+
// (disk-load and the `--auditor` parse boundary) gain it.
|
|
118
|
+
for (const field of DISPATCHABLE_SOURCE_STRING_FIELDS) {
|
|
119
|
+
const value = source[field];
|
|
120
|
+
if (value !== undefined && typeof value !== "string") {
|
|
121
|
+
pushIssue(issues, `${path}.${field}`, `${field} must be a string.`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (source.parameters !== undefined && !isRecord(source.parameters)) {
|
|
125
|
+
pushIssue(issues, `${path}.parameters`, "parameters must be a JSON object.");
|
|
126
|
+
}
|
|
99
127
|
if (source.quota !== undefined) {
|
|
100
128
|
validateQuotaModelLimits(source.quota, `${path}.quota`, issues);
|
|
101
129
|
}
|
|
102
130
|
});
|
|
103
131
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Validate the `repair_proxy` discovery section — the OpenAI-compatible multiplexer
|
|
106
|
-
* whose `/registry` audit-tools expands into per-`provider/model` sources. `base_url`
|
|
107
|
-
* is a required non-empty string when the section is present (no hardcoded proxy host);
|
|
108
|
-
* `top_k` is a positive integer when provided; `api_key_env` a non-empty string; each
|
|
109
|
-
* `providers[name]` override is shape-checked (`cost_per_mtok` non-negative finite,
|
|
110
|
-
* `enabled` boolean).
|
|
111
|
-
*/
|
|
112
|
-
function validateRepairProxy(value, issues) {
|
|
113
|
-
if (value === undefined)
|
|
114
|
-
return;
|
|
115
|
-
if (!isRecord(value)) {
|
|
116
|
-
pushIssue(issues, "repair_proxy", "repair_proxy must be a JSON object.");
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (typeof value.base_url !== "string" || value.base_url.trim().length === 0) {
|
|
120
|
-
pushIssue(issues, "repair_proxy.base_url", "base_url is required and must be a non-empty string.");
|
|
121
|
-
}
|
|
122
|
-
if (value.api_key_env !== undefined &&
|
|
123
|
-
(typeof value.api_key_env !== "string" || value.api_key_env.trim().length === 0)) {
|
|
124
|
-
pushIssue(issues, "repair_proxy.api_key_env", "api_key_env must be a non-empty string when provided.");
|
|
125
|
-
}
|
|
126
|
-
if (value.top_k !== undefined &&
|
|
127
|
-
(typeof value.top_k !== "number" || !Number.isInteger(value.top_k) || value.top_k <= 0)) {
|
|
128
|
-
pushIssue(issues, "repair_proxy.top_k", "top_k must be a positive integer when provided.");
|
|
129
|
-
}
|
|
130
|
-
if (value.providers !== undefined) {
|
|
131
|
-
if (!isRecord(value.providers)) {
|
|
132
|
-
pushIssue(issues, "repair_proxy.providers", "providers must be a JSON object mapping provider name to overrides.");
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
for (const [name, override] of Object.entries(value.providers)) {
|
|
136
|
-
const path = `repair_proxy.providers.${name}`;
|
|
137
|
-
if (!isRecord(override)) {
|
|
138
|
-
pushIssue(issues, path, "each provider override must be a JSON object.");
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
if (override.cost_per_mtok !== undefined &&
|
|
142
|
-
(typeof override.cost_per_mtok !== "number" ||
|
|
143
|
-
!Number.isFinite(override.cost_per_mtok) ||
|
|
144
|
-
override.cost_per_mtok < 0)) {
|
|
145
|
-
pushIssue(issues, `${path}.cost_per_mtok`, "cost_per_mtok must be a non-negative finite number when provided.");
|
|
146
|
-
}
|
|
147
|
-
if (override.enabled !== undefined && typeof override.enabled !== "boolean") {
|
|
148
|
-
pushIssue(issues, `${path}.enabled`, "enabled must be a boolean when provided.");
|
|
149
|
-
}
|
|
150
|
-
if (override.per_model_limits !== undefined && typeof override.per_model_limits !== "boolean") {
|
|
151
|
-
pushIssue(issues, `${path}.per_model_limits`, "per_model_limits must be a boolean when provided.");
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
132
|
function pushIssue(issues, path, message) {
|
|
158
133
|
pushValidationIssue(issues, path, message);
|
|
159
134
|
}
|
|
@@ -348,7 +323,7 @@ function validateRoutingTiers(value, issues) {
|
|
|
348
323
|
* Validate a SessionConfig's field shapes and surface security-sensitive
|
|
349
324
|
* settings. Returns a (possibly empty) list of {@link ValidationIssue}s; `error`
|
|
350
325
|
* severity means the config cannot be used safely, `warning` means the caller
|
|
351
|
-
* should surface the concern before proceeding (see {@link
|
|
326
|
+
* should surface the concern before proceeding (see {@link readValidatedRepoSessionIntent}).
|
|
352
327
|
*/
|
|
353
328
|
export function validateSessionConfig(value) {
|
|
354
329
|
const issues = [];
|
|
@@ -405,7 +380,6 @@ export function validateSessionConfig(value) {
|
|
|
405
380
|
validateAgentProviderSection(value.agy, "agy", issues);
|
|
406
381
|
validateOpenAiCompatibleSection(value.openai_compatible, "openai_compatible", issues, provider === "openai-compatible");
|
|
407
382
|
validateDispatchableSources(value.sources, issues);
|
|
408
|
-
validateRepairProxy(value.repair_proxy, issues);
|
|
409
383
|
if (value.synthesis !== undefined) {
|
|
410
384
|
if (!isRecord(value.synthesis)) {
|
|
411
385
|
pushIssue(issues, "synthesis", "synthesis must be a JSON object.");
|
|
@@ -451,22 +425,50 @@ export function validateSessionConfig(value) {
|
|
|
451
425
|
return issues;
|
|
452
426
|
}
|
|
453
427
|
/**
|
|
454
|
-
*
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
*
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
* `
|
|
461
|
-
*
|
|
462
|
-
*
|
|
428
|
+
* Validate a PERSISTED {@link RepoSessionIntent} — the on-disk `session-config.json`
|
|
429
|
+
* shape, which carries audit INTENT + policy ONLY. On top of every field-shape check
|
|
430
|
+
* {@link validateSessionConfig} runs, this REJECTS any dispatch-inventory field (the
|
|
431
|
+
* {@link DISPATCH_INVENTORY_FIELDS} + `dispatch.rolling_engine`) as an `error`, so a
|
|
432
|
+
* resolved backend/launch set is UNREPRESENTABLE on disk: it rides the per-auditor
|
|
433
|
+
* `--auditor` descriptor, never the repo config, and is never inherited across auditors
|
|
434
|
+
* ([[capability-is-per-auditor-not-per-audit]], `spec/unified-dispatch-worker-model.md`).
|
|
435
|
+
* This is what makes the "unrepresentable on disk" invariant REAL rather than
|
|
436
|
+
* TS-write-only — both the audit store and remediate's disk read route through it.
|
|
437
|
+
*/
|
|
438
|
+
export function validateRepoSessionIntent(value) {
|
|
439
|
+
const issues = validateSessionConfig(value);
|
|
440
|
+
if (!isRecord(value))
|
|
441
|
+
return issues;
|
|
442
|
+
for (const field of DISPATCH_INVENTORY_FIELDS) {
|
|
443
|
+
if (value[field] !== undefined) {
|
|
444
|
+
pushIssue(issues, field, `${field} is dispatch inventory and cannot be persisted on session-config.json — ` +
|
|
445
|
+
`it rides the per-auditor --auditor descriptor (spec/unified-dispatch-worker-model.md).`);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
const dispatch = value.dispatch;
|
|
449
|
+
if (isRecord(dispatch) && dispatch.rolling_engine !== undefined) {
|
|
450
|
+
pushIssue(issues, "dispatch.rolling_engine", "dispatch.rolling_engine is dispatch capability and cannot be persisted — " +
|
|
451
|
+
"set AUDIT_CODE_ROLLING_ENGINE / REMEDIATE_ROLLING_ENGINE or the --auditor descriptor.");
|
|
452
|
+
}
|
|
453
|
+
return issues;
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Read `session-config.json` from `path` and validate it as a {@link RepoSessionIntent}
|
|
457
|
+
* at the load boundary — the single chokepoint both orchestrators route through so a
|
|
458
|
+
* malformed config (or one carrying dispatch inventory that can no longer be persisted)
|
|
459
|
+
* fails loud instead of degrading silently (Auditor-agnostic robustness). Returns
|
|
460
|
+
* `undefined` when the file is absent (a run with no session config is legal), the typed
|
|
461
|
+
* intent when valid, and THROWS on any `error`-severity issue. `warning`-severity issues
|
|
462
|
+
* (e.g. `dangerously_skip_permissions=true`) do not block the load; they are surfaced via
|
|
463
|
+
* `onWarnings` (defaulting to a stderr write so a security-sensitive setting is never
|
|
464
|
+
* silently honored). Consumers overlay the per-auditor descriptor via `resolveSessionConfig`.
|
|
463
465
|
*/
|
|
464
|
-
export async function
|
|
466
|
+
export async function readValidatedRepoSessionIntent(path, options = {}) {
|
|
465
467
|
const raw = await readOptionalJsonFile(path);
|
|
466
468
|
if (raw === undefined) {
|
|
467
469
|
return undefined;
|
|
468
470
|
}
|
|
469
|
-
const issues =
|
|
471
|
+
const issues = validateRepoSessionIntent(raw);
|
|
470
472
|
const errors = issues.filter((issue) => issue.severity === "error");
|
|
471
473
|
if (errors.length > 0) {
|
|
472
474
|
throw new Error(`Invalid ${path}:\n${formatValidationIssues(errors).replace(/^ {2}/gm, "- ")}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionConfig.js","sourceRoot":"","sources":["../../../src/shared/validation/sessionConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,12 +94,12 @@ includes `step_kind`, `prompt_path`, `status`, `run_id`, `allowed_commands`,
|
|
|
94
94
|
`stop_condition`, `repo_root`, `artifacts_dir`, and relevant `artifact_paths`.
|
|
95
95
|
|
|
96
96
|
When semantic review is reached, the backend resolves host dispatch capability
|
|
97
|
-
from `--
|
|
98
|
-
`--
|
|
97
|
+
from the `--auditor` descriptor's `self.can_dispatch_subagents` (optional boolean;
|
|
98
|
+
carried in the single `--auditor <json>` handshake) → session config
|
|
99
99
|
(`host_can_dispatch_subagents`) → `AUDIT_CODE_HOST_CAN_DISPATCH` → default
|
|
100
100
|
`true`, then renders exactly one review path: packet dispatch (`dispatch_review`)
|
|
101
101
|
or the single-task fallback (`single_task_fallback`). No capability handshake is
|
|
102
|
-
required;
|
|
102
|
+
required; set `self.can_dispatch_subagents` only to override the resolved default.
|
|
103
103
|
|
|
104
104
|
`next-step` is the only execution loop; there is no batch entrypoint. Every
|
|
105
105
|
invocation advances one bounded step and renders the actionable step contract
|
|
@@ -118,7 +118,7 @@ artifacts are shaped by:
|
|
|
118
118
|
Normal packet flow:
|
|
119
119
|
|
|
120
120
|
```text
|
|
121
|
-
audit-code next-step --
|
|
121
|
+
audit-code next-step --auditor '{"self":{"can_dispatch_subagents":true}}'
|
|
122
122
|
backend prepares dispatch-plan.json
|
|
123
123
|
conversation launches one worker per dispatch-plan entry
|
|
124
124
|
worker reads entry.prompt_path
|
|
@@ -126,7 +126,7 @@ previews the action without deleting anything.
|
|
|
126
126
|
|
|
127
127
|
## Session config
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
Audit-run configuration lives at:
|
|
130
130
|
|
|
131
131
|
```text
|
|
132
132
|
.audit-tools/audit/session-config.json
|
|
@@ -135,15 +135,19 @@ Backend fallback configuration lives at:
|
|
|
135
135
|
The canonical `/audit-code` conversation route should not require users to
|
|
136
136
|
touch this file.
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
> **Dispatch capability is NOT configured here.** As of the unified-dispatch worker
|
|
139
|
+
> model (G2), `session-config.json` carries audit **intent** only — analyzers,
|
|
140
|
+
> synthesis, quota policy, budgeting, timeouts. The dispatch **backend/launch set**
|
|
141
|
+
> (`provider`, `host_provider`, `sources[]`, the per-backend blocks
|
|
142
|
+
> `codex`/`opencode`/`openai_compatible`/`vscode_task`/`antigravity`/`agy`/
|
|
143
|
+
> `subprocess_template`/`claude_code`, `parallel_workers`, `dispatch.rolling_engine`)
|
|
144
|
+
> is per-auditor CAPABILITY: it rides the per-invocation `--auditor <json>` descriptor,
|
|
145
|
+
> resolved from the auditor's own environment, never inherited across auditors. Writing
|
|
146
|
+
> any of those keys into `session-config.json` now FAILS at load
|
|
147
|
+
> (`spec/unified-dispatch-worker-model.md`). The `rolling_engine` opt-out is the
|
|
148
|
+
> `AUDIT_CODE_ROLLING_ENGINE` / `REMEDIATE_ROLLING_ENGINE` env var.
|
|
139
149
|
|
|
140
|
-
|
|
141
|
-
{
|
|
142
|
-
"provider": "worker-command"
|
|
143
|
-
}
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
Supported providers:
|
|
150
|
+
The provider values a descriptor's `self.provider` may name:
|
|
147
151
|
|
|
148
152
|
- `worker-command` — runs `task.worker_command`; generic subprocess fallback, not an LLM backend
|
|
149
153
|
- `auto`
|
|
@@ -160,15 +164,13 @@ Supported providers:
|
|
|
160
164
|
External providers are compatibility bridges, not the intended default review
|
|
161
165
|
owner.
|
|
162
166
|
|
|
163
|
-
Common fields:
|
|
167
|
+
Common `session-config.json` (intent) fields:
|
|
164
168
|
|
|
165
169
|
```json
|
|
166
170
|
{
|
|
167
|
-
"provider": "worker-command",
|
|
168
171
|
"timeout_ms": 1800000,
|
|
169
172
|
"ui_mode": "headless",
|
|
170
|
-
"agent_task_batch_size": 1
|
|
171
|
-
"parallel_workers": 1
|
|
173
|
+
"agent_task_batch_size": 1
|
|
172
174
|
}
|
|
173
175
|
```
|
|
174
176
|
|
|
@@ -216,7 +218,7 @@ Every other field is optional:
|
|
|
216
218
|
{
|
|
217
219
|
"schema_version": "provider-confirmation-input/v1",
|
|
218
220
|
"cost_order": ["<provider-or-model-key>", "..."],
|
|
219
|
-
"exclude": ["<provider-
|
|
221
|
+
"exclude": ["<provider>:<model>", "<provider>", "<endpoint-host>"],
|
|
220
222
|
"include": ["<self-spawn-blocked provider to opt back in>"],
|
|
221
223
|
"host_models": [{ "model_id": "<your model id>", "tier": "frontier|capable|fast" }]
|
|
222
224
|
}
|
|
@@ -227,7 +229,19 @@ Every other field is optional:
|
|
|
227
229
|
report in `host_models`. Keys you omit keep their suggested relative order,
|
|
228
230
|
appended after the ones you name; unrecognized keys are ignored. Omit it to accept
|
|
229
231
|
the suggested order.
|
|
230
|
-
- `exclude` — drops
|
|
232
|
+
- `exclude` — drops backends from the dispatchable pool. Each entry is a rule, at
|
|
233
|
+
whatever granularity you mean:
|
|
234
|
+
- `openai-compatible:gpt-oss-120b` — that **model** of that provider, leaving the
|
|
235
|
+
provider's other models routable. This is the granularity to reach for: you are
|
|
236
|
+
confirming model choices, so ruling out one model of a multi-model backend
|
|
237
|
+
should not rule out the backend.
|
|
238
|
+
- `codex` — the whole **provider**, every model of it.
|
|
239
|
+
- `integrate.api.nvidia.com` (or `localhost:8000` to pin a port) — every source at
|
|
240
|
+
that **endpoint host**.
|
|
241
|
+
|
|
242
|
+
A rule is a durable decision, not a reachability claim: it keeps applying on a
|
|
243
|
+
later run and on a different machine, whatever is reachable there. A rule that
|
|
244
|
+
matches nothing is simply inert.
|
|
231
245
|
- `include` — opts a self-spawn-blocked provider back in. A CLI provider detected
|
|
232
246
|
while you are already inside a session of that same agent (`claude-code` under
|
|
233
247
|
`CLAUDECODE`, `codex` under `CODEX`) is excluded by default so the run can't
|
|
@@ -236,12 +250,13 @@ Every other field is optional:
|
|
|
236
250
|
- `host_models` — reports your own (the host agent's) model roster so those tiers
|
|
237
251
|
are priced from the models.dev dataset and orderable here, not just at dispatch.
|
|
238
252
|
|
|
239
|
-
You supply only ordering intent plus your model roster. The tool owns the prices
|
|
240
|
-
the capability flags
|
|
241
|
-
provider you use isn't listed, it wasn't auto-detected:
|
|
242
|
-
|
|
243
|
-
`
|
|
244
|
-
|
|
253
|
+
You supply only ordering intent plus your model roster. The tool owns the prices
|
|
254
|
+
and the capability flags — you never hand-author those. If a
|
|
255
|
+
provider you use isn't listed, it wasn't auto-detected: it rides the per-auditor
|
|
256
|
+
`--auditor <json>` descriptor (an OpenAI-compatible endpoint or CLI backend as a
|
|
257
|
+
`sources[]` entry, resolved from your environment — NOT `session-config.json`, which
|
|
258
|
+
no longer accepts dispatch config; see `spec/unified-dispatch-worker-model.md`), then
|
|
259
|
+
re-run the step.
|
|
245
260
|
|
|
246
261
|
Once the input is written, re-run the continue command the step printed
|
|
247
262
|
(`audit-code next-step`). The tool consumes the input and promotes it into both
|
|
@@ -254,9 +269,13 @@ The shared `.audit-tools/provider-confirmation.json` is written once and reused
|
|
|
254
269
|
the rest of the audit→remediate session. A later step, and a subsequent
|
|
255
270
|
`remediate-code` run against the same repo, read and honor that pool without
|
|
256
271
|
prompting again — `remediate-code` has no confirmation step of its own; it consumes
|
|
257
|
-
the audit-side pool. You are
|
|
258
|
-
|
|
259
|
-
|
|
272
|
+
the audit-side pool. You are re-prompted only when a backend you never confirmed
|
|
273
|
+
becomes reachable — and then the prompt leads with just that delta, not the whole
|
|
274
|
+
table again. A backend that has *disappeared* never re-prompts: it simply drops out
|
|
275
|
+
of reach, which needs no decision from you. On an unattended run (`autonomous_mode`)
|
|
276
|
+
there is nobody to ask, so a newly-reachable backend is **excluded rather than used**
|
|
277
|
+
and a `newly_reachable_backend` friction event records why — confirm or exclude it at
|
|
278
|
+
your next attended gate. If the file is absent
|
|
260
279
|
(for example a standalone remediate run with no prior audit), the run resolves its
|
|
261
280
|
provider independently — absence is never an error.
|
|
262
281
|
|