agent-composer 0.3.0 → 0.4.0

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 (181) hide show
  1. package/README.md +495 -180
  2. package/composer.config.schema.json +206 -2
  3. package/dist/cli/cleanup.d.ts +24 -0
  4. package/dist/cli/cleanup.js +151 -0
  5. package/dist/cli/cleanup.js.map +1 -0
  6. package/dist/cli/doctor.d.ts +12 -0
  7. package/dist/cli/doctor.js +244 -4
  8. package/dist/cli/doctor.js.map +1 -1
  9. package/dist/cli/goal.d.ts +28 -0
  10. package/dist/cli/goal.js +251 -0
  11. package/dist/cli/goal.js.map +1 -0
  12. package/dist/cli/help.d.ts +3 -0
  13. package/dist/cli/help.js +31 -0
  14. package/dist/cli/help.js.map +1 -0
  15. package/dist/cli/init.d.ts +5 -0
  16. package/dist/cli/init.js +116 -21
  17. package/dist/cli/init.js.map +1 -1
  18. package/dist/cli/initArgs.d.ts +16 -0
  19. package/dist/cli/initArgs.js +19 -0
  20. package/dist/cli/initArgs.js.map +1 -0
  21. package/dist/cli/installGitHook.d.ts +7 -0
  22. package/dist/cli/installGitHook.js +61 -0
  23. package/dist/cli/installGitHook.js.map +1 -0
  24. package/dist/cli/mode.d.ts +6 -0
  25. package/dist/cli/mode.js +25 -0
  26. package/dist/cli/mode.js.map +1 -0
  27. package/dist/cli/status.d.ts +105 -0
  28. package/dist/cli/status.js +400 -0
  29. package/dist/cli/status.js.map +1 -0
  30. package/dist/config/env.d.ts +1 -1
  31. package/dist/config/modes.d.ts +10 -0
  32. package/dist/config/modes.js +26 -0
  33. package/dist/config/modes.js.map +1 -0
  34. package/dist/config/oracleRole.d.ts +10 -0
  35. package/dist/config/oracleRole.js +11 -0
  36. package/dist/config/oracleRole.js.map +1 -0
  37. package/dist/config/schema.d.ts +246 -0
  38. package/dist/config/schema.js +127 -2
  39. package/dist/config/schema.js.map +1 -1
  40. package/dist/evolve/reflection.d.ts +9 -0
  41. package/dist/evolve/reflection.js +14 -0
  42. package/dist/evolve/reflection.js.map +1 -1
  43. package/dist/evolve/runner.d.ts +2 -1
  44. package/dist/evolve/runner.js +2 -1
  45. package/dist/evolve/runner.js.map +1 -1
  46. package/dist/index.js +115 -6
  47. package/dist/index.js.map +1 -1
  48. package/dist/providers/AnthropicCompatibleProvider.d.ts +13 -1
  49. package/dist/providers/AnthropicCompatibleProvider.js +115 -9
  50. package/dist/providers/AnthropicCompatibleProvider.js.map +1 -1
  51. package/dist/providers/CLIProvider.d.ts +23 -1
  52. package/dist/providers/CLIProvider.js +283 -65
  53. package/dist/providers/CLIProvider.js.map +1 -1
  54. package/dist/providers/IProvider.d.ts +13 -0
  55. package/dist/providers/SpendGuardProvider.d.ts +32 -0
  56. package/dist/providers/SpendGuardProvider.js +98 -0
  57. package/dist/providers/SpendGuardProvider.js.map +1 -0
  58. package/dist/registry.d.ts +5 -2
  59. package/dist/registry.js +17 -2
  60. package/dist/registry.js.map +1 -1
  61. package/dist/server/activeRuns.d.ts +17 -0
  62. package/dist/server/activeRuns.js +114 -0
  63. package/dist/server/activeRuns.js.map +1 -0
  64. package/dist/server/codexLifecycleRunner.d.ts +29 -0
  65. package/dist/server/codexLifecycleRunner.js +188 -0
  66. package/dist/server/codexLifecycleRunner.js.map +1 -0
  67. package/dist/server/configMutation.d.ts +22 -0
  68. package/dist/server/configMutation.js +121 -0
  69. package/dist/server/configMutation.js.map +1 -0
  70. package/dist/server/handoffContext.d.ts +1 -0
  71. package/dist/server/handoffContext.js +12 -0
  72. package/dist/server/handoffContext.js.map +1 -0
  73. package/dist/server/progress.d.ts +24 -0
  74. package/dist/server/progress.js +109 -0
  75. package/dist/server/progress.js.map +1 -0
  76. package/dist/server/toolDescriptions.d.ts +60 -0
  77. package/dist/server/toolDescriptions.js +134 -0
  78. package/dist/server/toolDescriptions.js.map +1 -0
  79. package/dist/server.d.ts +19 -21
  80. package/dist/server.js +90 -330
  81. package/dist/server.js.map +1 -1
  82. package/dist/tools/audit.d.ts +2 -0
  83. package/dist/tools/audit.js +66 -0
  84. package/dist/tools/audit.js.map +1 -0
  85. package/dist/tools/code.d.ts +2 -0
  86. package/dist/tools/code.js +160 -0
  87. package/dist/tools/code.js.map +1 -0
  88. package/dist/tools/codexLifecycle.d.ts +2 -0
  89. package/dist/tools/codexLifecycle.js +206 -0
  90. package/dist/tools/codexLifecycle.js.map +1 -0
  91. package/dist/tools/config.d.ts +2 -0
  92. package/dist/tools/config.js +183 -0
  93. package/dist/tools/config.js.map +1 -0
  94. package/dist/tools/context.d.ts +31 -0
  95. package/dist/tools/context.js +2 -0
  96. package/dist/tools/context.js.map +1 -0
  97. package/dist/tools/goal.d.ts +2 -0
  98. package/dist/tools/goal.js +159 -0
  99. package/dist/tools/goal.js.map +1 -0
  100. package/dist/tools/handoff.d.ts +2 -0
  101. package/dist/tools/handoff.js +57 -0
  102. package/dist/tools/handoff.js.map +1 -0
  103. package/dist/tools/oracle.d.ts +2 -0
  104. package/dist/tools/oracle.js +248 -0
  105. package/dist/tools/oracle.js.map +1 -0
  106. package/dist/tools/research.d.ts +2 -0
  107. package/dist/tools/research.js +51 -0
  108. package/dist/tools/research.js.map +1 -0
  109. package/dist/tools/review.d.ts +2 -0
  110. package/dist/tools/review.js +233 -0
  111. package/dist/tools/review.js.map +1 -0
  112. package/dist/tools/route.d.ts +2 -0
  113. package/dist/tools/route.js +69 -0
  114. package/dist/tools/route.js.map +1 -0
  115. package/dist/tools/session.d.ts +2 -0
  116. package/dist/tools/session.js +37 -0
  117. package/dist/tools/session.js.map +1 -0
  118. package/dist/tools/status.d.ts +2 -0
  119. package/dist/tools/status.js +34 -0
  120. package/dist/tools/status.js.map +1 -0
  121. package/dist/tools/workflow.d.ts +2 -0
  122. package/dist/tools/workflow.js +27 -0
  123. package/dist/tools/workflow.js.map +1 -0
  124. package/dist/util/applyFileBlocks.d.ts +18 -0
  125. package/dist/util/applyFileBlocks.js +163 -0
  126. package/dist/util/applyFileBlocks.js.map +1 -0
  127. package/dist/util/asyncControl.d.ts +14 -0
  128. package/dist/util/asyncControl.js +106 -0
  129. package/dist/util/asyncControl.js.map +1 -0
  130. package/dist/util/auditLog.d.ts +56 -0
  131. package/dist/util/auditLog.js +232 -0
  132. package/dist/util/auditLog.js.map +1 -0
  133. package/dist/util/codexLifecycle.d.ts +55 -0
  134. package/dist/util/codexLifecycle.js +102 -0
  135. package/dist/util/codexLifecycle.js.map +1 -0
  136. package/dist/util/codexLifecycleJob.d.ts +209 -0
  137. package/dist/util/codexLifecycleJob.js +360 -0
  138. package/dist/util/codexLifecycleJob.js.map +1 -0
  139. package/dist/util/composerDisabled.d.ts +6 -0
  140. package/dist/util/composerDisabled.js +27 -0
  141. package/dist/util/composerDisabled.js.map +1 -0
  142. package/dist/util/dispatchHint.d.ts +5 -3
  143. package/dist/util/dispatchHint.js +62 -2
  144. package/dist/util/dispatchHint.js.map +1 -1
  145. package/dist/util/goal.d.ts +132 -0
  146. package/dist/util/goal.js +616 -0
  147. package/dist/util/goal.js.map +1 -0
  148. package/dist/util/goalReport.d.ts +51 -0
  149. package/dist/util/goalReport.js +164 -0
  150. package/dist/util/goalReport.js.map +1 -0
  151. package/dist/util/jobPolling.d.ts +9 -0
  152. package/dist/util/jobPolling.js +17 -0
  153. package/dist/util/jobPolling.js.map +1 -0
  154. package/dist/util/oracleJob.d.ts +66 -0
  155. package/dist/util/oracleJob.js +295 -0
  156. package/dist/util/oracleJob.js.map +1 -0
  157. package/dist/util/oracleLock.d.ts +38 -0
  158. package/dist/util/oracleLock.js +182 -0
  159. package/dist/util/oracleLock.js.map +1 -0
  160. package/dist/util/reviewDiff.d.ts +8 -0
  161. package/dist/util/reviewDiff.js +29 -0
  162. package/dist/util/reviewDiff.js.map +1 -0
  163. package/dist/util/reviewJob.d.ts +57 -0
  164. package/dist/util/reviewJob.js +207 -0
  165. package/dist/util/reviewJob.js.map +1 -0
  166. package/dist/util/workflowPlan.d.ts +24 -0
  167. package/dist/util/workflowPlan.js +49 -0
  168. package/dist/util/workflowPlan.js.map +1 -0
  169. package/package.json +8 -1
  170. package/plugin/composer-mastermind/commands/evolve.md +4 -0
  171. package/plugin/composer-mastermind/hooks/boundary_guard.sh +43 -2
  172. package/plugin/composer-mastermind/hooks/codex_warm_review.sh +161 -9
  173. package/plugin/composer-mastermind/hooks/learn.sh +172 -32
  174. package/plugin/composer-mastermind/hooks/precommit_codex_review.sh +430 -62
  175. package/plugin/composer-mastermind/plugin.json +1 -1
  176. package/plugin/composer-mastermind/skills/composer-mastermind/SKILL.md +190 -4
  177. package/scripts/composer-oracle-router-safe.sh +47 -0
  178. package/scripts/composer-statusline-segment.mjs +40 -0
  179. package/scripts/oracle-codex-handoff-safe.sh +49 -0
  180. package/scripts/oracle-plan-mcp.sh +66 -0
  181. package/scripts/oracle-pro-safe.sh +471 -0
