@zhixuan92/multi-model-agent-core 4.1.0 → 4.2.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 (104) hide show
  1. package/dist/bounded-execution/index.d.ts +2 -0
  2. package/dist/bounded-execution/index.d.ts.map +1 -1
  3. package/dist/bounded-execution/index.js +2 -0
  4. package/dist/bounded-execution/index.js.map +1 -1
  5. package/dist/bounded-execution/safety-max-turns.d.ts +17 -0
  6. package/dist/bounded-execution/safety-max-turns.d.ts.map +1 -0
  7. package/dist/bounded-execution/safety-max-turns.js +17 -0
  8. package/dist/bounded-execution/safety-max-turns.js.map +1 -0
  9. package/dist/bounded-execution/stall-watchdog.d.ts +16 -0
  10. package/dist/bounded-execution/stall-watchdog.d.ts.map +1 -0
  11. package/dist/bounded-execution/stall-watchdog.js +69 -0
  12. package/dist/bounded-execution/stall-watchdog.js.map +1 -0
  13. package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +1 -1
  14. package/dist/lifecycle/handlers/execution-context-builder.js +2 -1
  15. package/dist/lifecycle/handlers/execution-context-builder.js.map +1 -1
  16. package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -1
  17. package/dist/lifecycle/handlers/quality-chain-handlers.js +10 -1
  18. package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -1
  19. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts +62 -0
  20. package/dist/lifecycle/parallel-criteria-dispatcher.d.ts.map +1 -0
  21. package/dist/lifecycle/parallel-criteria-dispatcher.js +328 -0
  22. package/dist/lifecycle/parallel-criteria-dispatcher.js.map +1 -0
  23. package/dist/lifecycle/parallel-criteria-routes.d.ts +16 -0
  24. package/dist/lifecycle/parallel-criteria-routes.d.ts.map +1 -0
  25. package/dist/lifecycle/parallel-criteria-routes.js +147 -0
  26. package/dist/lifecycle/parallel-criteria-routes.js.map +1 -0
  27. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  28. package/dist/lifecycle/task-runner.js +268 -97
  29. package/dist/lifecycle/task-runner.js.map +1 -1
  30. package/dist/providers/anthropic-messages-adapter.d.ts.map +1 -1
  31. package/dist/providers/anthropic-messages-adapter.js +8 -1
  32. package/dist/providers/anthropic-messages-adapter.js.map +1 -1
  33. package/dist/providers/provider-factory.d.ts.map +1 -1
  34. package/dist/providers/provider-factory.js +2 -1
  35. package/dist/providers/provider-factory.js.map +1 -1
  36. package/dist/providers/runner-adapter.d.ts +8 -0
  37. package/dist/providers/runner-adapter.d.ts.map +1 -1
  38. package/dist/providers/runner-shell-types.d.ts +7 -0
  39. package/dist/providers/runner-shell-types.d.ts.map +1 -1
  40. package/dist/providers/runner-shell.d.ts +51 -1
  41. package/dist/providers/runner-shell.d.ts.map +1 -1
  42. package/dist/providers/runner-shell.js +130 -0
  43. package/dist/providers/runner-shell.js.map +1 -1
  44. package/dist/review/annotator-engine.d.ts +7 -1
  45. package/dist/review/annotator-engine.d.ts.map +1 -1
  46. package/dist/review/annotator-engine.js +15 -2
  47. package/dist/review/annotator-engine.js.map +1 -1
  48. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  49. package/dist/review/annotator-prompt-builder.js +10 -2
  50. package/dist/review/annotator-prompt-builder.js.map +1 -1
  51. package/dist/review/reviewer-engine.d.ts.map +1 -1
  52. package/dist/review/reviewer-engine.js +4 -3
  53. package/dist/review/reviewer-engine.js.map +1 -1
  54. package/dist/review/templates/annotator-shared.d.ts +8 -1
  55. package/dist/review/templates/annotator-shared.d.ts.map +1 -1
  56. package/dist/review/templates/annotator-shared.js.map +1 -1
  57. package/dist/tools/audit/implementer-criteria.d.ts +5 -0
  58. package/dist/tools/audit/implementer-criteria.d.ts.map +1 -1
  59. package/dist/tools/audit/implementer-criteria.js +5 -0
  60. package/dist/tools/audit/implementer-criteria.js.map +1 -1
  61. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  62. package/dist/tools/audit/tool-config.js +28 -15
  63. package/dist/tools/audit/tool-config.js.map +1 -1
  64. package/dist/tools/criteria-types.d.ts +27 -0
  65. package/dist/tools/criteria-types.d.ts.map +1 -0
  66. package/dist/tools/criteria-types.js +25 -0
  67. package/dist/tools/criteria-types.js.map +1 -0
  68. package/dist/tools/debug/implementer-criteria.d.ts +3 -0
  69. package/dist/tools/debug/implementer-criteria.d.ts.map +1 -1
  70. package/dist/tools/debug/implementer-criteria.js +14 -15
  71. package/dist/tools/debug/implementer-criteria.js.map +1 -1
  72. package/dist/tools/debug/tool-config.d.ts.map +1 -1
  73. package/dist/tools/debug/tool-config.js +9 -0
  74. package/dist/tools/debug/tool-config.js.map +1 -1
  75. package/dist/tools/investigate/implementer-criteria.d.ts +3 -0
  76. package/dist/tools/investigate/implementer-criteria.d.ts.map +1 -1
  77. package/dist/tools/investigate/implementer-criteria.js +20 -14
  78. package/dist/tools/investigate/implementer-criteria.js.map +1 -1
  79. package/dist/tools/investigate/tool-config.d.ts.map +1 -1
  80. package/dist/tools/investigate/tool-config.js +5 -0
  81. package/dist/tools/investigate/tool-config.js.map +1 -1
  82. package/dist/tools/parallel-criteria-prompt.d.ts +106 -0
  83. package/dist/tools/parallel-criteria-prompt.d.ts.map +1 -0
  84. package/dist/tools/parallel-criteria-prompt.js +86 -0
  85. package/dist/tools/parallel-criteria-prompt.js.map +1 -0
  86. package/dist/tools/review/implementer-criteria.d.ts +3 -0
  87. package/dist/tools/review/implementer-criteria.d.ts.map +1 -1
  88. package/dist/tools/review/implementer-criteria.js +3 -0
  89. package/dist/tools/review/implementer-criteria.js.map +1 -1
  90. package/dist/tools/review/tool-config.d.ts.map +1 -1
  91. package/dist/tools/review/tool-config.js +11 -0
  92. package/dist/tools/review/tool-config.js.map +1 -1
  93. package/dist/tools/verify/implementer-criteria.d.ts +3 -0
  94. package/dist/tools/verify/implementer-criteria.d.ts.map +1 -1
  95. package/dist/tools/verify/implementer-criteria.js +14 -13
  96. package/dist/tools/verify/implementer-criteria.js.map +1 -1
  97. package/dist/tools/verify/tool-config.d.ts.map +1 -1
  98. package/dist/tools/verify/tool-config.js +4 -0
  99. package/dist/tools/verify/tool-config.js.map +1 -1
  100. package/dist/types/run-result.d.ts +18 -0
  101. package/dist/types/run-result.d.ts.map +1 -1
  102. package/dist/types/task-spec.d.ts +11 -0
  103. package/dist/types/task-spec.d.ts.map +1 -1
  104. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { RunInput, RunResult } from './runner-shell-types.js';
