oh-my-codex 0.18.12 → 0.18.13

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 (95) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +7 -0
  4. package/dist/autopilot/__tests__/ralplan-gate.test.js +621 -0
  5. package/dist/autopilot/__tests__/ralplan-gate.test.js.map +1 -1
  6. package/dist/autopilot/ralplan-gate.d.ts.map +1 -1
  7. package/dist/autopilot/ralplan-gate.js +32 -18
  8. package/dist/autopilot/ralplan-gate.js.map +1 -1
  9. package/dist/cli/__tests__/doctor-invalid-config.test.js +35 -0
  10. package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -1
  11. package/dist/cli/__tests__/index.test.js +54 -1
  12. package/dist/cli/__tests__/index.test.js.map +1 -1
  13. package/dist/cli/__tests__/resume.test.js +217 -1
  14. package/dist/cli/__tests__/resume.test.js.map +1 -1
  15. package/dist/cli/__tests__/session-search-help.test.js +3 -2
  16. package/dist/cli/__tests__/session-search-help.test.js.map +1 -1
  17. package/dist/cli/__tests__/session-search.test.js +64 -2
  18. package/dist/cli/__tests__/session-search.test.js.map +1 -1
  19. package/dist/cli/__tests__/setup-install-mode.test.js +6 -5
  20. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  21. package/dist/cli/__tests__/setup-prompts-overwrite.test.js +74 -0
  22. package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
  23. package/dist/cli/__tests__/setup-scope.test.js +45 -0
  24. package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
  25. package/dist/cli/__tests__/update.test.js +5 -2
  26. package/dist/cli/__tests__/update.test.js.map +1 -1
  27. package/dist/cli/doctor.d.ts.map +1 -1
  28. package/dist/cli/doctor.js +9 -1
  29. package/dist/cli/doctor.js.map +1 -1
  30. package/dist/cli/index.d.ts +9 -1
  31. package/dist/cli/index.d.ts.map +1 -1
  32. package/dist/cli/index.js +209 -7
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/cli/project-runtime-codex-homes.d.ts +6 -0
  35. package/dist/cli/project-runtime-codex-homes.d.ts.map +1 -0
  36. package/dist/cli/project-runtime-codex-homes.js +27 -0
  37. package/dist/cli/project-runtime-codex-homes.js.map +1 -0
  38. package/dist/cli/session-search.d.ts.map +1 -1
  39. package/dist/cli/session-search.js +8 -1
  40. package/dist/cli/session-search.js.map +1 -1
  41. package/dist/cli/setup.d.ts +1 -0
  42. package/dist/cli/setup.d.ts.map +1 -1
  43. package/dist/cli/setup.js +168 -4
  44. package/dist/cli/setup.js.map +1 -1
  45. package/dist/cli/update.d.ts.map +1 -1
  46. package/dist/cli/update.js +2 -0
  47. package/dist/cli/update.js.map +1 -1
  48. package/dist/config/__tests__/codex-hooks.test.js +38 -24
  49. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  50. package/dist/config/codex-hooks.d.ts +6 -0
  51. package/dist/config/codex-hooks.d.ts.map +1 -1
  52. package/dist/config/codex-hooks.js +34 -49
  53. package/dist/config/codex-hooks.js.map +1 -1
  54. package/dist/pipeline/__tests__/orchestrator.test.js +125 -0
  55. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  56. package/dist/pipeline/__tests__/stages.test.js +109 -0
  57. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  58. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  59. package/dist/pipeline/orchestrator.js +7 -0
  60. package/dist/pipeline/orchestrator.js.map +1 -1
  61. package/dist/ralplan/__tests__/consensus-gate.test.js +440 -1
  62. package/dist/ralplan/__tests__/consensus-gate.test.js.map +1 -1
  63. package/dist/ralplan/consensus-gate.d.ts +2 -0
  64. package/dist/ralplan/consensus-gate.d.ts.map +1 -1
  65. package/dist/ralplan/consensus-gate.js +173 -71
  66. package/dist/ralplan/consensus-gate.js.map +1 -1
  67. package/dist/scripts/__tests__/codex-native-hook.test.js +273 -0
  68. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  69. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  70. package/dist/scripts/codex-native-hook.js +56 -12
  71. package/dist/scripts/codex-native-hook.js.map +1 -1
  72. package/dist/scripts/codex-native-pre-post.d.ts +1 -0
  73. package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
  74. package/dist/scripts/codex-native-pre-post.js +130 -0
  75. package/dist/scripts/codex-native-pre-post.js.map +1 -1
  76. package/dist/session-history/__tests__/search.test.js +166 -0
  77. package/dist/session-history/__tests__/search.test.js.map +1 -1
  78. package/dist/session-history/search.d.ts +7 -0
  79. package/dist/session-history/search.d.ts.map +1 -1
  80. package/dist/session-history/search.js +83 -24
  81. package/dist/session-history/search.js.map +1 -1
  82. package/dist/sidecar/__tests__/collector.test.js +60 -0
  83. package/dist/sidecar/__tests__/collector.test.js.map +1 -1
  84. package/dist/sidecar/collector.d.ts.map +1 -1
  85. package/dist/sidecar/collector.js +3 -6
  86. package/dist/sidecar/collector.js.map +1 -1
  87. package/dist/verification/__tests__/ci-rust-gates.test.js +4 -2
  88. package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
  89. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js +71 -3
  90. package/dist/verification/__tests__/dev-merge-issue-close-workflow.test.js.map +1 -1
  91. package/package.json +1 -1
  92. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  93. package/src/scripts/__tests__/codex-native-hook.test.ts +363 -0
  94. package/src/scripts/codex-native-hook.ts +68 -18
  95. package/src/scripts/codex-native-pre-post.ts +137 -0