@@ -32,6 +32,7 @@ export declare const RoleConfigSchema: z.ZodObject<{
32
32
  type: z.ZodLiteral<"disabled">;
33
33
  }, z.core.$strict>], "type">>;
34
34
  timeoutMs: z.ZodOptional<z.ZodNumber>;
35
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
35
36
  maxBuffer: z.ZodOptional<z.ZodNumber>;
36
37
  retries: z.ZodOptional<z.ZodNumber>;
37
38
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -43,6 +44,7 @@ export declare const RoleNameSchema: z.ZodEnum<{
43
44
  reviewer: "reviewer";
44
45
  reviewerClaude: "reviewerClaude";
45
46
  coderCli: "coderCli";
47
+ oraclePlanner: "oraclePlanner";
46
48
  }>;
47
49
  export type RoleName = z.infer<typeof RoleNameSchema>;
48
50
  export declare const SpendAuthorizationModeSchema: z.ZodEnum<{
@@ -84,6 +86,7 @@ export declare const CodexSeveritySchema: z.ZodEnum<{
84
86
  medium: "medium";
85
87
  low: "low";
86
88
  }>;
89
+ export declare const CodexModelSchema: z.ZodString;
87
90
  export declare const CodexPreCommitHookSchema: z.ZodObject<{
88
91
  enabled: z.ZodBoolean;
89
92
  blockOnSeverity: z.ZodOptional<z.ZodEnum<{
@@ -94,6 +97,7 @@ export declare const CodexPreCommitHookSchema: z.ZodObject<{
94
97
  }>>;
95
98
  timeoutMs: z.ZodOptional<z.ZodNumber>;
96
99
  failClosed: z.ZodOptional<z.ZodBoolean>;
100
+ maxConsecutiveBlocks: z.ZodOptional<z.ZodNumber>;
97
101
  }, z.core.$strict>;
98
102
  export type CodexPreCommitHook = z.infer<typeof CodexPreCommitHookSchema>;
99
103
  export declare const CodexWarmCacheSchema: z.ZodObject<{
@@ -149,6 +153,7 @@ export declare const CodexReviewSchema: z.ZodObject<{
149
153
  }>>;
150
154
  timeoutMs: z.ZodOptional<z.ZodNumber>;
151
155
  failClosed: z.ZodOptional<z.ZodBoolean>;
156
+ maxConsecutiveBlocks: z.ZodOptional<z.ZodNumber>;
152
157
  }, z.core.$strict>>;
153
158
  warmCache: z.ZodOptional<z.ZodObject<{
154
159
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -169,6 +174,153 @@ export declare const CodexRescueSchema: z.ZodObject<{
169
174
  model: z.ZodDefault<z.ZodString>;
170
175
  }, z.core.$strict>;
171
176
  export type CodexRescue = z.infer<typeof CodexRescueSchema>;
177
+ export declare const CodexLifecycleEventSchema: z.ZodEnum<{
178
+ preCommit: "preCommit";
179
+ postPlan: "postPlan";
180
+ postResearch: "postResearch";
181
+ postCodeApply: "postCodeApply";
182
+ postTestFailure: "postTestFailure";
183
+ afterFailedAttempts: "afterFailedAttempts";
184
+ stopWarm: "stopWarm";
185
+ }>;
186
+ export type CodexLifecycleEvent = z.infer<typeof CodexLifecycleEventSchema>;
187
+ export declare const CodexLifecycleModeSchema: z.ZodEnum<{
188
+ auto: "auto";
189
+ ask: "ask";
190
+ }>;
191
+ export type CodexLifecycleMode = z.infer<typeof CodexLifecycleModeSchema>;
192
+ export declare const CodexLifecycleExecutionSchema: z.ZodEnum<{
193
+ foreground: "foreground";
194
+ background: "background";
195
+ }>;
196
+ export type CodexLifecycleExecution = z.infer<typeof CodexLifecycleExecutionSchema>;
197
+ export declare const DEFAULT_CODEX_LIFECYCLE_TRIGGERS: {
198
+ postResearch: boolean;
199
+ postPlan: boolean;
200
+ postCodeApply: boolean;
201
+ postTestFailure: boolean;
202
+ afterFailedAttempts: boolean;
203
+ preCommit: boolean;
204
+ stopWarm: boolean;
205
+ };
206
+ export declare const CodexLifecycleTriggersSchema: z.ZodObject<{
207
+ postResearch: z.ZodDefault<z.ZodBoolean>;
208
+ postPlan: z.ZodDefault<z.ZodBoolean>;
209
+ postCodeApply: z.ZodDefault<z.ZodBoolean>;
210
+ postTestFailure: z.ZodDefault<z.ZodBoolean>;
211
+ afterFailedAttempts: z.ZodDefault<z.ZodBoolean>;
212
+ preCommit: z.ZodDefault<z.ZodBoolean>;
213
+ stopWarm: z.ZodDefault<z.ZodBoolean>;
214
+ }, z.core.$strict>;
215
+ export type CodexLifecycleTriggers = z.infer<typeof CodexLifecycleTriggersSchema>;
216
+ export declare const DEFAULT_CODEX_LIFECYCLE_THRESHOLDS: {
217
+ minScore: number;
218
+ minExpectedOutputTokens: number;
219
+ minChangedFiles: number;
220
+ minDiffLines: number;
221
+ failedAttempts: number;
222
+ };
223
+ export declare const CodexLifecycleThresholdsSchema: z.ZodObject<{
224
+ minScore: z.ZodDefault<z.ZodNumber>;
225
+ minExpectedOutputTokens: z.ZodDefault<z.ZodNumber>;
226
+ minChangedFiles: z.ZodDefault<z.ZodNumber>;
227
+ minDiffLines: z.ZodDefault<z.ZodNumber>;
228
+ failedAttempts: z.ZodDefault<z.ZodNumber>;
229
+ }, z.core.$strict>;
230
+ export type CodexLifecycleThresholds = z.infer<typeof CodexLifecycleThresholdsSchema>;
231
+ export declare const DEFAULT_CODEX_LIFECYCLE_FALLBACK_ORDER: readonly ["reviewerClaude", "reviewer", "coder"];
232
+ export declare const DEFAULT_CODEX_LIFECYCLE_TOTAL_WALL_CLOCK_MS: number;
233
+ export declare const CodexLifecycleFallbackSchema: z.ZodObject<{
234
+ enabled: z.ZodDefault<z.ZodBoolean>;
235
+ order: z.ZodDefault<z.ZodArray<z.ZodEnum<{
236
+ researcher: "researcher";
237
+ coder: "coder";
238
+ reviewer: "reviewer";
239
+ reviewerClaude: "reviewerClaude";
240
+ coderCli: "coderCli";
241
+ }>>>;
242
+ }, z.core.$strict>;
243
+ export type CodexLifecycleFallback = z.infer<typeof CodexLifecycleFallbackSchema>;
244
+ export declare const CodexLifecycleSchema: z.ZodObject<{
245
+ enabled: z.ZodDefault<z.ZodBoolean>;
246
+ mode: z.ZodDefault<z.ZodEnum<{
247
+ auto: "auto";
248
+ ask: "ask";
249
+ }>>;
250
+ execution: z.ZodDefault<z.ZodEnum<{
251
+ foreground: "foreground";
252
+ background: "background";
253
+ }>>;
254
+ model: z.ZodDefault<z.ZodString>;
255
+ triggers: z.ZodDefault<z.ZodObject<{
256
+ postResearch: z.ZodDefault<z.ZodBoolean>;
257
+ postPlan: z.ZodDefault<z.ZodBoolean>;
258
+ postCodeApply: z.ZodDefault<z.ZodBoolean>;
259
+ postTestFailure: z.ZodDefault<z.ZodBoolean>;
260
+ afterFailedAttempts: z.ZodDefault<z.ZodBoolean>;
261
+ preCommit: z.ZodDefault<z.ZodBoolean>;
262
+ stopWarm: z.ZodDefault<z.ZodBoolean>;
263
+ }, z.core.$strict>>;
264
+ thresholds: z.ZodDefault<z.ZodObject<{
265
+ minScore: z.ZodDefault<z.ZodNumber>;
266
+ minExpectedOutputTokens: z.ZodDefault<z.ZodNumber>;
267
+ minChangedFiles: z.ZodDefault<z.ZodNumber>;
268
+ minDiffLines: z.ZodDefault<z.ZodNumber>;
269
+ failedAttempts: z.ZodDefault<z.ZodNumber>;
270
+ }, z.core.$strict>>;
271
+ fallback: z.ZodDefault<z.ZodObject<{
272
+ enabled: z.ZodDefault<z.ZodBoolean>;
273
+ order: z.ZodDefault<z.ZodArray<z.ZodEnum<{
274
+ researcher: "researcher";
275
+ coder: "coder";
276
+ reviewer: "reviewer";
277
+ reviewerClaude: "reviewerClaude";
278
+ coderCli: "coderCli";
279
+ }>>>;
280
+ }, z.core.$strict>>;
281
+ totalWallClockMs: z.ZodDefault<z.ZodNumber>;
282
+ }, z.core.$strict>;
283
+ export type CodexLifecycle = z.infer<typeof CodexLifecycleSchema>;
284
+ export type CodexLifecycleInput = z.input<typeof CodexLifecycleSchema>;
285
+ export declare const OracleConfigSchema: z.ZodObject<{
286
+ defaultMode: z.ZodOptional<z.ZodEnum<{
287
+ auto: "auto";
288
+ review: "review";
289
+ quick: "quick";
290
+ standard: "standard";
291
+ deep: "deep";
292
+ plan: "plan";
293
+ debug: "debug";
294
+ research: "research";
295
+ }>>;
296
+ requireExplicitTag: z.ZodOptional<z.ZodBoolean>;
297
+ }, z.core.$strict>;
298
+ export type OracleConfig = z.infer<typeof OracleConfigSchema>;
299
+ export declare const CodexProfileSchema: z.ZodObject<{
300
+ model: z.ZodOptional<z.ZodString>;
301
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
302
+ high: "high";
303
+ medium: "medium";
304
+ low: "low";
305
+ }>>;
306
+ sandbox: z.ZodOptional<z.ZodEnum<{
307
+ "read-only": "read-only";
308
+ "workspace-write": "workspace-write";
309
+ }>>;
310
+ }, z.core.$strict>;
311
+ export declare const CodexProfilesSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
312
+ model: z.ZodOptional<z.ZodString>;
313
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
314
+ high: "high";
315
+ medium: "medium";
316
+ low: "low";
317
+ }>>;
318
+ sandbox: z.ZodOptional<z.ZodEnum<{
319
+ "read-only": "read-only";
320
+ "workspace-write": "workspace-write";
321
+ }>>;
322
+ }, z.core.$strict>>;
323
+ export type CodexProfiles = z.infer<typeof CodexProfilesSchema>;
172
324
  export declare const ComposerConfigSchema: z.ZodObject<{
173
325
  roles: z.ZodObject<{
174
326
  researcher: z.ZodObject<{
@@ -190,6 +342,7 @@ export declare const ComposerConfigSchema: z.ZodObject<{
190
342
  type: z.ZodLiteral<"disabled">;
191
343
  }, z.core.$strict>], "type">>;
192
344
  timeoutMs: z.ZodOptional<z.ZodNumber>;
345
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
193
346
  maxBuffer: z.ZodOptional<z.ZodNumber>;
194
347
  retries: z.ZodOptional<z.ZodNumber>;
195
348
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -213,6 +366,7 @@ export declare const ComposerConfigSchema: z.ZodObject<{
213
366
  type: z.ZodLiteral<"disabled">;
214
367
  }, z.core.$strict>], "type">>;
215
368
  timeoutMs: z.ZodOptional<z.ZodNumber>;
369
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
216
370
  maxBuffer: z.ZodOptional<z.ZodNumber>;
217
371
  retries: z.ZodOptional<z.ZodNumber>;
218
372
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -236,6 +390,7 @@ export declare const ComposerConfigSchema: z.ZodObject<{
236
390
  type: z.ZodLiteral<"disabled">;
237
391
  }, z.core.$strict>], "type">>;
