(options = {})
| 479 | if (options.json !== false) args.push('--json'); |
| 480 | if (options.model) args.push('--model', options.model); |
| 481 | if (options.profile) args.push('--profile', options.profile); |
| 482 | if (options.outputLastMessagePath) args.push('--output-last-message', options.outputLastMessagePath); |
| 483 | if (options.allowHookTrust) args.push('--dangerously-bypass-hook-trust'); |
| 484 | args.push(options.prompt || 'Run the benchmark scenario and report the result.'); |
| 485 | return args; |
| 486 | } |
| 487 | |
| 488 | function createFleetExecutionPlan(options = {}) { |
| 489 | const projectRoot = path.resolve(options.projectRoot || process.cwd()); |
| 490 | const plan = { |
| 491 | mode: options.mode || 'codex-subagents', |
| 492 | projectRoot, |
| 493 | waveSize: Number(options.waveSize || 3), |
| 494 | nativeAgentDir: path.join('.codex', 'agents'), |
| 495 | nativeWorktreeSurface: 'Codex app worktrees when available; Citadel worktrees as CLI fallback.', |
| 496 | citadelValueLayer: ['campaign state', 'discovery relay', 'scope claims', 'merge-review'], |
| 497 | prompt: 'Use projected .codex/agents for specialized subagents. Preserve Citadel .planning state and discovery relay across waves.', |
| 498 | createdAt: nowIso(options), |
| 499 | }; |
| 500 | if (options.write) { |
no test coverage detected