oh-my-codex 0.18.1 → 0.18.2

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 (204) hide show
  1. package/Cargo.lock +6 -6
  2. package/Cargo.toml +1 -1
  3. package/README.md +4 -2
  4. package/dist/agents/__tests__/definitions.test.js +14 -0
  5. package/dist/agents/__tests__/definitions.test.js.map +1 -1
  6. package/dist/agents/__tests__/native-config.test.js +19 -0
  7. package/dist/agents/__tests__/native-config.test.js.map +1 -1
  8. package/dist/agents/definitions.d.ts.map +1 -1
  9. package/dist/agents/definitions.js +30 -0
  10. package/dist/agents/definitions.js.map +1 -1
  11. package/dist/agents/native-config.d.ts +1 -0
  12. package/dist/agents/native-config.d.ts.map +1 -1
  13. package/dist/agents/native-config.js +4 -0
  14. package/dist/agents/native-config.js.map +1 -1
  15. package/dist/catalog/__tests__/generator.test.js +4 -0
  16. package/dist/catalog/__tests__/generator.test.js.map +1 -1
  17. package/dist/cli/__tests__/doctor-warning-copy.test.js +61 -5
  18. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  19. package/dist/cli/__tests__/index.test.js +161 -21
  20. package/dist/cli/__tests__/index.test.js.map +1 -1
  21. package/dist/cli/__tests__/launch-fallback.test.js +51 -3
  22. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  23. package/dist/cli/__tests__/question.test.js +2 -2
  24. package/dist/cli/__tests__/question.test.js.map +1 -1
  25. package/dist/cli/doctor.d.ts.map +1 -1
  26. package/dist/cli/doctor.js +178 -7
  27. package/dist/cli/doctor.js.map +1 -1
  28. package/dist/cli/index.d.ts +7 -1
  29. package/dist/cli/index.d.ts.map +1 -1
  30. package/dist/cli/index.js +143 -43
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/config/__tests__/codex-hooks.test.js +3 -3
  33. package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
  34. package/dist/config/codex-hooks.d.ts +1 -0
  35. package/dist/config/codex-hooks.d.ts.map +1 -1
  36. package/dist/config/codex-hooks.js +2 -4
  37. package/dist/config/codex-hooks.js.map +1 -1
  38. package/dist/config/generator.d.ts +14 -0
  39. package/dist/config/generator.d.ts.map +1 -1
  40. package/dist/config/generator.js +100 -1
  41. package/dist/config/generator.js.map +1 -1
  42. package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +21 -0
  43. package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -1
  44. package/dist/goal-workflows/codex-goal-snapshot.d.ts +3 -0
  45. package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -1
  46. package/dist/goal-workflows/codex-goal-snapshot.js +45 -2
  47. package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -1
  48. package/dist/hooks/__tests__/autopilot-skill-contract.test.js +17 -0
  49. package/dist/hooks/__tests__/autopilot-skill-contract.test.js.map +1 -1
  50. package/dist/hooks/__tests__/keyword-detector.test.js +170 -15
  51. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  52. package/dist/hooks/__tests__/prometheus-strict-contract.test.d.ts +2 -0
  53. package/dist/hooks/__tests__/prometheus-strict-contract.test.d.ts.map +1 -0
  54. package/dist/hooks/__tests__/prometheus-strict-contract.test.js +320 -0
  55. package/dist/hooks/__tests__/prometheus-strict-contract.test.js.map +1 -0
  56. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +12 -0
  57. package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
  58. package/dist/hooks/__tests__/research-workflow-boundaries.test.d.ts +2 -0
  59. package/dist/hooks/__tests__/research-workflow-boundaries.test.d.ts.map +1 -0
  60. package/dist/hooks/__tests__/research-workflow-boundaries.test.js +35 -0
  61. package/dist/hooks/__tests__/research-workflow-boundaries.test.js.map +1 -0
  62. package/dist/hooks/keyword-detector.d.ts +1 -1
  63. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  64. package/dist/hooks/keyword-detector.js +28 -6
  65. package/dist/hooks/keyword-detector.js.map +1 -1
  66. package/dist/hooks/keyword-registry.d.ts.map +1 -1
  67. package/dist/hooks/keyword-registry.js +1 -0
  68. package/dist/hooks/keyword-registry.js.map +1 -1
  69. package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
  70. package/dist/hooks/prompt-guidance-contract.js +11 -0
  71. package/dist/hooks/prompt-guidance-contract.js.map +1 -1
  72. package/dist/hud/__tests__/hud-tmux-injection.test.js +22 -0
  73. package/dist/hud/__tests__/hud-tmux-injection.test.js.map +1 -1
  74. package/dist/hud/__tests__/reconcile.test.js +121 -10
  75. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  76. package/dist/hud/__tests__/render.test.js +84 -0
  77. package/dist/hud/__tests__/render.test.js.map +1 -1
  78. package/dist/hud/__tests__/state.test.js +51 -1
  79. package/dist/hud/__tests__/state.test.js.map +1 -1
  80. package/dist/hud/__tests__/tmux.test.js +69 -23
  81. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  82. package/dist/hud/index.d.ts +1 -1
  83. package/dist/hud/index.d.ts.map +1 -1
  84. package/dist/hud/index.js +8 -3
  85. package/dist/hud/index.js.map +1 -1
  86. package/dist/hud/reconcile.d.ts.map +1 -1
  87. package/dist/hud/reconcile.js +6 -3
  88. package/dist/hud/reconcile.js.map +1 -1
  89. package/dist/hud/render.d.ts.map +1 -1
  90. package/dist/hud/render.js +26 -0
  91. package/dist/hud/render.js.map +1 -1
  92. package/dist/hud/state.d.ts +2 -1
  93. package/dist/hud/state.d.ts.map +1 -1
  94. package/dist/hud/state.js +62 -1
  95. package/dist/hud/state.js.map +1 -1
  96. package/dist/hud/tmux.d.ts +10 -3
  97. package/dist/hud/tmux.d.ts.map +1 -1
  98. package/dist/hud/tmux.js +59 -10
  99. package/dist/hud/tmux.js.map +1 -1
  100. package/dist/hud/types.d.ts +22 -0
  101. package/dist/hud/types.d.ts.map +1 -1
  102. package/dist/hud/types.js.map +1 -1
  103. package/dist/pipeline/__tests__/orchestrator.test.js +63 -1
  104. package/dist/pipeline/__tests__/orchestrator.test.js.map +1 -1
  105. package/dist/pipeline/__tests__/stages.test.js +410 -4
  106. package/dist/pipeline/__tests__/stages.test.js.map +1 -1
  107. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  108. package/dist/pipeline/orchestrator.js +29 -2
  109. package/dist/pipeline/orchestrator.js.map +1 -1
  110. package/dist/pipeline/stages/ralplan.d.ts.map +1 -1
  111. package/dist/pipeline/stages/ralplan.js +41 -6
  112. package/dist/pipeline/stages/ralplan.js.map +1 -1
  113. package/dist/question/__tests__/ui.test.js +43 -10
  114. package/dist/question/__tests__/ui.test.js.map +1 -1
  115. package/dist/question/ui.d.ts +12 -0
  116. package/dist/question/ui.d.ts.map +1 -1
  117. package/dist/question/ui.js +83 -46
  118. package/dist/question/ui.js.map +1 -1
  119. package/dist/ralplan/__tests__/runtime.test.js +200 -10
  120. package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
  121. package/dist/ralplan/consensus-gate.d.ts +23 -0
  122. package/dist/ralplan/consensus-gate.d.ts.map +1 -0
  123. package/dist/ralplan/consensus-gate.js +212 -0
  124. package/dist/ralplan/consensus-gate.js.map +1 -0
  125. package/dist/ralplan/runtime.d.ts +25 -0
  126. package/dist/ralplan/runtime.d.ts.map +1 -1
  127. package/dist/ralplan/runtime.js +144 -8
  128. package/dist/ralplan/runtime.js.map +1 -1
  129. package/dist/scripts/__tests__/codex-native-hook.test.js +626 -7
  130. package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
  131. package/dist/scripts/__tests__/docs-site-contract.test.d.ts +2 -0
  132. package/dist/scripts/__tests__/docs-site-contract.test.d.ts.map +1 -0
  133. package/dist/scripts/__tests__/docs-site-contract.test.js +42 -0
  134. package/dist/scripts/__tests__/docs-site-contract.test.js.map +1 -0
  135. package/dist/scripts/__tests__/notify-dispatcher.test.js +115 -2
  136. package/dist/scripts/__tests__/notify-dispatcher.test.js.map +1 -1
  137. package/dist/scripts/__tests__/run-test-files.test.js +57 -0
  138. package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
  139. package/dist/scripts/__tests__/verify-native-agents.test.js +2 -2
  140. package/dist/scripts/__tests__/verify-native-agents.test.js.map +1 -1
  141. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  142. package/dist/scripts/codex-native-hook.js +214 -34
  143. package/dist/scripts/codex-native-hook.js.map +1 -1
  144. package/dist/scripts/notify-dispatcher.js +188 -4
  145. package/dist/scripts/notify-dispatcher.js.map +1 -1
  146. package/dist/scripts/run-test-files.js +13 -0
  147. package/dist/scripts/run-test-files.js.map +1 -1
  148. package/dist/state/__tests__/workflow-transition.test.js +6 -0
  149. package/dist/state/__tests__/workflow-transition.test.js.map +1 -1
  150. package/dist/state/workflow-transition.d.ts +1 -1
  151. package/dist/state/workflow-transition.d.ts.map +1 -1
  152. package/dist/state/workflow-transition.js +7 -0
  153. package/dist/state/workflow-transition.js.map +1 -1
  154. package/dist/subagents/tracker.d.ts.map +1 -1
  155. package/dist/subagents/tracker.js +4 -3
  156. package/dist/subagents/tracker.js.map +1 -1
  157. package/dist/team/__tests__/runtime.test.js +36 -44
  158. package/dist/team/__tests__/runtime.test.js.map +1 -1
  159. package/dist/team/__tests__/tmux-session.test.js +58 -18
  160. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  161. package/dist/team/runtime.d.ts.map +1 -1
  162. package/dist/team/runtime.js +10 -20
  163. package/dist/team/runtime.js.map +1 -1
  164. package/dist/team/tmux-session.d.ts.map +1 -1
  165. package/dist/team/tmux-session.js +15 -6
  166. package/dist/team/tmux-session.js.map +1 -1
  167. package/dist/ultragoal/__tests__/artifacts.test.js +50 -0
  168. package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
  169. package/dist/ultragoal/artifacts.d.ts.map +1 -1
  170. package/dist/ultragoal/artifacts.js +28 -2
  171. package/dist/ultragoal/artifacts.js.map +1 -1
  172. package/package.json +1 -1
  173. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  174. package/plugins/oh-my-codex/skills/autopilot/SKILL.md +16 -4
  175. package/plugins/oh-my-codex/skills/autoresearch/SKILL.md +4 -0
  176. package/plugins/oh-my-codex/skills/autoresearch-goal/SKILL.md +1 -1
  177. package/plugins/oh-my-codex/skills/best-practice-research/SKILL.md +1 -1
  178. package/plugins/oh-my-codex/skills/pipeline/SKILL.md +1 -1
  179. package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
  180. package/plugins/oh-my-codex/skills/prometheus-strict/README.md +35 -0
  181. package/plugins/oh-my-codex/skills/prometheus-strict/SKILL.md +219 -0
  182. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +18 -3
  183. package/prompts/prometheus-strict-metis.md +274 -0
  184. package/prompts/prometheus-strict-momus.md +82 -0
  185. package/prompts/prometheus-strict-oracle.md +107 -0
  186. package/prompts/researcher.md +22 -3
  187. package/skills/autopilot/SKILL.md +16 -4
  188. package/skills/autoresearch/SKILL.md +4 -0
  189. package/skills/autoresearch-goal/SKILL.md +1 -1
  190. package/skills/best-practice-research/SKILL.md +1 -1
  191. package/skills/pipeline/SKILL.md +1 -1
  192. package/skills/plan/SKILL.md +1 -1
  193. package/skills/prometheus-strict/README.md +35 -0
  194. package/skills/prometheus-strict/SKILL.md +219 -0
  195. package/skills/ralplan/SKILL.md +18 -3
  196. package/src/scripts/__tests__/codex-native-hook.test.ts +769 -8
  197. package/src/scripts/__tests__/docs-site-contract.test.ts +47 -0
  198. package/src/scripts/__tests__/notify-dispatcher.test.ts +132 -3
  199. package/src/scripts/__tests__/run-test-files.test.ts +67 -0
  200. package/src/scripts/__tests__/verify-native-agents.test.ts +2 -2
  201. package/src/scripts/codex-native-hook.ts +237 -30
  202. package/src/scripts/notify-dispatcher.ts +202 -4
  203. package/src/scripts/run-test-files.ts +13 -0
  204. package/templates/catalog-manifest.json +22 -0