@@ -4,6 +4,7 @@ import { mkdir, mkdtemp, rm, readFile, writeFile } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { tmpdir } from 'os';
6
6
  import { existsSync } from 'fs';
7
+ import { readModeState } from '../../modes/base.js';
7
8
  import { runPipeline, canResumePipeline, readPipelineState, cancelPipeline, createAutopilotPipelineConfig, createStrictAutopilotStages, } from '../orchestrator.js';
8
9
  import { createRalplanStage } from '../stages/ralplan.js';
9
10
  // ---------------------------------------------------------------------------
@@ -199,6 +200,70 @@ describe('Pipeline Orchestrator', () => {
199
200
  assert.equal(Object.prototype.hasOwnProperty.call(ext?.handoff_artifacts ?? {}, 'code-review'), false);
200
201
  assert.equal(Object.prototype.hasOwnProperty.call(ext?.handoff_artifacts ?? {}, 'review_verdict'), false);
201
202
  });
203
+ it('threads return-loop review cycle into the rerun ralplan stage context', async () => {
204
+ const plansDir = join(tempDir, '.omx', 'plans');
205
+ await mkdir(plansDir, { recursive: true });
206
+ await writeFile(join(plansDir, 'prd-stale.md'), '# Plan\n');
207
+ await writeFile(join(plansDir, 'test-spec-stale.md'), '# Test Spec\n');
208
+ let ralplanRuns = 0;
209
+ const structuralRalplan = createRalplanStage();
210
+ const staleRalplanArtifacts = {
211
+ ralplanConsensusGate: {
212
+ complete: true,
213
+ sequence: ['architect-review', 'critic-review'],
214
+ ralplan_architect_review: {
215
+ agent_role: 'architect',
216
+ verdict: 'approve',
217
+ completed_at: '2026-06-12T09:00:00.000Z',
218
+ },
219
+ ralplan_critic_review: {
220
+ agent_role: 'critic',
221
+ verdict: 'approve',
222
+ completed_at: '2026-06-12T09:05:00.000Z',
223
+ },
224
+ },
225
+ };
226
+ const ralplanStage = {
227
+ name: 'ralplan',
228
+ async run(ctx) {
229
+ ralplanRuns += 1;
230
+ if (ralplanRuns === 1) {
231
+ return {
232
+ status: 'completed',
233
+ artifacts: staleRalplanArtifacts,
234
+ duration_ms: 0,
235
+ };
236
+ }
237
+ assert.equal(ctx.artifacts.current_phase, 'ralplan');
238
+ assert.equal(ctx.artifacts.return_to_ralplan_reason, 'Review requested a plan update.');
239
+ assert.equal(ctx.artifacts.review_cycle, 1);
240
+ return structuralRalplan.run(ctx);
241
+ },
242
+ };
243
+ const result = await runPipeline({
244
+ name: 'review-loop-stale-ralplan-test',
245
+ task: 'reject stale ralplan consensus after review loopback',
246
+ stages: [
247
+ ralplanStage,
248
+ makeStage('code-review', {
249
+ artifacts: {
250
+ review_verdict: {
251
+ recommendation: 'REQUEST CHANGES',
252
+ architectural_status: 'CLEAR',
253
+ clean: false,
254
+ },
255
+ return_to_ralplan_reason: 'Review requested a plan update.',
256
+ },
257
+ }),
258
+ ],
259
+ cwd: tempDir,
260
+ maxRalphIterations: 3,
261
+ });
262
+ assert.equal(result.status, 'failed');
263
+ assert.equal(result.failedStage, 'ralplan');
264
+ assert.equal(ralplanRuns, 2);
265
+ assert.equal(result.stageResults.ralplan.error, 'ralplan_consensus_evidence_missing');
266
+ });
202
267
  it('returns to ralplan rather than deep-interview after default quality-gate failures', async () => {
203
268
  const order = [];
204
269
  let qaRuns = 0;
@@ -286,6 +351,66 @@ describe('Pipeline Orchestrator', () => {
286
351
  assert.equal(result.failedStage, 'code-review');
287
352
  assert.match(result.error ?? '', /Autopilot quality gates were not clean after 2 cycle/);
288
353
  });
354
+ it('final completion write replaces stale BLOCK verdict state with clean artifacts', async () => {
355
+ let reviewRuns = 0;
356
+ const stages = [
357
+ makeStage('ralplan', { artifacts: { plan: 'approved' } }),
358
+ makeStage('ultragoal', { artifacts: { implemented: true } }),
359
+ {
360
+ name: 'code-review',
361
+ async run() {
362
+ reviewRuns += 1;
363
+ const clean = reviewRuns > 1;
364
+ return {
365
+ status: 'completed',
366
+ artifacts: {
367
+ review_verdict: {
368
+ stage: 'code-review',
369
+ recommendation: clean ? 'APPROVE' : 'REQUEST CHANGES',
370
+ architectural_status: clean ? 'CLEAR' : 'BLOCK',
371
+ clean,
372
+ artifact_path: clean ? '.omx/reviews/final-clean.json' : '.omx/reviews/stale-block.json',
373
+ },
374
+ return_to_ralplan_reason: clean ? null : 'Stale BLOCK must be replaced after clean review.',
375
+ },
376
+ duration_ms: 0,
377
+ };
378
+ },
379
+ },
380
+ makeStage('ultraqa', {
381
+ artifacts: {
382
+ qa_verdict: {
383
+ stage: 'ultraqa',
384
+ clean: true,
385
+ skipped: false,
386
+ url: 'https://github.com/Yeachan-Heo/oh-my-codex/actions/runs/42',
387
+ },
388
+ return_to_ralplan_reason: null,
389
+ },
390
+ }),
391
+ ];
392
+ const result = await runPipeline({
393
+ name: 'stale-block-finalization',
394
+ task: 'finalization replaces stale blockers',
395
+ stages,
396
+ cwd: tempDir,
397
+ });
398
+ assert.equal(result.status, 'completed');
399
+ assert.equal(reviewRuns, 2);
400
+ const ext = await readPipelineState(tempDir);
401
+ const modeState = await readModeState('autopilot', tempDir);
402
+ assert.equal(modeState?.active, false);
403
+ assert.equal(modeState?.current_phase, 'complete');
404
+ assert.equal(ext?.review_verdict?.recommendation, 'APPROVE');
405
+ assert.equal(ext?.review_verdict?.architectural_status, 'CLEAR');
406
+ assert.equal(ext?.review_verdict?.clean, true);
407
+ assert.equal(ext?.qa_verdict?.clean, true);
408
+ assert.equal(ext?.return_to_ralplan_reason, null);
409
+ assert.ok(ext?.handoff_artifacts?.code_review, 'clean code-review artifact should be preserved in terminal state');
410
+ assert.ok(ext?.handoff_artifacts?.ultraqa, 'clean ultraqa artifact should be preserved in terminal state');
411
+ assert.equal(ext?.pipeline_stage_results?.['code-review'] !== undefined, true);
412
+ assert.equal(ext?.pipeline_stage_results?.ultraqa !== undefined, true);
413
+ });
289
414
  it('passes artifacts between stages', async () => {
290
415
  let receivedArtifacts = {};
291
416
  const stages = [
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../../src/pipeline/__tests__/orchestrator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../../src/pipeline/__tests__/orchestrator.test.ts"],"names":[],"mappings":"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"}
@@ -589,6 +589,115 @@ describe('RALPLAN Stage', () => {
589
589
  },
590
590
  })), false);
591
591
  });
