codex-orchestrator 0.1.19 → 0.1.20

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 (71) hide show
  1. package/README.md +132 -33
  2. package/dist/src/codex/command-adapter.d.ts +3 -0
  3. package/dist/src/codex/command-adapter.d.ts.map +1 -1
  4. package/dist/src/codex/command-adapter.js +18 -7
  5. package/dist/src/codex/command-adapter.js.map +1 -1
  6. package/dist/src/config/schema.d.ts +3 -0
  7. package/dist/src/config/schema.d.ts.map +1 -1
  8. package/dist/src/config/schema.js +3 -0
  9. package/dist/src/config/schema.js.map +1 -1
  10. package/dist/src/git/worktree.d.ts +17 -0
  11. package/dist/src/git/worktree.d.ts.map +1 -1
  12. package/dist/src/git/worktree.js +38 -0
  13. package/dist/src/git/worktree.js.map +1 -1
  14. package/dist/src/github/gh-issue-adapter.js +6 -3
  15. package/dist/src/github/gh-issue-adapter.js.map +1 -1
  16. package/dist/src/github/issues.d.ts +1 -1
  17. package/dist/src/github/issues.d.ts.map +1 -1
  18. package/dist/src/index.d.ts +6 -2
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +3 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/process/command.d.ts +3 -0
  23. package/dist/src/process/command.d.ts.map +1 -1
  24. package/dist/src/process/command.js +59 -9
  25. package/dist/src/process/command.js.map +1 -1
  26. package/dist/src/runner/command-utils.d.ts +4 -0
  27. package/dist/src/runner/command-utils.d.ts.map +1 -1
  28. package/dist/src/runner/command-utils.js +40 -1
  29. package/dist/src/runner/command-utils.js.map +1 -1
  30. package/dist/src/runner/completion-report.d.ts +54 -0
  31. package/dist/src/runner/completion-report.d.ts.map +1 -0
  32. package/dist/src/runner/completion-report.js +220 -0
  33. package/dist/src/runner/completion-report.js.map +1 -0
  34. package/dist/src/runner/local-execution-session.d.ts +34 -0
  35. package/dist/src/runner/local-execution-session.d.ts.map +1 -0
  36. package/dist/src/runner/local-execution-session.js +25 -0
  37. package/dist/src/runner/local-execution-session.js.map +1 -0
  38. package/dist/src/runner/local-state.d.ts +1 -0
  39. package/dist/src/runner/local-state.d.ts.map +1 -1
  40. package/dist/src/runner/local-state.js +2 -1
  41. package/dist/src/runner/local-state.js.map +1 -1
  42. package/dist/src/runner/plan-auto-command.d.ts +1 -0
  43. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  44. package/dist/src/runner/plan-auto-command.js +55 -29
  45. package/dist/src/runner/plan-auto-command.js.map +1 -1
  46. package/dist/src/runner/prompt.d.ts +2 -53
  47. package/dist/src/runner/prompt.d.ts.map +1 -1
  48. package/dist/src/runner/prompt.js +15 -220
  49. package/dist/src/runner/prompt.js.map +1 -1
  50. package/dist/src/runner/review-gates.d.ts +1 -1
  51. package/dist/src/runner/review-gates.d.ts.map +1 -1
  52. package/dist/src/runner/review-gates.js +20 -1
  53. package/dist/src/runner/review-gates.js.map +1 -1
  54. package/dist/src/runner/run-log.d.ts +18 -0
  55. package/dist/src/runner/run-log.d.ts.map +1 -0
  56. package/dist/src/runner/run-log.js +53 -0
  57. package/dist/src/runner/run-log.js.map +1 -0
  58. package/dist/src/runner/safety.d.ts +1 -1
  59. package/dist/src/runner/safety.d.ts.map +1 -1
  60. package/dist/src/runner/scoped-auto-command.d.ts +4 -0
  61. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  62. package/dist/src/runner/scoped-auto-command.js +118 -35
  63. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  64. package/dist/src/runner/visual-proof-runner.d.ts +1 -1
  65. package/dist/src/runner/visual-proof-runner.d.ts.map +1 -1
  66. package/dist/src/runner/visual-proof-runner.js +64 -9
  67. package/dist/src/runner/visual-proof-runner.js.map +1 -1
  68. package/dist/src/setup/project-config.d.ts.map +1 -1
  69. package/dist/src/setup/project-config.js +5 -0
  70. package/dist/src/setup/project-config.js.map +1 -1
  71. package/package.json +2 -1
@@ -1,7 +1,8 @@
1
1
  import type { CodexOrchestratorConfig } from '../config/schema.js';
2
2
  import type { GitHubIssue } from '../github/issues.js';
