@oddessentials/odd-ai-reviewers 1.11.0 → 1.12.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.
Files changed (70) hide show
  1. package/README.md +16 -9
  2. package/dist/benchmark/adapter.d.ts.map +1 -1
  3. package/dist/benchmark/adapter.js +4 -2
  4. package/dist/benchmark/adapter.js.map +1 -1
  5. package/dist/cache/store.d.ts.map +1 -1
  6. package/dist/cache/store.js +26 -2
  7. package/dist/cache/store.js.map +1 -1
  8. package/dist/cli/commands/benchmark.d.ts +14 -0
  9. package/dist/cli/commands/benchmark.d.ts.map +1 -0
  10. package/dist/cli/commands/benchmark.js +86 -0
  11. package/dist/cli/commands/benchmark.js.map +1 -0
  12. package/dist/cli/commands/local-review.d.ts +13 -2
  13. package/dist/cli/commands/local-review.d.ts.map +1 -1
  14. package/dist/cli/commands/local-review.js +164 -33
  15. package/dist/cli/commands/local-review.js.map +1 -1
  16. package/dist/cli/execution-plan.d.ts +118 -0
  17. package/dist/cli/execution-plan.d.ts.map +1 -0
  18. package/dist/cli/execution-plan.js +260 -0
  19. package/dist/cli/execution-plan.js.map +1 -0
  20. package/dist/config/schemas.d.ts +103 -21
  21. package/dist/config/schemas.d.ts.map +1 -1
  22. package/dist/config/schemas.js +177 -10
  23. package/dist/config/schemas.js.map +1 -1
  24. package/dist/config.d.ts +8 -3
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +15 -6
  27. package/dist/config.js.map +1 -1
  28. package/dist/diff.d.ts.map +1 -1
  29. package/dist/diff.js +3 -0
  30. package/dist/diff.js.map +1 -1
  31. package/dist/main.d.ts.map +1 -1
  32. package/dist/main.js +86 -90
  33. package/dist/main.js.map +1 -1
  34. package/dist/phases/execute.d.ts +3 -0
  35. package/dist/phases/execute.d.ts.map +1 -1
  36. package/dist/phases/execute.js +17 -5
  37. package/dist/phases/execute.js.map +1 -1
  38. package/dist/phases/index.d.ts +1 -1
  39. package/dist/phases/index.d.ts.map +1 -1
  40. package/dist/phases/index.js +1 -1
  41. package/dist/phases/index.js.map +1 -1
  42. package/dist/phases/report.d.ts +28 -4
  43. package/dist/phases/report.d.ts.map +1 -1
  44. package/dist/phases/report.js +86 -36
  45. package/dist/phases/report.js.map +1 -1
  46. package/dist/report/ado.d.ts +2 -1
  47. package/dist/report/ado.d.ts.map +1 -1
  48. package/dist/report/ado.js +9 -5
  49. package/dist/report/ado.js.map +1 -1
  50. package/dist/report/finding-validator.d.ts +1 -4
  51. package/dist/report/finding-validator.d.ts.map +1 -1
  52. package/dist/report/finding-validator.js +23 -54
  53. package/dist/report/finding-validator.js.map +1 -1
  54. package/dist/report/framework-pattern-filter.d.ts +1 -1
  55. package/dist/report/framework-pattern-filter.d.ts.map +1 -1
  56. package/dist/report/framework-pattern-filter.js +114 -99
  57. package/dist/report/framework-pattern-filter.js.map +1 -1
  58. package/dist/report/github.d.ts +2 -1
  59. package/dist/report/github.d.ts.map +1 -1
  60. package/dist/report/github.js +9 -5
  61. package/dist/report/github.js.map +1 -1
  62. package/dist/report/terminal.d.ts +42 -4
  63. package/dist/report/terminal.d.ts.map +1 -1
  64. package/dist/report/terminal.js +36 -8
  65. package/dist/report/terminal.js.map +1 -1
  66. package/dist/report/user-suppressions.d.ts +74 -0
  67. package/dist/report/user-suppressions.d.ts.map +1 -0
  68. package/dist/report/user-suppressions.js +264 -0
  69. package/dist/report/user-suppressions.js.map +1 -0
  70. package/package.json +2 -1