238
392
  timeoutMs: z.ZodOptional<z.ZodNumber>;
393
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
239
394
  maxBuffer: z.ZodOptional<z.ZodNumber>;
240
395
  retries: z.ZodOptional<z.ZodNumber>;
241
396
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -259,6 +414,7 @@ export declare const ComposerConfigSchema: z.ZodObject<{
259
414
  type: z.ZodLiteral<"disabled">;
260
415
  }, z.core.$strict>], "type">>;
261
416
  timeoutMs: z.ZodOptional<z.ZodNumber>;
417
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
262
418
  maxBuffer: z.ZodOptional<z.ZodNumber>;
263
419
  retries: z.ZodOptional<z.ZodNumber>;
264
420
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -282,6 +438,31 @@ export declare const ComposerConfigSchema: z.ZodObject<{
282
438
  type: z.ZodLiteral<"disabled">;
283
439
  }, z.core.$strict>], "type">>;
284
440
  timeoutMs: z.ZodOptional<z.ZodNumber>;
441
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
442
+ maxBuffer: z.ZodOptional<z.ZodNumber>;
443
+ retries: z.ZodOptional<z.ZodNumber>;
444
+ maxResultChars: z.ZodOptional<z.ZodNumber>;
445
+ }, z.core.$strict>>;
446
+ oraclePlanner: z.ZodOptional<z.ZodObject<{
447
+ provider: z.ZodEnum<{
448
+ anthropic: "anthropic";
449
+ openai_compatible: "openai_compatible";
450
+ cli: "cli";
451
+ mock: "mock";
452
+ }>;
453
+ apiKeyEnv: z.ZodOptional<z.ZodString>;
454
+ baseUrl: z.ZodOptional<z.ZodURL>;
455
+ model: z.ZodOptional<z.ZodString>;
456
+ cli: z.ZodOptional<z.ZodArray<z.ZodString>>;
457
+ maxTokens: z.ZodOptional<z.ZodNumber>;
458
+ thinking: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
459
+ type: z.ZodLiteral<"enabled">;
460
+ budgetTokens: z.ZodNumber;
461
+ }, z.core.$strict>, z.ZodObject<{
462
+ type: z.ZodLiteral<"disabled">;
463
+ }, z.core.$strict>], "type">>;
464
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
465
+ totalWallClockMs: z.ZodOptional<z.ZodNumber>;
285
466
  maxBuffer: z.ZodOptional<z.ZodNumber>;
