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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computeDispatchAdmission, createReservationLedger, admissionPoolsFromSummaries } from "audit-tools/shared";
|
|
2
|
-
import {
|
|
2
|
+
import { buildHostPoolPreamble, buildSourcePools, resolveHostProviderName, resolveConversationHostProvider, isDemotableInProcessProvider, } from "audit-tools/shared";
|
|
3
3
|
import { REMEDIATION_DISPATCH_QUOTA_CONTRACT_VERSION, } from "../types.js";
|
|
4
|
-
import { computeDispatchCapacity, resolveHostActiveSubagentLimit,
|
|
4
|
+
import { computeDispatchCapacity, resolveHostActiveSubagentLimit, computeBackoffCooldownMs, summarizeDispatchCapacityPools, } from "../../quota/index.js";
|
|
5
5
|
export { resolveHostActiveSubagentLimit };
|
|
6
6
|
export { detectHostActiveSubagentLimit as detectHostConcurrencyFromEnv, } from "../../quota/hostLimits.js";
|
|
7
7
|
export function normalizeSlotTokens(tokens, count) {
|
|
@@ -21,98 +21,45 @@ export function resolveHostConcurrencyLimit(options) {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* Remediate's draw over the SHARED host-pool assembly core
|
|
25
|
+
* ({@link buildHostPoolPreamble} in `audit-tools/shared`): resolve this mode's provider
|
|
26
|
+
* identity, then let the shared core do the eight-step assembly. The local copy of that
|
|
27
|
+
* preamble is GONE — it and audit's `buildDispatchPool` preamble were the same steps in
|
|
28
|
+
* the same order (including a byte-identical quota-key derivation), which is a fork, not
|
|
29
|
+
* a domain-forced divergence ([[dissolve-auditor-remediator-distinction]]).
|
|
30
|
+
*
|
|
31
|
+
* Per-mode here: the provider default, and the `REMEDIATE_CODE` env namespace (matching
|
|
32
|
+
* `quota/hostLimits.ts`, which already parameterizes exactly this axis).
|
|
27
33
|
*/
|
|
28
|
-
function
|
|
29
|
-
return [...roster].sort((a, b) => compareTier(b.rank, a.rank));
|
|
30
|
-
}
|
|
31
|
-
async function buildHostPoolPreamble(input) {
|
|
34
|
+
async function buildRemediateHostPools(input) {
|
|
32
35
|
const sessionConfig = input.sessionConfig ?? {};
|
|
33
36
|
const providerName = input.providerName ??
|
|
34
37
|
sessionConfig.provider ??
|
|
35
38
|
"claude-code";
|
|
36
|
-
const
|
|
37
|
-
sessionConfig.block_quota
|
|
38
|
-
?.host_model ??
|
|
39
|
-
null;
|
|
40
|
-
// Quota-key identity: resolved model name, else the host's opaque id, else
|
|
41
|
-
// null → `provider/*`. Per-roster-rank `model_id` overrides per pool below.
|
|
42
|
-
const quotaModelKeySegment = hostModel ?? input.hostModelId ?? null;
|
|
43
|
-
const roster = input.hostModels?.length
|
|
44
|
-
? sortRosterMostCapableFirst(input.hostModels)
|
|
45
|
-
: null;
|
|
46
|
-
const hostLimit = resolveHostConcurrencyLimit({
|
|
47
|
-
hostMaxConcurrent: input.hostMaxConcurrent,
|
|
39
|
+
const preamble = await buildHostPoolPreamble({
|
|
48
40
|
sessionConfig,
|
|
49
|
-
env: input.env,
|
|
50
|
-
});
|
|
51
|
-
// The capability handshake: the host reported its dispatch model's real
|
|
52
|
-
// context/output window this session (the roster's most capable entry under
|
|
53
|
-
// the multi-rank handshake). Carried into the pool's discoveredLimits so the
|
|
54
|
-
// shared discovered_capability rung sizes the budget to the real window
|
|
55
|
-
// instead of the conservative 32k floor. RPM/TPM stay null and fill from the
|
|
56
|
-
// learned quota state.
|
|
57
|
-
const hostContextTokens = input.hostContextTokens ?? roster?.[0]?.context_tokens ?? null;
|
|
58
|
-
const hostOutputTokens = input.hostOutputTokens ?? roster?.[0]?.output_tokens ?? null;
|
|
59
|
-
const hostCapabilityLimits = hostContextTokens != null || hostOutputTokens != null
|
|
60
|
-
? { context_tokens: hostContextTokens, output_tokens: hostOutputTokens }
|
|
61
|
-
: null;
|
|
62
|
-
const quotaEntries = (await readQuotaStateOrDegrade("waveScheduler")).entries;
|
|
63
|
-
// The proactive quota snapshot (Claude OAuth source, then learned) so the
|
|
64
|
-
// scheduler can throttle/cooldown from live remaining quota — mirrors
|
|
65
|
-
// audit-code's buildDispatchPool. PREPEND the host-session source keyed on
|
|
66
|
-
// this host pool's own (provider, model) key — first-class PRE-WALL source
|
|
67
|
-
// (graduated remaining_pct → LOW/CRITICAL throttle before a 429), gating on the
|
|
68
|
-
// exact key so it never masks the proactive/learned sources.
|
|
69
|
-
const quotaSource = buildQuotaSource({
|
|
70
|
-
hostSession: input.hostSession ??
|
|
71
|
-
new HostSessionQuotaSource({
|
|
72
|
-
providerModelKey: buildProviderModelKey(providerName, quotaModelKeySegment),
|
|
73
|
-
}),
|
|
74
|
-
});
|
|
75
|
-
// One capacity pool per reported roster rank (most capable first), each with
|
|
76
|
-
// its own discovered window and quota key; a single pool for the scalar/absent
|
|
77
|
-
// handshake. Built via the shared host-pool-from-roster core so the pool shape
|
|
78
|
-
// + account-keyed pool ids can't drift across the two consumers.
|
|
79
|
-
const primaryPools = await buildHostModelPools({
|
|
80
41
|
providerName,
|
|
81
|
-
hostModel,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}),
|
|
42
|
+
explicitHostModel: input.hostModel,
|
|
43
|
+
hostModelId: input.hostModelId,
|
|
44
|
+
envPrefix: "REMEDIATE_CODE",
|
|
45
|
+
quotaStateLabel: "waveScheduler",
|
|
46
|
+
hostActiveSubagentLimit: input.hostMaxConcurrent,
|
|
47
|
+
hostContextTokens: input.hostContextTokens,
|
|
48
|
+
hostOutputTokens: input.hostOutputTokens,
|
|
49
|
+
roster: input.hostModels,
|
|
50
|
+
...(input.env ? { env: input.env } : {}),
|
|
51
|
+
...(input.hostSession ? { hostSession: input.hostSession } : {}),
|
|
92
52
|
});
|
|
93
|
-
return {
|
|
94
|
-
sessionConfig,
|
|
95
|
-
providerName,
|
|
96
|
-
hostModel,
|
|
97
|
-
quotaModelKeySegment,
|
|
98
|
-
roster,
|
|
99
|
-
hostLimit,
|
|
100
|
-
hostContextTokens,
|
|
101
|
-
hostOutputTokens,
|
|
102
|
-
hostCapabilityLimits,
|
|
103
|
-
quotaEntries,
|
|
104
|
-
quotaSource,
|
|
105
|
-
primaryPools,
|
|
106
|
-
};
|
|
53
|
+
return { ...preamble, sessionConfig };
|
|
107
54
|
}
|
|
108
55
|
export async function scheduleWave(input) {
|
|
109
56
|
const sessionConfig = input.sessionConfig ?? {};
|
|
110
|
-
// ONE scheduling track: always build the host
|
|
57
|
+
// ONE scheduling track: always build the host pools and let the shared
|
|
111
58
|
// capacity/admission compute concurrency from live quota + real signals. There
|
|
112
59
|
// is no naive/quota-off branch — quota self-monitoring is not switchable. When
|
|
113
60
|
// the quota source is blind (no live snapshot) the wave stays governed by real
|
|
114
61
|
// signals only and is surfaced loudly at the dispatch site (marshal.ts).
|
|
115
|
-
const preamble = await
|
|
62
|
+
const preamble = await buildRemediateHostPools({
|
|
116
63
|
sessionConfig: input.sessionConfig,
|
|
117
64
|
providerName: input.providerName,
|
|
118
65
|
hostModel: input.hostModel,
|
|
@@ -124,7 +71,7 @@ export async function scheduleWave(input) {
|
|
|
124
71
|
env: input.env,
|
|
125
72
|
});
|
|
126
73
|
const capacity = computeDispatchCapacity({
|
|
127
|
-
pools: preamble.
|
|
74
|
+
pools: preamble.pools,
|
|
128
75
|
sessionConfig,
|
|
129
76
|
pendingItemTokens: normalizeSlotTokens(input.estimatedSlotTokens, input.itemCount),
|
|
130
77
|
});
|
|
@@ -155,9 +102,9 @@ export async function buildConfirmedPools(input) {
|
|
|
155
102
|
const hostProviderName = demoteHostIdentity
|
|
156
103
|
? resolveConversationHostProvider({ sessionConfig: input.sessionConfig })
|
|
157
104
|
: actualProviderName;
|
|
158
|
-
// Resolve identity/limits and build the per-rank host-model pools via the
|
|
159
|
-
//
|
|
160
|
-
const { sessionConfig, quotaSource, quotaEntries, primaryPools } = await
|
|
105
|
+
// Resolve identity/limits and build the per-rank host-model pools via the SAME
|
|
106
|
+
// shared assembly core `scheduleWave` uses — and that audit uses.
|
|
107
|
+
const { sessionConfig, quotaSource, quotaEntries, pools: primaryPools } = await buildRemediateHostPools({
|
|
161
108
|
sessionConfig: input.sessionConfig,
|
|
162
109
|
providerName: hostProviderName,
|
|
163
110
|
hostMaxConcurrent: input.hostMaxConcurrent,
|
|
@@ -165,8 +112,8 @@ export async function buildConfirmedPools(input) {
|
|
|
165
112
|
hostOutputTokens: input.hostOutputTokens,
|
|
166
113
|
hostModels: input.hostModels,
|
|
167
114
|
hostModelId: input.hostModelId,
|
|
168
|
-
env: input.env,
|
|
169
|
-
hostSession: input.hostSession,
|
|
115
|
+
...(input.env ? { env: input.env } : {}),
|
|
116
|
+
...(input.hostSession ? { hostSession: input.hostSession } : {}),
|
|
170
117
|
});
|
|
171
118
|
// Every configured dispatchable backend source (any non-IDE source: NIM/vLLM API,
|
|
172
119
|
// a CLI pool, …) becomes a CapacityPool alongside the primary, so the scheduler's
|
|
@@ -181,6 +128,7 @@ export async function buildConfirmedPools(input) {
|
|
|
181
128
|
quotaSource,
|
|
182
129
|
quotaEntries,
|
|
183
130
|
demotePrimaryInProcess: input.demotePrimaryInProcess,
|
|
131
|
+
excludedBackends: input.excludedBackends,
|
|
184
132
|
});
|
|
185
133
|
primaryPools.push(...sourcePools);
|
|
186
134
|
return primaryPools;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waveScheduling.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/waveScheduling.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waveScheduling.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/waveScheduling.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,16 +63,6 @@ export declare function resolveHostDispatchCapability(options: {
|
|
|
63
63
|
sessionConfig?: SessionConfig | null;
|
|
64
64
|
env?: NodeJS.ProcessEnv;
|
|
65
65
|
}): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Whether the run is unattended (autonomous). Host-agnostic — ONE flag drives
|
|
68
|
-
* the whole path. Resolution order: sessionConfig.autonomous_mode →
|
|
69
|
-
* REMEDIATE_AUTONOMOUS env → false (attended/interactive default, so the review
|
|
70
|
-
* gate halts for a human unless autonomy is explicitly requested).
|
|
71
|
-
*/
|
|
72
|
-
export declare function resolveAutonomousMode(options?: {
|
|
73
|
-
sessionConfig?: SessionConfig | null;
|
|
74
|
-
env?: NodeJS.ProcessEnv;
|
|
75
|
-
}): boolean;
|
|
76
66
|
/**
|
|
77
67
|
* Whether the rolling dispatch engine drives the implement phase. Defaults to TRUE:
|
|
78
68
|
* both rolling drivers on the shared `acceptNodeWorktree` core (per-node worktree →
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/nextStep.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/nextStep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { loadRemediateSessionConfig } from "./sessionConfigLoad.js";
|
|
1
2
|
import { existsSync, statSync } from "node:fs";
|
|
2
3
|
import { mkdir, readFile, rename } from "node:fs/promises";
|
|
3
4
|
import { dirname, join, resolve } from "node:path";
|
|
4
5
|
import { StateStore } from "../state/store.js";
|
|
5
|
-
import { readOptionalJsonFile,
|
|
6
|
+
import { readConfirmedDispatchPolicy, resolveDispatchExclusion, readOptionalJsonFile, readValidatedRepoSessionIntent, stagedAndUntracked, writeJsonFile, writeTextFile, buildAuditDeliverablePair, formatValidationIssues, isRecord, withFsRetry, RunLogger, DISPATCH_PROMPT_HANDOFF_NOTE, renderHostScratchNote, hostScratchDir, renderQuotaCoverageNudge, renderTokenBudgetView, coerceJsonObjectArg, driveRolling, resolveLedgerBudgets, setQuotaStateDir, detectHostDispatchWall, admissionBlockedOnBudget, reconcileAdmissionLeasesFromQuotaFile, buildQuotaPausedTerminal, interpretFreeFormIntent, advance, decideFrictionTriage, buildFrictionTriageBlock, planHybridDispatch, readSettledPools, addSettledPool, sourceByPoolId, classifyProvider, selectDispatchDriver, renderDispatchDriverInstruction, HostSessionQuotaSource, buildProviderModelKey, captureStepBoundaryFriction, captureCostDriftFriction, captureCreditExhaustionFriction, captureQuotaUnclassifiedFriction, LENSES, SEVERITIES, resolveHostProviderName, resolveConversationHostProvider, resolveHostDispatchCapability as sharedResolveHostDispatchCapability, resolveAutonomousMode, resolveRollingEngineFlag, shouldDemotePrimaryInProcess, DEFAULT_CONTEXT_TOKENS } from "audit-tools/shared";
|
|
6
7
|
import { readRemediationAccessMemory, computeBlockContinuityScores } from "../state/accessMemory.js";
|
|
7
8
|
import { applyPlanPipeline, buildCoverageLedger } from "../phases/plan.js";
|
|
8
9
|
import { groundExtractedFindings } from "../phases/grounding.js";
|
|
@@ -51,23 +52,6 @@ export function resolveHostDispatchCapability(options) {
|
|
|
51
52
|
env: options.env,
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
|
-
/**
|
|
55
|
-
* Whether the run is unattended (autonomous). Host-agnostic — ONE flag drives
|
|
56
|
-
* the whole path. Resolution order: sessionConfig.autonomous_mode →
|
|
57
|
-
* REMEDIATE_AUTONOMOUS env → false (attended/interactive default, so the review
|
|
58
|
-
* gate halts for a human unless autonomy is explicitly requested).
|
|
59
|
-
*/
|
|
60
|
-
export function resolveAutonomousMode(options = {}) {
|
|
61
|
-
if (options.sessionConfig?.autonomous_mode !== undefined) {
|
|
62
|
-
return options.sessionConfig.autonomous_mode;
|
|
63
|
-
}
|
|
64
|
-
const envValue = (options.env ?? process.env).REMEDIATE_AUTONOMOUS;
|
|
65
|
-
if (envValue === "true")
|
|
66
|
-
return true;
|
|
67
|
-
if (envValue === "false")
|
|
68
|
-
return false;
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
55
|
/**
|
|
72
56
|
* Whether the rolling dispatch engine drives the implement phase. Defaults to TRUE:
|
|
73
57
|
* both rolling drivers on the shared `acceptNodeWorktree` core (per-node worktree →
|
|
@@ -649,6 +633,11 @@ export async function driveRollingImplementDispatch(options) {
|
|
|
649
633
|
const promptPathByBlock = new Map(plan.items
|
|
650
634
|
.filter((i) => typeof i.block_id === "string")
|
|
651
635
|
.map((i) => [i.block_id, i.prompt_path]));
|
|
636
|
+
// Per-block granted read set (repo-relative access.read_paths) so a single-shot /
|
|
637
|
+
// no-file-access provider can inline file contents; agentic CLIs ignore it.
|
|
638
|
+
const referencedFilesByBlock = new Map(plan.items
|
|
639
|
+
.filter((i) => typeof i.block_id === "string")
|
|
640
|
+
.map((i) => [i.block_id, i.access?.read_paths ?? []]));
|
|
652
641
|
// The RETAINED host-session source: threaded through pool sizing AND the
|
|
653
642
|
// dispatcher's escalation hooks so the bounded re-limit chain (recordLimit →
|
|
654
643
|
// escalate → strand → quota_escalation friction) is fed end-to-end. Its
|
|
@@ -682,6 +671,11 @@ export async function driveRollingImplementDispatch(options) {
|
|
|
682
671
|
hostModels: options.waveOptions?.hostModels,
|
|
683
672
|
hostModelId: options.waveOptions?.hostModelId,
|
|
684
673
|
hostSession,
|
|
674
|
+
// The operator's Gate-0 exclusions, applied as a set-difference over freshly
|
|
675
|
+
// gathered reach. Read here because this layer owns `root`; self-spawn-blocked is
|
|
676
|
+
// recomputed against THIS process's env rather than inherited from the auditor
|
|
677
|
+
// that wrote the confirmation.
|
|
678
|
+
excludedBackends: resolveDispatchExclusion(await readConfirmedDispatchPolicy(options.root)),
|
|
685
679
|
});
|
|
686
680
|
// The live per-node worker: the configured provider, launched with the node's
|
|
687
681
|
// worktree-rooted prompt and cwd = its worktree. Tests inject `options.dispatchNode`
|
|
@@ -694,6 +688,7 @@ export async function driveRollingImplementDispatch(options) {
|
|
|
694
688
|
runId,
|
|
695
689
|
sessionConfig: options.sessionConfig,
|
|
696
690
|
promptPathByBlock,
|
|
691
|
+
referencedFilesByBlock,
|
|
697
692
|
sourceByPoolId: sourceByPoolId(confirmedPools),
|
|
698
693
|
});
|
|
699
694
|
// Load state to partition the eligible frontier into rolling dependency levels.
|
|
@@ -869,6 +864,7 @@ export async function executeInProcessPartition(params) {
|
|
|
869
864
|
const allBlockScopes = blockScopesFromPlan(plan);
|
|
870
865
|
const withBlockId = plan.items.filter((i) => typeof i.block_id === "string");
|
|
871
866
|
const promptPathByBlock = new Map(withBlockId.map((i) => [i.block_id, i.prompt_path]));
|
|
867
|
+
const referencedFilesByBlock = new Map(withBlockId.map((i) => [i.block_id, i.access?.read_paths ?? []]));
|
|
872
868
|
const resultPathByBlock = new Map(withBlockId.map((i) => [i.block_id, i.result_path]));
|
|
873
869
|
const state = await new StateStore(artifactsDir).loadState();
|
|
874
870
|
const blockById = new Map((state?.plan?.blocks ?? []).map((b) => [b.block_id, b]));
|
|
@@ -879,6 +875,7 @@ export async function executeInProcessPartition(params) {
|
|
|
879
875
|
runId,
|
|
880
876
|
sessionConfig,
|
|
881
877
|
promptPathByBlock,
|
|
878
|
+
referencedFilesByBlock,
|
|
882
879
|
sourceByPoolId: params.sourceByPoolId,
|
|
883
880
|
});
|
|
884
881
|
const nodes = await Promise.all(partition.map(async (a) => {
|
|
@@ -1167,8 +1164,13 @@ async function presentReportStep(root, artifactsDir, state) {
|
|
|
1167
1164
|
}
|
|
1168
1165
|
async function buildImplementDispatchStep(ctx) {
|
|
1169
1166
|
const { root, artifactsDir, state, options, store } = ctx;
|
|
1170
|
-
|
|
1171
|
-
|
|
1167
|
+
// The effective config comes from the single remediate loader — always resolved
|
|
1168
|
+
// against the ambient descriptor (see there for why `null` is not an option).
|
|
1169
|
+
const loadedSessionConfig = await loadRemediateSessionConfig({
|
|
1170
|
+
root,
|
|
1171
|
+
override: options.sessionConfig,
|
|
1172
|
+
artifactsFirst: true,
|
|
1173
|
+
});
|
|
1172
1174
|
// B1: fold the `--host-provider` override onto `host_provider` so every
|
|
1173
1175
|
// downstream host resolver keys the fan-out to the ACTUAL conversation host.
|
|
1174
1176
|
// "auto" is treated as unset (fall through to env auto-detection).
|
|
@@ -1318,6 +1320,9 @@ async function buildImplementDispatchStep(ctx) {
|
|
|
1318
1320
|
// skipped (attended host) — demote the configured primary backend into the
|
|
1319
1321
|
// source-pool set so the split fans across host + backend + NIM.
|
|
1320
1322
|
demotePrimaryInProcess: demoteBackendToSource,
|
|
1323
|
+
// The operator's Gate-0 exclusions, applied as a set-difference over freshly
|
|
1324
|
+
// gathered reach; self-spawn-blocked recomputed against THIS process's env.
|
|
1325
|
+
excludedBackends: resolveDispatchExclusion(await readConfirmedDispatchPolicy(root)),
|
|
1321
1326
|
});
|
|
1322
1327
|
const backendPools = confirmedPools.filter(isInProcessPool);
|
|
1323
1328
|
let rolling;
|
|
@@ -2339,9 +2344,11 @@ async function handleReadyIntakeContractPipeline(root, artifactsDir, options) {
|
|
|
2339
2344
|
// flag. Threaded into the contract pipeline so the adversarial 'critique' /
|
|
2340
2345
|
// 'critic' prompts MANDATE an independent sub-agent reviewer when the host can
|
|
2341
2346
|
// dispatch one (fail-safe: mandate by default).
|
|
2342
|
-
const sessionConfigForDispatch =
|
|
2343
|
-
|
|
2344
|
-
|
|
2347
|
+
const sessionConfigForDispatch = await loadRemediateSessionConfig({
|
|
2348
|
+
root,
|
|
2349
|
+
override: options?.sessionConfig,
|
|
2350
|
+
artifactsFirst: true,
|
|
2351
|
+
});
|
|
2345
2352
|
const hostCanDispatchSubagents = resolveHostDispatchCapability({
|
|
2346
2353
|
hostCanDispatchSubagents: options?.hostCanDispatchSubagents,
|
|
2347
2354
|
sessionConfig: sessionConfigForDispatch,
|
|
@@ -3079,8 +3086,10 @@ export async function decideNextStep(options = {}) {
|
|
|
3079
3086
|
// validated load (with `.remediation-artifacts/` path precedence + operator
|
|
3080
3087
|
// warning surface) happens inside the loop, so suppress warnings here to avoid
|
|
3081
3088
|
// emitting the same warning twice per invocation. Errors still throw.
|
|
3089
|
+
// Only reads `observability.run_log` (an INTENT field), so the raw intent suffices —
|
|
3090
|
+
// no descriptor resolve needed here.
|
|
3082
3091
|
const sessionConfig = normalizedOptions.sessionConfig ??
|
|
3083
|
-
(await
|
|
3092
|
+
(await readValidatedRepoSessionIntent(join(root, "session-config.json"), {
|
|
3084
3093
|
onWarnings: () => { },
|
|
3085
3094
|
}));
|
|
3086
3095
|
const runLogger = new RunLogger(join(artifactsDir, "run.log.jsonl"), {
|