feat(investigation): wire up fastInvestigations from settings to backend

This completes the wiring so the Fast Mode toggle in the UI actually
takes effect for investigations.

Changes:
- Updated buildRunnerArgs to accept fastMode option and add --fast-mode flag
- Updated investigation handler to read fastInvestigations setting and pass it through

The complete flow is now:
1. User toggles Fast Mode in UI → saves to InvestigationSettings.fastInvestigations
2. Investigation starts → handler reads setting → passes to buildRunnerArgs
3. buildRunnerArgs adds --fast-mode CLI flag when enabled
4. CLI parses flag → GitHubRunnerConfig.fast_mode
5. Config passed to orchestrators → SDK clients created with fast_mode=true

This enables Opus 4.6 Fast Mode (2.5x faster, higher cost) for investigations.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
This commit is contained in:
Sondre Engebråten
2026-02-16 16:48:47 +01:00
co-authored by Claude Opus 4.6
parent dc75e32e9e
commit 811494bfcd
2 changed files with 9 additions and 0 deletions
@@ -1173,12 +1173,16 @@ async function runInvestigation(
// Non-fatal: will start fresh
}
// Read investigation settings to get fastInvestigations flag
const investigationSettings = getInvestigationSettings(projectId);
const args = [
...buildRunnerArgs(
getRunnerPath(backendPath),
project.path,
'investigate',
[String(issueNumber)],
{ fastMode: investigationSettings.fastInvestigations ?? false },
),
'--specialist-config', JSON.stringify(specialistConfig),
...resumeSessionsArg,
@@ -765,6 +765,7 @@ export function buildRunnerArgs(
options?: {
model?: string;
thinkingLevel?: string;
fastMode?: boolean;
}
): string[] {
const args = [runnerPath, '--project', projectPath];
@@ -777,6 +778,10 @@ export function buildRunnerArgs(
args.push('--thinking-level', options.thinkingLevel);
}
if (options?.fastMode) {
args.push('--fast-mode');
}
args.push(command);
args.push(...additionalArgs);