286
467
  retries: z.ZodOptional<z.ZodNumber>;
287
468
  maxResultChars: z.ZodOptional<z.ZodNumber>;
@@ -335,6 +516,7 @@ export declare const ComposerConfigSchema: z.ZodObject<{
335
516
  }>>;
336
517
  timeoutMs: z.ZodOptional<z.ZodNumber>;
337
518
  failClosed: z.ZodOptional<z.ZodBoolean>;
519
+ maxConsecutiveBlocks: z.ZodOptional<z.ZodNumber>;
338
520
  }, z.core.$strict>>;
339
521
  warmCache: z.ZodOptional<z.ZodObject<{
340
522
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -353,5 +535,69 @@ export declare const ComposerConfigSchema: z.ZodObject<{
353
535
  }>>;
354
536
  model: z.ZodDefault<z.ZodString>;
355
537
  }, z.core.$strict>>;
538
+ codexLifecycle: z.ZodOptional<z.ZodObject<{
539
+ enabled: z.ZodDefault<z.ZodBoolean>;
540
+ mode: z.ZodDefault<z.ZodEnum<{
541
+ auto: "auto";
542
+ ask: "ask";
543
+ }>>;
544
+ execution: z.ZodDefault<z.ZodEnum<{
545
+ foreground: "foreground";
546
+ background: "background";
547
+ }>>;
548
+ model: z.ZodDefault<z.ZodString>;
549
+ triggers: z.ZodDefault<z.ZodObject<{
550
+ postResearch: z.ZodDefault<z.ZodBoolean>;
551
+ postPlan: z.ZodDefault<z.ZodBoolean>;
552
+ postCodeApply: z.ZodDefault<z.ZodBoolean>;
553
+ postTestFailure: z.ZodDefault<z.ZodBoolean>;
554
+ afterFailedAttempts: z.ZodDefault<z.ZodBoolean>;
555
+ preCommit: z.ZodDefault<z.ZodBoolean>;
556
+ stopWarm: z.ZodDefault<z.ZodBoolean>;
557
+ }, z.core.$strict>>;
558
+ thresholds: z.ZodDefault<z.ZodObject<{
559
+ minScore: z.ZodDefault<z.ZodNumber>;
560
+ minExpectedOutputTokens: z.ZodDefault<z.ZodNumber>;
561
+ minChangedFiles: z.ZodDefault<z.ZodNumber>;
562
+ minDiffLines: z.ZodDefault<z.ZodNumber>;
563
+ failedAttempts: z.ZodDefault<z.ZodNumber>;
564
+ }, z.core.$strict>>;
565
+ fallback: z.ZodDefault<z.ZodObject<{
566
+ enabled: z.ZodDefault<z.ZodBoolean>;
567
+ order: z.ZodDefault<z.ZodArray<z.ZodEnum<{
568
+ researcher: "researcher";
569
+ coder: "coder";
570
+ reviewer: "reviewer";
571
+ reviewerClaude: "reviewerClaude";
572
+ coderCli: "coderCli";
573
+ }>>>;
574
+ }, z.core.$strict>>;
575
+ totalWallClockMs: z.ZodDefault<z.ZodNumber>;
576
+ }, z.core.$strict>>;
577
+ oracle: z.ZodOptional<z.ZodObject<{
578
+ defaultMode: z.ZodOptional<z.ZodEnum<{
579
+ auto: "auto";
580
+ review: "review";
581
+ quick: "quick";
582
+ standard: "standard";
583
+ deep: "deep";
584
+ plan: "plan";
585
+ debug: "debug";
586
+ research: "research";
587
+ }>>;
588
+ requireExplicitTag: z.ZodOptional<z.ZodBoolean>;
589
+ }, z.core.$strict>>;
590
+ codexProfiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
591
+ model: z.ZodOptional<z.ZodString>;
592
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
593
+ high: "high";
594
+ medium: "medium";
595
+ low: "low";
596
+ }>>;
597
+ sandbox: z.ZodOptional<z.ZodEnum<{
598
+ "read-only": "read-only";
599
+ "workspace-write": "workspace-write";
600
+ }>>;
601
+ }, z.core.$strict>>>;
356
602
  }, z.core.$strict>;
