agentic-orchestrator 0.1.26 → 0.1.28

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 (172) hide show
  1. package/AGENTS.md +2 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +47 -14
  4. package/agentic/orchestrator/agents.yaml +13 -0
  5. package/agentic/orchestrator/policy.yaml +3 -0
  6. package/agentic/orchestrator/schemas/agents.schema.json +76 -0
  7. package/agentic/orchestrator/schemas/policy.schema.json +16 -0
  8. package/agentic/orchestrator/schemas/policy.user.schema.json +16 -0
  9. package/agentic/orchestrator/schemas/state.schema.json +53 -0
  10. package/apps/control-plane/src/application/configuration-service.ts +181 -0
  11. package/apps/control-plane/src/application/kernel-tool-wiring.ts +292 -0
  12. package/apps/control-plane/src/application/services/checkpoint-service.ts +523 -0
  13. package/apps/control-plane/src/application/services/feature-send-message-service.ts +132 -0
  14. package/apps/control-plane/src/application/services/patch-service.ts +29 -5
  15. package/apps/control-plane/src/application/services/repo-operations-service.ts +276 -0
  16. package/apps/control-plane/src/application/services/worktree-watchdog-service.ts +156 -0
  17. package/apps/control-plane/src/cli/cli-argument-parser.ts +12 -0
  18. package/apps/control-plane/src/cli/help-command-handler.ts +17 -0
  19. package/apps/control-plane/src/cli/init-command-handler.ts +31 -0
  20. package/apps/control-plane/src/cli/resume-command-handler.ts +31 -4
  21. package/apps/control-plane/src/cli/rollback-command-handler.ts +217 -0
  22. package/apps/control-plane/src/cli/run-command-handler.ts +8 -0
  23. package/apps/control-plane/src/cli/types.ts +3 -0
  24. package/apps/control-plane/src/core/kernel-types.ts +55 -0
  25. package/apps/control-plane/src/core/kernel.ts +61 -878
  26. package/apps/control-plane/src/core/tool-caller.ts +10 -0
  27. package/apps/control-plane/src/core/utils/field-readers.ts +38 -0
  28. package/apps/control-plane/src/core/utils/index-normalizer.ts +119 -0
  29. package/apps/control-plane/src/core/utils/path-normalizers.ts +22 -0
  30. package/apps/control-plane/src/interfaces/cli/bootstrap.ts +15 -0
  31. package/apps/control-plane/src/providers/api-worker-provider.ts +14 -12
  32. package/apps/control-plane/src/providers/cli-worker-provider.ts +82 -12
  33. package/apps/control-plane/src/providers/providers.ts +45 -24
  34. package/apps/control-plane/src/providers/worker-provider-factory.ts +36 -1
  35. package/apps/control-plane/src/supervisor/run-coordinator.ts +91 -36
  36. package/apps/control-plane/src/supervisor/runtime.ts +107 -1
  37. package/apps/control-plane/src/supervisor/types.ts +9 -0
  38. package/apps/control-plane/src/supervisor/worker-decision-loop.ts +253 -14
  39. package/apps/control-plane/test/checkpoint-service.spec.ts +537 -0
  40. package/apps/control-plane/test/cli-helpers.spec.ts +28 -0
  41. package/apps/control-plane/test/cli.unit.spec.ts +52 -0
  42. package/apps/control-plane/test/configuration-service.spec.ts +466 -0
  43. package/apps/control-plane/test/dashboard-api.integration.spec.ts +537 -0
  44. package/apps/control-plane/test/dashboard-client.spec.ts +233 -0
  45. package/apps/control-plane/test/feature-send-message-service.spec.ts +314 -0
  46. package/apps/control-plane/test/init-wizard.spec.ts +35 -0
  47. package/apps/control-plane/test/path-normalizers.spec.ts +41 -0
  48. package/apps/control-plane/test/repo-operations-service.spec.ts +339 -0
  49. package/apps/control-plane/test/resume-command.spec.ts +33 -0
  50. package/apps/control-plane/test/review-workspace-logic.spec.ts +130 -0
  51. package/apps/control-plane/test/rollback-command.spec.ts +208 -0
  52. package/apps/control-plane/test/run-coordinator.spec.ts +119 -0
  53. package/apps/control-plane/test/worker-decision-loop.spec.ts +209 -0
  54. package/apps/control-plane/test/worker-provider-adapters.spec.ts +102 -0
  55. package/apps/control-plane/test/worker-provider-factory.spec.ts +14 -0
  56. package/apps/control-plane/test/worktree-watchdog-service.spec.ts +147 -0
  57. package/config/agentic/orchestrator/agents.yaml +13 -0
  58. package/dist/apps/control-plane/application/configuration-service.d.ts +19 -0
  59. package/dist/apps/control-plane/application/configuration-service.js +123 -0
  60. package/dist/apps/control-plane/application/configuration-service.js.map +1 -0
  61. package/dist/apps/control-plane/application/kernel-tool-wiring.d.ts +39 -0
  62. package/dist/apps/control-plane/application/kernel-tool-wiring.js +38 -0
  63. package/dist/apps/control-plane/application/kernel-tool-wiring.js.map +1 -0
  64. package/dist/apps/control-plane/application/services/checkpoint-service.d.ts +84 -0
  65. package/dist/apps/control-plane/application/services/checkpoint-service.js +367 -0
  66. package/dist/apps/control-plane/application/services/checkpoint-service.js.map +1 -0
  67. package/dist/apps/control-plane/application/services/feature-send-message-service.d.ts +25 -0
  68. package/dist/apps/control-plane/application/services/feature-send-message-service.js +105 -0
  69. package/dist/apps/control-plane/application/services/feature-send-message-service.js.map +1 -0
  70. package/dist/apps/control-plane/application/services/patch-service.d.ts +6 -0
  71. package/dist/apps/control-plane/application/services/patch-service.js +11 -2
  72. package/dist/apps/control-plane/application/services/patch-service.js.map +1 -1
  73. package/dist/apps/control-plane/application/services/repo-operations-service.d.ts +70 -0
  74. package/dist/apps/control-plane/application/services/repo-operations-service.js +213 -0
  75. package/dist/apps/control-plane/application/services/repo-operations-service.js.map +1 -0
  76. package/dist/apps/control-plane/application/services/worktree-watchdog-service.d.ts +23 -0
  77. package/dist/apps/control-plane/application/services/worktree-watchdog-service.js +119 -0
  78. package/dist/apps/control-plane/application/services/worktree-watchdog-service.js.map +1 -0
  79. package/dist/apps/control-plane/cli/cli-argument-parser.js +12 -0
  80. package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
  81. package/dist/apps/control-plane/cli/help-command-handler.js +17 -0
  82. package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -1
  83. package/dist/apps/control-plane/cli/init-command-handler.js +23 -0
  84. package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -1
  85. package/dist/apps/control-plane/cli/resume-command-handler.js +25 -5
  86. package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
  87. package/dist/apps/control-plane/cli/rollback-command-handler.d.ts +6 -0
  88. package/dist/apps/control-plane/cli/rollback-command-handler.js +177 -0
  89. package/dist/apps/control-plane/cli/rollback-command-handler.js.map +1 -0
  90. package/dist/apps/control-plane/cli/run-command-handler.js +7 -1
  91. package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
  92. package/dist/apps/control-plane/cli/types.d.ts +3 -0
  93. package/dist/apps/control-plane/cli/types.js +1 -0
  94. package/dist/apps/control-plane/cli/types.js.map +1 -1
  95. package/dist/apps/control-plane/core/configuration-service.d.ts +25 -0
  96. package/dist/apps/control-plane/core/configuration-service.js +130 -0
  97. package/dist/apps/control-plane/core/configuration-service.js.map +1 -0
  98. package/dist/apps/control-plane/core/kernel-tool-wiring.d.ts +50 -0
  99. package/dist/apps/control-plane/core/kernel-tool-wiring.js +44 -0
  100. package/dist/apps/control-plane/core/kernel-tool-wiring.js.map +1 -0
  101. package/dist/apps/control-plane/core/kernel-types.d.ts +48 -0
  102. package/dist/apps/control-plane/core/kernel-types.js +2 -0
  103. package/dist/apps/control-plane/core/kernel-types.js.map +1 -0
  104. package/dist/apps/control-plane/core/kernel.d.ts +17 -48
  105. package/dist/apps/control-plane/core/kernel.js +44 -539
  106. package/dist/apps/control-plane/core/kernel.js.map +1 -1
  107. package/dist/apps/control-plane/core/tool-caller.d.ts +10 -0
  108. package/dist/apps/control-plane/core/utils/error-normalizer.d.ts +2 -0
  109. package/dist/apps/control-plane/core/utils/error-normalizer.js +51 -0
  110. package/dist/apps/control-plane/core/utils/error-normalizer.js.map +1 -0
  111. package/dist/apps/control-plane/core/utils/field-readers.d.ts +9 -0
  112. package/dist/apps/control-plane/core/utils/field-readers.js +30 -0
  113. package/dist/apps/control-plane/core/utils/field-readers.js.map +1 -0
  114. package/dist/apps/control-plane/core/utils/index-normalizer.d.ts +7 -0
  115. package/dist/apps/control-plane/core/utils/index-normalizer.js +92 -0
  116. package/dist/apps/control-plane/core/utils/index-normalizer.js.map +1 -0
  117. package/dist/apps/control-plane/core/utils/path-normalizers.d.ts +2 -0
  118. package/dist/apps/control-plane/core/utils/path-normalizers.js +17 -0
  119. package/dist/apps/control-plane/core/utils/path-normalizers.js.map +1 -0
  120. package/dist/apps/control-plane/interfaces/cli/bootstrap.js +13 -1
  121. package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
  122. package/dist/apps/control-plane/providers/api-worker-provider.d.ts +4 -13
  123. package/dist/apps/control-plane/providers/api-worker-provider.js +10 -0
  124. package/dist/apps/control-plane/providers/api-worker-provider.js.map +1 -1
  125. package/dist/apps/control-plane/providers/cli-worker-provider.d.ts +11 -13
  126. package/dist/apps/control-plane/providers/cli-worker-provider.js +64 -0
  127. package/dist/apps/control-plane/providers/cli-worker-provider.js.map +1 -1
  128. package/dist/apps/control-plane/providers/providers.d.ts +31 -24
  129. package/dist/apps/control-plane/providers/providers.js +10 -0
  130. package/dist/apps/control-plane/providers/providers.js.map +1 -1
  131. package/dist/apps/control-plane/providers/worker-provider-factory.d.ts +11 -0
  132. package/dist/apps/control-plane/providers/worker-provider-factory.js +20 -1
  133. package/dist/apps/control-plane/providers/worker-provider-factory.js.map +1 -1
  134. package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +3 -0
  135. package/dist/apps/control-plane/supervisor/run-coordinator.js +81 -33
  136. package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
  137. package/dist/apps/control-plane/supervisor/runtime.d.ts +8 -1
  138. package/dist/apps/control-plane/supervisor/runtime.js +90 -0
  139. package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
  140. package/dist/apps/control-plane/supervisor/types.d.ts +11 -0
  141. package/dist/apps/control-plane/supervisor/types.js.map +1 -1
  142. package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +21 -1
  143. package/dist/apps/control-plane/supervisor/worker-decision-loop.js +207 -13
  144. package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
  145. package/package.json +1 -1
  146. package/packages/web-dashboard/package.json +2 -0
  147. package/packages/web-dashboard/src/app/analytics/page.tsx +83 -2
  148. package/packages/web-dashboard/src/app/api/actions/route.ts +92 -1
  149. package/packages/web-dashboard/src/app/api/analytics/route.ts +5 -2
  150. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/[checkpointId]/diff/route.ts +43 -0
  151. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/compare/route.ts +45 -0
  152. package/packages/web-dashboard/src/app/api/features/[id]/checkpoints/stream/route.ts +170 -0
  153. package/packages/web-dashboard/src/app/api/features/[id]/file-diff/route.ts +144 -0
  154. package/packages/web-dashboard/src/app/api/features/[id]/log-stream/route.ts +167 -0
  155. package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/[filename]/route.ts +65 -0
  156. package/packages/web-dashboard/src/app/api/features/[id]/raw-logs/route.ts +63 -0
  157. package/packages/web-dashboard/src/app/api/features/[id]/timeline/route.ts +60 -0
  158. package/packages/web-dashboard/src/app/feature/[id]/page.tsx +32 -11
  159. package/packages/web-dashboard/src/app/globals.css +2 -0
  160. package/packages/web-dashboard/src/components/detail-panel.tsx +483 -0
  161. package/packages/web-dashboard/src/components/review-workspace.tsx +1162 -0
  162. package/packages/web-dashboard/src/lib/aop-client.ts +725 -0
  163. package/packages/web-dashboard/src/lib/review-contracts.ts +182 -0
  164. package/packages/web-dashboard/src/lib/review-workspace-logic.ts +64 -0
  165. package/packages/web-dashboard/src/lib/types.ts +131 -0
  166. package/packages/web-dashboard/src/styles/dashboard.module.css +333 -0
  167. package/spec-files/completed/agentic_orchestrator_execution_mode_spec.md +1905 -0
  168. package/spec-files/outstanding/agentic_orchestrator_runtime_inspection_spec.md +940 -0
  169. package/spec-files/outstanding/execution_mode_critical_review.md +355 -0
  170. package/spec-files/outstanding/shadow_workspace_implementation_spec.md +1271 -0
  171. package/spec-files/outstanding/shadow_workspace_spec_summary.md +222 -0
  172. package/spec-files/progress.md +269 -1
