codex-orchestrator 0.1.28 → 0.1.30

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 (58) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +16 -3
  3. package/dist/src/cli.js +28 -1
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/config/schema.d.ts +7 -1
  6. package/dist/src/config/schema.d.ts.map +1 -1
  7. package/dist/src/config/schema.js +18 -1
  8. package/dist/src/config/schema.js.map +1 -1
  9. package/dist/src/git/base-branch.d.ts +26 -0
  10. package/dist/src/git/base-branch.d.ts.map +1 -0
  11. package/dist/src/git/base-branch.js +45 -0
  12. package/dist/src/git/base-branch.js.map +1 -0
  13. package/dist/src/git/worktree.d.ts +2 -0
  14. package/dist/src/git/worktree.d.ts.map +1 -1
  15. package/dist/src/git/worktree.js +18 -0
  16. package/dist/src/git/worktree.js.map +1 -1
  17. package/dist/src/github/gh-pull-request-adapter.d.ts +1 -0
  18. package/dist/src/github/gh-pull-request-adapter.d.ts.map +1 -1
  19. package/dist/src/github/gh-pull-request-adapter.js +13 -0
  20. package/dist/src/github/gh-pull-request-adapter.js.map +1 -1
  21. package/dist/src/github/pull-requests.d.ts +3 -0
  22. package/dist/src/github/pull-requests.d.ts.map +1 -1
  23. package/dist/src/github/pull-requests.js +23 -0
  24. package/dist/src/github/pull-requests.js.map +1 -1
  25. package/dist/src/runner/context-snapshot.d.ts +5 -0
  26. package/dist/src/runner/context-snapshot.d.ts.map +1 -1
  27. package/dist/src/runner/context-snapshot.js +17 -0
  28. package/dist/src/runner/context-snapshot.js.map +1 -1
  29. package/dist/src/runner/doctor-command.d.ts.map +1 -1
  30. package/dist/src/runner/doctor-command.js +38 -1
  31. package/dist/src/runner/doctor-command.js.map +1 -1
  32. package/dist/src/runner/fresh-context-review.d.ts.map +1 -1
  33. package/dist/src/runner/fresh-context-review.js +2 -1
  34. package/dist/src/runner/fresh-context-review.js.map +1 -1
  35. package/dist/src/runner/plan-auto-command.d.ts.map +1 -1
  36. package/dist/src/runner/plan-auto-command.js +9 -3
  37. package/dist/src/runner/plan-auto-command.js.map +1 -1
  38. package/dist/src/runner/review-gate-policy.d.ts.map +1 -1
  39. package/dist/src/runner/review-gate-policy.js +11 -0
  40. package/dist/src/runner/review-gate-policy.js.map +1 -1
  41. package/dist/src/runner/scoped-auto-command.d.ts.map +1 -1
  42. package/dist/src/runner/scoped-auto-command.js +9 -3
  43. package/dist/src/runner/scoped-auto-command.js.map +1 -1
  44. package/dist/src/setup/project-config.d.ts +2 -1
  45. package/dist/src/setup/project-config.d.ts.map +1 -1
  46. package/dist/src/setup/project-config.js +16 -1
  47. package/dist/src/setup/project-config.js.map +1 -1
  48. package/dist/src/setup/prompt-sync.d.ts +14 -0
  49. package/dist/src/setup/prompt-sync.d.ts.map +1 -0
  50. package/dist/src/setup/prompt-sync.js +228 -0
  51. package/dist/src/setup/prompt-sync.js.map +1 -0
  52. package/dist/src/setup/setup-command.d.ts +3 -0
  53. package/dist/src/setup/setup-command.d.ts.map +1 -1
  54. package/dist/src/setup/setup-command.js +62 -27
  55. package/dist/src/setup/setup-command.js.map +1 -1
  56. package/docs/deep-dive.md +5 -1
  57. package/package.json +1 -1
  58. package/prompts/workflows/scoped-implementation.md +13 -2
@@ -1,12 +1,14 @@
1
1
  import { execFile } from 'node:child_process';
2
- import { cp, mkdir, readFile, writeFile } from 'node:fs/promises';
3
- import { dirname, join } from 'node:path';
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
4
  import { promisify } from 'node:util';
