codex-orchestrator 0.1.25 → 0.1.27

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 (75) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +52 -8
  3. package/dist/src/cli.js +56 -9
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/codex/command-adapter.d.ts +12 -2
  6. package/dist/src/codex/command-adapter.d.ts.map +1 -1
  7. package/dist/src/codex/command-adapter.js +27 -7
  8. package/dist/src/codex/command-adapter.js.map +1 -1
  9. package/dist/src/config/constants.d.ts +1 -1
  10. package/dist/src/config/constants.d.ts.map +1 -1
  11. package/dist/src/config/constants.js +6 -1
  12. package/dist/src/config/constants.js.map +1 -1
  13. package/dist/src/config/schema.d.ts +11 -0
  14. package/dist/src/config/schema.d.ts.map +1 -1
  15. package/dist/src/config/schema.js +59 -1
  16. package/dist/src/config/schema.js.map +1 -1
  17. package/dist/src/index.d.ts +8 -4
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +4 -2
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/runner/context-snapshot.d.ts +28 -0
  22. package/dist/src/runner/context-snapshot.d.ts.map +1 -0
  23. package/dist/src/runner/context-snapshot.js +82 -0
  24. package/dist/src/runner/context-snapshot.js.map +1 -0
  25. package/dist/src/runner/doctor-command.d.ts +39 -0
  26. package/dist/src/runner/doctor-command.d.ts.map +1 -0
  27. package/dist/src/runner/doctor-command.js +123 -0
  28. package/dist/src/runner/doctor-command.js.map +1 -0
  29. package/dist/src/runner/fresh-context-review.d.ts.map +1 -1
  30. package/dist/src/runner/fresh-context-review.js +20 -1
  31. package/dist/src/runner/fresh-context-review.js.map +1 -1
  32. package/dist/src/runner/handoff-evidence.d.ts +1 -0
  33. package/dist/src/runner/handoff-evidence.d.ts.map +1 -1
  34. package/dist/src/runner/handoff-evidence.js +3 -0
  35. package/dist/src/runner/handoff-evidence.js.map +1 -1
  36. package/dist/src/runner/issue-state-machine.d.ts +1 -1
  37. package/dist/src/runner/issue-state-machine.d.ts.map +1 -1
  38. package/dist/src/runner/issue-state-machine.js +5 -0
  39. package/dist/src/runner/issue-state-machine.js.map +1 -1
  40. package/dist/src/runner/issue-tree.d.ts.map +1 -1
  41. package/dist/src/runner/issue-tree.js +0 -12
  42. package/dist/src/runner/issue-tree.js.map +1 -1
  43. package/dist/src/runner/lifecycle-events.d.ts +44 -0
  44. package/dist/src/runner/lifecycle-events.d.ts.map +1 -0
  45. package/dist/src/runner/lifecycle-events.js +108 -0
  46. package/dist/src/runner/lifecycle-events.js.map +1 -0
  47. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  48. package/dist/src/runner/plan-auto-command.js +121 -15
  49. package/dist/src/runner/plan-auto-command.js.map +1 -1
  50. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  51. package/dist/src/runner/scoped-auto-command.js +130 -0
  52. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  53. package/dist/src/runner/status-command.d.ts +21 -0
  54. package/dist/src/runner/status-command.d.ts.map +1 -1
  55. package/dist/src/runner/status-command.js +26 -2
  56. package/dist/src/runner/status-command.js.map +1 -1
  57. package/dist/src/setup/project-config.d.ts.map +1 -1
  58. package/dist/src/setup/project-config.js +22 -4
  59. package/dist/src/setup/project-config.js.map +1 -1
  60. package/dist/src/setup/setup-command.d.ts +0 -1
  61. package/dist/src/setup/setup-command.d.ts.map +1 -1
  62. package/dist/src/setup/setup-command.js +34 -2
  63. package/dist/src/setup/setup-command.js.map +1 -1
  64. package/dist/src/setup/workflows.d.ts +1 -2
  65. package/dist/src/setup/workflows.d.ts.map +1 -1
  66. package/dist/src/setup/workflows.js +8 -32
  67. package/dist/src/setup/workflows.js.map +1 -1
  68. package/docs/deep-dive.md +6 -3
  69. package/package.json +8 -1
  70. package/prompts/workflows/breakdown-review.md +46 -3
  71. package/prompts/workflows/issue-breakdown.md +116 -3
  72. package/prompts/workflows/issue-tree-orchestration.md +156 -3
  73. package/prompts/workflows/prd.md +68 -3
  74. package/prompts/workflows/scoped-implementation.md +81 -22
  75. package/prompts/workflows/triage.md +137 -3