2
- import type { RunnerAdapter } from './runner-adapter.js';
2
+ import type { RunnerAdapter, AdapterCapabilities } from './runner-adapter.js';
3
3
  export declare function shellCommandWritesFs(command: string): boolean;
4
4
  export declare class RunnerShell {
5
5
  private adapter;
@@ -13,5 +13,55 @@ export declare class RunnerShell {
13
13
  * so without this default every reviewer-side stage would record costUSD=null. */
14
14
  defaultModel?: string | undefined);
15
15
  run(input: RunInput): Promise<RunResult>;
16
+ /**
17
+ * Cache-warmer call: sends one minimal turn with the cached prefix so the
18
+ * upstream provider's prompt cache writes the prefix. Subsequent fan-out
19
+ * sub-workers using the same prefix serve from cache.
20
+ *
21
+ * The user message is a single token ("ready") and the assistant response
22
+ * is discarded. For providers that don't honor `cache_control` (codex,
23
+ * future providers), this still runs but produces no measurable cache
24
+ * benefit.
25
+ *
26
+ * Bounded by an internal 10-min hard cap (5-min soft warning) so a slow
27
+ * or hanging warmer cannot blow the route's overall wall-clock. On cap
28
+ * hit, the warmer returns with capHit=true and the dispatcher proceeds
29
+ * to fan-out WITHOUT cache priming — sub-workers will pay full input
30
+ * cost but the route still completes (correctness > optimization).
31
+ */
32
+ prime(systemPrompt: string, opts: PrimeOptions): Promise<PrimeResult>;
33
+ }
34
+ export interface PrimeOptions {
35
+ cwd: string;
36
+ cacheControl?: {
37
+ type: 'ephemeral';
38
+ };
39
+ abortSignal?: AbortSignal;
40
+ deadlineMs?: number;
41
+ capabilities?: AdapterCapabilities;
42
+ bus?: import('../events/event-emitter.js').EventEmitter;
43
+ batchId?: string;
44
+ taskIndex?: number;
45
+ tier?: string;
46
+ stageLabel?: string;
47
+ }
48
+ export interface PrimeResult {
49
+ /** Whether the warmer attempted to register a cacheable prefix
50
+ * (i.e. opts.cacheControl was set and the call returned). The actual
51
+ * cache effectiveness surfaces in subsequent sub-worker
52
+ * cachedReadTokens, NOT here — see criteria_fanout_summary's
53
+ * totalCachedReadTokens / cacheHitConfirmed. */
54
+ cacheControlSent: boolean;
55
+ /** True iff the warmer hit the 10-min hard cap and was force-aborted.
56
+ * Dispatcher proceeds to fan-out anyway; sub-workers pay full input
57
+ * cost since no cache was primed. */
58
+ capHit: boolean;
59
+ durationMs: number;
60
+ usage: {
61
+ inputTokens: number;
62
+ outputTokens: number;
63
+ cachedReadTokens: number;
64
+ cachedNonReadTokens: number;
65
+ };
16
66
  }
17
67
  //# sourceMappingURL=runner-shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-shell.d.ts","sourceRoot":"","sources":["../../src/providers/runner-shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAA8B,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAA6D,MAAM,qBAAqB,CAAC;AAoEpH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM7D;AAaD,qBAAa,WAAW;IAEpB,OAAO,CAAC,OAAO;IACf;;uFAEmF;IACnF,OAAO,CAAC,YAAY,CAAC;gBAJb,OAAO,EAAE,aAAa;IAC9B;;uFAEmF;IAC3E,YAAY,CAAC,EAAE,MAAM,YAAA;IAGzB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CAqN/C"}
1
+ {"version":3,"file":"runner-shell.d.ts","sourceRoot":"","sources":["../../src/providers/runner-shell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAA8B,MAAM,yBAAyB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAwC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAoEpH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAM7D;AAaD,qBAAa,WAAW;IAEpB,OAAO,CAAC,OAAO;IACf;;uFAEmF;IACnF,OAAO,CAAC,YAAY,CAAC;gBAJb,OAAO,EAAE,aAAa;IAC9B;;uFAEmF;IAC3E,YAAY,CAAC,EAAE,MAAM,YAAA;IAGzB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAuN9C;;;;;;;;;;;;;;;OAeG;IACG,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CA2G5E;AAQD,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC;IACrC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,GAAG,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;qDAIiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;0CAEsC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7G"}
@@ -156,6 +156,7 @@ export class RunnerShell {
156
156
  capabilities: input.capabilities ?? DEFAULT_CAPABILITIES,
157
157
  abortSignal: input.abortSignal,
158
158
  deadlineMs: input.deadlineMs,
159
+ ...(input.cacheControl && { cacheControl: input.cacheControl }),
159
160
  });
160
161
  usage.inputTokens += turnResult.usage.inputTokens;
161
162
  usage.outputTokens += turnResult.usage.outputTokens;
@@ -301,7 +302,136 @@ export class RunnerShell {
301
302
  costUSD: computeCost(modelForCost, usage),
302
303
  };
303
304
  }