5
5
  import { validateConfig } from '../config/schema.js';
6
+ import { formatBaseBranch } from '../git/base-branch.js';
6
7
  import { resolveCodexCommand } from './codex-command-resolver.js';
7
8
  import { GhCliLabelAdapter } from './github-label-adapter.js';
8
9
  import { planLabels } from './labels.js';
9
10
  import { assertNoRuntimeState, buildProjectConfig, mergeExistingProjectConfig, projectConfigPath, readExistingConfig, writeProjectConfig, } from './project-config.js';
11
+ import { checkPromptFiles, promptConflictGuidance, syncPromptFiles, } from './prompt-sync.js';
10
12
  import { resolveWorkflowConfigs, workflowDefinitions } from './workflows.js';
11
13
  const execFileAsync = promisify(execFile);
12
14
  export async function runSetupCommand(options) {
@@ -23,11 +25,13 @@ export async function runSetupCommand(options) {
23
25
  const prepareLabels = options.prepareLabels ? 'create-missing' : 'report-only';
24
26
  const workflows = await resolveWorkflowConfigs();
25
27
  const discoveredCodexCommand = await (options.codexCommandResolver ?? resolveCodexCommand)();
28
+ const inferredBaseBranch = existingConfigBase(existingConfig) ?? await inferCurrentUpstreamBaseBranch(options.targetRoot);
26
29
  const defaultConfig = buildProjectConfig({
27
30
  owner,
28
31
  repo,
29
32
  prepareLabels,
30
33
  workflows,
34
+ baseBranch: inferredBaseBranch,
31
35
  });
32
36
  const config = mergeExistingProjectConfig(defaultConfig, existingConfig);
33
37
  persistDiscoveredCodexCommand(config, discoveredCodexCommand);
@@ -38,19 +42,25 @@ export async function runSetupCommand(options) {
38
42
  const adapter = options.labelAdapter ?? new GhCliLabelAdapter(owner, repo);
39
43
  const labelPlan = await planLabels(adapter, config.github.labels, prepareLabels, dryRun);
40
44
  const promptFiles = workflowDefinitions.map((definition) => join(options.targetRoot, definition.promptPath));
41
- if (!dryRun) {
45
+ const promptSyncMode = options.promptSyncMode ?? (options.replacePackageSkills ? 'replace' : 'auto');
46
+ let promptSync;
47
+ if (dryRun) {
48
+ promptSync = await checkPromptFiles(options.targetRoot, promptSyncMode);
49
+ }
50
+ else {
42
51
  await writeProjectConfig(options.targetRoot, config);
43
- await copyPromptFiles(options.targetRoot, options.replacePackageSkills ?? false);
52
+ promptSync = await syncPromptFiles(options.targetRoot, promptSyncMode);
44
53
  await ensureRuntimeGitignoreEntries(options.targetRoot, config);
45
54
  await ensurePackageScripts(options.targetRoot);
46
55
  }
47
- const output = formatSetupOutput(configPath, labelPlan, config, promptFiles, dryRun);
56
+ const output = formatSetupOutput(configPath, labelPlan, config, promptFiles, dryRun, promptSync);
48
57
  return {
49
58
  config,
50
59
  configPath,
51
60
  dryRun,
52
61
  labelPlan,
53
62
  promptFiles,
63
+ promptSync,
54
64
  output,
55
65
  };
56
66
  }
@@ -138,7 +148,7 @@ function normalizeExistingGitignoreLine(line) {
138
148
  }
139
149
  return gitignoreDirectory(trimmed);
140
150
  }
141
- function formatSetupOutput(configPath, labelPlan, config, promptFiles, dryRun) {
151
+ function formatSetupOutput(configPath, labelPlan, config, promptFiles, dryRun, promptSync) {
142
152
  const workflowLines = Object.entries(config.workflows)
143
153
  .map(([id, workflow]) => ` - ${id}: ${workflow.source}`)
144
154
  .join('\n');
@@ -153,41 +163,66 @@ function formatSetupOutput(configPath, labelPlan, config, promptFiles, dryRun) {
153
163
  workflowLines,
154
164
  'prompts:',
155
165
  promptSummary,
166
+ formatPromptSync(promptSync),
156
167
  `checks: ${Object.keys(config.checks).join(', ')}`,
157
168
  `gitignore runtime entries: ${runtimeGitignoreEntries(config).join(', ')}`,
158
169
  `codex command: ${config.codex.command} ${config.codex.args.join(' ')}`,
159
- `branches: base ${config.branches.base}, ${config.branches.scopedIssue}, ${config.branches.issueTree}`,
170
+ `branches: base ${formatBaseBranch(config.branches.base)}, ${config.branches.scopedIssue}, ${config.branches.issueTree}`,
160
171
  `pull requests: ${config.pullRequests.scopedIssueTitle}, ${config.pullRequests.issueTreeTitle}`,
161
172
  'Codex will not be launched',
162
173
  'setup will not commit or open a pull request',
163
174
  ].join('\n');
164
175
  }
165
- async function copyPromptFiles(targetRoot, replacePackageSkills) {
166
- await copyPrompt('setup-skill.md', join(targetRoot, '.codex-orchestrator', 'prompts', 'setup-skill.md'), replacePackageSkills);
167
- for (const definition of workflowDefinitions) {
168
- const sourceName = definition.promptPath.replace('.codex-orchestrator/prompts/workflows/', '');
169
- await copyPrompt(join('workflows', sourceName), join(targetRoot, definition.promptPath), replacePackageSkills);
176
+ function existingConfigBase(config) {
177
+ const branches = config?.branches;
178
+ if (typeof branches !== 'object' || branches === null || Array.isArray(branches)) {
179
+ return undefined;
170
180
  }
171
- }
172
- async function copyPrompt(relativePromptPath, destination, replacePackageSkills) {
173
- await mkdir(dirname(destination), { recursive: true });
174
- const source = new URL(`../../../prompts/${relativePromptPath}`, import.meta.url);
175
- if (replacePackageSkills) {
176
- await cp(source, destination, { force: true });
177
- return;
181
+ const base = branches.base;
182
+ if (typeof base === 'string' && base.length > 0) {
183
+ return base;
178
184
  }
179
- try {
180
- await readFile(destination, 'utf8');
185
+ if (typeof base !== 'object' || base === null || Array.isArray(base)) {
186
+ return undefined;
181
187
  }
182
- catch (error) {
183
- if (error instanceof Error && 'code' in error && error.code === 'ENOENT') {
184
- const content = await readFile(source, 'utf8');
185
- await writeFile(destination, content, 'utf8');
186
- return;
188
+ const objectBase = base;
189
+ if (objectBase.mode === 'explicit' && typeof objectBase.remote === 'string' && typeof objectBase.branch === 'string') {
190
+ return { mode: 'explicit', remote: objectBase.remote, branch: objectBase.branch };
191
+ }
192
+ return undefined;
193
+ }
194
+ async function inferCurrentUpstreamBaseBranch(targetRoot) {
195
+ try {
196
+ const result = await execFileAsync('git', ['-C', targetRoot, 'rev-parse', '--abbrev-ref', '--symbolic-full-name', '@{u}']);
197
+ const upstream = result.stdout.trim();
198
+ const separator = upstream.indexOf('/');
199
+ if (separator <= 0 || separator === upstream.length - 1) {
200
+ return undefined;
187
201
  }
188
- throw error;
202
+ return {
203
+ mode: 'explicit',
204
+ remote: upstream.slice(0, separator),
205
+ branch: upstream.slice(separator + 1),
206
+ };
207
+ }
208
+ catch {
209
+ return undefined;
189
210
  }
190
211
  }
212
+ function formatPromptSync(promptSync) {
213
+ if (!promptSync) {
214
+ return 'prompt sync: dry-run';
215
+ }
216
+ const line = `prompt sync: ${promptSync.installed.length} installed, ${promptSync.updated.length} updated, ${promptSync.preserved.length} preserved, ${promptSync.conflicts.length} conflict`;
217
+ if (promptSync.conflicts.length === 0) {
218
+ return line;
219
+ }
220
+ return [
221
+ line,
222
+ `prompt conflicts: ${promptSync.conflicts.join(', ')}`,
223
+ ...promptConflictGuidance('codex-orchestrator setup'),
224
+ ].join('\n');
225
+ }
191
226
  function readExistingString(config, section, key) {
192
227
  const sectionValue = config?.[section];
193
228
  if (typeof sectionValue !== 'object' || sectionValue === null || Array.isArray(sectionValue)) {
@@ -1 +1 @@
1
- {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../../src/setup/setup-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../../src/setup/setup-command.ts"],"names":[],"mappings":"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"}
package/docs/deep-dive.md CHANGED
@@ -250,7 +250,11 @@ the configured minimum number of screenshots, the runner reports a warning.
250
250
 
251
251
  For Android UI work, the implementation prompt uses device-backed proof through
252
252
  `adb` or an emulator. Missing Android tooling or no usable device is reported as
253
- a concrete warning instead of a release blocker by itself.
253
+ a concrete warning instead of a release blocker by itself. Native Android proof
254
+ uses the project Gradle wrapper with a writable Gradle cache. Flutter SDK cache
255
+ recovery applies only to Flutter projects and only through a preconfigured
256
+ writable SDK path in `CODEX_ORCHESTRATOR_FLUTTER_ROOT`. Native iOS proof uses
257
+ Xcode simulator/device tooling with a writable DerivedData path.
254
258
 
255
259
  ## Loop Policy
256
260
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-orchestrator",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "description": "Reusable GitHub Issues runner for Codex.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -54,8 +54,19 @@ For Android mobile app UI work, use device-backed proof instead of Playwright:
54
54
  2. Prefer a connected non-emulator device serial and set `export ANDROID_SERIAL=<serial>`.
55
55
  3. If no device exists, run `emulator -list-avds`, start an AVD in a separate shell with `emulator -avd <avd-name>`, and wait with `adb wait-for-device`.
56
56
  4. After selecting the adb target, use Test Android Apps skills when available.
57
- 5. Do not use Playwright as the primary proof path for Android mobile app verification.
58
- 6. If Test Android Apps cannot be enabled, or no usable Android device or emulator is available, report a warning/skipped check with the concrete plugin or adb/emulator reason and proceed only if repo policy allows it.
57
+ 5. For native Android projects, use the project Gradle wrapper (`./gradlew`) with a writable `GRADLE_USER_HOME`, build the relevant debug APK, then install and launch it through adb on the selected target.
58
+ 6. For Flutter Android projects only, start Flutter rebuild/install with the detected Flutter SDK and writable `PUB_CACHE` and `GRADLE_USER_HOME` directories. If rebuild/install fails because the SDK cache is read-only, retry only when `CODEX_ORCHESTRATOR_FLUTTER_ROOT` points to a preconfigured writable Flutter SDK: set `FLUTTER_ROOT` to that path, prepend `$FLUTTER_ROOT/bin` to `PATH`, run `flutter precache --android`, then rebuild/install again. If no writable Flutter SDK is configured, report the concrete SDK cache permission error.
59
+ 7. Do not use Playwright as the primary proof path for Android mobile app verification.
60
+ 8. If Test Android Apps cannot be enabled, or no usable Android device or emulator is available, report a warning/skipped check with the concrete plugin or adb/emulator reason and proceed only if repo policy allows it.
61
+
62
+ For native iOS app UI work, use simulator- or device-backed proof instead of Playwright:
63
+
64
+ 1. Run `xcrun simctl list devices available`.
65
+ 2. Choose an available simulator when no physical device is provided.
66
+ 3. Build with `xcodebuild` using a writable `-derivedDataPath`.
67
+ 4. Install and launch with `xcrun simctl install` and `xcrun simctl launch`.
68
+ 5. Do not use Android or Flutter proof steps for native iOS projects unless the repository is explicitly a Flutter project targeting iOS.
69
+ 6. If no usable iOS simulator/device or Xcode tooling is available, report a warning/skipped check with the concrete xcodebuild/simctl reason and proceed only if repo policy allows it.
59
70
 
60
71
  ## Stop Conditions
61
72