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
@@ -5,8 +5,92 @@ import { join } from 'node:path';
5
5
  import { tmpdir } from 'node:os';
6
6
  import { getBaseStateDir } from '../../state/paths.js';
7
7
  import { subagentTrackingPath } from '../../subagents/tracker.js';
8
- import { buildRalplanConsensusGateForCwd } from '../consensus-gate.js';
8
+ import { buildRalplanConsensusGateForCwd, buildRalplanConsensusGateFromSources } from '../consensus-gate.js';
9
9
  describe('ralplan consensus gate state roots', () => {
10
+ it('rejects invalid complete consensus even when it appears after a valid source', () => {
11
+ const validConsensus = {
12
+ ralplan_consensus_gate: {
13
+ complete: true,
14
+ sequence: ['architect-review', 'critic-review'],
15
+ ralplan_architect_review: {
16
+ agent_role: 'architect',
17
+ verdict: 'approve',
18
+ completed_at: '2026-06-12T10:00:00.000Z',
19
+ },
20
+ ralplan_critic_review: {
21
+ agent_role: 'critic',
22
+ verdict: 'approve',
23
+ completed_at: '2026-06-12T10:05:00.000Z',
24
+ },
25
+ },
26
+ };
27
+ const invalidConsensus = {
28
+ ralplan_consensus_gate: {
29
+ complete: true,
30
+ sequence: ['architect-review', 'critic-review'],
31
+ ralplan_architect_review: {
32
+ agent_role: 'architect',
33
+ verdict: 'iterate',
34
+ completed_at: '2026-06-12T10:10:00.000Z',
35
+ },
36
+ ralplan_critic_review: {
37
+ agent_role: 'critic',
38
+ verdict: 'approve',
39
+ completed_at: '2026-06-12T10:15:00.000Z',
40
+ },
41
+ },
42
+ };
43
+ const gate = buildRalplanConsensusGateFromSources([
44
+ { source: 'older-valid-source', value: validConsensus },
45
+ { source: 'later-invalid-source', value: invalidConsensus },
46
+ ]);
47
+ assert.equal(gate.complete, false);
48
+ assert.equal(gate.source, 'later-invalid-source');
49
+ assert.equal(gate.blockedReason, 'non_approving_ralplan_consensus_review');
50
+ assert.match(gate.blockedDetails?.join(' ') ?? '', /architect.*verdict=iterate/i);
51
+ });
52
+ it('rejects malformed complete consensus even when it appears after a valid source', () => {
53
+ const validConsensus = {
54
+ ralplan_consensus_gate: {
55
+ complete: true,
56
+ sequence: ['architect-review', 'critic-review'],
57
+ ralplan_architect_review: {
58
+ agent_role: 'architect',
59
+ verdict: 'approve',
60
+ completed_at: '2026-06-12T10:00:00.000Z',
61
+ },
62
+ ralplan_critic_review: {
63
+ agent_role: 'critic',
64
+ verdict: 'approve',
65
+ completed_at: '2026-06-12T10:05:00.000Z',
66
+ },
67
+ },
68
+ };
69
+ const malformedConsensus = {
70
+ ralplan_consensus_gate: {
71
+ complete: true,
72
+ sequence: ['critic-review', 'architect-review'],
73
+ ralplan_architect_review: {
74
+ agent_role: 'architect',
75
+ verdict: 'approve',
76
+ completed_at: '2026-06-12T10:10:00.000Z',
77
+ },
78
+ ralplan_critic_review: {
79
+ agent_role: 'critic',
80
+ verdict: 'approve',
81
+ completed_at: '2026-06-12T10:15:00.000Z',
82
+ },
83
+ },
84
+ };
85
+ const gate = buildRalplanConsensusGateFromSources([
86
+ { source: 'older-valid-source', value: validConsensus },
87
+ { source: 'later-malformed-source', value: malformedConsensus },
88
+ ]);
89
+ assert.equal(gate.complete, false);
90
+ assert.equal(gate.source, 'later-malformed-source');
91
+ assert.equal(gate.blockedReason, 'non_approving_ralplan_consensus_review');
92
+ assert.match(gate.blockedDetails?.join(' ') ?? '', /sequence is not architect-review then critic-review/i);
93
+ });
10
94
  it('ignores ambient root consensus unless the ambient session is bound to this cwd', async () => {
11
95
  const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-local-'));
12
96
  const ambientRoot = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-ambient-'));
@@ -156,6 +240,104 @@ describe('ralplan consensus gate state roots', () => {
156
240
  await rm(boxedRoot, { recursive: true, force: true });
157
241
  }
158
242
  });
243
+ it('accepts session-scoped tracker-backed reviews without an explicit sessionId option', async () => {
244
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-discovered-session-'));
245
+ const boxedRoot = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-discovered-root-'));
246
+ const previousOmxRoot = process.env.OMX_ROOT;
247
+ const previousOmxStateRoot = process.env.OMX_STATE_ROOT;
248
+ const previousOmxTeamStateRoot = process.env.OMX_TEAM_STATE_ROOT;
249
+ const sessionId = 'sess-discovered-consensus';
250
+ try {
251
+ delete process.env.OMX_ROOT;
252
+ delete process.env.OMX_TEAM_STATE_ROOT;
253
+ process.env.OMX_STATE_ROOT = boxedRoot;
254
+ const baseStateDir = getBaseStateDir(cwd);
255
+ const sessionDir = join(baseStateDir, 'sessions', sessionId);
256
+ await mkdir(sessionDir, { recursive: true });
257
+ await writeFile(join(baseStateDir, 'session.json'), JSON.stringify({
258
+ session_id: sessionId,
259
+ native_session_id: 'thread-leader',
260
+ cwd,
261
+ }, null, 2));
262
+ await writeFile(subagentTrackingPath(cwd), JSON.stringify({
263
+ schemaVersion: 1,
264
+ sessions: {
265
+ [sessionId]: {
266
+ session_id: sessionId,
267
+ leader_thread_id: 'thread-leader',
268
+ updated_at: '2026-06-12T10:03:00.000Z',
269
+ threads: {
270
+ 'thread-leader': {
271
+ thread_id: 'thread-leader',
272
+ kind: 'leader',
273
+ first_seen_at: '2026-06-12T09:59:00.000Z',
274
+ last_seen_at: '2026-06-12T09:59:00.000Z',
275
+ turn_count: 1,
276
+ },
277
+ 'thread-architect': {
278
+ thread_id: 'thread-architect',
279
+ kind: 'subagent',
280
+ first_seen_at: '2026-06-12T10:02:00.000Z',
281
+ last_seen_at: '2026-06-12T10:02:00.000Z',
282
+ completed_at: '2026-06-12T10:02:00.000Z',
283
+ turn_count: 1,
284
+ },
285
+ 'thread-critic': {
286
+ thread_id: 'thread-critic',
287
+ kind: 'subagent',
288
+ first_seen_at: '2026-06-12T10:03:00.000Z',
289
+ last_seen_at: '2026-06-12T10:03:00.000Z',
290
+ completed_at: '2026-06-12T10:03:00.000Z',
291
+ turn_count: 1,
292
+ },
293
+ },
294
+ },
295
+ },
296
+ }, null, 2));
297
+ await writeFile(join(sessionDir, 'ralplan-state.json'), JSON.stringify({
298
+ ralplan_consensus_gate: {
299
+ complete: true,
300
+ sequence: ['architect-review', 'critic-review'],
301
+ ralplan_architect_review: {
302
+ agent_role: 'architect',
303
+ provenance_kind: 'native_subagent',
304
+ verdict: 'approve',
305
+ thread_id: 'thread-architect',
306
+ completed_at: '2026-06-12T10:02:00.000Z',
307
+ },
308
+ ralplan_critic_review: {
309
+ agent_role: 'critic',
310
+ provenance_kind: 'native_subagent',
311
+ verdict: 'approve',
312
+ thread_id: 'thread-critic',
313
+ completed_at: '2026-06-12T10:03:00.000Z',
314
+ },
315
+ },
316
+ }, null, 2));
317
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
318
+ requireNativeSubagents: true,
319
+ });
320
+ assert.equal(gate.complete, true);
321
+ assert.equal(gate.blockedReason, null);
322
+ assert.match(String(gate.source), new RegExp(`${sessionId}/ralplan-state\\.json$`));
323
+ }
324
+ finally {
325
+ if (typeof previousOmxRoot === 'string')
326
+ process.env.OMX_ROOT = previousOmxRoot;
327
+ else
328
+ delete process.env.OMX_ROOT;
329
+ if (typeof previousOmxStateRoot === 'string')
330
+ process.env.OMX_STATE_ROOT = previousOmxStateRoot;
331
+ else
332
+ delete process.env.OMX_STATE_ROOT;
333
+ if (typeof previousOmxTeamStateRoot === 'string')
334
+ process.env.OMX_TEAM_STATE_ROOT = previousOmxTeamStateRoot;
335
+ else
336
+ delete process.env.OMX_TEAM_STATE_ROOT;
337
+ await rm(cwd, { recursive: true, force: true });
338
+ await rm(boxedRoot, { recursive: true, force: true });
339
+ }
340
+ });
159
341
  it('rejects stale top-level handoff consensus during a return-to-ralplan cycle', async () => {
160
342
  const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-stale-'));
161
343
  try {
@@ -188,5 +370,262 @@ describe('ralplan consensus gate state roots', () => {
188
370
  await rm(cwd, { recursive: true, force: true });
189
371
  }
190
372
  });
373
+ it('rejects stale local ralplan state consensus during a return-to-ralplan cycle', async () => {
374
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-stale-local-state-'));
375
+ try {
376
+ const stateDir = join(cwd, '.omx', 'state');
377
+ await mkdir(stateDir, { recursive: true });
378
+ await writeFile(join(stateDir, 'ralplan-state.json'), JSON.stringify({
379
+ current_phase: 'complete',
380
+ ralplan_consensus_gate: {
381
+ complete: true,
382
+ sequence: ['architect-review', 'critic-review'],
383
+ ralplan_architect_review: {
384
+ agent_role: 'architect',
385
+ verdict: 'approve',
386
+ completed_at: '2026-06-11T16:00:00.000Z',
387
+ },
388
+ ralplan_critic_review: {
389
+ agent_role: 'critic',
390
+ verdict: 'approve',
391
+ completed_at: '2026-06-11T16:05:00.000Z',
392
+ },
393
+ },
394
+ }, null, 2));
395
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
396
+ artifacts: {
397
+ current_phase: 'ralplan',
398
+ return_to_ralplan_reason: 'Code review requested changes.',
399
+ review_cycle: 1,
400
+ },
401
+ });
402
+ assert.equal(gate.complete, false);
403
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
404
+ }
405
+ finally {
406
+ await rm(cwd, { recursive: true, force: true });
407
+ }
408
+ });
409
+ it('rejects local nested handoff consensus when only the local container review_cycle advances', async () => {
410
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-local-container-only-'));
411
+ try {
412
+ const stateDir = join(cwd, '.omx', 'state');
413
+ await mkdir(stateDir, { recursive: true });
414
+ await writeFile(join(stateDir, 'ralplan-state.json'), JSON.stringify({
415
+ current_phase: 'complete',
416
+ review_cycle: 2,
417
+ handoff_artifacts: {
418
+ ralplan_consensus_gate: {
419
+ complete: true,
420
+ sequence: ['architect-review', 'critic-review'],
421
+ ralplan_architect_review: {
422
+ agent_role: 'architect',
423
+ verdict: 'approve',
424
+ completed_at: '2026-06-12T10:00:00.000Z',
425
+ },
426
+ ralplan_critic_review: {
427
+ agent_role: 'critic',
428
+ verdict: 'approve',
429
+ completed_at: '2026-06-12T10:05:00.000Z',
430
+ },
431
+ },
432
+ },
433
+ }, null, 2));
434
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
435
+ artifacts: {
436
+ current_phase: 'ralplan',
437
+ return_to_ralplan_reason: 'Code review requested changes.',
438
+ review_cycle: 1,
439
+ },
440
+ });
441
+ assert.equal(gate.complete, false);
442
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
443
+ }
444
+ finally {
445
+ await rm(cwd, { recursive: true, force: true });
446
+ }
447
+ });
448
+ it('accepts local nested handoff consensus when both reviews carry the advanced review_cycle', async () => {
449
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-local-review-fresh-'));
450
+ try {
451
+ const stateDir = join(cwd, '.omx', 'state');
452
+ await mkdir(stateDir, { recursive: true });
453
+ await writeFile(join(stateDir, 'ralplan-state.json'), JSON.stringify({
454
+ current_phase: 'complete',
455
+ review_cycle: 2,
456
+ handoff_artifacts: {
457
+ ralplan_consensus_gate: {
458
+ complete: true,
459
+ sequence: ['architect-review', 'critic-review'],
460
+ ralplan_architect_review: {
461
+ agent_role: 'architect',
462
+ verdict: 'approve',
463
+ review_cycle: 2,
464
+ completed_at: '2026-06-12T10:00:00.000Z',
465
+ },
466
+ ralplan_critic_review: {
467
+ agent_role: 'critic',
468
+ verdict: 'approve',
469
+ review_cycle: 2,
470
+ completed_at: '2026-06-12T10:05:00.000Z',
471
+ },
472
+ },
473
+ },
474
+ }, null, 2));
475
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
476
+ artifacts: {
477
+ current_phase: 'ralplan',
478
+ return_to_ralplan_reason: 'Code review requested changes.',
479
+ review_cycle: 1,
480
+ },
481
+ });
482
+ assert.equal(gate.complete, true);
483
+ assert.equal(gate.blockedReason, null);
484
+ }
485
+ finally {
486
+ await rm(cwd, { recursive: true, force: true });
487
+ }
488
+ });
489
+ it('rejects local state.handoff_artifacts consensus when only the local container review_cycle advances', async () => {
490
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-local-state-container-only-'));
491
+ try {
492
+ const stateDir = join(cwd, '.omx', 'state');
493
+ await mkdir(stateDir, { recursive: true });
494
+ await writeFile(join(stateDir, 'ralplan-state.json'), JSON.stringify({
495
+ current_phase: 'complete',
496
+ review_cycle: 2,
497
+ state: {
498
+ handoff_artifacts: {
499
+ ralplan_consensus_gate: {
500
+ complete: true,
501
+ sequence: ['architect-review', 'critic-review'],
502
+ ralplan_architect_review: {
503
+ agent_role: 'architect',
504
+ verdict: 'approve',
505
+ completed_at: '2026-06-12T10:00:00.000Z',
506
+ },
507
+ ralplan_critic_review: {
508
+ agent_role: 'critic',
509
+ verdict: 'approve',
510
+ completed_at: '2026-06-12T10:05:00.000Z',
511
+ },
512
+ },
513
+ },
514
+ },
515
+ }, null, 2));
516
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
517
+ artifacts: {
518
+ current_phase: 'ralplan',
519
+ return_to_ralplan_reason: 'Code review requested changes.',
520
+ review_cycle: 1,
521
+ },
522
+ });
523
+ assert.equal(gate.complete, false);
524
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
525
+ }
526
+ finally {
527
+ await rm(cwd, { recursive: true, force: true });
528
+ }
529
+ });
530
+ it('accepts local state.handoff_artifacts consensus when nested state and both reviews carry the advanced review_cycle', async () => {
531
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-local-state-review-fresh-'));
532
+ try {
533
+ const stateDir = join(cwd, '.omx', 'state');
534
+ await mkdir(stateDir, { recursive: true });
535
+ await writeFile(join(stateDir, 'ralplan-state.json'), JSON.stringify({
536
+ current_phase: 'complete',
537
+ state: {
538
+ current_phase: 'ralplan',
539
+ return_to_ralplan_reason: 'Code review requested changes.',
540
+ review_cycle: 1,
541
+ handoff_artifacts: {
542
+ review_cycle: 2,
543
+ ralplan_consensus_gate: {
544
+ complete: true,
545
+ sequence: ['architect-review', 'critic-review'],
546
+ ralplan_architect_review: {
547
+ agent_role: 'architect',
548
+ verdict: 'approve',
549
+ review_cycle: 2,
550
+ completed_at: '2026-06-12T10:00:00.000Z',
551
+ },
552
+ ralplan_critic_review: {
553
+ agent_role: 'critic',
554
+ verdict: 'approve',
555
+ review_cycle: 2,
556
+ completed_at: '2026-06-12T10:05:00.000Z',
557
+ },
558
+ },
559
+ },
560
+ },
561
+ }, null, 2));
562
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
563
+ artifacts: {
564
+ current_phase: 'ralplan',
565
+ return_to_ralplan_reason: 'Code review requested changes.',
566
+ review_cycle: 1,
567
+ },
568
+ });
569
+ assert.equal(gate.complete, true);
570
+ assert.equal(gate.blockedReason, null);
571
+ }
572
+ finally {
573
+ await rm(cwd, { recursive: true, force: true });
574
+ }
575
+ });
576
+ it('rejects stale review history consensus during a return-to-ralplan cycle', async () => {
577
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-stale-history-'));
578
+ try {
579
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
580
+ artifacts: {
581
+ current_phase: 'ralplan',
582
+ return_to_ralplan_reason: 'Code review requested changes.',
583
+ review_history: [{
584
+ ralplan_architect_review: {
585
+ agent_role: 'architect',
586
+ verdict: 'approve',
587
+ completed_at: '2026-06-11T16:00:00.000Z',
588
+ },
589
+ ralplan_critic_review: {
590
+ agent_role: 'critic',
591
+ verdict: 'approve',
592
+ completed_at: '2026-06-11T16:05:00.000Z',
593
+ },
594
+ }],
595
+ },
596
+ });
597
+ assert.equal(gate.complete, false);
598
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
599
+ }
600
+ finally {
601
+ await rm(cwd, { recursive: true, force: true });
602
+ }
603
+ });
604
+ it('rejects stale review array consensus during a return-to-ralplan cycle', async () => {
605
+ const cwd = await mkdtemp(join(tmpdir(), 'omx-ralplan-consensus-stale-arrays-'));
606
+ try {
607
+ const gate = buildRalplanConsensusGateForCwd(cwd, {
608
+ artifacts: {
609
+ current_phase: 'ralplan',
610
+ return_to_ralplan_reason: 'Code review requested changes.',
611
+ architectReviews: [{
612
+ agent_role: 'architect',
613
+ verdict: 'approve',
614
+ completed_at: '2026-06-11T16:00:00.000Z',
615
+ }],
616
+ criticReviews: [{
617
+ agent_role: 'critic',
618
+ verdict: 'approve',
619
+ completed_at: '2026-06-11T16:05:00.000Z',
620
+ }],
621
+ },
622
+ });
623
+ assert.equal(gate.complete, false);
624
+ assert.equal(gate.blockedReason, 'missing_sequential_architect_then_critic_approval');
625
+ }
626
+ finally {
627
+ await rm(cwd, { recursive: true, force: true });
628
+ }
629
+ });
191
630
  });