@@ -1,5 +1,5 @@
1
1
  import { cancelMode, readModeState, startMode, updateModeState } from '../modes/base.js';
2
- import { readPlanningArtifacts } from '../planning/artifacts.js';
2
+ import { isPlanningComplete, readPlanningArtifacts } from '../planning/artifacts.js';
3
3
  export const RALPLAN_ACTIVE_PHASES = [
4
4
  'draft',
5
5
  'architect-review',
@@ -19,6 +19,59 @@ function buildReviewHistory(drafts, architectReviews, criticReviews) {
19
19
  }
20
20
  return entries;
21
21
  }
22
+ function buildRalplanConsensusGate(architectReviews, criticReviews) {
23
+ const latestArchitect = architectReviews.at(-1);
24
+ const latestCritic = criticReviews.at(-1);
25
+ if (latestArchitect?.verdict === 'approve'
26
+ && latestCritic?.verdict === 'approve'
27
+ && architectReviews.length === criticReviews.length) {
28
+ const ralplanArchitectReview = {
29
+ ...latestArchitect,
30
+ agent_role: 'architect',
31
+ iteration: architectReviews.length,
32
+ };
33
+ const ralplanCriticReview = {
34
+ ...latestCritic,
35
+ agent_role: 'critic',
36
+ iteration: criticReviews.length,
37
+ };
38
+ return {
39
+ required: true,
40
+ complete: true,
41
+ sequence: ['architect-review', 'critic-review'],
42
+ planning_artifacts_are_not_consensus: true,
43
+ required_review_roles: ['architect', 'critic'],
44
+ ralplan_architect_review: ralplanArchitectReview,
45
+ ralplan_critic_review: ralplanCriticReview,
46
+ architect_review: ralplanArchitectReview,
47
+ critic_review: ralplanCriticReview,
48
+ blocked_reason: null,
49
+ };
50
+ }
51
+ const blockedReason = latestArchitect?.verdict !== 'approve'
52
+ ? 'architect_review_missing_or_not_approved'
53
+ : latestCritic?.verdict !== 'approve'
54
+ ? 'critic_review_missing_or_not_approved'
55
+ : 'missing_sequential_architect_then_critic_approval';
56
+ const ralplanArchitectReview = latestArchitect
57
+ ? { ...latestArchitect, agent_role: 'architect', iteration: architectReviews.length }
58
+ : null;
59
+ const ralplanCriticReview = latestCritic
60
+ ? { ...latestCritic, agent_role: 'critic', iteration: criticReviews.length }
61
+ : null;
62
+ return {
63
+ required: true,
64
+ complete: false,
65
+ sequence: ['architect-review', 'critic-review'],
66
+ planning_artifacts_are_not_consensus: true,
67
+ required_review_roles: ['architect', 'critic'],
68
+ ralplan_architect_review: ralplanArchitectReview,
69
+ ralplan_critic_review: ralplanCriticReview,
70
+ architect_review: ralplanArchitectReview,
71
+ critic_review: ralplanCriticReview,
72
+ blocked_reason: blockedReason,
73
+ };
74
+ }
22
75
  async function updateRalplanState(cwd, updates) {
23
76
  await updateModeState('ralplan', updates, cwd);
24
77
  }