305
+ /**
306
+ * Cache-warmer call: sends one minimal turn with the cached prefix so the
307
+ * upstream provider's prompt cache writes the prefix. Subsequent fan-out
308
+ * sub-workers using the same prefix serve from cache.
309
+ *
310
+ * The user message is a single token ("ready") and the assistant response
311
+ * is discarded. For providers that don't honor `cache_control` (codex,
312
+ * future providers), this still runs but produces no measurable cache
313
+ * benefit.
314
+ *
315
+ * Bounded by an internal 10-min hard cap (5-min soft warning) so a slow
316
+ * or hanging warmer cannot blow the route's overall wall-clock. On cap
317
+ * hit, the warmer returns with capHit=true and the dispatcher proceeds
318
+ * to fan-out WITHOUT cache priming — sub-workers will pay full input
319
+ * cost but the route still completes (correctness > optimization).
320
+ */
321
+ async prime(systemPrompt, opts) {
322
+ const startMs = Date.now();
323
+ // Per-warmer wall-clock guard: own hard cap, independent of the
324
+ // task-level abortSignal. Combined into one signal that the adapter sees.
325
+ const warmerAbort = new AbortController();
326
+ const combinedAbort = new AbortController();
327
+ if (opts.abortSignal) {
328
+ if (opts.abortSignal.aborted)
329
+ combinedAbort.abort();
330
+ else
331
+ opts.abortSignal.addEventListener('abort', () => combinedAbort.abort(), { once: true });
332
+ }
333
+ warmerAbort.signal.addEventListener('abort', () => combinedAbort.abort(), { once: true });
334
+ let capHit = false;
335
+ const softTimer = setTimeout(() => {
336
+ opts.bus?.emit({
337
+ event: 'criteria_fanout_warm_soft_warning',
338
+ ts: new Date().toISOString(),
339
+ ...(opts.batchId !== undefined && { batchId: opts.batchId }),
340
+ ...(opts.taskIndex !== undefined && { taskIndex: opts.taskIndex }),
341
+ elapsedMs: WARMER_SOFT_WARN_MS,
342
+ remainingMs: WARMER_HARD_CAP_MS - WARMER_SOFT_WARN_MS,
343
+ });
344
+ }, WARMER_SOFT_WARN_MS);
345
+ const hardTimer = setTimeout(() => {
346
+ capHit = true;
347
+ opts.bus?.emit({
348
+ event: 'criteria_fanout_warm_cap_hit',
349
+ ts: new Date().toISOString(),
350
+ ...(opts.batchId !== undefined && { batchId: opts.batchId }),
351
+ ...(opts.taskIndex !== undefined && { taskIndex: opts.taskIndex }),
352
+ elapsedMs: WARMER_HARD_CAP_MS,
353
+ });
354
+ warmerAbort.abort();
355
+ }, WARMER_HARD_CAP_MS);
356
+ try {
357
+ const turnResult = await this.adapter.turn({
358
+ systemPrompt,
359
+ userMessage: 'ready',
360
+ priorTurns: [],
361
+ toolDefinitions: [],
362
+ capabilities: opts.capabilities ?? { ...DEFAULT_CAPABILITIES, thinking: false },
363
+ abortSignal: combinedAbort.signal,
364
+ ...(opts.deadlineMs !== undefined && { deadlineMs: opts.deadlineMs }),
365
+ ...(opts.cacheControl && { cacheControl: opts.cacheControl }),
366
+ });
367
+ const durationMs = Date.now() - startMs;
368
+ // The warmer can't reliably tell whether the upstream actually wrote
369
+ // the cache. cacheControlSent reports we ATTEMPTED to register;
370
+ // confirmation comes from sub-workers' cachedReadTokens.
371
+ const cacheControlSent = !capHit && opts.cacheControl !== undefined;
372
+ opts.bus?.emit({
373
+ event: 'criteria_fanout_warm_complete',
374
+ ts: new Date().toISOString(),
375
+ ...(opts.batchId !== undefined && { batchId: opts.batchId }),
376
+ ...(opts.taskIndex !== undefined && { taskIndex: opts.taskIndex }),
377
+ ...(opts.tier !== undefined && { tier: opts.tier }),
378
+ ...(opts.stageLabel !== undefined && { stageLabel: opts.stageLabel }),
379
+ durationMs,
380
+ cacheControlSent,
381
+ capHit,
382
+ warmerInputTokens: turnResult.usage.inputTokens,
383
+ warmerCachedNonReadTokens: turnResult.usage.cachedNonReadTokens ?? 0,
384
+ });
385
+ return {
386
+ cacheControlSent,
387
+ capHit,
388
+ durationMs,
389
+ usage: {
390
+ inputTokens: turnResult.usage.inputTokens,
391
+ outputTokens: turnResult.usage.outputTokens,
392
+ cachedReadTokens: turnResult.usage.cachedReadTokens ?? 0,
393
+ cachedNonReadTokens: turnResult.usage.cachedNonReadTokens ?? 0,
394
+ },
395
+ };
396
+ }
397
+ catch (err) {
398
+ const durationMs = Date.now() - startMs;
399
+ // On cap-hit, swallow the abort and return a synthesized result so
400
+ // the dispatcher proceeds to fan-out without cache (correct, just
401
+ // slower). Real errors (transport, etc.) re-throw — the dispatcher
402
+ // currently doesn't catch warmer errors but a future caller might.
403
+ if (capHit) {
404
+ opts.bus?.emit({
405
+ event: 'criteria_fanout_warm_complete',
406
+ ts: new Date().toISOString(),
407
+ ...(opts.batchId !== undefined && { batchId: opts.batchId }),
408
+ ...(opts.taskIndex !== undefined && { taskIndex: opts.taskIndex }),
409
+ durationMs,
410
+ cacheControlSent: false,
411
+ capHit: true,
412
+ warmerInputTokens: 0,
413
+ warmerCachedNonReadTokens: 0,
414
+ });
415
+ return {
416
+ cacheControlSent: false,
417
+ capHit: true,
418
+ durationMs,
419
+ usage: { inputTokens: 0, outputTokens: 0, cachedReadTokens: 0, cachedNonReadTokens: 0 },
420
+ };
421
+ }
422
+ throw err;
423
+ }
424
+ finally {
425
+ clearTimeout(softTimer);
426
+ clearTimeout(hardTimer);
427
+ }
428
+ }
304
429
  }