package/CHANGELOG.md CHANGED
@@ -6,6 +6,30 @@ The format is based on Keep a Changelog, and this project follows SemVer.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.27] - 2026-05-18
10
+
11
+ ### Changed
12
+ - Setup and docs now describe the package-bundled workflow prompt model
13
+ clearly, so installed repositories do not depend on local Codex `SKILL.md`
14
+ files.
15
+ - `agent:auto` is reserved for standalone scoped issues, while issue-tree
16
+ children use only `agent:child` plus runner metadata and are executed by their
17
+ parent `agent:plan-auto` flow.
18
+ - The default workflow prompts are full package-bundled workflows instead of
19
+ fallback stubs, with setup preserving project-owned prompt edits by default.
20
+
21
+ ## [0.1.26] - 2026-05-16
22
+
23
+ ### Added
24
+ - Runner diagnostics wave: read-only `doctor`, `status --json`, phase-specific
25
+ Codex profiles, lifecycle events, and bounded context snapshots before Codex
26
+ sessions.
27
+ - Live smoke coverage for diagnostics/profile evidence through the packaged CLI.
28
+
29
+ ### Changed
30
+ - Status and handoff evidence now point to bounded runner artifacts instead of
31
+ requiring operators to inspect raw Codex transcripts.
32
+
9
33
  ## [0.1.25] - 2026-05-15
10
34
 
11
35
  ### Added
package/README.md CHANGED
@@ -55,7 +55,9 @@ There are two main modes.
55
55
 
56
56
  ### `agent:auto`
57
57
 
58
- Use `agent:auto` for one clear implementation issue.
58
+ Use `agent:auto` for one clear standalone implementation issue. Do not use it
59
+ for child issues created by `agent:plan-auto`; those are marked with
60
+ `agent:child` and are executed only by the parent issue-tree flow.
59
61
 
60
62
  The runner:
61
63
 
@@ -77,6 +79,8 @@ integration draft PR.
77
79
 
78
80
  Only child issues explicitly marked by the runner belong to the autonomous tree.
79
81
  Ordinary links, milestones, project fields, or casual references are not enough.
82
+ Child issues use `agent:child`, not `agent:auto`, so the daemon cannot confuse
83
+ parent-owned child work with standalone scoped work.
80
84
 
81
85
  ## Basic Workflow
82
86
 
@@ -145,6 +149,8 @@ Check eligible work:
145
149
 
146
150
  ```sh
147
151
  codex-orchestrator status --target .
152
+ codex-orchestrator status --target . --json
153
+ codex-orchestrator doctor --target .
148
154
  ```
149
155
 
150
156
  Run one issue:
@@ -200,9 +206,12 @@ controls the GitHub repo, labels, base branch, branch names, validation checks,
200
206
  review gates, blocked paths, child issue concurrency, durable logs, PR titles,
201
207
  and the prompts used for planning and implementation.
202
208
 
203
- The package ships fallback prompts, so a repository does not need a local Codex
204
- skill pack before setup. If compatible local skills already exist, setup can
205
- reuse them.
209
+ The package ships bundled workflow prompts, so a repository does not need local
210
+ Codex `SKILL.md` files installed on the user's machine. Setup copies those
211
+ prompts into `.codex-orchestrator/prompts/workflows/`, and the runner reads the
212
+ copied prompt files during `agent:auto` and `agent:plan-auto` runs. Workflow
213
+ `skillName` values in config are descriptive metadata for the workflow role;
214
+ they are not a runtime dependency on the user's local Codex skill directory.
206
215
 
207
216
  Configured checks run before publication. By default, missing
208
217
  `npm run <script>` checks are reported as skipped warnings, not failures. You can
@@ -216,6 +225,35 @@ The default quality gate is conservative for runtime code changes. It can
216
225
  require TDD evidence, changed tests, code review, cleanup review for larger
217
226
  changes, and visual proof for UI work.
218
227
 