@@ -0,0 +1,70 @@
1
+ type AnyRecord = Record<string, any>;
2
+ export interface RepoOperationsServicePort {
3
+ getRepoRoot(): string;
4
+ worktreePath(featureId: string): string;
5
+ getPolicySnapshot(): AnyRecord;
6
+ evidenceLatest(featureId: string): Promise<{
7
+ data?: {
8
+ latest?: unknown;
9
+ };
10
+ }>;
11
+ }
12
+ export declare class RepoOperationsService {
13
+ private readonly port;
14
+ constructor(port: RepoOperationsServicePort);
15
+ repoEnsureWorktree(featureId: string | null): Promise<{
16
+ data: {
17
+ feature_id: string;
18
+ branch: string;
19
+ worktree_path_abs: string;
20
+ existed: boolean;
21
+ };
22
+ }>;
23
+ repoStatus(featureId: string | null): Promise<{
24
+ data: {
25
+ feature_id: string;
26
+ branch: string;
27
+ status_porcelain: string[];
28
+ };
29
+ }>;
30
+ repoDiff(featureId: string | null, options?: string[]): Promise<{
31
+ data: {
32
+ feature_id: string;
33
+ diff: string;
34
+ };
35
+ }>;
36
+ repoReadFile(featureId: string | null, filePath: string | null): Promise<{
37
+ data: {
38
+ feature_id: string;
39
+ path: string;
40
+ content: string;
41
+ };
42
+ }>;
43
+ repoSearch(featureId: string | null, query: string | null): Promise<{
44
+ data: {
45
+ feature_id: string;
46
+ query: string;
47
+ matches: ({
48
+ raw: string;
49
+ path?: undefined;
50
+ line?: undefined;
51
+ snippet?: undefined;
52
+ } | {
53
+ path: string;
54
+ line: number;
55
+ snippet: string;
56
+ raw?: undefined;
57
+ })[];
58
+ };
59
+ }>;
60
+ repoDiffBundle(featureId: string | null): Promise<{
61
+ data: {
62
+ feature_id: string;
63
+ diff_stat: string;
64
+ diff: string;
65
+ touched_files: string[];
66
+ last_gate_summary: unknown;
67
+ };
68
+ }>;
69
+ }
70
+ export {};
@@ -0,0 +1,213 @@
1
+ import path from 'node:path';
2
+ import fs from 'node:fs/promises';
3
+ import { pathExists, ensureDir } from '../../core/fs.js';
4
+ import { runGit, runCommand } from '../../core/git.js';
5
+ import { normalizeRepoPath } from '../../core/path-rules.js';
6
+ import { ERROR_CODES } from '../../core/error-codes.js';
7
+ import { fail } from '../../core/response.js';
8
+ import { applyWorktreeSymlinks, formatWorkspaceHookWarning, runWorktreePostCreate, } from '../../core/workspace-hooks.js';
9
+ import { normalizeFromWorktree } from '../../core/utils/path-normalizers.js';
10
+ import { asArray } from '../../core/utils/field-readers.js';
11
+ export class RepoOperationsService {
12
+ port;
13
+ constructor(port) {
14
+ this.port = port;
15
+ }
16
+ async repoEnsureWorktree(featureId) {
17
+ const repoRoot = this.port.getRepoRoot();
18
+ const worktree = this.port.worktreePath(featureId);
19
+ const branch = featureId;
20
+ await ensureDir(path.join(repoRoot, '.worktrees'));
21
+ if (await pathExists(worktree)) {
22
+ return {
23
+ data: {
24
+ feature_id: featureId,
25
+ branch,
26
+ worktree_path_abs: worktree,
27
+ existed: true,
28
+ },
29
+ };
30
+ }
31
+ const policy = this.port.getPolicySnapshot();
32
+ const baseBranch = policy.worktree.base_branch;
33
+ const baseCheck = await runGit(repoRoot, ['rev-parse', '--verify', baseBranch]);
34
+ const baseRef = baseCheck.code === 0 ? baseBranch : 'HEAD';
35
+ const branchCheck = await runGit(repoRoot, ['rev-parse', '--verify', branch]);
36
+ if (branchCheck.code !== 0) {
37
+ const branchCreate = await runGit(repoRoot, ['branch', branch, baseRef]);
38
+ if (branchCreate.code !== 0) {
39
+ throw {
40
+ normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Unable to create feature branch', {
41
+ feature_id: featureId,
42
+ stderr: branchCreate.stderr,
43
+ retryable: false,
44
+ requires_human: true,
45
+ }, {
46
+ command: ['git', 'branch', branch, baseRef],
47
+ exit_code: branchCreate.code,
48
+ }),
49
+ };
50
+ }
51
+ }
52
+ const addWorktree = await runGit(repoRoot, ['worktree', 'add', worktree, branch]);
53
+ if (addWorktree.code !== 0) {
54
+ throw {
55
+ normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Unable to create git worktree', {
56
+ feature_id: featureId,
57
+ stderr: addWorktree.stderr,
58
+ retryable: false,
59
+ requires_human: true,
60
+ }, {
61
+ command: ['git', 'worktree', 'add', worktree, branch],
62
+ exit_code: addWorktree.code,
63
+ }),
64
+ };
65
+ }
66
+ const worktreeConfig = policy.worktree;
67
+ const hookWarnings = [];
68
+ const collectHookWarning = (warning) => {
69
+ hookWarnings.push(warning);
70
+ };
71
+ if (worktreeConfig?.symlinks?.length) {
72
+ await applyWorktreeSymlinks(repoRoot, worktree, worktreeConfig.symlinks, collectHookWarning);
73
+ }
74
+ if (worktreeConfig?.post_create?.length) {
75
+ await runWorktreePostCreate(worktree, worktreeConfig.post_create, collectHookWarning);
76
+ }
77
+ for (const warning of hookWarnings) {
78
+ // Preserve non-fatal behavior while making hook failures observable.
79
+ console.warn(`[aop] workspace hook warning: ${formatWorkspaceHookWarning(warning)}`);
80
+ }
81
+ return {
82
+ data: {
83
+ feature_id: featureId,
84
+ branch,
85
+ worktree_path_abs: worktree,
86
+ existed: false,
87
+ },
88
+ };
89
+ }
90
+ async repoStatus(featureId) {
91
+ const repoRoot = this.port.getRepoRoot();
92
+ const worktree = this.port.worktreePath(featureId);
93
+ const status = await runGit(repoRoot, ['status', '--porcelain'], { cwd: worktree });
94
+ const branch = await runGit(repoRoot, ['rev-parse', '--abbrev-ref', 'HEAD'], {
95
+ cwd: worktree,
96
+ });
97
+ return {
98
+ data: {
99
+ feature_id: featureId,
100
+ branch: branch.stdout.trim(),
101
+ status_porcelain: status.stdout.trim().split('\n').filter(Boolean),
102
+ },
103
+ };
104
+ }
105
+ async repoDiff(featureId, options = []) {
106
+ const repoRoot = this.port.getRepoRoot();
107
+ const safeOptions = asArray(options).filter((option) => typeof option === 'string' && option.startsWith('--'));
108
+ const diff = await runGit(repoRoot, ['diff', ...safeOptions], {
109
+ cwd: this.port.worktreePath(featureId),
110
+ });
111
+ return {
112
+ data: {
113
+ feature_id: featureId,
114
+ diff: diff.stdout,
115
+ },
116
+ };
117
+ }
118
+ async repoReadFile(featureId, filePath) {
119
+ const repoRoot = this.port.getRepoRoot();
120
+ const worktree = this.port.worktreePath(featureId);
121
+ const policy = this.port.getPolicySnapshot();
122
+ const normalized = await normalizeRepoPath(repoRoot, path.join(worktree, filePath), policy.path_rules
123
+ ?.allow_symlink_traversal).then((relative) => normalizeFromWorktree(worktree, repoRoot, relative));
124
+ const absolute = path.join(repoRoot, normalized);
125
+ const exists = await pathExists(absolute);
126
+ if (!exists) {
127
+ throw {
128
+ normalizedResponse: fail(ERROR_CODES.FILE_NOT_FOUND, 'File not found', {
129
+ path: normalized,
130
+ retryable: false,
131
+ requires_human: false,
132
+ }),
133
+ };
134
+ }
135
+ const content = await fs.readFile(absolute, 'utf8');
136
+ return {
137
+ data: {
138
+ feature_id: featureId,
139
+ path: normalized,
140
+ content,
141
+ },
142
+ };
143
+ }
144
+ async repoSearch(featureId, query) {
145
+ const worktree = this.port.worktreePath(featureId);
146
+ const rgResult = await runCommand('rg', ['-n', '--no-heading', query, '.'], {
147
+ cwd: worktree,
148
+ timeoutMs: 30_000,
149
+ });
150
+ if (rgResult.code === 127) {
151
+ throw {
152
+ normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'ripgrep (rg) not found - required for search functionality', {
153
+ stderr: rgResult.stderr,
154
+ retryable: false,
155
+ requires_human: true,
156
+ }),
157
+ };
158
+ }
159
+ if (rgResult.code !== 0 && rgResult.code !== 1) {
160
+ throw {
161
+ normalizedResponse: fail(ERROR_CODES.GIT_FAILURE, 'Search failed', {
162
+ stderr: rgResult.stderr,
163
+ retryable: true,
164
+ requires_human: false,
165
+ }),
166
+ };
167
+ }
168
+ const matches = rgResult.stdout
169
+ .trim()
170
+ .split('\n')
171
+ .filter(Boolean)
172
+ .map((line) => {
173
+ const firstColon = line.indexOf(':');
174
+ const secondColon = line.indexOf(':', firstColon + 1);
175
+ if (firstColon === -1 || secondColon === -1) {
176
+ return { raw: line };
177
+ }
178
+ return {
179
+ path: line.slice(0, firstColon),
180
+ line: Number(line.slice(firstColon + 1, secondColon)),
181
+ snippet: line.slice(secondColon + 1),
182
+ };
183
+ });
184
+ return {
185
+ data: {
186
+ feature_id: featureId,
187
+ query,
188
+ matches,
189
+ },
190
+ };
191
+ }
192
+ async repoDiffBundle(featureId) {
193
+ const repoRoot = this.port.getRepoRoot();
194
+ const worktree = this.port.worktreePath(featureId);
195
+ const stat = await runGit(repoRoot, ['diff', '--stat'], { cwd: worktree });
196
+ const full = await runGit(repoRoot, ['diff'], { cwd: worktree });
197
+ const names = await runGit(repoRoot, ['diff', '--name-only'], { cwd: worktree });
198
+ const latest = await this.port.evidenceLatest(featureId);
199
+ return {
200
+ data: {
201
+ feature_id: featureId,
202
+ diff_stat: stat.stdout,
203
+ diff: full.stdout,
204
+ touched_files: names.stdout
205
+ .split('\n')
206
+ .map((x) => x.trim())
207
+ .filter(Boolean),
208
+ last_gate_summary: latest.data?.latest ?? null,
209
+ },
210
+ };
211
+ }
212
+ }
213
+ //# sourceMappingURL=repo-operations-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-operations-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/repo-operations-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { EventEmitter } from 'node:events';
2
+ interface WatchStartInput {
3
+ featureId: string;
4
+ repoRoot: string;
5
+ worktreePath: string;
6
+ pollIntervalMs: number;
7
+ maxUncommittedChanges: number;
8
+ }
9
+ /**
10
+ * Polling watchdog that tracks feature-worktree changes and emits threshold events.
11
+ */
12
+ export declare class WorktreeWatchdogService extends EventEmitter {
13
+ private readonly watchers;
14
+ startWatching(input: WatchStartInput): Promise<void>;
15
+ stopWatching(featureId: string): Promise<void>;
16
+ getChangedFiles(featureId: string): Promise<string[]>;
17
+ getChangeCount(featureId: string): number;
18
+ resetChangeCount(featureId: string): void;
19
+ on(event: 'changeThreshold', listener: (featureId: string) => void): this;
20
+ off(event: 'changeThreshold', listener: (featureId: string) => void): this;
21
+ private pollFeature;
22
+ }
23
+ export {};
@@ -0,0 +1,119 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { runGit } from '../../core/git.js';
3
+ function parseStatusPaths(statusPorcelain) {
4
+ const files = [];
5
+ const lines = statusPorcelain
6
+ .split('\n')
7
+ .map((line) => line.trimEnd())
8
+ .filter((line) => line.length >= 4);
9
+ for (const line of lines) {
10
+ const candidate = line.slice(3).trim();
11
+ if (!candidate) {
12
+ continue;
13
+ }
14
+ const renameMarker = candidate.indexOf(' -> ');
15
+ const pathValue = renameMarker >= 0 ? candidate.slice(renameMarker + 4) : candidate;
16
+ const normalized = pathValue.replaceAll('\\\\', '/').trim();
17
+ if (normalized.length > 0) {
18
+ files.push(normalized);
19
+ }
20
+ }
21
+ return [...new Set(files)].sort((a, b) => a.localeCompare(b));
22
+ }
23
+ /**
24
+ * Polling watchdog that tracks feature-worktree changes and emits threshold events.
25
+ */
26
+ export class WorktreeWatchdogService extends EventEmitter {
27
+ watchers = new Map();
28
+ async startWatching(input) {
29
+ await this.stopWatching(input.featureId);
30
+ const intervalMs = Number.isFinite(input.pollIntervalMs) && input.pollIntervalMs > 0
31
+ ? Math.floor(input.pollIntervalMs)
32
+ : 2_000;
33
+ const maxUncommittedChanges = Number.isFinite(input.maxUncommittedChanges) && input.maxUncommittedChanges > 0
34
+ ? Math.floor(input.maxUncommittedChanges)
35
+ : 50;
36
+ const state = {
37
+ repoRoot: input.repoRoot,
38
+ worktreePath: input.worktreePath,
39
+ maxUncommittedChanges,
40
+ timer: setInterval(() => {
41
+ void this.pollFeature(input.featureId);
42
+ }, intervalMs),
43
+ changedFiles: new Set(),
44
+ thresholdEmitted: false,
45
+ pollInFlight: false,
46
+ stopped: false,
47
+ };
48
+ state.timer.unref?.();
49
+ this.watchers.set(input.featureId, state);
50
+ await this.pollFeature(input.featureId);
51
+ }
52
+ stopWatching(featureId) {
53
+ const existing = this.watchers.get(featureId);
54
+ if (!existing) {
55
+ return Promise.resolve();
56
+ }
57
+ existing.stopped = true;
58
+ clearInterval(existing.timer);
59
+ this.watchers.delete(featureId);
60
+ return Promise.resolve();
61
+ }
62
+ async getChangedFiles(featureId) {
63
+ await this.pollFeature(featureId);
64
+ const state = this.watchers.get(featureId);
65
+ if (!state) {
66
+ return [];
67
+ }
68
+ return [...state.changedFiles].sort((a, b) => a.localeCompare(b));
69
+ }
70
+ getChangeCount(featureId) {
71
+ const state = this.watchers.get(featureId);
72
+ if (!state) {
73
+ return 0;
74
+ }
75
+ return state.changedFiles.size;
76
+ }
77
+ resetChangeCount(featureId) {
78
+ const state = this.watchers.get(featureId);
79
+ if (!state) {
80
+ return;
81
+ }
82
+ state.changedFiles.clear();
83
+ state.thresholdEmitted = false;
84
+ }
85
+ on(event, listener) {
86
+ return super.on(event, listener);
87
+ }
88
+ off(event, listener) {
89
+ return super.off(event, listener);
90
+ }
91
+ async pollFeature(featureId) {
92
+ const state = this.watchers.get(featureId);
93
+ if (!state || state.stopped || state.pollInFlight) {
94
+ return;
95
+ }
96
+ state.pollInFlight = true;
97
+ try {
98
+ const status = await runGit(state.repoRoot, ['status', '--porcelain'], {
99
+ cwd: state.worktreePath,
100
+ });
101
+ if (status.code !== 0) {
102
+ return;
103
+ }
104
+ const files = parseStatusPaths(status.stdout);
105
+ state.changedFiles = new Set(files);
106
+ if (state.changedFiles.size >= state.maxUncommittedChanges && !state.thresholdEmitted) {
107
+ state.thresholdEmitted = true;
108
+ this.emit('changeThreshold', featureId);
109
+ }
110
+ if (state.changedFiles.size < state.maxUncommittedChanges) {
111
+ state.thresholdEmitted = false;
112
+ }
113
+ }
114
+ finally {
115
+ state.pollInFlight = false;
116
+ }
117
+ }
118
+ }
119
+ //# sourceMappingURL=worktree-watchdog-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-watchdog-service.js","sourceRoot":"","sources":["../../../../../apps/control-plane/src/application/services/worktree-watchdog-service.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,11 @@ export class CliArgumentParser {
48
48
  index += 1;