357
603
  export type ComposerConfig = z.infer<typeof ComposerConfigSchema>;
@@ -30,6 +30,7 @@ export const RoleConfigSchema = z
30
30
  maxTokens: z.number().int().min(1).optional(),
31
31
  thinking: ThinkingConfigSchema.optional(),
32
32
  timeoutMs: z.number().int().min(1).optional(),
33
+ totalWallClockMs: z.number().int().min(1).optional(),
33
34
  maxBuffer: z.number().int().min(1).optional(),
34
35
  retries: z.number().int().min(0).optional(),
35
36
  maxResultChars: z.number().int().min(0).optional(),
@@ -41,6 +42,7 @@ export const RoleNameSchema = z.enum([
41
42
  "reviewer",
42
43
  "reviewerClaude",
43
44
  "coderCli",
45
+ "oraclePlanner",
44
46
  ]);
45
47
  export const SpendAuthorizationModeSchema = z.enum([
46
48
  "interactive",
@@ -59,12 +61,21 @@ export const CodexReviewModeSchema = z.enum(["ask", "auto"]);
59
61
  export const CodexReviewExecutionSchema = z.enum(["foreground", "background"]);
60
62
  export const CodexReviewScopeSchema = z.enum(["auto", "working-tree", "branch"]);
61
63
  export const CodexSeveritySchema = z.enum(["critical", "high", "medium", "low"]);
64
+ const NON_CODEX_MODELS = ["gpt-5.5-pro"];
65
+ const CODEX_MODEL_ERROR = "gpt-5.5-pro is not a Codex CLI model (it is the ChatGPT-Pro/Oracle browser lane); use gpt-5.5, gpt-5.4, or gpt-5.4-mini";
66
+ export const CodexModelSchema = z
67
+ .string()
68
+ .min(1)
69
+ .refine((model) => !NON_CODEX_MODELS.includes(model.toLowerCase()), {
70
+ message: CODEX_MODEL_ERROR,
71
+ });
62
72
  export const CodexPreCommitHookSchema = z
63
73
  .object({
64
74
  enabled: z.boolean(),
65
75
  blockOnSeverity: CodexSeveritySchema.optional(),
66
76
  timeoutMs: z.number().int().min(1).optional(),
67
77
  failClosed: z.boolean().optional(),
78
+ maxConsecutiveBlocks: z.number().int().min(0).optional(),
68
79
  })
69
80
  .strict();
70
81
  export const CodexWarmCacheSchema = z
@@ -96,7 +107,7 @@ export const CodexReviewSchema = z
96
107
  execution: CodexReviewExecutionSchema.optional(),
97
108
  scope: CodexReviewScopeSchema.optional(),
98
109
  base: z.string().min(1).optional(),
99
- model: z.string().min(1).optional(),
110
+ model: CodexModelSchema.optional(),
100
111
  // Mechanical PreToolUse pre-commit gate; off by default.
101
112
  preCommitHook: CodexPreCommitHookSchema.optional(),
102
113
  warmCache: CodexWarmCacheSchema.optional(),
@@ -107,9 +118,119 @@ export const CodexRescueSchema = z
107
118
  .object({
108
119
  enabled: z.boolean().default(true),
109
120
  mode: z.enum(["ask", "auto"]).default("ask"),
110
- model: z.string().min(1).default("gpt-5.4-mini"),
121
+ model: CodexModelSchema.default("gpt-5.4-mini"),
122
+ })
123
+ .strict();
124
+ export const CodexLifecycleEventSchema = z.enum([
125
+ "postResearch",
126
+ "postPlan",
127
+ "postCodeApply",
128
+ "postTestFailure",
129
+ "afterFailedAttempts",
130
+ "preCommit",
131
+ "stopWarm",
132
+ ]);
133
+ export const CodexLifecycleModeSchema = z.enum(["ask", "auto"]);
134
+ export const CodexLifecycleExecutionSchema = z.enum(["foreground", "background"]);
135
+ export const DEFAULT_CODEX_LIFECYCLE_TRIGGERS = {
136
+ postResearch: false,
137
+ postPlan: true,
138
+ postCodeApply: true,
139
+ postTestFailure: true,
140
+ afterFailedAttempts: true,
141
+ preCommit: false,
142
+ stopWarm: false,
143
+ };
144
+ export const CodexLifecycleTriggersSchema = z
145
+ .object({
146
+ postResearch: z.boolean().default(false),
147
+ postPlan: z.boolean().default(true),
148
+ postCodeApply: z.boolean().default(true),
149
+ postTestFailure: z.boolean().default(true),
150
+ afterFailedAttempts: z.boolean().default(true),
151
+ preCommit: z.boolean().default(false),
152
+ stopWarm: z.boolean().default(false),
153
+ })
154
+ .strict();
155
+ export const DEFAULT_CODEX_LIFECYCLE_THRESHOLDS = {
156
+ minScore: 60,
157
+ minExpectedOutputTokens: 500,
158
+ minChangedFiles: 2,
159
+ minDiffLines: 80,
160
+ failedAttempts: 2,
161
+ };
162
+ export const CodexLifecycleThresholdsSchema = z
163
+ .object({
164
+ minScore: z.number().min(0).max(100).default(60),
165
+ minExpectedOutputTokens: z.number().int().min(1).default(500),
166
+ minChangedFiles: z.number().int().min(1).default(2),
167
+ minDiffLines: z.number().int().min(1).default(80),
168
+ failedAttempts: z.number().int().min(1).default(2),
169
+ })
170
+ .strict();
171
+ export const DEFAULT_CODEX_LIFECYCLE_FALLBACK_ORDER = [
172
+ "reviewerClaude",
173
+ "reviewer",
174
+ "coder",
175
+ ];
176
+ export const DEFAULT_CODEX_LIFECYCLE_TOTAL_WALL_CLOCK_MS = 15 * 60_000;
177
+ const CodexLifecycleFallbackRoleSchema = z.enum([
178
+ "researcher",
179
+ "coder",
180
+ "reviewer",
181
+ "reviewerClaude",
182
+ "coderCli",
183
+ ]);
184
+ export const CodexLifecycleFallbackSchema = z
185
+ .object({
186
+ enabled: z.boolean().default(false),
187
+ order: z
188
+ .array(CodexLifecycleFallbackRoleSchema)
189
+ .min(1)
190
+ .default(() => [...DEFAULT_CODEX_LIFECYCLE_FALLBACK_ORDER]),
191
+ })
192
+ .strict();
193
+ // Decides when Codex should participate beyond the mechanical review gate.
194
+ // It does not invoke Codex; it is a deterministic policy surface for Coco.
195
+ export const CodexLifecycleSchema = z
196
+ .object({
197
+ enabled: z.boolean().default(false),
198
+ mode: CodexLifecycleModeSchema.default("ask"),
199
+ execution: CodexLifecycleExecutionSchema.default("background"),
200
+ model: CodexModelSchema.default("gpt-5.4-mini"),
201
+ triggers: CodexLifecycleTriggersSchema.default(() => ({
202
+ ...DEFAULT_CODEX_LIFECYCLE_TRIGGERS,
203
+ })),
204
+ thresholds: CodexLifecycleThresholdsSchema.default(() => ({
205
+ ...DEFAULT_CODEX_LIFECYCLE_THRESHOLDS,
206
+ })),
207
+ fallback: CodexLifecycleFallbackSchema.default(() => ({
208
+ enabled: false,
209
+ order: [...DEFAULT_CODEX_LIFECYCLE_FALLBACK_ORDER],
210
+ })),
211
+ totalWallClockMs: z
212
+ .number()
213
+ .int()
214
+ .min(1)
215
+ .default(DEFAULT_CODEX_LIFECYCLE_TOTAL_WALL_CLOCK_MS),
216
+ })
217
+ .strict();
218
+ export const OracleConfigSchema = z
219
+ .object({
220
+ defaultMode: z
221
+ .enum(["auto", "quick", "standard", "deep", "plan", "review", "debug", "research"])
222
+ .optional(),
223
+ requireExplicitTag: z.boolean().optional(),
224
+ })
225
+ .strict();
226
+ export const CodexProfileSchema = z
227
+ .object({
228
+ model: CodexModelSchema.optional(),
229
+ reasoningEffort: z.enum(["low", "medium", "high"]).optional(),
230
+ sandbox: z.enum(["read-only", "workspace-write"]).optional(),
111
231
  })
112
232
  .strict();
233
+ export const CodexProfilesSchema = z.record(z.string().min(1), CodexProfileSchema);
113
234
  export const ComposerConfigSchema = z
114
235
  .object({
115
236
  roles: z
@@ -119,11 +240,15 @@ export const ComposerConfigSchema = z
119
240
  reviewer: RoleConfigSchema,
120
241
  reviewerClaude: RoleConfigSchema.optional(),
121
242
  coderCli: RoleConfigSchema.optional(),
243
+ oraclePlanner: RoleConfigSchema.optional(),
122
244
  })
123
245
  .strict(),
124
246
  spendAuthorization: SpendAuthorizationSchema.optional(),
125
247
  codexReview: CodexReviewSchema.optional(),
126
248
  codexRescue: CodexRescueSchema.optional(),
249
+ codexLifecycle: CodexLifecycleSchema.optional(),
250
+ oracle: OracleConfigSchema.optional(),
251
+ codexProfiles: CodexProfilesSchema.optional(),
127
252
  })