228
+ ## Diagnostics
229
+
230
+ `doctor` is a read-only readiness check for operators. It validates the target
231
+ config, GitHub label visibility, git/base branch access, runner state paths,
232
+ configured checks, the Codex command, phase profiles, and visual proof settings.
233
+ It never launches Codex, creates worktrees, edits labels, or changes issues.
234
+
235
+ ```sh
236
+ codex-orchestrator doctor --target .
237
+ codex-orchestrator doctor --target . --json
238
+ ```
239
+
240
+ `status --json` returns the same queue view as text status plus active local
241
+ runs and recent lifecycle events. The JSON is designed for wrappers and
242
+ dashboards; it includes bounded artifact paths such as context snapshots, but
243
+ not raw Codex transcripts, secrets, prompt text, or full issue comments.
244
+
245
+ Codex command profiles can be set per runner phase under `codex.profiles`.
246
+ Supported phases are `plan-parent`, `scoped-issue`, `tree-child`,
247
+ `fresh-context-review`, `visual-proof`, and `quality-review`. Missing profile
248
+ fields fall back to the global `codex.command`, `codex.args`, `timeoutMs`, and
249
+ `idleTimeoutMs`, so existing configs keep working.
250
+
251
+ Each Codex session writes a bounded context snapshot before invocation and links
252
+ it from lifecycle events under the runner state directory. Snapshots record the
253
+ issue identity, runner decision, selected profile, workspace paths, and
254
+ publication boundaries so a maintainer can reproduce why a session started
255
+ without reading raw logs.
256
+
219
257
  ## Visual Proof
220
258
 
221
259
  For browser UI work, configure a runner-owned proof command, usually a
@@ -274,7 +312,8 @@ Default labels:
274
312
 
275
313
  - `agent:auto` - run one scoped issue;
276
314
  - `agent:plan-auto` - plan and run a parent issue tree;
277
- - `agent:child` - child issue in an autonomous tree;
315
+ - `agent:child` - child issue in an autonomous tree; this is not a standalone
316
+ authorization label;
278
317
  - `agent:running` - runner is working;
279
318
  - `agent:blocked` - maintainer input needed;
280
319
  - `agent:manual` - reserved for human work;
@@ -288,9 +327,10 @@ Default labels:
288
327
  codex-orchestrator --help
289
328
  codex-orchestrator --version
290
329
  codex-orchestrator health
330
+ codex-orchestrator doctor --target <path> [--json]
291
331
  codex-orchestrator setup [--target <path>] [--github-owner <owner>] \
292
332
  [--github-repo <repo>] [--dry-run] [--prepare-labels]
293
- codex-orchestrator status --target <path> [--dry-run]
333
+ codex-orchestrator status --target <path> [--dry-run] [--json]
294
334
  codex-orchestrator run --target <path> --issue <number>
295
335
  codex-orchestrator daemon --target <path> [--once] \
296
336
  [--interval-seconds <seconds>] [--max-runs <count>]
@@ -304,10 +344,14 @@ codex-orchestrator daemon --target <path> [--once] \
304
344
  - `--target <path>` - override the target directory, which defaults to the current directory;
305
345
  - `--github-owner <owner>` - override the GitHub owner inferred from `origin`;
306
346
  - `--github-repo <repo>` - override the GitHub repo inferred from `origin`;
307
- - `--skills-root <path>` - choose where setup looks for existing Codex skills;
308
- - `--replace-package-skills` - refresh package-owned prompt files.
347
+ - `--replace-package-skills` - refresh package-bundled prompt files. The flag
348
+ name is kept for compatibility; it does not install or require local Codex
349
+ skills.
309
350
 
310
351
  Setup does not launch Codex, commit changes, or open pull requests.
352
+ When the target repository already has a `package.json`, setup also adds
353
+ `orchestrator:*` npm scripts. Daemon scripts run `doctor` first, then start the
354
+ daemon only if the readiness check passes.
311
355
 
312
356
  `status` is read-only. It shows eligible issues, skipped issues with reasons,
313
357
  and local recovery state.
package/dist/src/cli.js CHANGED
@@ -5,6 +5,7 @@ import { readPackageInfo } from './package-info.js';
5
5
  import { readRunnerConfig } from './runner/command-utils.js';
6
6
  import { discoverIssueWork } from './runner/issue-state-machine.js';