49
49
  continue;
50
50
  }
51
+ if (token === '--checkpoint') {
52
+ options.checkpoint = next;
53
+ index += 1;
54
+ continue;
55
+ }
51
56
  if (token === '--dry-run') {
52
57
  const parsed = parseOptionalBooleanToken(next);
53
58
  if (parsed === null) {
@@ -101,6 +106,13 @@ export class CliArgumentParser {
101
106
  }
102
107
  continue;
103
108
  }
109
+ if (token === '--execution-mode') {
110
+ if (next === 'deterministic' || next === 'interactive') {
111
+ options.execution_mode = next;
112
+ index += 1;
113
+ }
114
+ continue;
115
+ }
104
116
  if (token === '--transport') {
105
117
  options.transport = next;
106
118
  index += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-argument-parser.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/cli-argument-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-argument-parser.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/cli-argument-parser.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ const COMMAND_HELP = {
24
24
  flag: '--worker-provider-mode <live|stub>',
25
25
  description: 'Worker execution mode override (default: live for run/resume)',
26
26
  },
27
+ {
28
+ flag: '--execution-mode <deterministic|interactive>',
29
+ description: 'Execution mode override for worker decision flow (default: deterministic)',
30
+ },
27
31
  { flag: '--transport <inprocess|mcp>', description: 'Tool transport layer (default: mcp)' },
28
32
  { flag: '--takeover-stale-run', description: 'Take over a stale run lease' },
29
33
  { flag: '--project <name>', description: 'Select project from multi-project.yaml' },
@@ -48,6 +52,10 @@ const COMMAND_HELP = {
48
52
  flag: '--worker-provider-mode <live|stub>',
49
53
  description: 'Worker execution mode override (default: live)',
50
54
  },
55
+ {
56
+ flag: '--execution-mode <deterministic|interactive>',
57
+ description: 'Execution mode override for worker decision flow (default: deterministic)',
58
+ },
51
59
  { flag: '--transport <inprocess|mcp>', description: 'Tool transport layer (default: mcp)' },
52
60
  ],
53
61
  },