192
631
  //# sourceMappingURL=consensus-gate.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-gate.test.js","sourceRoot":"","sources":["../../../src/ralplan/__tests__/consensus-gate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus-gate.test.js","sourceRoot":"","sources":["../../../src/ralplan/__tests__/consensus-gate.test.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface RalplanNativeSubagentConsensusOptions {
21
21
  export interface RalplanConsensusSource {
22
22
  source: string;
23
23
  value: unknown;
24
+ sessionId?: string;
24
25
  }
25
26
  export declare function buildRalplanConsensusGateFromSources(sources: RalplanConsensusSource[], options?: RalplanNativeSubagentConsensusOptions): RalplanConsensusGateEvidence;
26
27
  export declare function buildRalplanConsensusGateForCwd(cwd: string, options?: {
@@ -34,4 +35,5 @@ export declare function hasDurableRalplanConsensusEvidenceForCwd(cwd: string, op
34
35
  requireNativeSubagents?: boolean;
35
36
  }): boolean;
36
37
  export declare function readLocalRalplanConsensusStateCandidates(cwd: string, sessionId?: string): RalplanConsensusSource[];
38
+ export declare function withParentReturnToRalplanContext(value: unknown, parent: Record<string, unknown>): unknown;
37
39
  //# sourceMappingURL=consensus-gate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consensus-gate.d.ts","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iCAAiC;;;;CAIpC,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,OAAO,iCAAiC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE3F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAChD,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,6BAA6B,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,sBAAsB,EAAE,EACjC,OAAO,GAAE,qCAA0C,GAClD,4BAA4B,CA0E9B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1G,4BAA4B,CAY9B;AAED,wBAAgB,wCAAwC,CACtD,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1G,OAAO,CAET;AAED,wBAAgB,wCAAwC,CACtD,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,sBAAsB,EAAE,CAuB1B"}
1
+ {"version":3,"file":"consensus-gate.d.ts","sourceRoot":"","sources":["../../src/ralplan/consensus-gate.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iCAAiC;;;;CAIpC,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,OAAO,iCAAiC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE3F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAChD,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,6BAA6B,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,qCAAqC;IACpD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAaD,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,sBAAsB,EAAE,EACjC,OAAO,GAAE,qCAA0C,GAClD,4BAA4B,CAyF9B;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1G,4BAA4B,CAsB9B;AAED,wBAAgB,wCAAwC,CACtD,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1G,OAAO,CAET;AAED,wBAAgB,wCAAwC,CACtD,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,sBAAsB,EAAE,CA0B1B;AAkKD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAoBzG"}