7
7
  import { runDaemonCommand } from './runner/daemon-command.js';
8
+ import { runDoctorCommand } from './runner/doctor-command.js';
8
9
  import { runPlanAutoCommand } from './runner/plan-auto-command.js';
9
10
  import { runScopedAutoCommand } from './runner/scoped-auto-command.js';
10
11
  import { runStatusCommand } from './runner/status-command.js';
@@ -15,13 +16,15 @@ Usage:
15
16
  codex-orchestrator --help
16
17
  codex-orchestrator --version
17
18
  codex-orchestrator health
19
+ codex-orchestrator doctor --target <path> [--json]
18
20
  codex-orchestrator setup [--target <path>] [--github-owner <owner>] [--github-repo <repo>] [--dry-run] [--prepare-labels]
19
- codex-orchestrator status --target <path> [--dry-run]
21
+ codex-orchestrator status --target <path> [--dry-run] [--json]
20
22
  codex-orchestrator run --target <path> --issue <number>
21
23
  codex-orchestrator daemon --target <path> [--interval-seconds <number>] [--once] [--max-runs <number>]
22
24
 
23
25
  Commands:
24
26
  health Run a no-op local health check.
27
+ doctor Run read-only runner readiness diagnostics.
25
28
  setup Create or dry-run project-local orchestrator config. Use --prepare-labels to create missing agent labels.
26
29
  status Show eligible/skipped issue work and local recovery state.
27
30
  run Execute one authorized issue: scoped agent:auto or full agent:plan-auto issue tree.
@@ -59,7 +62,6 @@ async function main(args) {
59
62
  githubRepo: parsed.value.githubRepo,
60
63
  dryRun: parsed.value.dryRun,
61
64
  prepareLabels: parsed.value.prepareLabels,
62
- skillsRoot: parsed.value.skillsRoot,
63
65
  replacePackageSkills: parsed.value.replacePackageSkills,
64
66
  });
65
67
  process.stdout.write(`${result.output}\n`);
@@ -71,6 +73,26 @@ async function main(args) {
71
73
  return 1;
72
74
  }
73
75
  }