@@ -88,6 +96,15 @@ const COMMAND_HELP = {
88
96
  },
89
97
  ],
90
98
  },
99
+ [CliCommand.Rollback]: {
100
+ usage: 'aop rollback [flags]',
101
+ description: 'Rollback a feature worktree by applying the inverse of a checkpoint snapshot.',
102
+ flags: [
103
+ { flag: '--feature-id <id>', description: 'Feature to roll back' },
104
+ { flag: '--checkpoint <id>', description: 'Checkpoint id to reverse-apply' },
105
+ { flag: '--dry-run', description: 'Preview rollback inputs without applying git changes' },
106
+ ],
107
+ },
91
108
  [CliCommand.Init]: {
92
109
  usage: 'aop init [flags]',
93
110
  description: 'Initialise agentic orchestrator configuration in the current directory.',
@@ -1 +1 @@
1
- {"version":3,"file":"help-command-handler.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/help-command-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-command-handler.js","sourceRoot":"","sources":["../../../../apps/control-plane/src/cli/help-command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQxC,MAAM,YAAY,GAAoC;IACpD,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAChB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC3D,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE;YAC7D;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qEAAqE;aACnF;YACD;gBACE,IAAI,EAAE,yBAAyB;gBAC/B,WAAW,EAAE,oDAAoD;aAClE;YACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACrE,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAC3E;gBACE,IAAI,EAAE,6BAA6B;gBACnC,WAAW,EAAE,uDAAuD;aACrE;YACD;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,+DAA+D;aAC7E;YACD;gBACE,IAAI,EAAE,8CAA8C;gBACpD,WAAW,EAAE,2EAA2E;aACzF;YACD,EAAE,IAAI,EAAE,6BAA6B,EAAE,WAAW,EAAE,qCAAqC,EAAE;YAC3F,EAAE,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC5E,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,2CAA2C;QACxD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACpF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,4DAA4D,EAAE;YAC5F,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,6BAA6B,EAAE;SACzE;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,qCAAqC;QAClD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,2BAA2B,EAAE;YACvE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iDAAiD,EAAE;YACnF;gBACE,IAAI,EAAE,oCAAoC;gBAC1C,WAAW,EAAE,gDAAgD;aAC9D;YACD;gBACE,IAAI,EAAE,8CAA8C;gBACpD,WAAW,EAAE,2EAA2E;aACzF;YACD,EAAE,IAAI,EAAE,6BAA6B,EAAE,WAAW,EAAE,qCAAqC,EAAE;SAC5F;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,sEAAsE;QACnF,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACxE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACpF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC/D,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE;YACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,wCAAwC,EAAE;SACzE;KACF;IACD,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACpB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uDAAuD;QACpE,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACzE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACnF;gBACE,IAAI,EAAE,mCAAmC;gBACzC,WAAW,EAAE,mCAAmC;aACjD;YACD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sDAAsD,EAAE;YAC1F,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;YAC3D;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,2FAA2F;aAC9F;SACF;KACF;IACD,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACrB,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAClE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,gCAAgC,EAAE;YAC5E,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,sDAAsD,EAAE;SAC3F;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,yEAAyE;QACtF,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;YACtE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACpE;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EACT,sFAAsF;aACzF;SACF;KACF;IACD,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACtB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,iCAAiC;QAC9C,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC7E,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC1E,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE;SAC5D;KACF;IACD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAClB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAC9D,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0DAA0D,EAAE;SAC7F;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,4DAA4D;aAC1E;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,qEAAqE;aACnF;SACF;KACF;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,kEAAkE;aAChF;SACF;KACF;IACD,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACjB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+DAA+D;QAC5E,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;KAClF;CACF,CAAC;AAEF,SAAS,GAAG,CAAC,GAAW,EAAE,KAAa;IACrC,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,GAAe,EAAE,IAAiB;IACvD,MAAM,KAAK,GAAa,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,MAAM,KAAK,GAAa,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,kBAAkB;IAC7B,OAAO,CAAC,UAAmB;QACzB,MAAM,MAAM,GAAG,UAAoC,CAAC;QAEpD,IAAI,MAAM,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACtC,CAAC;QAED,MAAM,MAAM,GAAG;YACb,0CAA0C;YAC1C,EAAE;YACF,8BAA8B;YAC9B,EAAE;YACF,WAAW;SACZ,CAAC;QAEF,MAAM,YAAY,GAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAsC,CAAC,GAAG,CACzF,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAC1C,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,EAAE;YACF,4DAA4D;YAC5D,mBAAmB;SACpB,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IACtC,CAAC;CACF"}
@@ -349,6 +349,19 @@ missing_prompt_behavior: ignore
349
349
  runtime:
350
350
  default_provider: ${wizard.defaultProvider}
351
351
  default_model: ${wizard.defaultModel}
352
+ execution_mode: ${wizard.executionMode}
353
+ interactive:
354
+ watchdog_poll_interval_ms: 2000
355
+ checkpoint_interval_ms: 30000
356
+ max_uncommitted_changes: 50
357
+ validation_on_checkpoint: true
358
+ revert_on_violation: false
359
+ violation_severity: warning
360
+ shadow_workspace:
361
+ enabled: false
362
+ promotion_strategy: atomic
363
+ cleanup_on_failure: true
364
+ max_shadow_size_mb: 2048
352
365
  worker_provider_mode: live
353
366
  worker_response_timeout_ms: 600000
354
367
  worker_spawn_timeout_ms: 15000
@@ -398,6 +411,13 @@ function parseFramework(raw, fallback) {
398
411
  }
399
412
  return fallback;
400
413
  }
414
+ function parseExecutionMode(raw, fallback) {
415
+ const value = raw.trim().toLowerCase();
416
+ if (value === 'deterministic' || value === 'interactive') {
417
+ return value;
418
+ }
419
+ return fallback;
420
+ }
401
421
  function parseNotificationChannels(raw) {
402
422
  const normalized = raw.trim().toLowerCase();
403
423
  if (!normalized || normalized === 'none') {
@@ -494,10 +514,12 @@ async function collectWizardConfig(repoRoot, defaults, promptFactory) {
494
514
  providerCredentialBootstrapped = true;
495
515
  }
496
516
  }
517
+ const executionModeRaw = await askWithDefault(prompt, 'Default execution mode (deterministic|interactive)', 'deterministic');
497
518
  return {
498
519
  baseBranch,
499
520
  defaultProvider: parseAdapterName(defaultProviderRaw, supportedProviders, defaults.defaultProvider),
500
521
  defaultModel,
522
+ executionMode: parseExecutionMode(executionModeRaw, 'deterministic'),
501
523
  providerConfigEnv,
502
524
  providerCredentialBootstrapped,
503
525
  scmProvider: parseAdapterName(scmProviderRaw, supportedScmProviders, defaults.defaultScmProvider),
@@ -548,6 +570,7 @@ export class InitCommandHandler {
548
570
  baseBranch: gitContext.defaultBranch,
549
571
  defaultProvider: DEFAULT_AGENT_PROVIDER,
550
572
  defaultModel: DEFAULT_AGENT_MODEL,
573
+ executionMode: 'deterministic',
551
574
  providerConfigEnv: null,
552
575
  providerCredentialBootstrapped: false,
553
576
  scmProvider: DEFAULT_SCM_PROVIDER,