592
+ it('run rejects stale nested ralplan artifacts when parent return-to-ralplan context is present', async () => {
593
+ const plansDir = join(tempDir, '.omx', 'plans');
594
+ await mkdir(plansDir, { recursive: true });
595
+ await writeFile(join(plansDir, 'prd-my-feature.md'), '# Plan\n');
596
+ await writeFile(join(plansDir, 'test-spec-my-feature.md'), '# Test Spec\n');
597
+ const stage = createRalplanStage();
598
+ const result = await stage.run(makeCtx({
599
+ artifacts: {
600
+ return_to_ralplan_reason: 'Code review requested a plan update.',
601
+ review_cycle: 1,
602
+ ralplan: {
603
+ ralplanConsensusGate: {
604
+ complete: true,
605
+ sequence: ['architect-review', 'critic-review'],
606
+ ralplan_architect_review: {
607
+ agent_role: 'architect',
608
+ verdict: 'approve',
609
+ completed_at: '2026-06-12T09:00:00.000Z',
610
+ },
611
+ ralplan_critic_review: {
612
+ agent_role: 'critic',
613
+ verdict: 'approve',
614
+ completed_at: '2026-06-12T09:05:00.000Z',
615
+ },
616
+ },
617
+ },
618
+ },
619
+ }));
620
+ const artifacts = result.artifacts;
621
+ const gate = artifacts.ralplanConsensusGate;
622
+ assert.equal(result.status, 'failed');
623
+ assert.equal(result.error, 'ralplan_consensus_evidence_missing');
624
+ assert.equal(gate.complete, false);
625
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
626
+ });
627
+ it('run accepts nested ralplan artifacts when review_cycle explicitly advances past parent loopback', async () => {
628
+ const plansDir = join(tempDir, '.omx', 'plans');
629
+ await mkdir(plansDir, { recursive: true });
630
+ await writeFile(join(plansDir, 'prd-my-feature.md'), '# Plan\n');
631
+ await writeFile(join(plansDir, 'test-spec-my-feature.md'), '# Test Spec\n');
632
+ const stage = createRalplanStage();
633
+ const result = await stage.run(makeCtx({
634
+ artifacts: {
635
+ return_to_ralplan_reason: 'Code review requested a plan update.',
636
+ review_cycle: 1,
637
+ ralplan: {
638
+ review_cycle: 2,
639
+ ralplanConsensusGate: {
640
+ complete: true,
641
+ sequence: ['architect-review', 'critic-review'],
642
+ ralplan_architect_review: {
643
+ agent_role: 'architect',
644
+ verdict: 'approve',
645
+ review_cycle: 2,
646
+ completed_at: '2026-06-12T10:00:00.000Z',
647
+ },
648
+ ralplan_critic_review: {
649
+ agent_role: 'critic',
650
+ verdict: 'approve',
651
+ review_cycle: 2,
652
+ completed_at: '2026-06-12T10:05:00.000Z',
653
+ },
654
+ },
655
+ },
656
+ },
657
+ }));
658
+ const artifacts = result.artifacts;
659
+ const gate = artifacts.ralplanConsensusGate;
660
+ assert.equal(result.status, 'completed');
661
+ assert.equal(result.error, undefined);
662
+ assert.equal(gate.complete, true);
663
+ assert.equal(gate.blockedReason, null);
664
+ });
665
+ it('run rejects nested ralplan artifacts when only the container review_cycle advances', async () => {
666
+ const plansDir = join(tempDir, '.omx', 'plans');
667
+ await mkdir(plansDir, { recursive: true });
668
+ await writeFile(join(plansDir, 'prd-my-feature.md'), '# Plan\n');
669
+ await writeFile(join(plansDir, 'test-spec-my-feature.md'), '# Test Spec\n');
670
+ const stage = createRalplanStage();
671
+ const result = await stage.run(makeCtx({
672
+ artifacts: {
673
+ return_to_ralplan_reason: 'Code review requested a plan update.',
674
+ review_cycle: 1,
675
+ ralplan: {
676
+ review_cycle: 2,
677
+ ralplanConsensusGate: {
678
+ complete: true,
679
+ sequence: ['architect-review', 'critic-review'],
680
+ ralplan_architect_review: {
681
+ agent_role: 'architect',
682
+ verdict: 'approve',
683
+ completed_at: '2026-06-12T10:00:00.000Z',
684
+ },
685
+ ralplan_critic_review: {
686
+ agent_role: 'critic',
687
+ verdict: 'approve',
688
+ completed_at: '2026-06-12T10:05:00.000Z',
689
+ },
690
+ },
691
+ },
692
+ },
693
+ }));
694
+ const artifacts = result.artifacts;
695
+ const gate = artifacts.ralplanConsensusGate;
696
+ assert.equal(result.status, 'failed');
697
+ assert.equal(result.error, 'ralplan_consensus_evidence_missing');
698
+ assert.equal(gate.complete, false);
699
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
700
+ });
592
701
  it('canSkip returns false when nested code-review artifacts are non-clean', async () => {
593
702
  const plansDir = join(tempDir, '.omx', 'plans');
594
703
  await mkdir(plansDir, { recursive: true });