76
+ if (command === 'doctor') {
77
+ const parsed = parseDoctorArgs(args.slice(1));
78
+ if (!parsed.ok) {
79
+ process.stderr.write(`${parsed.error}\nRun codex-orchestrator --help for usage.\n`);
80
+ return 2;
81
+ }
82
+ try {
83
+ const result = await runDoctorCommand({
84
+ targetRoot: parsed.value.target,
85
+ json: parsed.value.json,
86
+ });
87
+ process.stdout.write(`${result.output}\n`);
88
+ return result.json.summary.fail > 0 ? 1 : 0;
89
+ }
90
+ catch (error) {
91
+ const message = error instanceof Error ? error.message : 'doctor failed';
92
+ process.stderr.write(`${message}\n`);
93
+ return 1;
94
+ }
95
+ }
74
96
  if (command === 'status') {
75
97
  const parsed = parseStatusArgs(args.slice(1));
76
98
  if (!parsed.ok) {
@@ -81,6 +103,7 @@ async function main(args) {
81
103
  const result = await runStatusCommand({
82
104
  targetRoot: parsed.value.target,
83
105
  dryRun: parsed.value.dryRun,
106
+ json: parsed.value.json,
84
107
  });
85
108
  process.stdout.write(`${result.output}\n`);
86
109
  return 0;
@@ -188,6 +211,7 @@ function parseRunArgs(args) {
188
211
  function parseStatusArgs(args) {
189
212
  const parsed = {
190
213
  dryRun: false,
214
+ json: false,
191
215
  };
192
216
  for (let index = 0; index < args.length; index += 1) {
193
217
  const arg = args[index];
@@ -203,6 +227,9 @@ function parseStatusArgs(args) {
203
227
  case '--dry-run':
204
228
  parsed.dryRun = true;
205
229
  break;
230
+ case '--json':
231
+ parsed.json = true;
232
+ break;
206
233
  default:
207
234
  return { ok: false, error: `Unknown status option: ${arg ?? ''}` };
208
235
  }
@@ -212,6 +239,33 @@ function parseStatusArgs(args) {
212
239
  }
213
240
  return { ok: true, value: { ...parsed, target: parsed.target } };
214
241
  }
242
+ function parseDoctorArgs(args) {
243
+ const parsed = {
244
+ json: false,
245
+ };
246
+ for (let index = 0; index < args.length; index += 1) {
247
+ const arg = args[index];
248
+ const next = args[index + 1];
249
+ switch (arg) {
250
+ case '--target':
251
+ if (!next || next.startsWith('--')) {
252
+ return { ok: false, error: `${arg} requires a value` };
253
+ }
254
+ parsed.target = next;
255
+ index += 1;
256
+ break;
257
+ case '--json':
258
+ parsed.json = true;
259
+ break;
260
+ default:
261
+ return { ok: false, error: `Unknown doctor option: ${arg ?? ''}` };
262
+ }
263
+ }
264
+ if (!parsed.target) {
265
+ return { ok: false, error: 'doctor requires --target <path>' };
266
+ }
267
+ return { ok: true, value: { ...parsed, target: parsed.target } };
268
+ }
215
269
  function parseDaemonArgs(args) {
216
270
  const parsed = {
217
271
  intervalSeconds: 300,
@@ -285,13 +339,6 @@ function parseSetupArgs(args) {
285
339
  parsed.githubRepo = next;
286
340
  index += 1;
287
341
  break;
288
- case '--skills-root':
289
- if (!next || next.startsWith('--')) {
290
- return { ok: false, error: `${arg} requires a value` };
291
- }
292
- parsed.skillsRoot = next;
293
- index += 1;
294
- break;
295
342
  case '--dry-run':
296
343
  parsed.dryRun = true;
297
344
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CodexOrchestratorConfig } from '../config/schema.js';
1
+ import { type CodexOrchestratorConfig, type CodexPhase } from '../config/schema.js';
2
2
  import type { ProcessExecutor } from '../process/command.js';
3
3
  export interface CodexCommandRunInput {
4
4
  targetRoot: string;
@@ -11,6 +11,7 @@ export interface CodexCommandRunInput {
11
11
  issueNumber: number;
12
12
  sessionId: string;
13
13
  branchName: string;
14
+ phase?: CodexPhase;
14
15
  timeoutMs?: number;
15
16
  logPath?: string;
16
17
  }
@@ -26,5 +27,14 @@ export declare class CodexCommandAdapter {
26
27
  constructor(config: CodexOrchestratorConfig, executor?: ProcessExecutor);
27
28
  run(input: CodexCommandRunInput): Promise<CodexCommandRunResult>;
28
29
  }
29
- export declare function buildCodexProcessEnv(input: CodexCommandRunInput, sourceEnv: NodeJS.ProcessEnv): Record<string, string>;
30
+ export declare function buildCodexProcessEnv(input: CodexCommandRunInput, sourceEnv: NodeJS.ProcessEnv, profileEnv?: Record<string, string>): Record<string, string>;
31
+ export interface EffectiveCodexProfile {
32
+ phase: CodexPhase;
33
+ command: string;
34
+ args: string[];
35
+ timeoutMs?: number;
36
+ idleTimeoutMs?: number;
37
+ env: Record<string, string>;
38
+ }
39
+ export declare function resolveCodexProfile(config: CodexOrchestratorConfig, phase: CodexPhase): EffectiveCodexProfile;
30
40
  //# sourceMappingURL=command-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-adapter.d.ts","sourceRoot":"","sources":["../../../src/codex/command-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,GAAE,eAAwC;IAGxD,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAmB9E;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,CAAC,UAAU,GAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB"}
1
+ {"version":3,"file":"command-adapter.d.ts","sourceRoot":"","sources":["../../../src/codex/command-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgC,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAA2B,MAAM,qBAAqB,CAAC;AAC3I,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,uBAAuB,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,GAAE,eAAwC;IAGxD,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAsB9E;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,GAAG,qBAAqB,CAU7G"}
@@ -1,5 +1,6 @@
1
1
  import { homedir } from 'node:os';
2
2
  import { join } from 'node:path';
3
+ import { forbiddenCodexProfileEnvKeys } from '../config/schema.js';
3
4
  import { defaultProcessExecutor } from '../process/command.js';
4
5
  import { RunLogWriter } from '../runner/run-log.js';
5
6
  export class CodexCommandAdapter {
@@ -10,16 +11,19 @@ export class CodexCommandAdapter {
10
11
  this.executor = executor;
11
12
  }
12
13
  async run(input) {
13
- const args = this.config.codex.args.map((arg) => renderCodexArg(arg, input));
14
+ const phase = input.phase ?? 'scoped-issue';
15
+ const effectiveProfile = resolveCodexProfile(this.config, phase);
16
+ const profileTimeoutMs = this.config.codex.profiles?.[phase]?.timeoutMs;
17
+ const args = effectiveProfile.args.map((arg) => renderCodexArg(arg, input));
14
18
  const logWriter = input.logPath ? new RunLogWriter(input.logPath) : undefined;
15
- await logWriter?.appendLifecycle(`starting ${this.config.codex.command} ${args.join(' ')}`);
19
+ await logWriter?.appendLifecycle(`starting ${effectiveProfile.command} ${args.join(' ')}`);
16
20
  try {
17
- const result = await this.executor(this.config.codex.command, args, {
21
+ const result = await this.executor(effectiveProfile.command, args, {
18
22
  cwd: input.worktreePath,
19
23
  stdin: input.promptText,
20
- env: buildCodexProcessEnv(input, process.env),
21
- timeoutMs: input.timeoutMs ?? this.config.codex.timeoutMs,
22
- idleTimeoutMs: this.config.codex.idleTimeoutMs,
24
+ env: buildCodexProcessEnv(input, process.env, effectiveProfile.env),
25
+ timeoutMs: profileTimeoutMs ?? input.timeoutMs ?? this.config.codex.timeoutMs,
26
+ idleTimeoutMs: effectiveProfile.idleTimeoutMs,
23
27
  onStdoutChunk: logWriter ? (chunk) => logWriter.appendStdout(chunk) : undefined,
24
28
  onStderrChunk: logWriter ? (chunk) => logWriter.appendStderr(chunk) : undefined,
25
29
  });
@@ -30,7 +34,7 @@ export class CodexCommandAdapter {
30
34
  }
31
35
  }
32
36
  }
33
- export function buildCodexProcessEnv(input, sourceEnv) {
37
+ export function buildCodexProcessEnv(input, sourceEnv, profileEnv = {}) {
34
38
  const allowed = ['PATH', 'CODEX_HOME', 'LANG', 'LC_ALL', 'TMPDIR'];
35
39
  const env = {};
36
40
  for (const key of allowed) {
@@ -40,11 +44,27 @@ export function buildCodexProcessEnv(input, sourceEnv) {
40
44
  }
41
45
  }
42
46
  env.CODEX_HOME = env.CODEX_HOME || join(homedir(), '.codex');
47
+ for (const [key, value] of Object.entries(profileEnv)) {
48
+ if (!forbiddenCodexProfileEnvKeys.has(key)) {
49
+ env[key] = renderCodexArg(value, input);
50
+ }
51
+ }
43
52
  env.HOME = input.isolatedHomePath;
44
53
  env[input.config.codex.promptFileEnv] = input.promptPath;
45
54
  env[input.config.codex.reportFileEnv] = input.reportPath;
46
55
  return env;
47
56
  }
57
+ export function resolveCodexProfile(config, phase) {
58
+ const profile = config.codex.profiles?.[phase] ?? {};
59
+ return {
60
+ phase,
61
+ command: profile.command ?? config.codex.command,
62
+ args: profile.args ?? config.codex.args,
63
+ timeoutMs: profile.timeoutMs ?? config.codex.timeoutMs,
64
+ idleTimeoutMs: profile.idleTimeoutMs ?? config.codex.idleTimeoutMs,
65
+ env: profile.env ?? {},
66
+ };
67
+ }
48
68
  function renderCodexArg(arg, input) {
49
69
  return arg
50
70
  .replaceAll('${targetRoot}', input.targetRoot)
@@ -1 +1 @@
1
- {"version":3,"file":"command-adapter.js","sourceRoot":"","sources":["../../../src/codex/command-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-adapter.js","sourceRoot":"","sources":["../../../src/codex/command-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const labelKeys: readonly ["auto", "planAuto", "running", "blocked", "manual", "review", "child"];
2
2
  export declare const workflowKeys: readonly ["prd", "issueBreakdown", "breakdownReview", "triage", "scopedImplementation", "issueTreeOrchestration"];
3
3
  export declare const labelPreparationPolicies: readonly ["report-only", "create-missing"];
4
- export declare const workflowSources: readonly ["existing-skill", "package-owned-skill", "package-owned-prompt-fallback"];
4
+ export declare const workflowSources: readonly ["existing-skill", "package-owned-skill", "package-bundled-prompt", "package-owned-prompt-fallback"];
5
5
  export declare const forbiddenRuntimeKeys: readonly ["runtime", "state", "locks", "sessions", "worktrees", "retries", "cache"];
6
6
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,kFAAmF,CAAC;AAE1G,eAAO,MAAM,YAAY,mHAOf,CAAC;AAEX,eAAO,MAAM,wBAAwB,4CAA6C,CAAC;AAEnF,eAAO,MAAM,eAAe,qFAAsF,CAAC;AAEnH,eAAO,MAAM,oBAAoB,qFAAsF,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,kFAAmF,CAAC;AAE1G,eAAO,MAAM,YAAY,mHAOf,CAAC;AAEX,eAAO,MAAM,wBAAwB,4CAA6C,CAAC;AAEnF,eAAO,MAAM,eAAe,+GAKlB,CAAC;AAEX,eAAO,MAAM,oBAAoB,qFAAsF,CAAC"}
@@ -8,6 +8,11 @@ export const workflowKeys = [
8
8
  'issueTreeOrchestration',
9
9
  ];
10
10
  export const labelPreparationPolicies = ['report-only', 'create-missing'];
11
- export const workflowSources = ['existing-skill', 'package-owned-skill', 'package-owned-prompt-fallback'];
11
+ export const workflowSources = [
12
+ 'existing-skill',
13
+ 'package-owned-skill',
14
+ 'package-bundled-prompt',
15
+ 'package-owned-prompt-fallback',
16
+ ];
12
17
  export const forbiddenRuntimeKeys = ['runtime', 'state', 'locks', 'sessions', 'worktrees', 'retries', 'cache'];
13
18
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAE1G,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,QAAQ;IACR,sBAAsB;IACtB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,+BAA+B,CAAU,CAAC;AAEnH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/config/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAE1G,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,QAAQ;IACR,sBAAsB;IACtB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,+BAA+B;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC"}
@@ -7,6 +7,16 @@ export type ClarificationGate = 'block-and-comment';
7
7
  export type IssueSelectionTieBreaker = 'issue-number-asc';
8
8
  export type RetryableReworkBlocker = 'missing-completion-report' | 'invalid-completion-report' | 'no-changed-files' | 'failed-configured-checks' | 'missing-quality-gate-evidence';
9
9
  export type FreshContextReviewMode = 'advisory';
10
+ export declare const codexPhaseKeys: readonly ["plan-parent", "scoped-issue", "tree-child", "fresh-context-review", "visual-proof", "quality-review"];
11
+ export type CodexPhase = (typeof codexPhaseKeys)[number];
12
+ export interface CodexProfileConfig {
13
+ command?: string;
14
+ args?: string[];
15
+ timeoutMs?: number;
16
+ idleTimeoutMs?: number;
17
+ env?: Record<string, string>;
18
+ }
19
+ export declare const forbiddenCodexProfileEnvKeys: Set<string>;
10
20
  export interface LabelDefinition {
11
21
  name: string;
12
22
  color: string;
@@ -72,6 +82,7 @@ export interface CodexOrchestratorConfig {
72
82
  timeoutMs?: number;
73
83
  mobileTimeoutMs?: number;
74
84
  idleTimeoutMs?: number;
85
+ profiles?: Partial<Record<CodexPhase, CodexProfileConfig>>;
75
86
  promptFileEnv: 'CODEX_ORCHESTRATOR_PROMPT_FILE';
76
87
  reportFileEnv: 'CODEX_ORCHESTRATOR_REPORT_FILE';
77
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import { forbiddenRuntimeKeys, labelKeys, labelPreparationPolicies, workflowKeys, workflowSources, } from './constants.js';
2
+ export const codexPhaseKeys = [
3
+ 'plan-parent',
4
+ 'scoped-issue',
5
+ 'tree-child',
6
+ 'fresh-context-review',
7
+ 'visual-proof',
8
+ 'quality-review',
9
+ ];
10
+ export const forbiddenCodexProfileEnvKeys = new Set([
11
+ 'GH_TOKEN',
12
+ 'GITHUB_TOKEN',
13
+ 'SSH_AUTH_SOCK',
14
+ 'GIT_ASKPASS',
15
+ 'HOME',
16
+ 'CODEX_ORCHESTRATOR_PROMPT_FILE',
17
+ 'CODEX_ORCHESTRATOR_REPORT_FILE',
18
+ ]);
2
19
  export function validateConfig(input) {
3
20
  const errors = [];
4
21
  const root = asObject(input);
@@ -49,6 +66,7 @@ export function validateConfig(input) {
49
66
  expectOptionalPositiveInteger(codex, 'codex.timeoutMs', errors);
50
67
  expectOptionalPositiveInteger(codex, 'codex.mobileTimeoutMs', errors);
51
68
  expectOptionalPositiveInteger(codex, 'codex.idleTimeoutMs', errors);
69
+ validateCodexProfiles(codex, errors);
52
70
  expectLiteral(codex, 'codex.promptFileEnv', 'CODEX_ORCHESTRATOR_PROMPT_FILE', errors);
53
71
  expectLiteral(codex, 'codex.reportFileEnv', 'CODEX_ORCHESTRATOR_REPORT_FILE', errors);
54
72
  }
@@ -206,7 +224,7 @@ function validateWorkflow(parent, path, errors) {
206
224
  if (source === 'existing-skill' || source === 'package-owned-skill') {
207
225
  expectString(workflow, `${path}.skillPath`, errors);
208
226
  }
209
- if (source === 'package-owned-prompt-fallback') {
227
+ if (source === 'package-bundled-prompt' || source === 'package-owned-prompt-fallback') {
210
228
  expectString(workflow, `${path}.promptPath`, errors);
211
229
  }
212
230
  }
@@ -217,6 +235,46 @@ function validateChecks(checks, errors) {
217
235
  }
218
236
  }
219
237
  }
238
+ function validateCodexProfiles(codex, errors) {
239
+ const profiles = expectOptionalObject(codex, 'codex.profiles', errors);
240
+ if (!profiles) {
241
+ return;
242
+ }
243
+ for (const key of Object.keys(profiles)) {
244
+ if (!codexPhaseKeys.includes(key)) {
245
+ errors.push(`codex.profiles contains unknown phase ${key}`);
246
+ continue;
247
+ }
248
+ const profile = expectOptionalObject(profiles, `codex.profiles.${key}`, errors);
249
+ if (!profile) {
250
+ continue;
251
+ }
252
+ expectOptionalString(profile, `codex.profiles.${key}.command`, errors);
253
+ expectOptionalStringArray(profile, `codex.profiles.${key}.args`, errors);
254
+ expectOptionalPositiveInteger(profile, `codex.profiles.${key}.timeoutMs`, errors);
255
+ expectOptionalPositiveInteger(profile, `codex.profiles.${key}.idleTimeoutMs`, errors);
256
+ validateCodexProfileEnv(profile, key, errors);
257
+ }
258
+ }
259
+ function validateCodexProfileEnv(profile, phase, errors) {
260
+ const env = expectOptionalObject(profile, `codex.profiles.${phase}.env`, errors);
261
+ if (!env) {
262
+ return;
263
+ }
264
+ const keys = Object.keys(env);
265
+ if (keys.some((key) => !/^[A-Z_][A-Z0-9_]*$/.test(key))) {
266
+ errors.push(`codex.profiles.${phase}.env must contain valid environment variable names`);
267
+ }
268
+ const forbidden = keys.find((key) => forbiddenCodexProfileEnvKeys.has(key));
269
+ if (forbidden) {
270
+ errors.push(`codex.profiles.${phase}.env must not contain forbidden key ${forbidden}`);
271
+ }
272
+ for (const [key, value] of Object.entries(env)) {
273
+ if (typeof value !== 'string') {
274
+ errors.push(`codex.profiles.${phase}.env.${key} must be a string`);
275
+ }
276
+ }
277
+ }
220
278
  function validateChecksPolicy(policy, errors) {
221
279
  if ('missingNpmScript' in policy) {
222
280
  expectUnion(policy, 'checksPolicy.missingNpmScript', ['fail', 'skip'], errors);