@@ -13,7 +13,8 @@
13
13
  * @module cli/commands/local-review
14
14
  */
15
15
  import { isOk } from '../../types/result.js';
16
- import { wrapNonError } from '../../types/errors.js';
16
+ import { wrapNonError, ConfigError } from '../../types/errors.js';
17
+ import { buildExecutionPlan, serializeExecutionPlan, exitCodeFromStatus, } from '../execution-plan.js';
17
18
  import { inferGitContext, GitContextErrorCode } from '../git-context.js';
18
19
  import { parseLocalReviewOptions, applyOptionDefaults, resolveDiffRange, } from '../options/index.js';
19
20
  import { loadConfig, loadConfigFromPath, generateZeroConfigDefaults, isZeroConfigSuccess, } from '../../config.js';
@@ -22,11 +23,11 @@ import { loadReviewIgnore } from '../../reviewignore.js';
22
23
  import { checkBudget, estimateTokens } from '../../budget.js';
23
24
  import { buildRouterEnv } from '../../agents/security.js';
24
25
  import { hashConfig } from '../../cache/key.js';
25
- import { executeAllPasses } from '../../phases/execute.js';
26
+ import { executeAllPasses, FatalExecutionError } from '../../phases/execute.js';
26
27
  import { supportsColor, supportsUnicode, createColorizer } from '../output/colors.js';
27
28
  import { formatCLIError, NotAGitRepoError, NoCredentialsError, InvalidConfigError, GitNotFoundError, InvalidPathError, } from '../output/errors.js';
28
29
  import { reportToTerminal } from '../../report/terminal.js';
29
- import { applyFindingsPipeline } from '../../phases/report.js';
30
+ import { processLocalReportFindings } from '../../phases/report.js';
30
31
  import { setupSignalHandlers, setPartialResultsContext, clearPartialResultsContext, getPartialResultsContext, formatPartialResultsMessage, } from '../signals.js';
31
32
  import { countBySeverity } from '../../report/formats.js';
32
33
  import { existsSync } from 'fs';