@@ -50,6 +103,7 @@ export async function runRalplanConsensus(executor, options) {
50
103
  iteration,
51
104
  current_phase: 'draft',
52
105
  planning_complete: false,
106
+ ralplan_consensus_gate: buildRalplanConsensusGate(architectReviews, criticReviews),
53
107
  review_history: buildReviewHistory(drafts, architectReviews, criticReviews),
54
108
  });
55
109
  const draft = await executor.draft(iterationContext);
@@ -63,6 +117,7 @@ export async function runRalplanConsensus(executor, options) {
63
117
  current_phase: 'architect-review',
64
118
  latest_plan_path: latestPlanPath,
65
119
  latest_draft_summary: draft.summary,
120
+ ralplan_consensus_gate: buildRalplanConsensusGate(architectReviews, criticReviews),
66
121
  review_history: buildReviewHistory(drafts, architectReviews, criticReviews),
67
122
  });
68
123
  const architectReview = await executor.architectReview({
@@ -72,11 +127,56 @@ export async function runRalplanConsensus(executor, options) {
72
127
  architectReviews.push(architectReview);
73
128
  if (architectReview.artifacts)
74
129
  Object.assign(aggregatedArtifacts, architectReview.artifacts);
130
+ if (architectReview.verdict !== 'approve') {
131
+ const reviewHistory = buildReviewHistory(drafts, architectReviews, criticReviews);
132
+ const consensusGate = buildRalplanConsensusGate(architectReviews, criticReviews);
133
+ await updateRalplanState(cwd, {
134
+ iteration,
135
+ current_phase: 'architect-review',
136
+ latest_architect_verdict: architectReview.verdict,
137
+ latest_architect_summary: architectReview.summary,
138
+ ralplan_consensus_gate: consensusGate,
139
+ review_history: reviewHistory,
140
+ });
141
+ if (iteration >= maxIterations) {
142
+ const error = `ralplan_consensus_not_reached_after_${maxIterations}_iterations`;
143
+ await updateRalplanState(cwd, {
144
+ active: false,
145
+ iteration,
146
+ current_phase: 'failed',
147
+ completed_at: new Date().toISOString(),
148
+ planning_complete: false,
149
+ latest_plan_path: latestPlanPath,
150
+ latest_architect_verdict: architectReview.verdict,
151
+ latest_architect_summary: architectReview.summary,
152
+ ralplan_consensus_gate: consensusGate,
153
+ review_history: reviewHistory,
154
+ status_message: `Status: paused_for_review — ralplan reached the ${maxIterations}-iteration review limit without Architect approval; continue from the best current artifact or ask the user how to proceed.`,
155
+ error,
156
+ });
157
+ return {
158
+ status: 'failed',
159
+ iteration,
160
+ phase: 'failed',
161
+ planningComplete: false,
162
+ drafts,
163
+ architectReviews,
164
+ criticReviews,
165
+ ralplanConsensusGate: consensusGate,
166
+ latestPlanPath,
167
+ artifacts: aggregatedArtifacts,
168
+ error,
169
+ };
170
+ }
171
+ iteration += 1;
172
+ continue;
173
+ }
75
174
  await updateRalplanState(cwd, {
76
175
  iteration,
77
176
  current_phase: 'critic-review',
78
177
  latest_architect_verdict: architectReview.verdict,
79
178
  latest_architect_summary: architectReview.summary,
179
+ ralplan_consensus_gate: buildRalplanConsensusGate(architectReviews, criticReviews),
80
180
  review_history: buildReviewHistory(drafts, architectReviews, criticReviews),
81
181
  });
82
182
  const criticReview = await executor.criticReview({
@@ -88,36 +188,66 @@ export async function runRalplanConsensus(executor, options) {
88
188
  if (criticReview.artifacts)
89
189
  Object.assign(aggregatedArtifacts, criticReview.artifacts);
90
190
  const reviewHistory = buildReviewHistory(drafts, architectReviews, criticReviews);
191
+ const consensusGate = buildRalplanConsensusGate(architectReviews, criticReviews);
91
192
  await updateRalplanState(cwd, {
92
193
  iteration,
93
194
  current_phase: 'critic-review',
94
195
  latest_critic_verdict: criticReview.verdict,
95
196
  latest_critic_summary: criticReview.summary,
197
+ ralplan_consensus_gate: consensusGate,
96
198
  review_history: reviewHistory,
97
199
  });
98
- if (criticReview.verdict === 'approve') {
200
+ if (consensusGate.complete) {
99
201
  const planningArtifacts = readPlanningArtifacts(cwd);
100
- const planningComplete = planningArtifacts.prdPaths.length > 0 && planningArtifacts.testSpecPaths.length > 0;
202
+ const planningComplete = isPlanningComplete(planningArtifacts);
203
+ if (!planningComplete) {
204
+ const error = 'ralplan_planning_artifacts_missing_after_consensus';
205
+ await updateRalplanState(cwd, {
206
+ active: false,
207
+ iteration,
208
+ current_phase: 'failed',
209
+ completed_at: new Date().toISOString(),
210
+ planning_complete: false,
211
+ latest_plan_path: latestPlanPath,
212
+ ralplan_consensus_gate: consensusGate,
213
+ status_message: 'Status: failed — ralplan consensus approved, but required PRD and test-spec planning artifacts are missing; do not hand off to execution.',
214
+ review_history: reviewHistory,
215
+ error,
216
+ });
217
+ return {
218
+ status: 'failed',
219
+ iteration,
220
+ phase: 'failed',
221
+ planningComplete: false,
222
+ drafts,
223
+ architectReviews,
224
+ criticReviews,
225
+ ralplanConsensusGate: consensusGate,
226
+ latestPlanPath,
227
+ artifacts: aggregatedArtifacts,
228
+ error,
229
+ };
230
+ }
101
231
  await updateRalplanState(cwd, {
102
232
  active: false,
103
233
  iteration,
104
234
  current_phase: 'complete',
105
235
  completed_at: new Date().toISOString(),
106
- planning_complete: planningComplete,
236
+ planning_complete: true,
107
237
  latest_plan_path: latestPlanPath,
108
- status_message: planningComplete
109
- ? 'Status: complete — ralplan consensus approved and planning artifacts are ready for handoff.'
110
- : 'Status: paused_for_review — ralplan consensus approved, but expected planning artifacts are missing; continue from the current artifact and emit the final handoff once artifacts are written.',
238
+ ralplan_consensus_gate: consensusGate,
239
+ status_message: 'Status: complete — ralplan consensus approved and planning artifacts are ready for handoff.',
111
240
  review_history: reviewHistory,
112
241
  });
113
242
  return {
114
243
  status: 'completed',
115
244
  iteration,
116
245
  phase: 'complete',
117
- planningComplete,
246
+ planningComplete: true,
118
247
  drafts,
119
248
  architectReviews,
120
249
  criticReviews,
250
+ ralplanConsensusGate: consensusGate,
121
251
  latestPlanPath,
122
252
  artifacts: aggregatedArtifacts,
123
253
  };
@@ -133,6 +263,7 @@ export async function runRalplanConsensus(executor, options) {
133
263
  latest_plan_path: latestPlanPath,
134
264
  latest_critic_verdict: criticReview.verdict,
135
265
  latest_critic_summary: criticReview.summary,
266
+ ralplan_consensus_gate: consensusGate,
136
267
  review_history: reviewHistory,
137
268
  status_message: `Status: paused_for_review — ralplan reached the ${maxIterations}-iteration review limit without approval; continue from the best current artifact or ask the user how to proceed.`,
138
269
  error,
@@ -145,6 +276,7 @@ export async function runRalplanConsensus(executor, options) {
145
276
  drafts,
146
277
  architectReviews,
147
278
  criticReviews,
279
+ ralplanConsensusGate: consensusGate,
148
280
  latestPlanPath,
149
281
  artifacts: aggregatedArtifacts,
150
282
  error,
@@ -162,6 +294,7 @@ export async function runRalplanConsensus(executor, options) {
162
294
  completed_at: new Date().toISOString(),
163
295
  planning_complete: false,
164
296
  latest_plan_path: latestPlanPath,
297
+ ralplan_consensus_gate: buildRalplanConsensusGate(architectReviews, criticReviews),
165
298
  review_history: buildReviewHistory(drafts, architectReviews, criticReviews),
166
299
  status_message: 'Status: failed — ralplan encountered an error and cannot continue without inspecting the failure.',
167
300
  error: message,
@@ -174,6 +307,7 @@ export async function runRalplanConsensus(executor, options) {
174
307
  drafts,
175
308
  architectReviews,
176
309
  criticReviews,
310
+ ralplanConsensusGate: buildRalplanConsensusGate(architectReviews, criticReviews),
177
311
  latestPlanPath,
178
312
  artifacts: aggregatedArtifacts,
179
313
  error: message,
@@ -186,6 +320,7 @@ export async function runRalplanConsensus(executor, options) {
186
320
  current_phase: 'failed',
187
321
  completed_at: new Date().toISOString(),
188
322
  planning_complete: false,
323
+ ralplan_consensus_gate: buildRalplanConsensusGate(architectReviews, criticReviews),
189
324
  status_message: 'Status: failed — ralplan reached an unexpected runtime state.',
190
325
  error: unreachableError,
191
326
  });
@@ -197,6 +332,7 @@ export async function runRalplanConsensus(executor, options) {
197
332
  drafts,
198
333
  architectReviews,
199
334
  criticReviews,
335
+ ralplanConsensusGate: buildRalplanConsensusGate(architectReviews, criticReviews),
200
336
  latestPlanPath,
201
337
  artifacts: aggregatedArtifacts,
202
338
  error: unreachableError,
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/ralplan/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/ralplan/runtime.ts"],"names":[],"mappings":"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"}