128
253
  .strict();
129
254
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,19 @@ export interface TaskTranscript {
3
3
  task: string;
4
4
  outcome: string;
5
5
  }
6
+ export interface AuditFailure {
7
+ route?: string;
8
+ taskClass?: string;
9
+ reviewVerdict?: string;
10
+ status?: string;
11
+ userCorrection?: boolean;
12
+ note?: string;
13
+ }
6
14
  export interface ReflectionInput {
7
15
  parent: string;
8
16
  taskTranscripts: ReadonlyArray<TaskTranscript>;
9
17
  currentEcosystem?: string;
18
+ auditFailures?: ReadonlyArray<AuditFailure>;
10
19
  }
11
20
  export declare function buildReflectionPrompt(input: ReflectionInput): string;
12
21
  export declare function reflectViaProvider(provider: IProvider, input: ReflectionInput): Promise<string>;
@@ -25,6 +25,20 @@ export function buildReflectionPrompt(input) {
25
25
  lines.push(`- task: ${t.task}`);
26
26
  lines.push(` outcome: ${t.outcome}`);
27
27
  }
28
+ if (input.auditFailures && input.auditFailures.length > 0) {
29
+ lines.push("", "## Recent route/audit failures (real outcomes from the audit trail)");
30
+ lines.push("Bias the rewrite to avoid these: wrong route choice, unnecessary Oracle use, issues a review caught after the fact, and routes the user corrected.");
31
+ for (const f of input.auditFailures.slice(0, 10)) {
32
+ const bits = [
33
+ f.route && `route=${f.route}`,
34
+ f.taskClass && `class=${f.taskClass}`,
35
+ f.status && `status=${f.status}`,
36
+ f.reviewVerdict && `review=${f.reviewVerdict}`,
37
+ f.userCorrection ? "user-corrected" : undefined,
38
+ ].filter(Boolean).join(" ");
39
+ lines.push(`- ${bits}${f.note ? ` — ${f.note}` : ""}`);
40
+ }
41
+ }
28
42
  if (input.currentEcosystem && input.currentEcosystem.trim().length > 0) {
29
43
  lines.push("", "## Current ecosystem", input.currentEcosystem);
30
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/evolve/reflection.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,6DAA6D;AAC7D,kEAAkE;AAClE,qEAAqE;AACrE,mEAAmE;AACnE,kDAAkD;AAClD,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,uDAAuD;AAevD,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC1D,MAAM,KAAK,GAAa;QACtB,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,sCAAsC;QACtC,EAAE;QACF,iBAAiB;QACjB,KAAK,CAAC,MAAM;QACZ,EAAE;QACF,+BAA+B;KAChC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAmB,EACnB,KAAsB;IAEtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/evolve/reflection.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,6DAA6D;AAC7D,kEAAkE;AAClE,qEAAqE;AACrE,mEAAmE;AACnE,kDAAkD;AAClD,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,uDAAuD;AAyBvD,MAAM,UAAU,qBAAqB,CAAC,KAAsB;IAC1D,MAAM,KAAK,GAAa;QACtB,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,sCAAsC;QACtC,EAAE;QACF,iBAAiB;QACjB,KAAK,CAAC,MAAM;QACZ,EAAE;QACF,+BAA+B;KAChC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qEAAqE,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,oJAAoJ,CAAC,CAAC;QACjK,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG;gBACX,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE;gBAC7B,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,SAAS,EAAE;gBACrC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,MAAM,EAAE;gBAChC,CAAC,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,aAAa,EAAE;gBAC9C,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;aAChD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,QAAQ,GAAG,oCAAoC,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAmB,EACnB,KAAsB;IAEtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC"}
@@ -3,7 +3,7 @@ import { type EvolveBudgetConfig } from "./budget.js";
3
3
  import { type PreflightSnapshot } from "./preflight.js";
4
4
  import { type Verdict } from "./postflight.js";
5
5
  import type { IProvider } from "../providers/IProvider.js";
6
- import type { TaskTranscript } from "./reflection.js";
6
+ import type { TaskTranscript, AuditFailure } from "./reflection.js";
7
7
  export interface EvolveTask {
8
8
  id: string;
9
9
  description: string;
@@ -34,6 +34,7 @@ export interface EvolveOptions {
34
34
  reRunSamples?: number;
35
35
  budget?: EvolveBudgetConfig;
36
36
  lengthLambda?: number;
37
+ auditFailures?: ReadonlyArray<AuditFailure>;
37
38
  }
38
39
  export interface EvolveRoundLog {
39
40
  round: number;
@@ -33,7 +33,7 @@ export function rotateHoldout(tasks, round) {
33
33
  }
34
34
  const DEFAULT_COST_PER_CALL = 0.025;
35
35
  export async function runEvolve(opts) {
36
- const { parent, tasks, deps, maxRounds = 30, reRunSamples = 3, budget = DEFAULT_EVOLVE_BUDGET, lengthLambda, } = opts;
36
+ const { parent, tasks, deps, maxRounds = 30, reRunSamples = 3, budget = DEFAULT_EVOLVE_BUDGET, lengthLambda, auditFailures, } = opts;
37
37
  const guard = new EvolveBudgetGuard(budget);
38
38
  const plateau = new PlateauDetector();
39
39
  const costPerCall = deps.costPerCallUsd ?? DEFAULT_COST_PER_CALL;
@@ -91,6 +91,7 @@ export async function runEvolve(opts) {
91
91
  parent: text,
92
92
  taskTranscripts: failing,
93
93
  currentEcosystem: preflight.text,
94
+ auditFailures,
94
95
  }),
95
96
  };
96
97
  let candidate;