@@ -69,7 +70,13 @@ export function createDefaultDependencies() {
69
70
  // Exit Codes
70
71
  // =============================================================================
71
72
  /**
72
- * Exit codes per contracts/cli-interface.md
73
+ * Exit codes per contracts/cli-contract.md
74
+ *
75
+ * Canonical mapping (all exit codes MUST go through exitCodeFromStatus):
76
+ * 0 = complete — all agents succeeded, gating passed or disabled
77
+ * 1 = gating_failed — all agents succeeded, findings exceeded threshold
78
+ * 2 = config_error — config invalid, no passes runnable, suppression error
79
+ * 3 = incomplete — partial results, some agents failed
73
80
  */
74
81
  export const ExitCode = {
75
82
  /** Success (no findings, or findings below gating threshold) */
@@ -78,32 +85,33 @@ export const ExitCode = {
78
85
  FAILURE: 1,
79
86
  /** Invalid arguments or configuration */
80
87
  INVALID_ARGS: 2,
88
+ /** Incomplete review (partial results available) */
89
+ INCOMPLETE: 3,
81
90
  };
82
91
  // =============================================================================
83
92
  // Helper Functions
84
93
  // =============================================================================
85
94
  /**
86
- * Determine exit code based on findings and gating configuration
95
+ * Determine run status based on findings and gating configuration.
96
+ * The RunStatus is then mapped to an exit code via exitCodeFromStatus().
87
97
  */
88
- function determineExitCode(findings, config) {
98
+ function determineRunStatus(findings, config) {
89
99
  if (!config.gating?.enabled) {
90
- return ExitCode.SUCCESS;
100
+ return 'complete';
91
101
  }
92
102
  const counts = countBySeverity(findings);
93
103
  const threshold = config.gating.fail_on_severity ?? 'error';
94
104
  if (threshold === 'warning') {
95
- // Fail on warnings or errors
96
105
  if (counts.error > 0 || counts.warning > 0) {
97
- return ExitCode.FAILURE;
106
+ return 'gating_failed';
98
107
  }
99
108
  }
100
109
  else {
101
- // Default: fail on errors only
102
110
  if (counts.error > 0) {
103
- return ExitCode.FAILURE;
111
+ return 'gating_failed';
104
112
  }
105
113
  }
106
- return ExitCode.SUCCESS;
114
+ return 'complete';
107
115
  }
108
116
  /**
109
117
  * Get package version from package.json
@@ -598,40 +606,115 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
598
606
  }
599
607
  stdout.write(c.gray('Tip: Create .ai-review.yml to customize settings\n\n'));
600
608
  }
601
- // 4. Handle special modes (dry-run and cost-only) - before dependency check
609
+ // 4. Build execution plan (FR-001 through FR-007)
610
+ // The plan is the single source of truth for all downstream code paths.
611
+ // No downstream consumer may read raw CLI flags — they operate on the plan.
612
+ let executionPlan;
613
+ try {
614
+ const planMode = resolvedOptions.dryRun
615
+ ? 'dry-run'
616
+ : resolvedOptions.costOnly
617
+ ? 'cost-only'
618
+ : 'execute';
619
+ executionPlan = buildExecutionPlan({
620
+ config,
621
+ mode: planMode,
622
+ passFilter: resolvedOptions.pass,
623
+ agentFilter: resolvedOptions.agent,
624
+ provider: zeroConfigResult?.provider ?? config.provider ?? null,
625
+ model: config.models?.default ?? null,
626
+ configSource: configSource === 'zero-config' ? 'zero-config' : (configPath ?? '.ai-review.yml'),
627
+ });
628
+ }
629
+ catch (error) {
630
+ if (error instanceof ConfigError) {
631
+ stderr.write(formatCLIError(new InvalidConfigError(resolvedOptions.config ?? '.ai-review.yml', [error.message]), colored) + '\n');
632
+ return {
633
+ exitCode: exitCodeFromStatus('config_error'),
634
+ status: 'config_error',
635
+ findingsCount: 0,
636
+ partialFindingsCount: 0,
637
+ error: error.message,
638
+ };
639
+ }
640
+ throw error;
641
+ }
642
+ // Emit plan in verbose mode for debugging
643
+ if (resolvedOptions.verbose && !resolvedOptions.quiet) {
644
+ stderr.write(c.gray('Execution plan:\n'));
645
+ stderr.write(c.gray(serializeExecutionPlan(executionPlan)));
646
+ stderr.write('\n');
647
+ }
648
+ // Build a config-like passes array from the execution plan for downstream compatibility
649
+ const planPasses = executionPlan.passes.map((p) => ({
650
+ name: p.name,
651
+ agents: [...p.agents],
652
+ enabled: true,
653
+ required: p.required,
654
+ }));
655
+ // 5. Handle special modes (dry-run and cost-only) - before dependency check
602
656
  // These modes don't execute agents, so dependencies are not required
603
657
  if (resolvedOptions.dryRun) {
604
658
  const dryRunResult = await executeDryRun(resolvedOptions, gitContext, config, configSource, configPath, deps);
659
+ // Override agents to match the execution plan (FR-002: dry-run shows only plan agents)
660
+ dryRunResult.agents = [...new Set(executionPlan.passes.flatMap((p) => [...p.agents]))];
605
661
  const output = formatDryRunOutput(dryRunResult, colored, resolvedOptions.format);
606
662
  stdout.write(output);
607
- return { exitCode: ExitCode.SUCCESS, findingsCount: 0, partialFindingsCount: 0 };
663
+ return {
664
+ exitCode: ExitCode.SUCCESS,
665
+ status: 'complete',
666
+ findingsCount: 0,
667
+ partialFindingsCount: 0,
668
+ };
608
669
  }
609
670
  if (resolvedOptions.costOnly) {
610
- const costResult = await executeCostOnly(resolvedOptions, gitContext, config, deps);
671
+ // FR-003: Cost estimation MUST be scoped to the execution plan's passes only
672
+ const planFilteredConfig = {
673
+ ...config,
674
+ passes: planPasses.map((p) => ({
675
+ name: p.name,
676
+ agents: [...p.agents],
677
+ enabled: true,
678
+ required: p.required,
679
+ })),
680
+ };
681
+ const costResult = await executeCostOnly(resolvedOptions, gitContext, planFilteredConfig, deps);
611
682
  const output = formatCostOutput(costResult, colored);
612
683
  stdout.write(output);
613
- return { exitCode: ExitCode.SUCCESS, findingsCount: 0, partialFindingsCount: 0 };
684
+ return {
685
+ exitCode: ExitCode.SUCCESS,
686
+ status: 'complete',
687
+ findingsCount: 0,
688
+ partialFindingsCount: 0,
689
+ };
614
690
  }
615
- // 5. Dependency preflight check (only needed when actually running agents)
691
+ // 6. Dependency preflight check scoped to execution plan's passes only (FR-001)
616
692
  const checkDepsFn = deps.checkDependenciesForPasses ?? checkDependenciesForPasses;
617
- const depSummary = checkDepsFn(config.passes);
693
+ const depSummary = checkDepsFn(planPasses);
618
694
  if (depSummary.hasBlockingIssues) {
619
695
  displayDependencyErrors(depSummary, stderr);
620
696
  return {
621
- exitCode: ExitCode.FAILURE,
697
+ exitCode: exitCodeFromStatus('config_error'),
698
+ status: 'config_error',
622
699
  findingsCount: 0,
623
700
  partialFindingsCount: 0,
624
701
  error: 'Missing required dependencies',
625
702
  };
626
703
  }
627
- // Build skipped pass info for warnings
628
- const skippedPassInfo = buildSkippedPassInfo(config.passes, depSummary);
704
+ // Build skipped pass info for warnings (using plan passes, not raw config)
705
+ const skippedPassInfo = buildSkippedPassInfo(planPasses, depSummary);
629
706
  // Show warnings for skipped passes (graceful degradation)
630
707
  if (skippedPassInfo.length > 0 && !resolvedOptions.quiet) {
631
708
  displaySkippedPassWarnings(skippedPassInfo, stderr);
632
709
  }
633
- // Filter config to only include runnable passes
634
- const runnableConfig = filterToRunnablePasses(config, depSummary.runnablePasses);
710
+ // Show execution plan's skipped passes
711
+ if (executionPlan.skippedPasses.length > 0 && !resolvedOptions.quiet) {
712
+ for (const sp of executionPlan.skippedPasses) {
713
+ stderr.write(c.yellow(`Note: ${sp.reason}\n`));
714
+ }
715
+ }
716
+ // Filter config to only include runnable passes from the execution plan
717
+ const runnableConfig = filterToRunnablePasses({ ...config, passes: planPasses }, depSummary.runnablePasses);
635
718
  // Check if all passes were filtered out (all optional, all missing dependencies)
636
719
  const enabledRunnablePasses = runnableConfig.passes.filter((p) => p.enabled);
637
720
  if (enabledRunnablePasses.length === 0) {
@@ -643,13 +726,18 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
643
726
  ` Run 'ai-review check' to see what's missing.\n` +
644
727
  ` No review will be performed.\n`;
645
728
  stderr.write(warnMsg);
646
- return { exitCode: ExitCode.SUCCESS, findingsCount: 0, partialFindingsCount: 0 };
729
+ return {
730
+ exitCode: ExitCode.SUCCESS,
731
+ status: 'complete',
732
+ findingsCount: 0,
733
+ partialFindingsCount: 0,
734
+ };
647
735
  }
648
736
  // Show warnings for other optional missing dependencies
649
737
  if (depSummary.hasWarnings && !resolvedOptions.quiet && skippedPassInfo.length === 0) {
650
738
  displayDependencyErrors(depSummary, stderr);
651
739
  }
652
- // 6. Load .reviewignore patterns (before diff to filter early)
740
+ // 7. Load .reviewignore patterns (before diff to filter early)
653
741
  const reviewIgnoreResult = await loadReviewIgnore(gitContext.repoRoot);
654
742
  // 7. Generate diff once with reviewignore filtering applied
655
743
  const getDiffFn = deps.getLocalDiff ?? getLocalDiff;
@@ -675,7 +763,12 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
675
763
  ? `${c.green('✓')} No changes to review\n\n Base: ${baseRef}\n Head: ${headLabel}\n\n No uncommitted or staged changes found.\n`
676
764
  : `No changes to review\n\n Base: ${baseRef}\n Head: ${headLabel}\n\n No uncommitted or staged changes found.\n`;
677
765
  stdout.write(output);
678
- return { exitCode: ExitCode.SUCCESS, findingsCount: 0, partialFindingsCount: 0 };
766
+ return {
767
+ exitCode: ExitCode.SUCCESS,
768
+ findingsCount: 0,
769
+ partialFindingsCount: 0,
770
+ status: 'complete',
771
+ };
679
772
  }
680
773
  // 9. Build agent context (using runnableConfig with filtered passes)
681
774
  const routerEnv = buildRouterEnv(env);
@@ -740,9 +833,44 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
740
833
  catch (error) {
741
834
  clearPartialResultsContext();
742
835
  const errorMsg = error instanceof Error ? error.message : String(error);
836
+ // FR-021: Extract partial results from FatalExecutionError when available.
837
+ // If agents completed before the failure, report their findings in degraded mode.
838
+ if (error instanceof FatalExecutionError && error.partialResults) {
839
+ stderr.write(c.yellow(`\n⚠ Incomplete review: ${errorMsg}\n`));
840
+ stderr.write(c.yellow(` ${error.partialResults.completeFindings.length} findings from completed agents preserved\n`));
841
+ // Process partial results through the standard pipeline
842
+ const executionTimeMs = Date.now() - startTime;
843
+ const estimatedCostUsd = error.partialResults.allResults.reduce((sum, r) => {
844
+ if ('metrics' in r && r.metrics?.estimatedCostUsd) {
845
+ return sum + r.metrics.estimatedCostUsd;
846
+ }
847
+ return sum;
848
+ }, 0);
849
+ const terminalContext = buildTerminalContext(resolvedOptions, gitContext, configSource, configPath, getPackageVersion());
850
+ terminalContext.executionTimeMs = executionTimeMs;
851
+ terminalContext.estimatedCostUsd = Math.max(0, estimatedCostUsd);
852
+ const processed = processLocalReportFindings(error.partialResults.completeFindings, error.partialResults.partialFindings, diff.files, config, 'local');
853
+ const incompleteStatus = 'incomplete';
854
+ const reportFn = deps.reportToTerminal ?? reportToTerminal;
855
+ await reportFn(processed.complete, processed.partial, terminalContext, config, diff.files, {
856
+ status: incompleteStatus,
857
+ suppressionSummary: processed.suppressionSummary,
858
+ });
859
+ // FR-021: Exit code 3 for incomplete review — partial results are NOT used for gating
860
+ return {
861
+ exitCode: exitCodeFromStatus(incompleteStatus),
862
+ status: incompleteStatus,
863
+ findingsCount: processed.complete.length,
864
+ partialFindingsCount: processed.partial.length,
865
+ error: errorMsg,
866
+ };
867
+ }
868
+ // Fatal failure with no preserved findings — hard crash, not a degraded run.
869
+ // Use config_error (exit 2) to distinguish from incomplete (exit 3, which has findings).
743
870
  stderr.write(c.red(`\nExecution error: ${errorMsg}\n`));
744
871
  return {
745
- exitCode: ExitCode.FAILURE,
872
+ exitCode: exitCodeFromStatus('config_error'),
873
+ status: 'config_error',
746
874
  findingsCount: 0,
747
875
  partialFindingsCount: 0,
748
876
  error: errorMsg,
@@ -762,16 +890,19 @@ export async function runLocalReview(rawOptions, deps = createDefaultDependencie
762
890
  terminalContext.executionTimeMs = executionTimeMs;
763
891
  terminalContext.estimatedCostUsd = Math.max(0, estimatedCostUsd); // Clamp to non-negative (FR-REL-002)
764
892
  // 15. Post-process findings (FR-018: CLI parity — sanitize → semantic → framework → diff-bound)
765
- const processedFindings = applyFindingsPipeline(executeResult.completeFindings, diff.files
766
- // No prDescription in CLI mode documented divergence (FR-018e)
767
- );
893
+ // FR-022: Local mode uses working tree config for suppressions (developer trusted)
894
+ const processed = processLocalReportFindings(executeResult.completeFindings, executeResult.partialFindings, diff.files, config, 'local');
895
+ const runStatus = determineRunStatus(processed.complete, config);
896
+ const exitCode = exitCodeFromStatus(runStatus);
768
897
  // 16. Report findings to terminal
769
898
  const reportFn = deps.reportToTerminal ?? reportToTerminal;
770
- const reportResult = await reportFn(processedFindings, executeResult.partialFindings, terminalContext, config, diff.files);
771
- // 17. Determine exit code (uses post-processed findings for accurate gating)
772
- const exitCode = determineExitCode(processedFindings, config);
899
+ const reportResult = await reportFn(processed.complete, processed.partial, terminalContext, config, diff.files, {
900
+ status: runStatus,
901
+ suppressionSummary: processed.suppressionSummary,
902
+ });
773
903
  return {
774
904
  exitCode,
905
+ status: runStatus,
775
906
  findingsCount: reportResult.findingsCount,
776
907
  partialFindingsCount: reportResult.partialFindingsCount,
777
908
  };
@@ -1 +1 @@
1
- {"version":3,"file":"local-review.js","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-review.js","sourceRoot":"","sources":["../../../src/cli/commands/local-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Execution Plan Module (FR-001 through FR-007)
3
+ *
4
+ * Produces a single, immutable ExecutionPlan object that is the sole source of truth
5
+ * for all downstream code paths (dry-run, cost-only, dependency check, execution).
6
+ *
7
+ * Pipeline: Parse -> Validate -> BuildExecutionPlan -> DependencyCheck -> Execute
8
+ *
9
+ * No downstream consumer may read raw CLI flags — they operate on the plan.
10
+ */
11
+ import type { Config, AgentId } from '../config/schemas.js';
12
+ /**
13
+ * Recursively makes all properties readonly.
14
+ * Arrays become ReadonlyArrays, objects get readonly properties.
15
+ */
16
+ export type DeepReadonly<T> = T extends (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
17
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
18
+ } : T;
19
+ /**
20
+ * Machine-readable status for all JSON/SARIF output.
21
+ * Strict 1:1 mapping with exit codes.
22
+ */
23
+ export type RunStatus = 'complete' | 'gating_failed' | 'config_error' | 'incomplete';
24
+ /**
25
+ * The ONLY path to produce an exit code.
26
+ * No call site may hardcode an exit code number directly.
27
+ */
28
+ export declare function exitCodeFromStatus(status: RunStatus): number;
29
+ /**
30
+ * Execution mode for the review.
31
+ */
32
+ export type ExecutionMode = 'execute' | 'dry-run' | 'cost-only';
33
+ /**
34
+ * A pass with zero agents has been removed and recorded here.
35
+ */
36
+ export interface SkippedPass {
37
+ readonly name: string;
38
+ readonly reason: string;
39
+ }
40
+ /**
41
+ * A single pass within the execution plan with its resolved agents.
42
+ */
43
+ export interface PlannedPass {
44
+ readonly name: string;
45
+ readonly agents: readonly AgentId[];
46
+ readonly required: boolean;
47
+ }
48
+ /**
49
+ * Gating configuration snapshot for the plan.
50
+ */
51
+ export interface PlanGating {
52
+ readonly enabled: boolean;
53
+ readonly failOnSeverity: string;
54
+ readonly driftGate: boolean;
55
+ }
56
+ /**
57
+ * Limits configuration snapshot for the plan.
58
+ */
59
+ export interface PlanLimits {
60
+ readonly maxDiffLines: number;
61
+ readonly maxFiles: number;
62
+ readonly maxTokensPerPr: number;
63
+ readonly maxUsdPerPr: number;
64
+ }
65
+ /**
66
+ * Immutable execution plan — single source of truth for all downstream consumers.
67
+ *
68
+ * Structural invariant: No pass may have an empty agents list.
69
+ */
70
+ export interface ExecutionPlan {
71
+ readonly mode: ExecutionMode;
72
+ readonly passes: readonly PlannedPass[];
73
+ readonly skippedPasses: readonly SkippedPass[];
74
+ readonly provider: string | null;
75
+ readonly model: string | null;
76
+ readonly limits: PlanLimits;
77
+ readonly gating: PlanGating;
78
+ readonly configSource: string;
79
+ readonly schemaVersion: number;
80
+ }
81
+ /**
82
+ * Options for building an execution plan from CLI args and config.
83
+ */
84
+ export interface BuildPlanOptions {
85
+ /** The loaded configuration */
86
+ config: Config;
87
+ /** Execution mode */
88
+ mode: ExecutionMode;
89
+ /** --pass filter (undefined = all passes) */
90
+ passFilter?: string;
91
+ /** --agent filter (undefined = all agents) */
92
+ agentFilter?: string;
93
+ /** Resolved provider name */
94
+ provider?: string | null;
95
+ /** Resolved model name */
96
+ model?: string | null;
97
+ /** Config source description (file path or 'zero-config') */
98
+ configSource: string;
99
+ }
100
+ /**
101
+ * Build an immutable execution plan from config and CLI options.
102
+ *
103
+ * Enforces all invariants:
104
+ * - Pass/agent validation against registry
105
+ * - Provider compatibility filtering
106
+ * - Empty-pass rule (required+empty -> ConfigError; optional+empty -> skipped)
107
+ * - Combined --pass + --agent narrowing (FR-007)
108
+ *
109
+ * @throws ConfigError on validation failures (exit code 2)
110
+ */
111
+ export declare function buildExecutionPlan(options: BuildPlanOptions): DeepReadonly<ExecutionPlan>;
112
+ /**
113
+ * Safe-field allowlist for plan serialization.
114
+ * Only these fields appear in serialized output — everything else is excluded.
115
+ * Keys are emitted in alphabetical order at every level.
116
+ */
117
+ export declare function serializeExecutionPlan(plan: DeepReadonly<ExecutionPlan>): string;
118
+ //# sourceMappingURL=execution-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-plan.d.ts","sourceRoot":"","sources":["../../src/cli/execution-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAQ,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAclE;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC/C,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAC1B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAMR;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAErF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAa5D;AAMD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAoFD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAqKzF;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAkChF"}