430
+ /** Per-warmer wall-clock guard. After this, the warmer's abortSignal
431
+ * fires and prime() returns with capHit=true; the dispatcher proceeds
432
+ * to fan-out without cache priming. */
433
+ const WARMER_HARD_CAP_MS = 10 * 60 * 1000;
434
+ const WARMER_SOFT_WARN_MS = 5 * 60 * 1000;
305
435
  function computeCost(model, usage) {
306
436
  const card = resolveRateCard(model ?? null);
307
437
  if (!card)
@@ -1 +1 @@
1
- {"version":3,"file":"runner-shell.js","sourceRoot":"","sources":["../../src/providers/runner-shell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,oBAAoB,GAAwB;IAChD,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;CAClG,CAAC;AAEF,+DAA+D;AAC/D,+DAA+D;AAC/D,gEAAgE;AAChE,iEAAiE;AACjE,oEAAoE;AACpE,mEAAmE;AACnE,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAE3D,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,oBAAoB,GAAa;IACrC,sBAAsB,EAAiB,uDAAuD;IAC9F,eAAe,EAAwB,UAAU;IACjD,gBAAgB,EAAuB,UAAU;IACjD,4CAA4C,EAAG,0BAA0B;IACzE,uCAAuC;IACvC,SAAS;IACT,iCAAiC;IACjC,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,sFAAsF;IACtF,oEAAoE;IACpE,8CAA8C;IAC9C,2CAA2C;CAC5C,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,WAAW;IAEZ;IAIA;IALV,YACU,OAAsB;IAC9B;;uFAEmF;IAC3E,YAAqB;QAJrB,YAAO,GAAP,OAAO,CAAe;QAItB,iBAAY,GAAZ,YAAY,CAAS;IAC5B,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,KAAe;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACtD,MAAM,GAAG,GAAqB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;QAC/F,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,wEAAwE;QACxE,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,eAAe,GAAG;YACtB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YACvE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;SACxC,CAAC;QAEF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;gBAC/B,OAAO;oBACL,YAAY,EAAE,SAAS;oBACvB,kBAAkB,EAAE,EAAE;oBACtB,SAAS,EAAE,YAAY;oBACvB,KAAK;oBACL,SAAS,EAAE,SAAS;oBACpB,KAAK;oBACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBAChC,SAAS;oBACT,YAAY;oBACZ,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC;iBAC1C,CAAC;YACJ,CAAC;YAED,kEAAkE;YAClE,mEAAmE;YACnE,mEAAmE;YACnE,8DAA8D;YAC9D,qEAAqE;YACrE,iEAAiE;YACjE,iEAAiE;YACjE,iDAAiD;YACjD,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;gBACd,KAAK,EAAE,qBAAqB;gBAC5B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,eAAe;gBAClB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,KAAK,EAAE,CAAC;YAER,MAAM,UAAU,GAAsB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5D,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,OAAO;gBACnB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,oBAAoB;gBACxD,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;YAEH,KAAK,CAAC,WAAW,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;YAClD,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC;YACpD,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAC5D,KAAK,CAAC,mBAAmB,IAAI,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC;YAElE,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC;YAErC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;gBACd,KAAK,EAAE,0BAA0B;gBACjC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,eAAe;gBAClB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM;gBACjD,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;gBAC1C,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC9G,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;gBACvH,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAsB;gBACpC,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;YACxD,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzB,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;oBACxC,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClE,IAAI,MAAe,CAAC;oBACpB,IAAI,CAAC,GAAG,EAAE,CAAC;wBACT,MAAM,GAAG,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC9C,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,GAAG,EAAE,KAAK,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;wBACnG,CAAC;oBACH,CAAC;oBACD,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;oBAChE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpC,0DAA0D;oBAC1D,gEAAgE;oBAChE,+DAA+D;oBAC/D,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,IAAK,MAAkC,CAAC,CAAC;oBACrH,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAClD,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI;4BAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6BAC5D,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI;4BAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6BACrE,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACzC,qDAAqD;4BACrD,uDAAuD;4BACvD,wDAAwD;4BACxD,yDAAyD;4BACzD,sDAAsD;4BACtD,uDAAuD;4BACvD,sDAAsD;4BACtD,yDAAyD;4BACzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAChD,IAAI,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC7C,YAAY,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;4BACrD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YAED,sEAAsE;YACtE,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,eAAe,GAA2B,EAAE,CAAC;YACnD,4DAA4D;YAC5D,gEAAgE;YAChE,sDAAsD;YACtD,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAC5B,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACtC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC1C,IAAI,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC;wBAAE,mBAAmB,IAAI,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;gBACd,KAAK,EAAE,uBAAuB;gBAC9B,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,eAAe;gBAClB,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,aAAa;gBACzB,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM;gBAC1C,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;gBACtE,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;aACrE,CAAC,CAAC;YAEH,IAAI,aAAa;gBAAE,MAAM;QAC3B,CAAC;QAED,gEAAgE;QAChE,uEAAuE;QACvE,uEAAuE;QACvE,gEAAgE;QAChE,sEAAsE;QACtE,mEAAmE;QACnE,iEAAiE;QACjE,gEAAgE;QAChE,mDAAmD;QACnD,EAAE;QACF,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,qEAAqE;QACrE,sEAAsE;QACtE,mBAAmB;QACnB,IAAI,gBAAgB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7E,OAAO;gBACL,YAAY,EAAE,QAAQ;gBACtB,kBAAkB,EAAE,EAAE;gBACtB,SAAS,EAAE,YAAY;gBACvB,KAAK;gBACL,SAAS,EAAE,cAAc;gBACzB,KAAK;gBACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;gBAChC,SAAS;gBACT,YAAY;gBACZ,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnD,kBAAkB,EAAE,SAAS;YAC7B,SAAS,EAAE,YAAY;YACvB,KAAK;YACL,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;YACjE,KAAK;YACL,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;YAChC,SAAS;YACT,YAAY;YACZ,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAyB,EAAE,KAA2G;IACzJ,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"runner-shell.js","sourceRoot":"","sources":["../../src/providers/runner-shell.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,13 @@ import type { RunnerShell } from '../providers/runner-shell.js';
2
2
  import { type AnnotatorRoute } from './annotator-prompt-builder.js';
3
3
  import { type AnnotatorParseResult } from './annotator-output-parser.js';
4
4
  export interface AnnotatorInput {
5
- workerOutput: string;
5
+ /** N parallel sub-worker narratives, one per criterion the dispatcher
6
+ * fanned out. With N=1 the engine behaves as a single-narrative
7
+ * annotator (legacy compatibility for any non-fan-out caller). */
8
+ workerOutputs: Array<{
9
+ criterion: string;
10
+ narrative: string;
11
+ }>;
6
12
  brief: string;
7
13
  cwd: string;
8
14
  route: AnnotatorRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-engine.d.ts","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAehG,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,GAAG,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;;sEAEkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAClJ;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA2D;IAC1E,OAAO,CAAC,MAAM,CAA+B;IAEvC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiBxF"}
1
+ {"version":3,"file":"annotator-engine.d.ts","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAgBhG,MAAM,WAAW,cAAc;IAC7B;;uEAEmE;IACnE,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,GAAG,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;;sEAEkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAClJ;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA2D;IAC1E,OAAO,CAAC,MAAM,CAA+B;IAEvC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA2BxF"}
@@ -5,6 +5,7 @@ import { annotatorReviewTemplate } from './templates/annotator-review.js';
5
5
  import { annotatorVerifyTemplate } from './templates/annotator-verify.js';
6
6
  import { annotatorDebugTemplate } from './templates/annotator-debug.js';
7
7
  import { annotatorInvestigateTemplate } from './templates/annotator-investigate.js';
8
+ import { SAFETY_MAX_TURNS } from '../bounded-execution/safety-max-turns.js';
8
9
  const DEFAULT_ANNOTATOR_TEMPLATES = {
9
10
  audit: annotatorAuditTemplate,
10
11
  review: annotatorReviewTemplate,
@@ -12,16 +13,28 @@ const DEFAULT_ANNOTATOR_TEMPLATES = {
12
13
  debug: annotatorDebugTemplate,
13
14
  investigate: annotatorInvestigateTemplate,
14
15
  };
16
+ /** Sentinel narrative emitted by sub-workers when their criterion has no
17
+ * matches in the artifact. Filtered out before merging so the annotator
18
+ * doesn't waste tokens parsing empty content. */
19
+ const NO_FINDINGS_SENTINEL = 'No findings for this criterion.';
15
20
  export class AnnotatorEngine {
16
21
  builder = new AnnotatorPromptBuilder(DEFAULT_ANNOTATOR_TEMPLATES);
17
22
  parser = new AnnotatorOutputParser();
18
23
  async annotate(shell, input) {
19
- const prompt = this.builder.build(input.route, { workerOutput: input.workerOutput, brief: input.brief });
24
+ // Drop "No findings for this criterion." sentinels they're valid
25
+ // empty results, not findings to merge. If ALL narratives are empty
26
+ // sentinels, send a synthetic empty narrative so the annotator
27
+ // returns [] via its standard "no findings raised" path.
28
+ const usableOutputs = input.workerOutputs.filter(o => o.narrative.trim() !== NO_FINDINGS_SENTINEL);
29
+ const inputsForPrompt = usableOutputs.length > 0
30
+ ? usableOutputs
31
+ : [{ criterion: 'all sub-workers reported no findings', narrative: '(all sub-worker narratives were "No findings for this criterion." — return [])' }];
32
+ const prompt = this.builder.build(input.route, { workerOutputs: inputsForPrompt, brief: input.brief });
20
33
  const result = await shell.run({
21
34
  systemPrompt: prompt,
22
35
  userMessage: 'Annotate the findings above.',
23
36
  toolDefinitions: [],
24
- maxTurns: 5, cwd: input.cwd,
37
+ maxTurns: SAFETY_MAX_TURNS, cwd: input.cwd,
25
38
  abortSignal: input.abortSignal, deadlineMs: input.deadlineMs,
26
39
  ...(input.bus && { bus: input.bus }),
27
40
  ...(input.batchId !== undefined && { batchId: input.batchId }),
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-engine.js","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAA6B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,2BAA2B,GAAG;IAClC,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,4BAA4B;CACjC,CAAC;AA0BX,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;IAClE,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE7C,KAAK,CAAC,QAAQ,CAAC,KAAkB,EAAE,KAAqB;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,8BAA8B;YAC3C,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;YAC3B,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACjH,OAAO,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvG,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAAuN;IAC1O,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;QACtC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACvB,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI;QACjE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"annotator-engine.js","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAA6B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,2BAA2B,GAAG;IAClC,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,4BAA4B;CACjC,CAAC;AAqBX;;kDAEkD;AAClD,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAU/D,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;IAClE,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE7C,KAAK,CAAC,QAAQ,CAAC,KAAkB,EAAE,KAAqB;QACtD,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,0DAA0D;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,oBAAoB,CACjD,CAAC;QACF,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,sCAAsC,EAAE,SAAS,EAAE,gFAAgF,EAAE,CAAC,CAAC;QACzJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;YAC7B,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,8BAA8B;YAC3C,eAAe,EAAE,EAAE;YACnB,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;YAC1C,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5D,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACjH,OAAO,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IACvG,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAAuN;IAC1O,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;QACtC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACvB,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;QACvC,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI;QACjE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;KACjC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE5H,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAErF,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAG9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;CAGlE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAoBxG"}
1
+ {"version":3,"file":"annotator-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE5H,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAErF,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAG9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;CAGlE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAiCxG"}
@@ -60,6 +60,14 @@ export function assembleAnnotatorPrompt(template, ctx) {
60
60
  // duplicated by buildAnnotatorRubric below, so sending it again is
61
61
  // redundant + costly.
62
62
  const compactBrief = trimBriefForAnnotator(ctx.brief);
63
+ // Multi-narrative merge mode: each sub-worker covered ONE criterion.
64
+ // The annotator dedups overlapping findings and recalibrates severity
65
+ // against the shared SEVERITY_LADDER. Single-narrative inputs (e.g.
66
+ // a route that hasn't migrated to fan-out) take the same path with N=1.
67
+ const sections = ctx.workerOutputs.map(o => `--- Sub-worker for ${o.criterion} ---\n${o.narrative}`).join('\n\n');
68
+ const mergeInstructions = ctx.workerOutputs.length > 1
69
+ ? `\n## Merge instructions\n\nThe worker output below is N narratives, each from a sub-worker that covered ONE criterion of the failure-mode taxonomy. Your job:\n1. Combine findings across all narratives into one list.\n2. Group findings by (file, line, claim essence). When two sub-workers reported the same underlying issue from different angles, KEEP ONE — pick the higher-severity wording and merge any non-redundant evidence.\n3. Recalibrate severity using the shared severity ladder so a sub-worker that inflated within its narrow scope is rebucketed against the global picture.\n4. Drop any narrative that contained no findings (these are valid empty results, not parse failures).\n5. **DROP findings whose title starts with "[N/A]" — these are completeness signals from sub-workers reporting "this perspective does not apply." They MUST NOT appear in the final findings array; they exist only so the user can confirm every angle was attempted. Note the count of dropped [N/A] findings in your reasoning if useful, but never emit them as findings.**\n\n`
70
+ : '';
63
71
  return `You are reviewing a ${template.role} produced by a worker.
64
72
 
65
73
  The user requested a ${template.role}. The brief was:
@@ -69,10 +77,10 @@ ${compactBrief}
69
77
  ## On-brief check (per finding)
70
78
 
71
79
  ${template.onBriefCheck}
72
-
80
+ ${mergeInstructions}
73
81
  ## Worker output to extract findings from
74
82
 
75
- ${ctx.workerOutput}
83
+ ${sections}
76
84
 
77
85
  ${buildAnnotatorRubric(template)}`;
78
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-prompt-builder.js","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuD,MAAM,iCAAiC,CAAC;AAI5H,MAAM,OAAO,sBAAsB;IAEvB;IADV,YACU,SAAoD;QAApD,cAAS,GAAT,SAAS,CAA2C;IAC3D,CAAC;IAEJ,KAAK,CAAC,KAAqB,EAAE,GAA2B;QACtD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAElE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,gBAAgB;IAChB,MAAM,OAAO,GAAG;QACd,oCAAoC;QACpC,4CAA4C;QAC5C,sCAAsC;QACtC,kBAAkB;QAClB,sCAAsC;KACvC,CAAC;IACF,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG;YAAE,GAAG,GAAG,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAA2B;IAC9F,8DAA8D;IAC9D,mEAAmE;IACnE,sBAAsB;IACtB,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,uBAAuB,QAAQ,CAAC,IAAI;;uBAEtB,QAAQ,CAAC,IAAI;;EAElC,YAAY;;;;EAIZ,QAAQ,CAAC,YAAY;;;;EAIrB,GAAG,CAAC,YAAY;;EAEhB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"annotator-prompt-builder.js","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuD,MAAM,iCAAiC,CAAC;AAI5H,MAAM,OAAO,sBAAsB;IAEvB;IADV,YACU,SAAoD;QAApD,cAAS,GAAT,SAAS,CAA2C;IAC3D,CAAC;IAEJ,KAAK,CAAC,KAAqB,EAAE,GAA2B;QACtD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAElE,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,+DAA+D;IAC/D,gBAAgB;IAChB,MAAM,OAAO,GAAG;QACd,oCAAoC;QACpC,4CAA4C;QAC5C,sCAAsC;QACtC,kBAAkB;QAClB,sCAAsC;KACvC,CAAC;IACF,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG;YAAE,GAAG,GAAG,GAAG,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAA2B;IAC9F,8DAA8D;IAC9D,mEAAmE;IACnE,sBAAsB;IACtB,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEtD,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACzC,sBAAsB,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,SAAS,EAAE,CACxD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEf,MAAM,iBAAiB,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QACpD,CAAC,CAAC,miCAAmiC;QACriC,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,uBAAuB,QAAQ,CAAC,IAAI;;uBAEtB,QAAQ,CAAC,IAAI;;EAElC,YAAY;;;;EAIZ,QAAQ,CAAC,YAAY;EACrB,iBAAiB;;;EAGjB,QAAQ;;EAER,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-engine.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-engine.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ReviewerOutputParser, ReviewerParseError } from './reviewer-output-parser.js';
2
+ import { SAFETY_MAX_TURNS } from '../bounded-execution/safety-max-turns.js';
2
3
  export { specTemplate } from './templates/spec-review.js';
3
4
  export { qualityAPTemplate } from './templates/quality-review-artifact.js';
4
5
  export { diffTemplate } from './templates/diff-review.js';
@@ -18,7 +19,7 @@ export class ReviewerEngine {
18
19
  const { systemPrompt, userPrompt } = this.builder.buildSpec({ ...input });
19
20
  const result = await shell.run({
20
21
  systemPrompt, userMessage: userPrompt, toolDefinitions: [],
21
- maxTurns: 5, cwd: input.cwd,
22
+ maxTurns: SAFETY_MAX_TURNS, cwd: input.cwd,
22
23
  abortSignal: input.abortSignal, deadlineMs: input.deadlineMs,
23
24
  ...(input.bus && { bus: input.bus }),
24
25
  ...(input.batchId !== undefined && { batchId: input.batchId }),
@@ -33,7 +34,7 @@ export class ReviewerEngine {
33
34
  const { systemPrompt, userPrompt } = this.builder.buildQualityAP({ ...input });
34
35
  const result = await shell.run({
35
36
  systemPrompt, userMessage: userPrompt, toolDefinitions: [],
36
- maxTurns: 5, cwd: input.cwd,
37
+ maxTurns: SAFETY_MAX_TURNS, cwd: input.cwd,
37
38
  abortSignal: input.abortSignal, deadlineMs: input.deadlineMs,
38
39
  ...(input.bus && { bus: input.bus }),
39
40
  ...(input.batchId !== undefined && { batchId: input.batchId }),
@@ -48,7 +49,7 @@ export class ReviewerEngine {
48
49
  const { systemPrompt, userPrompt } = this.builder.buildDiff({ ...input });
49
50
  const result = await shell.run({
50
51
  systemPrompt, userMessage: userPrompt, toolDefinitions: [],
51
- maxTurns: 5, cwd: input.cwd,
52
+ maxTurns: SAFETY_MAX_TURNS, cwd: input.cwd,
52
53
  abortSignal: input.abortSignal, deadlineMs: input.deadlineMs,
53
54
  ...(input.bus && { bus: input.bus }),
54
55
  ...(input.batchId !== undefined && { batchId: input.batchId }),
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-engine.js","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-engine.js","sourceRoot":"","sources":["../../src/review/reviewer-engine.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,12 @@
1
1
  export interface AnnotatorPromptContext {
2
- workerOutput: string;
2
+ /** N parallel sub-worker narratives, one per criterion the dispatcher
3
+ * fanned out. The empty-result narrative ("No findings for this
4
+ * criterion.") is filtered out by the engine before this context is
5
+ * built — entries here are non-empty narratives that need merging. */
6
+ workerOutputs: Array<{
7
+ criterion: string;
8
+ narrative: string;
9
+ }>;
3
10
  brief: string;
4
11
  }
5
12
  export interface AnnotatorTemplate {
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-shared.d.ts","sourceRoot":"","sources":["../../../src/review/templates/annotator-shared.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB;yDACqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB;uCACmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CA+CxE"}
1
+ {"version":3,"file":"annotator-shared.d.ts","sourceRoot":"","sources":["../../../src/review/templates/annotator-shared.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC;;;2EAGuE;IACvE,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB;yDACqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB;uCACmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CA+CxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"annotator-shared.js","sourceRoot":"","sources":["../../../src/review/templates/annotator-shared.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,iDAAiD;AAkBjD,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOlB,GAAG,WAAW,GAAG;;;;;;;;;;;CAWjB,GAAG,KAAK,GAAG;;;GAGT,GAAG,MAAM,GAAG;GACZ,GAAG,YAAY,GAAG;;GAElB,GAAG,SAAS,GAAG;GACf,GAAG,YAAY,GAAG;;GAElB,GAAG,cAAc,GAAG;GACpB,GAAG,uBAAuB,GAAG;;GAE7B,GAAG,YAAY,GAAG;;;;;;;CAOpB,GAAG,QAAQ,CAAC,YAAY,GAAG;;;;CAI3B,GAAG,QAAQ,CAAC,SAAS,GAAG;;wCAEe,GAAG,MAAM,GAAG;mDACD,GAAG,SAAS,GAAG;CACjE,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"annotator-shared.js","sourceRoot":"","sources":["../../../src/review/templates/annotator-shared.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,iDAAiD;AAsBjD,MAAM,UAAU,oBAAoB,CAAC,QAA2B;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOlB,GAAG,WAAW,GAAG;;;;;;;;;;;CAWjB,GAAG,KAAK,GAAG;;;GAGT,GAAG,MAAM,GAAG;GACZ,GAAG,YAAY,GAAG;;GAElB,GAAG,SAAS,GAAG;GACf,GAAG,YAAY,GAAG;;GAElB,GAAG,cAAc,GAAG;GACpB,GAAG,uBAAuB,GAAG;;GAE7B,GAAG,YAAY,GAAG;;;;;;;CAOpB,GAAG,QAAQ,CAAC,YAAY,GAAG;;;;CAI3B,GAAG,QAAQ,CAAC,SAAS,GAAG;;wCAEe,GAAG,MAAM,GAAG;mDACD,GAAG,SAAS,GAAG;CACjE,CAAC,IAAI,EAAE,CAAC;AACT,CAAC"}
@@ -65,4 +65,9 @@ export declare const DOC_AUDIT_FAILURE_MODES: string;
65
65
  */
66
66
  export declare const THOROUGHNESS_REMINDER_AUDIT: string;
67
67
  export declare const ANNOTATOR_AWARENESS_AUDIT: string;
68
+ import { type CriterionEntry } from '../criteria-types.js';
69
+ /** Structured per-criterion array for parallel-criteria fan-out. Derived
70
+ * from DOC_AUDIT_FAILURE_MODES so the prose in the cached prefix and the
71
+ * per-sub-worker assignment stay in lockstep. */
72
+ export declare const AUDIT_CRITERIA: readonly CriterionEntry[];
68
73
  //# sourceMappingURL=implementer-criteria.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementer-criteria.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAmB1B,CAAC;AAEb,eAAO,MAAM,mBAAmB,QAOpB,CAAC;AAEb,eAAO,MAAM,gBAAgB,QAMjB,CAAC;AAEb;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,QAoBxB,CAAC;AAEb;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,QAW5B,CAAC;AAEb,eAAO,MAAM,yBAAyB,QAO1B,CAAC"}
1
+ {"version":3,"file":"implementer-criteria.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAmB1B,CAAC;AAEb,eAAO,MAAM,mBAAmB,QAOpB,CAAC;AAEb,eAAO,MAAM,gBAAgB,QAMjB,CAAC;AAEb;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,QAoBxB,CAAC;AAEb;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,QAW5B,CAAC;AAEb,eAAO,MAAM,yBAAyB,QAO1B,CAAC;AAEb,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;kDAEkD;AAClD,eAAO,MAAM,cAAc,EAAE,SAAS,cAAc,EAA2C,CAAC"}
@@ -135,4 +135,9 @@ export const ANNOTATOR_AWARENESS_AUDIT = [
135
135
  '- Is the finding within the document\'s scope, or is it speculation about untouched material?',
136
136
  'Self-check before emitting. Findings that fail any check are downgraded or dropped — but logical-coherence and argument-soundness findings backed by section references are FULLY VALID, do NOT downgrade them as "speculation."',
137
137
  ].join('\n');
138
+ import { parseCriteria } from '../criteria-types.js';
139
+ /** Structured per-criterion array for parallel-criteria fan-out. Derived
140
+ * from DOC_AUDIT_FAILURE_MODES so the prose in the cached prefix and the
141
+ * per-sub-worker assignment stay in lockstep. */
142
+ export const AUDIT_CRITERIA = parseCriteria(DOC_AUDIT_FAILURE_MODES);
138
143
  //# sourceMappingURL=implementer-criteria.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementer-criteria.js","sourceRoot":"","sources":["../../../src/tools/audit/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,wBAAwB;IACxB,0RAA0R;IAC1R,EAAE;IACF,gEAAgE;IAChE,mGAAmG;IACnG,gFAAgF;IAChF,wGAAwG;IACxG,kGAAkG;IAClG,+FAA+F;IAC/F,8FAA8F;IAC9F,kEAAkE;IAClE,oEAAoE;IACpE,iHAAiH;IACjH,oFAAoF;IACpF,EAAE;IACF,uNAAuN;IACvN,EAAE;IACF,gPAAgP;CACjP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kDAAkD;IAClD,+EAA+E;IAC/E,mQAAmQ;IACnQ,qIAAqI;IACrI,wOAAwO;IACxO,8HAA8H;CAC/H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,sHAAsH;IACtH,2GAA2G;IAC3G,yNAAyN;IACzN,qKAAqK;CACtK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wOAAwO;IACxO,EAAE;IACF,wgBAAwgB;IACxgB,ySAAyS;IACzS,0PAA0P;IAC1P,uJAAuJ;IACvJ,0MAA0M;IAC1M,mVAAmV;IACnV,iNAAiN;IACjN,kbAAkb;IAClb,0LAA0L;IAC1L,gYAAgY;IAChY,oNAAoN;IACpN,EAAE;IACF,sCAAsC;IACtC,uRAAuR;IACvR,iPAAiP;IACjP,iMAAiM;IACjM,kGAAkG;CACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,qDAAqD;IACrD,iNAAiN;IACjN,uUAAuU;IACvU,iVAAiV;IACjV,EAAE;IACF,8GAA8G;IAC9G,2GAA2G;IAC3G,6LAA6L;IAC7L,4uBAA4uB;IAC5uB,sKAAsK;CACvK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,4FAA4F;IAC5F,sJAAsJ;IACtJ,mJAAmJ;IACnJ,4IAA4I;IAC5I,+FAA+F;IAC/F,kOAAkO;CACnO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"implementer-criteria.js","sourceRoot":"","sources":["../../../src/tools/audit/implementer-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,wBAAwB;IACxB,0RAA0R;IAC1R,EAAE;IACF,gEAAgE;IAChE,mGAAmG;IACnG,gFAAgF;IAChF,wGAAwG;IACxG,kGAAkG;IAClG,+FAA+F;IAC/F,8FAA8F;IAC9F,kEAAkE;IAClE,oEAAoE;IACpE,iHAAiH;IACjH,oFAAoF;IACpF,EAAE;IACF,uNAAuN;IACvN,EAAE;IACF,gPAAgP;CACjP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kDAAkD;IAClD,+EAA+E;IAC/E,mQAAmQ;IACnQ,qIAAqI;IACrI,wOAAwO;IACxO,8HAA8H;CAC/H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,sHAAsH;IACtH,2GAA2G;IAC3G,yNAAyN;IACzN,qKAAqK;CACtK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wOAAwO;IACxO,EAAE;IACF,wgBAAwgB;IACxgB,ySAAyS;IACzS,0PAA0P;IAC1P,uJAAuJ;IACvJ,0MAA0M;IAC1M,mVAAmV;IACnV,iNAAiN;IACjN,kbAAkb;IAClb,0LAA0L;IAC1L,gYAAgY;IAChY,oNAAoN;IACpN,EAAE;IACF,sCAAsC;IACtC,uRAAuR;IACvR,iPAAiP;IACjP,iMAAiM;IACjM,kGAAkG;CACnG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,qDAAqD;IACrD,iNAAiN;IACjN,uUAAuU;IACvU,iVAAiV;IACjV,EAAE;IACF,8GAA8G;IAC9G,2GAA2G;IAC3G,6LAA6L;IAC7L,4uBAA4uB;IAC5uB,sKAAsK;CACvK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,4FAA4F;IAC5F,sJAAsJ;IACtJ,mJAAmJ;IACnJ,4IAA4I;IAC5I,+FAA+F;IAC/F,kOAAkO;CACnO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,OAAO,EAAE,aAAa,EAAuB,MAAM,sBAAsB,CAAC;AAE1E;;kDAEkD;AAClD,MAAM,CAAC,MAAM,cAAc,GAA8B,aAAa,CAAC,uBAAuB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAE1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAavE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYjE;AAID,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6CD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE,CA0B7D;AAgFD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAyBrE,CAAC"}
1
+ {"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAE1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAavE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAYjE;AAID,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA6CD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE,CA0B7D;AAgFD,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAqCrE,CAAC"}
@@ -159,21 +159,34 @@ export const toolConfig = {
159
159
  category: 'read_only',
160
160
  agentType: 'complex',
161
161
  briefSlot: auditBriefSlot,
162
- buildTaskSpec: (brief, ctx) => ({
163
- prompt: buildPrompt(brief),
164
- agentType: 'complex',
165
- reviewPolicy: 'quality_only',
166
- briefQualityPolicy: 'off',
167
- done: brief.done,
168
- tools: ctx.config.defaults?.tools ?? 'full',
169
- timeoutMs: ctx.config.defaults?.timeoutMs ?? DEFAULT_TASK_TIMEOUT_MS,
170
- maxCostUSD: ctx.config.defaults?.maxCostUSD ?? 10,
171
- sandboxPolicy: ctx.config.defaults?.sandboxPolicy ?? 'cwd-only',
172
- cwd: ctx.projectContext?.cwd ?? ctx.cwd,
173
- contextBlockIds: brief.contextBlockIds,
174
- filePaths: brief.filePaths.length > 0 ? brief.filePaths : undefined,
175
- mainModel: ctx.mainModel,
176
- }),
162
+ buildTaskSpec: (brief, ctx) => {
163
+ // For the parallel-criteria dispatcher's cached prefix, hand it the
164
+ // pure document/file targets — not buildPrompt's full spec which
165
+ // embeds the legacy ## Finding format and would compete with the
166
+ // dispatcher's own format spec.
167
+ const targetParts = [`Audit for ${brief.auditTypeText} issues.`];
168
+ if (brief.document)
169
+ targetParts.push(`Document:\n\n${brief.document}`);
170
+ if (brief.filePaths.length > 0) {
171
+ targetParts.push(`Target files:\n${brief.filePaths.map(p => `- ${p}`).join('\n')}`);
172
+ }
173
+ return {
174
+ prompt: buildPrompt(brief),
175
+ parallelTarget: targetParts.join('\n\n'),
176
+ agentType: 'complex',
177
+ reviewPolicy: 'quality_only',
178
+ briefQualityPolicy: 'off',
179
+ done: brief.done,
180
+ tools: ctx.config.defaults?.tools ?? 'full',
181
+ timeoutMs: ctx.config.defaults?.timeoutMs ?? DEFAULT_TASK_TIMEOUT_MS,
182
+ maxCostUSD: ctx.config.defaults?.maxCostUSD ?? 10,
183
+ sandboxPolicy: ctx.config.defaults?.sandboxPolicy ?? 'cwd-only',
184
+ cwd: ctx.projectContext?.cwd ?? ctx.cwd,
185
+ contextBlockIds: brief.contextBlockIds,
186
+ filePaths: brief.filePaths.length > 0 ? brief.filePaths : undefined,
187
+ mainModel: ctx.mainModel,
188
+ };
189
+ },
177
190
  reportSchema: auditReportSchema,
178
191
  headlineTemplate: auditHeadlineTemplate,
179
192
  reviewTemplates: {