3
3
  import type { AutonomousChildMetadata } from './issue-tree.js';
4
- import type { PlanGraph } from './issue-tree.js';
4
+ export { readPlanAutoCompletionReport, readScopedCompletionReport, } from './completion-report.js';
5
+ export type { CompletionStatus, PlanAutoCompletionReport, PlanAutoCompletionReportReadResult, ProhibitedActionType, ScopedCompletionReport, ScopedCompletionReportReadResult, ValidationStatus, } from './completion-report.js';
5
6
  export interface ScopedPromptInput {
6
7
  issue: GitHubIssue;
7
8
  config: CodexOrchestratorConfig;
@@ -37,61 +38,9 @@ export interface IssueTreeChildPromptInput {
37
38
  branchName: string;
38
39
  worktreePath: string;
39
40
  }
40
- export type CompletionStatus = 'completed' | 'needs-promotion';
41
- export type ValidationStatus = 'passed' | 'failed' | 'skipped';
42
- export type ProhibitedActionType = 'secret-file-read' | 'secret-file-change' | 'destructive-db-or-cache' | 'production-deploy-or-release';
43
- export interface ScopedCompletionReport {
44
- status: CompletionStatus;
45
- changes: string[];
46
- validation: Array<{
47
- command: string;
48
- status: ValidationStatus;
49
- summary: string;
50
- }>;
51
- artifacts: Array<{
52
- type: 'screenshot' | 'log' | 'other';
53
- path?: string;
54
- url?: string;
55
- description: string;
56
- }>;
57
- skippedChecks: string[];
58
- residualRisks: string[];
59
- prohibitedActions: Array<{
60
- type: ProhibitedActionType;
61
- description: string;
62
- }>;
63
- promotion?: {
64
- reason: string;
65
- criteria: string[];
66
- evidence: string[];
67
- };
68
- }
69
- export interface PlanAutoCompletionReport {
70
- status: 'completed';
71
- parent: {
72
- title?: string;
73
- body: string;
74
- };
75
- graph: PlanGraph;
76
- residualRisks: string[];
77
- }
78
- export type ScopedCompletionReportReadResult = {
79
- kind: 'missing';
80
- } | {
81
- kind: 'valid';
82
- report: ScopedCompletionReport;
83
- };
84
- export type PlanAutoCompletionReportReadResult = {
85
- kind: 'missing';
86
- } | {
87
- kind: 'valid';
88
- report: PlanAutoCompletionReport;
89
- };
90
41
  export declare function buildScopedImplementationPrompt(input: ScopedPromptInput): string;
91
42
  export declare function buildPlanAutoPrompt(input: PlanAutoPromptInput): string;
92
43
  export declare function buildIssueTreeChildPrompt(input: IssueTreeChildPromptInput): string;
93
- export declare function readScopedCompletionReport(reportPath: string): Promise<ScopedCompletionReportReadResult>;
94
- export declare function readPlanAutoCompletionReport(reportPath: string): Promise<PlanAutoCompletionReportReadResult>;
95
44
  export declare function writeDurablePrompt(input: {
96
45
  targetRoot: string;
97
46
  config: CodexOrchestratorConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,kCAAkC,EAClC,oBAAoB,EACpB,sBAAsB,EACtB,gCAAgC,EAChC,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,uBAAuB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAmChF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAwCtE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAkDlF;AA2DD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAOT;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAOT"}
@@ -1,6 +1,6 @@
1
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
1
+ import { mkdir, writeFile } from 'node:fs/promises';
2
2
  import { dirname, join } from 'node:path';
3
- import { validatePlanGraph } from './issue-tree.js';
3
+ export { readPlanAutoCompletionReport, readScopedCompletionReport, } from './completion-report.js';
4
4
  export function buildScopedImplementationPrompt(input) {
5
5
  const labels = input.issue.labels.map((label) => label.name).join(', ') || 'none';
6
6
  const comments = [...input.issue.comments]
@@ -19,11 +19,12 @@ export function buildScopedImplementationPrompt(input) {
19
19
  '## Project Workflow',
20
20
  input.workflowPromptText,
21
21
  '## Runner-Owned Publication Contract',
22
- 'Change files only. Do not commit, push, open pull requests, merge, publish, deploy, or edit GitHub labels/comments. The runner owns publication.',
22
+ localCommitPublicationLine(input.config, false),
23
23
  '## Safety Contract',
24
24
  `Do not read or modify configured secret file patterns: ${input.config.deny.secretFiles.join(', ')}.`,
25
25
  'Do not run destructive database/cache actions.',
26
26
  'Do not run production deploy/release actions.',
27
+ 'Use explicit short timeouts for local HTTP probes, for example curl --max-time 10, and avoid blind probing of unrelated localhost ports.',
27
28
  ...qualityGatePromptLines(input.config),
28
29
  '## Completion Report Contract',
29
30
  `The Codex CLI will save your final response to ${input.reportPath}; do not try to write this file yourself.`,
@@ -108,11 +109,12 @@ export function buildIssueTreeChildPrompt(input) {
108
109
  '## Project Workflow',
109
110
  input.workflowPromptText,
110
111
  '## Runner-Owned Publication Contract',
111
- 'Change files only. You must not commit, push, merge, open pull requests, merge pull requests, publish, deploy, or edit GitHub labels/comments. The runner owns publication.',
112
+ localCommitPublicationLine(input.config, true),
112
113
  '## Safety Contract',
113
114
  `Do not read or modify configured secret file patterns: ${input.config.deny.secretFiles.join(', ')}.`,
114
115
  'Do not run destructive database/cache actions.',
115
116
  'Do not run production deploy/release actions.',
117
+ 'Use explicit short timeouts for local HTTP probes, for example curl --max-time 10, and avoid blind probing of unrelated localhost ports.',
116
118
  ...qualityGatePromptLines(input.config),
117
119
  '## Completion Report Contract',
118
120
  `The Codex CLI will save your final response to ${input.reportPath}; do not try to write this file yourself.`,
@@ -165,50 +167,15 @@ function qualityGatePromptLines(config) {
165
167
  `Run cleanup-review before code-review when the runtime change touches at least ${quality.cleanupReview.runtimeFileThreshold} runtime files, and report it as a passed validation line.`,
166
168
  ];
167
169
  }
168
- export async function readScopedCompletionReport(reportPath) {
169
- let content;
170
- try {
171
- content = await readFile(reportPath, 'utf8');
172
- }
173
- catch (error) {
174
- if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
175
- return { kind: 'missing' };
176
- }
177
- throw error;
178
- }
179
- let parsed;
180
- try {
181
- parsed = JSON.parse(content);
182
- }
183
- catch {
184
- throw new Error('Invalid scoped completion report: report must be valid JSON');
185
- }
186
- if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) && !('artifacts' in parsed)) {
187
- parsed.artifacts = [];
188
- }
189
- assertScopedCompletionReport(parsed);
190
- return { kind: 'valid', report: parsed };
191
- }
192
- export async function readPlanAutoCompletionReport(reportPath) {
193
- let content;
194
- try {
195
- content = await readFile(reportPath, 'utf8');
196
- }
197
- catch (error) {
198
- if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
199
- return { kind: 'missing' };
200
- }
201
- throw error;
202
- }
203
- let parsed;
204
- try {
205
- parsed = JSON.parse(content);
206
- }
207
- catch {
208
- throw new Error('Invalid plan-auto completion report: report must be valid JSON');
209
- }
210
- assertPlanAutoCompletionReport(parsed);
211
- return { kind: 'valid', report: parsed };
170
+ function localCommitPublicationLine(config, child) {
171
+ const forbidden = child
172
+ ? 'push, merge, open pull requests, merge pull requests, publish, deploy, or edit GitHub labels/comments'
173
+ : 'push, open pull requests, merge, publish, deploy, or edit GitHub labels/comments';
174
+ return config.runner.allowAgentLocalCommits
175
+ ? `You may create local commits in this worktree. Do not ${forbidden}. The runner owns external publication.`
176
+ : child
177
+ ? `Change files only. You must not commit, ${forbidden}. The runner owns publication.`
178
+ : `Change files only. Do not commit, ${forbidden}. The runner owns publication.`;
212
179
  }
213
180
  export async function writeDurablePrompt(input) {
214
181
  const path = sessionPromptPath(input);
@@ -222,176 +189,4 @@ export function sessionPromptPath(input) {
222
189
  export function sessionReportPath(input) {
223
190
  return join(input.targetRoot, input.config.runner.stateDir, 'reports', `issue-${input.issueNumber}-${input.sessionId}.json`);
224
191
  }
225
- function assertScopedCompletionReport(value) {
226
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
227
- throw new Error('Invalid scoped completion report: report must be an object');
228
- }
229
- const record = value;
230
- if (record.status !== 'completed' && record.status !== 'needs-promotion') {
231
- throw new Error('Invalid scoped completion report: status must be completed or needs-promotion');
232
- }
233
- assertStringArray(record.changes, 'changes');
234
- assertValidation(record.validation);
235
- assertArtifacts(record.artifacts);
236
- assertStringArray(record.skippedChecks, 'skippedChecks');
237
- assertStringArray(record.residualRisks, 'residualRisks');
238
- assertProhibitedActions(record.prohibitedActions);
239
- if (record.status === 'needs-promotion') {
240
- assertPromotion(record.promotion);
241
- }
242
- }
243
- function assertPlanAutoCompletionReport(value) {
244
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
245
- throw new Error('Invalid plan-auto completion report: report must be an object');
246
- }
247
- const record = value;
248
- if (record.status !== 'completed') {
249
- throw new Error('Invalid plan-auto completion report: status must be completed');
250
- }
251
- assertPlanParent(record.parent);
252
- assertPlanGraph(record.graph);
253
- assertStringArray(record.residualRisks, 'residualRisks', 'Invalid plan-auto completion report');
254
- const graphValidation = validatePlanGraph(record.graph);
255
- if (!graphValidation.ok) {
256
- throw new Error(`Invalid plan-auto completion report: ${graphValidation.errors.join('; ')}`);
257
- }
258
- }
259
- function assertPlanParent(value) {
260
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
261
- throw new Error('Invalid plan-auto completion report: parent must be an object');
262
- }
263
- const record = value;
264
- if ('title' in record && typeof record.title !== 'string') {
265
- throw new Error('Invalid plan-auto completion report: parent.title must be a string');
266
- }
267
- if (typeof record.body !== 'string' || record.body.trim().length === 0) {
268
- throw new Error('Invalid plan-auto completion report: parent.body must be a non-empty string');
269
- }
270
- }
271
- function assertPlanGraph(value) {
272
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
273
- throw new Error('Invalid plan-auto completion report: graph must be an object');
274
- }
275
- const record = value;
276
- if (!Array.isArray(record.nodes)) {
277
- throw new Error('Invalid plan-auto completion report: graph.nodes must be an array');
278
- }
279
- if (!Array.isArray(record.edges)) {
280
- throw new Error('Invalid plan-auto completion report: graph.edges must be an array');
281
- }
282
- if (record.specGate !== 'wave-level') {
283
- throw new Error('Invalid plan-auto completion report: graph.specGate must be wave-level');
284
- }
285
- for (const item of record.nodes) {
286
- assertPlanChildNode(item);
287
- }
288
- for (const item of record.edges) {
289
- assertPlanDependencyEdge(item);
290
- }
291
- }
292
- function assertPlanChildNode(value) {
293
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
294
- throw new Error('Invalid plan-auto completion report: graph node must be an object');
295
- }
296
- const record = value;
297
- for (const key of ['stableId', 'title', 'body']) {
298
- if (typeof record[key] !== 'string' || record[key].length === 0) {
299
- throw new Error(`Invalid plan-auto completion report: graph node ${key} must be a non-empty string`);
300
- }
301
- }
302
- if ('issueNumber' in record && !Number.isInteger(record.issueNumber)) {
303
- throw new Error('Invalid plan-auto completion report: graph node issueNumber must be an integer');
304
- }
305
- if (record.afkHitl !== 'afk' && record.afkHitl !== 'hitl') {
306
- throw new Error('Invalid plan-auto completion report: graph node afkHitl must be afk or hitl');
307
- }
308
- assertStringArray(record.ownershipScope, 'ownershipScope', 'Invalid plan-auto completion report');
309
- assertStringArray(record.dependsOn, 'dependsOn', 'Invalid plan-auto completion report');
310
- assertStringArray(record.verification, 'verification', 'Invalid plan-auto completion report');
311
- }
312
- function assertPlanDependencyEdge(value) {
313
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
314
- throw new Error('Invalid plan-auto completion report: graph edge must be an object');
315
- }
316
- const record = value;
317
- for (const key of ['from', 'to', 'reason']) {
318
- if (typeof record[key] !== 'string' || record[key].length === 0) {
319
- throw new Error(`Invalid plan-auto completion report: graph edge ${key} must be a non-empty string`);
320
- }
321
- }
322
- }
323
- function assertStringArray(value, key, prefix = 'Invalid scoped completion report') {
324
- if (!Array.isArray(value) || value.some((item) => typeof item !== 'string')) {
325
- throw new Error(`${prefix}: ${key} must be a string array`);
326
- }
327
- }
328
- function assertValidation(value) {
329
- if (!Array.isArray(value)) {
330
- throw new Error('Invalid scoped completion report: validation must be an array');
331
- }
332
- for (const item of value) {
333
- if (typeof item !== 'object' || item === null || Array.isArray(item)) {
334
- throw new Error('Invalid scoped completion report: validation item must be an object');
335
- }
336
- const record = item;
337
- if (typeof record.command !== 'string' || !['passed', 'failed', 'skipped'].includes(String(record.status)) || typeof record.summary !== 'string') {
338
- throw new Error('Invalid scoped completion report: validation item is malformed');
339
- }
340
- }
341
- }
342
- function assertArtifacts(value) {
343
- if (!Array.isArray(value)) {
344
- throw new Error('Invalid scoped completion report: artifacts must be an array');
345
- }
346
- for (const item of value) {
347
- if (typeof item !== 'object' || item === null || Array.isArray(item)) {
348
- throw new Error('Invalid scoped completion report: artifacts item must be an object');
349
- }
350
- const record = item;
351
- if (typeof record.type !== 'string'
352
- || !['screenshot', 'log', 'other'].includes(record.type)
353
- || typeof record.description !== 'string'
354
- || record.description.trim().length === 0) {
355
- throw new Error('Invalid scoped completion report: artifacts item is malformed');
356
- }
357
- if ('path' in record && typeof record.path !== 'string') {
358
- throw new Error('Invalid scoped completion report: artifacts path must be a string');
359
- }
360
- if ('url' in record && typeof record.url !== 'string') {
361
- throw new Error('Invalid scoped completion report: artifacts url must be a string');
362
- }
363
- if (!record.path && !record.url) {
364
- throw new Error('Invalid scoped completion report: artifacts item must include path or url');
365
- }
366
- }
367
- }
368
- function assertProhibitedActions(value) {
369
- const types = new Set(['secret-file-read', 'secret-file-change', 'destructive-db-or-cache', 'production-deploy-or-release']);
370
- if (!Array.isArray(value)) {
371
- throw new Error('Invalid scoped completion report: prohibitedActions must be an array');
372
- }
373
- for (const item of value) {
374
- if (typeof item !== 'object' || item === null || Array.isArray(item)) {
375
- throw new Error('Invalid scoped completion report: prohibitedActions item must be an object');
376
- }
377
- const record = item;
378
- if (typeof record.type !== 'string' || !types.has(record.type) || typeof record.description !== 'string') {
379
- throw new Error('Invalid scoped completion report: prohibitedActions item is malformed');
380
- }
381
- }
382
- }
383
- function assertPromotion(value) {
384
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
385
- throw new Error('Invalid scoped completion report: promotion is required for needs-promotion');
386
- }
387
- const record = value;
388
- if (typeof record.reason !== 'string' || record.reason.trim().length === 0) {
389
- throw new Error('Invalid scoped completion report: promotion.reason must be non-empty');
390
- }
391
- assertStringArray(record.criteria, 'promotion.criteria');
392
- assertStringArray(record.evidence, 'promotion.evidence');
393
- if (record.criteria.length === 0 || record.evidence.length === 0) {
394
- throw new Error('Invalid scoped completion report: promotion criteria and evidence must be non-empty');
395
- }
396
- }
397
192
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAM1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAiFpD,MAAM,UAAU,+BAA+B,CAAC,KAAwB;IACtE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAClF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;SACvC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,iBAAiB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;SAClH,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAExB,OAAO;QACL,4CAA4C;QAC5C,kBAAkB;QAClB,WAAW,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;QAC/B,UAAU,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;QAC7B,QAAQ,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QACzB,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;QAC5B,WAAW,MAAM,EAAE;QACnB,cAAc,QAAQ,EAAE;QACxB,qBAAqB;QACrB,KAAK,CAAC,kBAAkB;QACxB,sCAAsC;QACtC,kJAAkJ;QAClJ,oBAAoB;QACpB,0DAA0D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACrG,gDAAgD;QAChD,+CAA+C;QAC/C,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,+BAA+B;QAC/B,kDAAkD,KAAK,CAAC,UAAU,2CAA2C;QAC7G,+FAA+F;QAC/F,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3D,6kBAA6kB;QAC7kB,gBAAgB,KAAK,CAAC,UAAU,EAAE;QAClC,WAAW,KAAK,CAAC,UAAU,EAAE;QAC7B,aAAa,KAAK,CAAC,YAAY,EAAE;KAClC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAA0B;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACxF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;SAC7C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,iBAAiB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;SAClH,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IAExB,OAAO;QACL,sCAAsC;QACtC,yBAAyB;QACzB,WAAW,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;QACrC,UAAU,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE;QACnC,QAAQ,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/B,UAAU,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;QAClC,WAAW,MAAM,EAAE;QACnB,cAAc,QAAQ,EAAE;QACxB,iBAAiB;QACjB,KAAK,CAAC,OAAO,CAAC,GAAG;QACjB,6BAA6B;QAC7B,KAAK,CAAC,OAAO,CAAC,cAAc;QAC5B,8BAA8B;QAC9B,KAAK,CAAC,OAAO,CAAC,eAAe;QAC7B,oBAAoB;QACpB,KAAK,CAAC,OAAO,CAAC,MAAM;QACpB,iCAAiC;QACjC,8OAA8O;QAC9O,8BAA8B;QAC9B,8OAA8O;QAC9O,6BAA6B;QAC7B;YACE,kDAAkD,KAAK,CAAC,UAAU,2CAA2C;YAC7G,+FAA+F;YAC/F,+MAA+M;YAC/M,yJAAyJ;YACzJ,6FAA6F;YAC7F,gBAAgB,KAAK,CAAC,UAAU,EAAE;YAClC,WAAW,KAAK,CAAC,UAAU,EAAE;YAC7B,aAAa,KAAK,CAAC,YAAY,EAAE;SAClC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAgC;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACvF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;SAC5C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,iBAAiB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;SAClH,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACxB,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvF,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO;QACL,sDAAsD;QACtD,yBAAyB;QACzB,WAAW,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;QACrC,UAAU,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE;QACnC,QAAQ,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/B,UAAU,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;QAClC,wBAAwB;QACxB,WAAW,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;QACpC,UAAU,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;QAClC,QAAQ,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;QAC9B,UAAU,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;QACjC,WAAW,MAAM,EAAE;QACnB,cAAc,QAAQ,EAAE;QACxB,cAAc,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;QAC5C,oBAAoB,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnE,iBAAiB,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QAC/G,8BAA8B,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3E,uBAAuB;QACvB,YAAY;QACZ,8GAA8G;QAC9G,qBAAqB;QACrB,KAAK,CAAC,kBAAkB;QACxB,sCAAsC;QACtC,6KAA6K;QAC7K,oBAAoB;QACpB,0DAA0D,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACrG,gDAAgD;QAChD,+CAA+C;QAC/C,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,+BAA+B;QAC/B,kDAAkD,KAAK,CAAC,UAAU,2CAA2C;QAC7G,+FAA+F;QAC/F,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QAChE,6kBAA6kB;QAC7kB,gBAAgB,KAAK,CAAC,UAAU,EAAE;QAClC,WAAW,KAAK,CAAC,UAAU,EAAE;QAC7B,aAAa,KAAK,CAAC,YAAY,EAAE;KAClC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B,EAAE,WAAmB;IAClF,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAC/E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,gMAAgM;YAChM,yDAAyD,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,UAAU,WAAW,6CAA6C;SACtK,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,cAAc,IAAI,EAAE,CAAC;IACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;QACtC,CAAC,CAAC,qGAAqG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF;QAC3M,CAAC,CAAC,2LAA2L,CAAC;IAEhM,OAAO;QACL,4DAA4D,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,UAAU,WAAW,kEAAkE;QAC7L,sGAAsG,OAAO,GAAG;QAChH,0KAA0K;QAC1K,kJAAkJ;QAClJ,mHAAmH;QACnH,yIAAyI;QACzI,wJAAwJ;QACxJ,oHAAoH;QACpH,uIAAuI;QACvI,YAAY;QACZ,kHAAkH;KACnH,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA+B;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;QACL,0BAA0B;QAC1B,uNAAuN;QACvN,6IAA6I;QAC7I,gDAAgD,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7F,6CAA6C,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACvF,kGAAkG;QAClG,kFAAkF,OAAO,CAAC,aAAa,CAAC,oBAAoB,4DAA4D;KACzL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,UAAkB;IACjE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QACvG,MAAkC,CAAC,SAAS,GAAG,EAAE,CAAC;IACrD,CAAC;IACD,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,UAAkB;IACnE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,8BAA8B,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAMxC;IACC,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACC,OAAO,IAAI,CACT,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC5B,SAAS,EACT,SAAS,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,KAAK,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAKjC;IACC,OAAO,IAAI,CACT,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC5B,SAAS,EACT,SAAS,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,OAAO,CACrD,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACzD,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACzD,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACxC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,EAAE,qCAAqC,CAAC,CAAC;IAChG,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,6BAA6B,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,IAAI,aAAa,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,EAAE,qCAAqC,CAAC,CAAC;IAClG,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,qCAAqC,CAAC,CAAC;IACxF,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,EAAE,qCAAqC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,6BAA6B,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,GAAW,EAAE,MAAM,GAAG,kCAAkC;IACjG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,KAAK,GAAG,yBAAyB,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjJ,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;eAC5B,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;eACrD,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;eACtC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACzC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAC7H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAC/C,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACzG,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACzD,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IACzD,IAAK,MAAM,CAAC,QAAqB,CAAC,MAAM,KAAK,CAAC,IAAK,MAAM,CAAC,QAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/runner/prompt.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CodexOrchestratorConfig } from '../config/schema.js';
2
2
  import type { GitHubIssue } from '../github/issues.js';
