audit-tools 0.32.68 → 0.33.1
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 +7 -0
- 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 +119 -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.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +14 -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 +6 -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 +173 -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 +14 -1
- 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/cli.js +3 -3
- package/dist/audit/cli.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/rollingDispatch.d.ts.map +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js +2 -0
- package/dist/audit/orchestrator/rollingDispatch.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/providers/claudeWorkerProvider.d.ts +10 -0
- package/dist/audit/providers/claudeWorkerProvider.d.ts.map +1 -0
- package/dist/audit/providers/claudeWorkerProvider.js +15 -0
- package/dist/audit/providers/claudeWorkerProvider.js.map +1 -0
- package/dist/audit/providers/index.d.ts.map +1 -1
- package/dist/audit/providers/index.js +2 -0
- package/dist/audit/providers/index.js.map +1 -1
- package/dist/audit/quota/index.d.ts +133 -128
- package/dist/audit/quota/index.d.ts.map +1 -1
- 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/index.d.ts.map +1 -1
- package/dist/remediate/index.js +2 -2
- package/dist/remediate/index.js.map +1 -1
- 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/providers/claudeWorkerProvider.d.ts +11 -0
- package/dist/remediate/providers/claudeWorkerProvider.d.ts.map +1 -0
- package/dist/remediate/providers/claudeWorkerProvider.js +16 -0
- package/dist/remediate/providers/claudeWorkerProvider.js.map +1 -0
- package/dist/remediate/providers/index.d.ts.map +1 -1
- package/dist/remediate/providers/index.js +2 -0
- package/dist/remediate/providers/index.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/acceptNode.d.ts +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.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 +21 -10
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +45 -25
- package/dist/remediate/steps/nextStep.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 +39 -0
- package/dist/remediate/steps/sessionConfigLoad.js.map +1 -0
- package/dist/shared/config/resolveSessionConfig.d.ts +75 -0
- package/dist/shared/config/resolveSessionConfig.d.ts.map +1 -0
- package/dist/shared/config/resolveSessionConfig.js +125 -0
- package/dist/shared/config/resolveSessionConfig.js.map +1 -0
- package/dist/shared/dispatch/admissionLoop.d.ts +12 -12
- package/dist/shared/dispatch/coordinator.d.ts.map +1 -1
- package/dist/shared/dispatch/coordinator.js +52 -6
- package/dist/shared/dispatch/coordinator.js.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.d.ts +6 -0
- package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.js +6 -0
- package/dist/shared/dispatch/hybridDispatch.js.map +1 -1
- package/dist/shared/dispatch/providerLaunchFinalize.d.ts +2 -1
- package/dist/shared/dispatch/providerLaunchFinalize.d.ts.map +1 -1
- package/dist/shared/dispatch/providerLaunchFinalize.js +123 -68
- package/dist/shared/dispatch/providerLaunchFinalize.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +69 -2
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +177 -7
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +23 -0
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +2 -0
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts +52 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js +87 -0
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/index.d.ts +20 -10
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +20 -6
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/stateDir.d.ts +27 -0
- package/dist/shared/io/stateDir.d.ts.map +1 -0
- package/dist/shared/io/stateDir.js +40 -0
- package/dist/shared/io/stateDir.js.map +1 -0
- package/dist/shared/providers/auditorSources.d.ts +169 -0
- package/dist/shared/providers/auditorSources.d.ts.map +1 -0
- package/dist/shared/providers/auditorSources.js +453 -0
- package/dist/shared/providers/auditorSources.js.map +1 -0
- package/dist/shared/providers/claudeWorkerProvider.d.ts +71 -0
- package/dist/shared/providers/claudeWorkerProvider.d.ts.map +1 -0
- package/dist/shared/providers/claudeWorkerProvider.js +133 -0
- package/dist/shared/providers/claudeWorkerProvider.js.map +1 -0
- 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 +27 -40
- package/dist/shared/providers/providerConfirmation.js.map +1 -1
- package/dist/shared/providers/providerFactory.d.ts +13 -1
- package/dist/shared/providers/providerFactory.d.ts.map +1 -1
- package/dist/shared/providers/providerFactory.js +12 -0
- package/dist/shared/providers/providerFactory.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts +95 -0
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -0
- package/dist/shared/providers/proxyCatalog.js +426 -0
- package/dist/shared/providers/proxyCatalog.js.map +1 -0
- 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/quota/apiPool.d.ts +34 -11
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +52 -23
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +79 -50
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +40 -5
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/errorParsing.d.ts +39 -0
- package/dist/shared/quota/errorParsing.d.ts.map +1 -1
- package/dist/shared/quota/errorParsing.js +76 -0
- package/dist/shared/quota/errorParsing.js.map +1 -1
- 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 +120 -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/rollingDispatch.d.ts +45 -1
- package/dist/shared/types/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.d.ts +149 -67
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +87 -2
- 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 +95 -69
- 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
|
@@ -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, WORKER_KINDS, } 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,27 @@ 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
|
+
"backend_provider",
|
|
90
|
+
];
|
|
91
|
+
const VALID_WORKER_KINDS = new Set(WORKER_KINDS);
|
|
76
92
|
/**
|
|
77
93
|
* 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
|
|
94
|
+
* list. Shape-guards each entry's provider, its string fields, and (the C1 concern)
|
|
95
|
+
* its `quota`, which is now the single source of truth for a source pool's admission
|
|
96
|
+
* budget.
|
|
80
97
|
*/
|
|
81
98
|
function validateDispatchableSources(value, issues) {
|
|
82
99
|
if (value === undefined)
|
|
@@ -96,63 +113,45 @@ function validateDispatchableSources(value, issues) {
|
|
|
96
113
|
!VALID_DISPATCHABLE_SOURCE_PROVIDERS.has(provider)) {
|
|
97
114
|
pushIssue(issues, `${path}.provider`, `provider must be one of: ${Array.from(VALID_DISPATCHABLE_SOURCE_PROVIDERS).join(", ")}.`);
|
|
98
115
|
}
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
// The string fields the ambient-reach probe and the launch path both READ. Left
|
|
117
|
+
// unchecked, `{"api_key_env": {"a":1}}` passed here and `env[{...}]` coerced to
|
|
118
|
+
// "[object Object]" downstream. Guarded at this ONE shared site so both boundaries
|
|
119
|
+
// (disk-load and the `--auditor` parse boundary) gain it.
|
|
120
|
+
for (const field of DISPATCHABLE_SOURCE_STRING_FIELDS) {
|
|
121
|
+
const value = source[field];
|
|
122
|
+
if (value !== undefined && typeof value !== "string") {
|
|
123
|
+
pushIssue(issues, `${path}.${field}`, `${field} must be a string.`);
|
|
124
|
+
}
|
|
101
125
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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.");
|
|
126
|
+
// `backend_provider` is a quota-ledger KEY segment (`backend_provider[#account]/model`);
|
|
127
|
+
// an empty string would silently mint a nameless pool identity.
|
|
128
|
+
if (typeof source.backend_provider === "string" &&
|
|
129
|
+
source.backend_provider.trim().length === 0) {
|
|
130
|
+
pushIssue(issues, `${path}.backend_provider`, "backend_provider must be a non-empty string when provided.");
|
|
133
131
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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.");
|
|
132
|
+
if (source.worker_kind !== undefined &&
|
|
133
|
+
(typeof source.worker_kind !== "string" ||
|
|
134
|
+
!VALID_WORKER_KINDS.has(source.worker_kind))) {
|
|
135
|
+
pushIssue(issues, `${path}.worker_kind`, `worker_kind must be one of: ${WORKER_KINDS.join(", ")}.`);
|
|
136
|
+
}
|
|
137
|
+
// A claude-worker source IS the proxied spawn: without the proxy url there is
|
|
138
|
+
// nothing to front the isolated `claude -p` (endpoint is a constructor invariant
|
|
139
|
+
// in 3b), and without a model there is no namespace route to compose.
|
|
140
|
+
if (provider === "claude-worker") {
|
|
141
|
+
for (const field of ["endpoint", "model"]) {
|
|
142
|
+
const entry = source[field];
|
|
143
|
+
if (typeof entry !== "string" || entry.trim().length === 0) {
|
|
144
|
+
pushIssue(issues, `${path}.${field}`, `${field} is required for a claude-worker source (${field === "endpoint" ? "the repair-proxy url" : "the backend-native model id"}).`);
|
|
152
145
|
}
|
|
153
146
|
}
|
|
154
147
|
}
|
|
155
|
-
|
|
148
|
+
if (source.parameters !== undefined && !isRecord(source.parameters)) {
|
|
149
|
+
pushIssue(issues, `${path}.parameters`, "parameters must be a JSON object.");
|
|
150
|
+
}
|
|
151
|
+
if (source.quota !== undefined) {
|
|
152
|
+
validateQuotaModelLimits(source.quota, `${path}.quota`, issues);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
156
155
|
}
|
|
157
156
|
function pushIssue(issues, path, message) {
|
|
158
157
|
pushValidationIssue(issues, path, message);
|
|
@@ -348,7 +347,7 @@ function validateRoutingTiers(value, issues) {
|
|
|
348
347
|
* Validate a SessionConfig's field shapes and surface security-sensitive
|
|
349
348
|
* settings. Returns a (possibly empty) list of {@link ValidationIssue}s; `error`
|
|
350
349
|
* severity means the config cannot be used safely, `warning` means the caller
|
|
351
|
-
* should surface the concern before proceeding (see {@link
|
|
350
|
+
* should surface the concern before proceeding (see {@link readValidatedRepoSessionIntent}).
|
|
352
351
|
*/
|
|
353
352
|
export function validateSessionConfig(value) {
|
|
354
353
|
const issues = [];
|
|
@@ -405,7 +404,6 @@ export function validateSessionConfig(value) {
|
|
|
405
404
|
validateAgentProviderSection(value.agy, "agy", issues);
|
|
406
405
|
validateOpenAiCompatibleSection(value.openai_compatible, "openai_compatible", issues, provider === "openai-compatible");
|
|
407
406
|
validateDispatchableSources(value.sources, issues);
|
|
408
|
-
validateRepairProxy(value.repair_proxy, issues);
|
|
409
407
|
if (value.synthesis !== undefined) {
|
|
410
408
|
if (!isRecord(value.synthesis)) {
|
|
411
409
|
pushIssue(issues, "synthesis", "synthesis must be a JSON object.");
|
|
@@ -451,22 +449,50 @@ export function validateSessionConfig(value) {
|
|
|
451
449
|
return issues;
|
|
452
450
|
}
|
|
453
451
|
/**
|
|
454
|
-
*
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
*
|
|
458
|
-
*
|
|
459
|
-
*
|
|
460
|
-
* `
|
|
461
|
-
*
|
|
462
|
-
*
|
|
452
|
+
* Validate a PERSISTED {@link RepoSessionIntent} — the on-disk `session-config.json`
|
|
453
|
+
* shape, which carries audit INTENT + policy ONLY. On top of every field-shape check
|
|
454
|
+
* {@link validateSessionConfig} runs, this REJECTS any dispatch-inventory field (the
|
|
455
|
+
* {@link DISPATCH_INVENTORY_FIELDS} + `dispatch.rolling_engine`) as an `error`, so a
|
|
456
|
+
* resolved backend/launch set is UNREPRESENTABLE on disk: it rides the per-auditor
|
|
457
|
+
* `--auditor` descriptor, never the repo config, and is never inherited across auditors
|
|
458
|
+
* ([[capability-is-per-auditor-not-per-audit]], `spec/unified-dispatch-worker-model.md`).
|
|
459
|
+
* This is what makes the "unrepresentable on disk" invariant REAL rather than
|
|
460
|
+
* TS-write-only — both the audit store and remediate's disk read route through it.
|
|
461
|
+
*/
|
|
462
|
+
export function validateRepoSessionIntent(value) {
|
|
463
|
+
const issues = validateSessionConfig(value);
|
|
464
|
+
if (!isRecord(value))
|
|
465
|
+
return issues;
|
|
466
|
+
for (const field of DISPATCH_INVENTORY_FIELDS) {
|
|
467
|
+
if (value[field] !== undefined) {
|
|
468
|
+
pushIssue(issues, field, `${field} is dispatch inventory and cannot be persisted on session-config.json — ` +
|
|
469
|
+
`it rides the per-auditor --auditor descriptor (spec/unified-dispatch-worker-model.md).`);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
const dispatch = value.dispatch;
|
|
473
|
+
if (isRecord(dispatch) && dispatch.rolling_engine !== undefined) {
|
|
474
|
+
pushIssue(issues, "dispatch.rolling_engine", "dispatch.rolling_engine is dispatch capability and cannot be persisted — " +
|
|
475
|
+
"set AUDIT_CODE_ROLLING_ENGINE / REMEDIATE_ROLLING_ENGINE or the --auditor descriptor.");
|
|
476
|
+
}
|
|
477
|
+
return issues;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* Read `session-config.json` from `path` and validate it as a {@link RepoSessionIntent}
|
|
481
|
+
* at the load boundary — the single chokepoint both orchestrators route through so a
|
|
482
|
+
* malformed config (or one carrying dispatch inventory that can no longer be persisted)
|
|
483
|
+
* fails loud instead of degrading silently (Auditor-agnostic robustness). Returns
|
|
484
|
+
* `undefined` when the file is absent (a run with no session config is legal), the typed
|
|
485
|
+
* intent when valid, and THROWS on any `error`-severity issue. `warning`-severity issues
|
|
486
|
+
* (e.g. `dangerously_skip_permissions=true`) do not block the load; they are surfaced via
|
|
487
|
+
* `onWarnings` (defaulting to a stderr write so a security-sensitive setting is never
|
|
488
|
+
* silently honored). Consumers overlay the per-auditor descriptor via `resolveSessionConfig`.
|
|
463
489
|
*/
|
|
464
|
-
export async function
|
|
490
|
+
export async function readValidatedRepoSessionIntent(path, options = {}) {
|
|
465
491
|
const raw = await readOptionalJsonFile(path);
|
|
466
492
|
if (raw === undefined) {
|
|
467
493
|
return undefined;
|
|
468
494
|
}
|
|
469
|
-
const issues =
|
|
495
|
+
const issues = validateRepoSessionIntent(raw);
|
|
470
496
|
const errors = issues.filter((issue) => issue.severity === "error");
|
|
471
497
|
if (errors.length > 0) {
|
|
472
498
|
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.** Under the unified-dispatch worker
|
|
139
|
+
> model, `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`/`claude_worker`, `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` is rejected 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
|
|
package/package.json
CHANGED
|
@@ -65,44 +65,47 @@ exactly one next step. This is also the **capability handshake**: report what yo
|
|
|
65
65
|
can dispatch to *right now* on every `next-step` call so the backend sizes review
|
|
66
66
|
packets to your real model instead of a conservative 32k floor.
|
|
67
67
|
|
|
68
|
+
The whole handshake is a single `--auditor <json>` flag: one object with a `self`
|
|
69
|
+
field describing the model you drive.
|
|
70
|
+
|
|
68
71
|
```bash
|
|
69
|
-
audit-code next-step --
|
|
72
|
+
audit-code next-step --auditor '{"self":{"can_dispatch_subagents":true,"roster":[{"rank":"small","context_tokens":32000,"output_tokens":8000},{"rank":"standard","context_tokens":200000,"output_tokens":32000},{"rank":"deep","context_tokens":200000,"output_tokens":64000}]}}'
|
|
70
73
|
```
|
|
71
74
|
|
|
72
75
|
Or with a single dispatch model:
|
|
73
76
|
|
|
74
77
|
```bash
|
|
75
|
-
audit-code next-step --
|
|
78
|
+
audit-code next-step --auditor '{"self":{"can_dispatch_subagents":true,"context_tokens":200000,"output_tokens":32000}}'
|
|
76
79
|
```
|
|
77
80
|
|
|
78
|
-
Key
|
|
81
|
+
Key `self` fields:
|
|
79
82
|
|
|
80
|
-
-
|
|
81
|
-
|
|
83
|
+
- `can_dispatch_subagents` — declare that YOU (an attended conversation host) are
|
|
84
|
+
driving this step and can fan out subagents. Send it on every `next-step`: it
|
|
82
85
|
makes the backend demote any configured in-process backend (a `codex` /
|
|
83
86
|
`openai-compatible` pool from a prior headless run's session config) to a *source*
|
|
84
87
|
pool so the review fans out across your subagents **and** that backend concurrently,
|
|
85
88
|
instead of the backend monopolizing the frontier. Sending it explicitly overrides a
|
|
86
89
|
stale `host_can_dispatch_subagents:false` left in session config by a headless run.
|
|
87
|
-
Only a genuinely headless loop (no attended host)
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
+
Only a genuinely headless loop (no attended host) sends `"can_dispatch_subagents":false`
|
|
91
|
+
so the backend self-drives.
|
|
92
|
+
- `roster` — ordered JSON array (lowest rank first) of models you can dispatch
|
|
90
93
|
subagents to *right now*, one entry per relative rank
|
|
91
94
|
(`"small"`, `"standard"`, `"deep"`). Ranks are relative capability labels — never
|
|
92
95
|
report model names to the backend. Each entry may carry an optional opaque
|
|
93
96
|
`model_id` used only to key per-model quota learning.
|
|
94
|
-
-
|
|
95
|
-
|
|
97
|
+
- `context_tokens` / `output_tokens` — single-model shorthand. When `roster` is also
|
|
98
|
+
given, the roster wins.
|
|
96
99
|
|
|
97
100
|
Do **not** report a parallel-subagent count — the backend owns concurrency (its
|
|
98
101
|
token-budget gate plus any hard host cap it can detect, e.g. Codex
|
|
99
102
|
`[agents].max_threads`), and runs uncapped when it detects none. An operator with
|
|
100
|
-
a genuine fixed machine limit may pass
|
|
101
|
-
|
|
103
|
+
a genuine fixed machine limit may pass `self.max_active_subagents` as an optional
|
|
104
|
+
override; it is never a value to guess.
|
|
102
105
|
|
|
103
106
|
When a step prompt tells you to continue, repeat `audit-code next-step` with the
|
|
104
|
-
same
|
|
105
|
-
the current step prompt tells you to stop.
|
|
107
|
+
same `--auditor` handshake and follow only the newly returned `prompt_path`. Stop
|
|
108
|
+
when the current step prompt tells you to stop.
|
|
106
109
|
|
|
107
110
|
## Embedded Prompt Payload
|
|
108
111
|
|
|
@@ -26,41 +26,42 @@ node audit-code.mjs ensure --quiet
|
|
|
26
26
|
|
|
27
27
|
Then ask the backend for exactly one next step. This is also the **capability
|
|
28
28
|
handshake**: report what you can dispatch to *right now* on every `next-step`
|
|
29
|
-
call, so the backend sizes review packets to
|
|
30
|
-
conservative 32k floor.
|
|
29
|
+
call as a single `--auditor <json>` flag, so the backend sizes review packets to
|
|
30
|
+
your real model instead of a conservative 32k floor. The JSON is one object with
|
|
31
|
+
a `self` field describing the model you drive; report inside `self`:
|
|
31
32
|
|
|
32
|
-
-
|
|
33
|
-
|
|
33
|
+
- `roster` — an ordered JSON array (lowest rank first) of the models you can
|
|
34
|
+
dispatch subagents to *right now*, one entry per relative rank:
|
|
34
35
|
`{"rank": "small"|"standard"|"deep", "context_tokens": N, "output_tokens": N}`.
|
|
35
36
|
Ranks are relative capability labels that line up with each packet's
|
|
36
37
|
`model_hint.tier` — never report model names to the backend. Report only ranks
|
|
37
38
|
you can actually dispatch to; the backend partitions and budgets each packet
|
|
38
39
|
against the window of the rank its risk routes it to. Discover the real
|
|
39
40
|
windows, do not guess smaller-than-real values. Each entry may carry an
|
|
40
|
-
optional opaque `model_id` (and
|
|
41
|
+
optional opaque `model_id` (and a top-level `self.model_id` is the single-model
|
|
41
42
|
equivalent) used only to key per-model quota learning — it is never
|
|
42
43
|
interpreted.
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
- `context_tokens` / `output_tokens` — single-model shorthand when every subagent
|
|
45
|
+
runs on one model: the context window and output cap of that model. When
|
|
46
|
+
`roster` is also given, the roster wins. Omit both and dispatch falls back to
|
|
47
|
+
the conservative 32k default (many tiny packets).
|
|
47
48
|
|
|
48
49
|
Do **not** report a parallel-subagent count. The backend owns concurrency: it
|
|
49
50
|
sizes how many subagents run at once from its own token-budget gate and from any
|
|
50
51
|
hard host cap it can detect (e.g. Codex's `~/.codex/config.toml`
|
|
51
52
|
`[agents].max_threads`). When it detects no hard cap it runs without one — you
|
|
52
53
|
never supply or guess a number. (An operator with a genuine fixed parallel limit
|
|
53
|
-
for this machine may pass
|
|
54
|
-
|
|
54
|
+
for this machine may pass `self.max_active_subagents` as an optional override; it
|
|
55
|
+
is not part of the handshake and is never something to invent.)
|
|
55
56
|
|
|
56
57
|
```bash
|
|
57
|
-
audit-code next-step --
|
|
58
|
+
audit-code next-step --auditor '{"self":{"roster":[{"rank":"small","context_tokens":32000,"output_tokens":8000},{"rank":"standard","context_tokens":200000,"output_tokens":32000},{"rank":"deep","context_tokens":200000,"output_tokens":64000}]}}'
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
Or with a single dispatch model:
|
|
61
62
|
|
|
62
63
|
```bash
|
|
63
|
-
audit-code next-step --
|
|
64
|
+
audit-code next-step --auditor '{"self":{"context_tokens":200000,"output_tokens":32000}}'
|
|
64
65
|
```
|
|
65
66
|
|
|
66
67
|
The token values should match the window of the model(s) dispatching the packets
|
|
@@ -69,7 +70,7 @@ The token values should match the window of the model(s) dispatching the packets
|
|
|
69
70
|
When developing `audit-tools` itself, from the repo root use:
|
|
70
71
|
|
|
71
72
|
```bash
|
|
72
|
-
node audit-code.mjs next-step --
|
|
73
|
+
node audit-code.mjs next-step --auditor '{"self":{"context_tokens":200000,"output_tokens":32000}}'
|
|
73
74
|
```
|
|
74
75
|
|
|
75
76
|
Read the returned JSON only far enough to find `prompt_path`, then read and
|
|
@@ -102,7 +103,7 @@ directory. It contains `repo_root`, `auditable_file_count`, `git_available`, and
|
|
|
102
103
|
automatically without interrupting the workflow.
|
|
103
104
|
|
|
104
105
|
When a step prompt tells you to continue, run `audit-code next-step` again with
|
|
105
|
-
the same
|
|
106
|
-
|
|
106
|
+
the same `--auditor '{"self":{…}}'` handshake and follow only the newly returned
|
|
107
|
+
`prompt_path`.
|
|
107
108
|
|
|
108
109
|
Stop when the current step prompt tells you to stop.
|