3
- import type { ScopedCompletionReport } from './prompt.js';
3
+ import type { ScopedCompletionReport } from './completion-report.js';
4
4
  interface ValidationLine {
5
5
  command: string;
6
6
  status: 'passed' | 'failed' | 'skipped';
@@ -1 +1 @@
1
- {"version":3,"file":"review-gates.d.ts","sourceRoot":"","sources":["../../../src/runner/review-gates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC,GAChE,OAAO,CAaT;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA+D5E"}
1
+ {"version":3,"file":"review-gates.d.ts","sourceRoot":"","sources":["../../../src/runner/review-gates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC,GAChE,OAAO,CAaT;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CA+D5E"}
@@ -77,7 +77,7 @@ function evaluateQualityGate(input) {
77
77
  .map(normalizePath)
78
78
  .filter((path) => quality.testChangedPathGlobs.some((pattern) => globMatches(pattern, path)));
79
79
  if (quality.tdd.enabled) {
80
- const hasTddValidation = hasPassedValidation(input.validation, quality.tdd.requiredValidationPatterns);
80
+ const hasTddValidation = hasPassedTddValidation(input.validation, quality.tdd.requiredValidationPatterns);
81
81
  const hasRunnerVisualProofEvidence = hasPassedRunnerVisualProofEvidence(input);
82
82
  if (quality.tdd.requireTestChange && testFiles.length === 0 && !hasRunnerVisualProofEvidence) {
83
83
  reasons.push('Quality gate requires TDD test file change for runtime changes.');
@@ -103,6 +103,25 @@ function evaluateQualityGate(input) {
103
103
  function hasPassedValidation(validation, patterns) {
104
104
  return validation.some((line) => line.status === 'passed' && patterns.some((pattern) => regexMatches(pattern, validationText(line))));
105
105
  }
106
+ function hasPassedTddValidation(validation, patterns) {
107
+ if (hasPassedValidation(validation, patterns)) {
108
+ return true;
109
+ }
110
+ const passedTexts = validation
111
+ .filter((line) => line.status === 'passed')
112
+ .map(validationText);
113
+ const hasRedEvidence = passedTexts.some(hasTddRedEvidence);
114
+ const hasGreenEvidence = passedTexts.some(hasTddGreenEvidence);
115
+ return hasRedEvidence && hasGreenEvidence;
116
+ }
117
+ function hasTddRedEvidence(text) {
118
+ return /\bred\b/iu.test(text) || /\b(?:test|spec|check)\b[\s\S]{0,120}\bfail(?:ed|ing)?\b/iu.test(text);
119
+ }
120
+ function hasTddGreenEvidence(text) {
121
+ return /\bgreen\b/iu.test(text)
122
+ || /\b(?:test|spec|jest|vitest|playwright|pytest)\b[\s\S]{0,120}\bpass(?:ed|ing)?\b/iu.test(text)
123
+ || /\b(?:flutter|dart|npm|pnpm|yarn)\s+(?:run\s+)?test\b[\s\S]{0,120}\bpass(?:ed|ing)?\b/iu.test(text);
124
+ }
106
125
  function validationText(line) {
107
126
  return `${line.command}\n${line.summary}`;
108
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"review-gates.js","sourceRoot":"","sources":["../../../src/runner/review-gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-gates.js","sourceRoot":"","sources":["../../../src/runner/review-gates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { CodexOrchestratorConfig } from '../config/schema.js';
2
+ export declare function sessionLogPath(input: {
3
+ targetRoot: string;
4
+ config: CodexOrchestratorConfig;
5
+ issueNumber: number;
6
+ sessionId: string;
7
+ }): string;
8
+ export declare class RunLogWriter {
9
+ private readonly logPath;
10
+ constructor(logPath: string);
11
+ appendStdout(chunk: string): Promise<void>;
12
+ appendStderr(chunk: string): Promise<void>;
13
+ appendLifecycle(message: string): Promise<void>;
14
+ close(): Promise<void>;
15
+ private append;
16
+ }
17
+ export declare function renderCodexStreamChunk(chunk: string, stream: 'stdout' | 'stderr'): string[];
18
+ //# sourceMappingURL=run-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.d.ts","sourceRoot":"","sources":["../../../src/runner/run-log.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAOT;AAED,qBAAa,YAAY;IACJ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEtC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAIrB,MAAM;CAIrB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAAE,CAE3F"}
@@ -0,0 +1,53 @@
1
+ import { appendFile, mkdir } from 'node:fs/promises';
2
+ import { dirname, join } from 'node:path';
3
+ export function sessionLogPath(input) {
4
+ return join(input.targetRoot, input.config.runner.stateDir, 'logs', `issue-${input.issueNumber}-${input.sessionId}.log`);
5
+ }
6
+ export class RunLogWriter {
7
+ logPath;
8
+ constructor(logPath) {
9
+ this.logPath = logPath;
10
+ }
11
+ async appendStdout(chunk) {
12
+ await this.append(renderCodexStreamChunk(chunk, 'stdout').join(''));
13
+ }
14
+ async appendStderr(chunk) {
15
+ await this.append(renderCodexStreamChunk(chunk, 'stderr').join(''));
16
+ }
17
+ async appendLifecycle(message) {
18
+ await this.append(`[lifecycle] ${message}\n`);
19
+ }
20
+ async close() {
21
+ await this.appendLifecycle('log closed');
22
+ }
23
+ async append(content) {
24
+ await mkdir(dirname(this.logPath), { recursive: true });
25
+ await appendFile(this.logPath, content, 'utf8');
26
+ }
27
+ }
28
+ export function renderCodexStreamChunk(chunk, stream) {
29
+ return chunk.split(/(?<=\n)/u).filter((line) => line.length > 0).map((line) => renderCodexStreamLine(line, stream));
30
+ }
31
+ function renderCodexStreamLine(line, stream) {
32
+ const trimmed = line.trim();
33
+ if (!trimmed.startsWith('{') || !trimmed.endsWith('}')) {
34
+ return `[${stream}] ${line}`;
35
+ }
36
+ try {
37
+ const parsed = JSON.parse(trimmed);
38
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
39
+ return `[${stream}] ${line}`;
40
+ }
41
+ const record = parsed;
42
+ const eventType = readString(record.type) ?? readString(record.event) ?? 'codex-event';
43
+ const text = readString(record.message) ?? readString(record.delta) ?? readString(record.text);
44
+ return text ? `[${stream}] ${eventType}: ${text}\n` : `[${stream}] ${eventType}: ${trimmed}\n`;
45
+ }
46
+ catch {
47
+ return `[${stream}] ${line}`;
48
+ }
49
+ }
50
+ function readString(value) {
51
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
52
+ }
53
+ //# sourceMappingURL=run-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-log.js","sourceRoot":"","sources":["../../../src/runner/run-log.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { CodexOrchestratorConfig } from '../config/schema.js';
2
- import type { ScopedCompletionReport } from './prompt.js';
2
+ import type { ScopedCompletionReport } from './completion-report.js';
3
3
  export type SafetyViolationCode = 'secret-file-change' | 'secret-file-read' | 'destructive-db-or-cache' | 'production-deploy-or-release' | 'agent-owned-git-publication';
4
4
  export interface SafetyViolation {
5
5
  code: SafetyViolationCode;
@@ -1 +1 @@
1
- {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAOxG;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe,EAAE,CAKhG;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAU3G"}
1
+ {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../../src/runner/safety.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAC3B,oBAAoB,GACpB,kBAAkB,GAClB,yBAAyB,GACzB,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,eAAe,EAAE,CAOxG;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe,EAAE,CAKhG;AAED,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAU3G"}
@@ -3,6 +3,7 @@ import type { GitHubIssueAdapter } from '../github/issues.js';
3
3
  import type { GitHubPullRequest, GitHubPullRequestAdapter } from '../github/pull-requests.js';
4
4
  import { GitWorktreeManager } from '../git/worktree.js';
5
5
  import { type ShellCommandExecutor } from '../process/command.js';
6
+ import { type LocalExecutionPhaseExecutor } from './local-execution-session.js';
6
7
  export interface ScopedAutoCommandOptions {
7
8
  targetRoot: string;
8
9
  issueNumber: number;
@@ -12,6 +13,8 @@ export interface ScopedAutoCommandOptions {
12
13
  codexAdapter?: {
13
14
  run(input: CodexCommandRunInput): Promise<CodexCommandRunResult>;
14
15
  };
16
+ localPhases?: string[];
17
+ localPhaseExecutor?: LocalExecutionPhaseExecutor;
15
18
  shellExecutor?: ShellCommandExecutor;
16
19
  now?: Date;
17
20
  }
@@ -21,6 +24,7 @@ export interface ScopedAutoCommandResult {
21
24
  worktreePath: string;
22
25
  promptPath: string;
23
26
  reportPath: string;
27
+ logPath: string;
24
28
  pullRequest?: GitHubPullRequest;
25
29
  status: 'review-ready' | 'blocked' | 'promotion-requested';
26
30
  reportComment: string;