@zhixuan92/multi-model-agent-core 3.1.7 → 3.3.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/dist/auto-commit.d.ts +8 -1
  2. package/dist/auto-commit.d.ts.map +1 -1
  3. package/dist/auto-commit.js +6 -3
  4. package/dist/auto-commit.js.map +1 -1
  5. package/dist/batch-cache.d.ts +1 -1
  6. package/dist/batch-cache.d.ts.map +1 -1
  7. package/dist/batch-cache.js +3 -5
  8. package/dist/batch-cache.js.map +1 -1
  9. package/dist/config/schema.d.ts +13 -13
  10. package/dist/delegate-with-escalation.d.ts +2 -1
  11. package/dist/delegate-with-escalation.d.ts.map +1 -1
  12. package/dist/delegate-with-escalation.js.map +1 -1
  13. package/dist/diagnostics/request-spill.d.ts +16 -0
  14. package/dist/diagnostics/request-spill.d.ts.map +1 -0
  15. package/dist/diagnostics/request-spill.js +23 -0
  16. package/dist/diagnostics/request-spill.js.map +1 -0
  17. package/dist/diagnostics/verbose-line.d.ts +12 -0
  18. package/dist/diagnostics/verbose-line.d.ts.map +1 -0
  19. package/dist/diagnostics/verbose-line.js +80 -0
  20. package/dist/diagnostics/verbose-line.js.map +1 -0
  21. package/dist/executors/audit.js +1 -1
  22. package/dist/executors/audit.js.map +1 -1
  23. package/dist/executors/debug.js +2 -2
  24. package/dist/executors/debug.js.map +1 -1
  25. package/dist/executors/delegate.d.ts +2 -2
  26. package/dist/executors/delegate.d.ts.map +1 -1
  27. package/dist/executors/delegate.js +7 -3
  28. package/dist/executors/delegate.js.map +1 -1
  29. package/dist/executors/execute-plan.d.ts.map +1 -1
  30. package/dist/executors/execute-plan.js +10 -3
  31. package/dist/executors/execute-plan.js.map +1 -1
  32. package/dist/executors/execution-context.d.ts +3 -0
  33. package/dist/executors/execution-context.d.ts.map +1 -0
  34. package/dist/executors/execution-context.js +20 -0
  35. package/dist/executors/execution-context.js.map +1 -0
  36. package/dist/executors/retry.d.ts +1 -1
  37. package/dist/executors/retry.d.ts.map +1 -1
  38. package/dist/executors/retry.js +5 -2
  39. package/dist/executors/retry.js.map +1 -1
  40. package/dist/executors/review.js +1 -1
  41. package/dist/executors/review.js.map +1 -1
  42. package/dist/executors/shared-compute.d.ts +2 -1
  43. package/dist/executors/shared-compute.d.ts.map +1 -1
  44. package/dist/executors/shared-compute.js.map +1 -1
  45. package/dist/executors/types.d.ts +29 -26
  46. package/dist/executors/types.d.ts.map +1 -1
  47. package/dist/executors/verify.js +1 -1
  48. package/dist/executors/verify.js.map +1 -1
  49. package/dist/heartbeat.d.ts +8 -1
  50. package/dist/heartbeat.d.ts.map +1 -1
  51. package/dist/heartbeat.js +28 -1
  52. package/dist/heartbeat.js.map +1 -1
  53. package/dist/index.d.ts +7 -3
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/intake/compilers/delegate.d.ts +3 -1
  58. package/dist/intake/compilers/delegate.d.ts.map +1 -1
  59. package/dist/intake/compilers/delegate.js +23 -12
  60. package/dist/intake/compilers/delegate.js.map +1 -1
  61. package/dist/intake/compilers/execute-plan.d.ts +6 -1
  62. package/dist/intake/compilers/execute-plan.d.ts.map +1 -1
  63. package/dist/intake/compilers/execute-plan.js +8 -1
  64. package/dist/intake/compilers/execute-plan.js.map +1 -1
  65. package/dist/intake/resolve.js +1 -1
  66. package/dist/intake/resolve.js.map +1 -1
  67. package/dist/intake/types.d.ts +10 -0
  68. package/dist/intake/types.d.ts.map +1 -1
  69. package/dist/provider.d.ts.map +1 -1
  70. package/dist/provider.js.map +1 -1
  71. package/dist/readiness/readiness.d.ts +2 -1
  72. package/dist/readiness/readiness.d.ts.map +1 -1
  73. package/dist/readiness/readiness.js.map +1 -1
  74. package/dist/reporting/structured-report.d.ts +19 -0
  75. package/dist/reporting/structured-report.d.ts.map +1 -1
  76. package/dist/reporting/structured-report.js +50 -1
  77. package/dist/reporting/structured-report.js.map +1 -1
  78. package/dist/review/diff-review.d.ts +29 -0
  79. package/dist/review/diff-review.d.ts.map +1 -0
  80. package/dist/review/diff-review.js +53 -0
  81. package/dist/review/diff-review.js.map +1 -0
  82. package/dist/review/evidence.d.ts +15 -0
  83. package/dist/review/evidence.d.ts.map +1 -0
  84. package/dist/review/evidence.js +26 -0
  85. package/dist/review/evidence.js.map +1 -0
  86. package/dist/review/quality-reviewer.d.ts +1 -1
  87. package/dist/review/quality-reviewer.d.ts.map +1 -1
  88. package/dist/review/quality-reviewer.js +5 -3
  89. package/dist/review/quality-reviewer.js.map +1 -1
  90. package/dist/review/spec-reviewer.d.ts +1 -1
  91. package/dist/review/spec-reviewer.d.ts.map +1 -1
  92. package/dist/review/spec-reviewer.js +3 -2
  93. package/dist/review/spec-reviewer.js.map +1 -1
  94. package/dist/routing/model-profiles.d.ts +1 -1
  95. package/dist/routing/types.d.ts +15 -0
  96. package/dist/routing/types.d.ts.map +1 -0
  97. package/dist/routing/types.js +2 -0
  98. package/dist/routing/types.js.map +1 -0
  99. package/dist/run-tasks/commit-stage.d.ts +16 -0
  100. package/dist/run-tasks/commit-stage.d.ts.map +1 -0
  101. package/dist/run-tasks/commit-stage.js +43 -0
  102. package/dist/run-tasks/commit-stage.js.map +1 -0
  103. package/dist/run-tasks/execute-task.d.ts +20 -0
  104. package/dist/run-tasks/execute-task.d.ts.map +1 -0
  105. package/dist/run-tasks/execute-task.js +29 -0
  106. package/dist/run-tasks/execute-task.js.map +1 -0
  107. package/dist/run-tasks/fallback-report.d.ts +5 -0
  108. package/dist/run-tasks/fallback-report.d.ts.map +1 -0
  109. package/dist/run-tasks/fallback-report.js +33 -0
  110. package/dist/run-tasks/fallback-report.js.map +1 -0
  111. package/dist/{run-tasks.d.ts → run-tasks/index.d.ts} +8 -5
  112. package/dist/run-tasks/index.d.ts.map +1 -0
  113. package/dist/run-tasks/index.js +118 -0
  114. package/dist/run-tasks/index.js.map +1 -0
  115. package/dist/run-tasks/metadata-repair.d.ts +15 -0
  116. package/dist/run-tasks/metadata-repair.d.ts.map +1 -0
  117. package/dist/run-tasks/metadata-repair.js +30 -0
  118. package/dist/run-tasks/metadata-repair.js.map +1 -0
  119. package/dist/run-tasks/plan-extraction.d.ts +2 -0
  120. package/dist/run-tasks/plan-extraction.d.ts.map +1 -0
  121. package/dist/run-tasks/plan-extraction.js +44 -0
  122. package/dist/run-tasks/plan-extraction.js.map +1 -0
  123. package/dist/run-tasks/reviewed-lifecycle.d.ts +15 -0
  124. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -0
  125. package/dist/run-tasks/reviewed-lifecycle.js +839 -0
  126. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -0
  127. package/dist/run-tasks/verify-stage.d.ts +25 -0
  128. package/dist/run-tasks/verify-stage.d.ts.map +1 -0
  129. package/dist/run-tasks/verify-stage.js +168 -0
  130. package/dist/run-tasks/verify-stage.js.map +1 -0
  131. package/dist/run-tasks/worker-status.d.ts +3 -0
  132. package/dist/run-tasks/worker-status.d.ts.map +1 -0
  133. package/dist/run-tasks/worker-status.js +13 -0
  134. package/dist/run-tasks/worker-status.js.map +1 -0
  135. package/dist/runners/base/result-builders.d.ts +81 -0
  136. package/dist/runners/base/result-builders.d.ts.map +1 -0
  137. package/dist/runners/base/result-builders.js +103 -0
  138. package/dist/runners/base/result-builders.js.map +1 -0
  139. package/dist/runners/base/types.d.ts +53 -0
  140. package/dist/runners/base/types.d.ts.map +1 -0
  141. package/dist/runners/base/types.js +2 -0
  142. package/dist/runners/base/types.js.map +1 -0
  143. package/dist/runners/claude-runner.d.ts +2 -1
  144. package/dist/runners/claude-runner.d.ts.map +1 -1
  145. package/dist/runners/claude-runner.js +44 -109
  146. package/dist/runners/claude-runner.js.map +1 -1
  147. package/dist/runners/codex-runner.d.ts +2 -1
  148. package/dist/runners/codex-runner.d.ts.map +1 -1
  149. package/dist/runners/codex-runner.js +45 -110
  150. package/dist/runners/codex-runner.js.map +1 -1
  151. package/dist/runners/error-classification.d.ts +1 -1
  152. package/dist/runners/error-classification.d.ts.map +1 -1
  153. package/dist/runners/openai-runner.d.ts +2 -1
  154. package/dist/runners/openai-runner.d.ts.map +1 -1
  155. package/dist/runners/openai-runner.js +34 -84
  156. package/dist/runners/openai-runner.js.map +1 -1
  157. package/dist/runners/prevention.d.ts.map +1 -1
  158. package/dist/runners/prevention.js +18 -0
  159. package/dist/runners/prevention.js.map +1 -1
  160. package/dist/runners/types.d.ts +126 -0
  161. package/dist/runners/types.d.ts.map +1 -0
  162. package/dist/runners/types.js +2 -0
  163. package/dist/runners/types.js.map +1 -0
  164. package/dist/tool-schemas/audit.d.ts +2 -2
  165. package/dist/tool-schemas/delegate.d.ts +9 -0
  166. package/dist/tool-schemas/delegate.d.ts.map +1 -1
  167. package/dist/tool-schemas/delegate.js +4 -0
  168. package/dist/tool-schemas/delegate.js.map +1 -1
  169. package/dist/tool-schemas/execute-plan.d.ts +13 -2
  170. package/dist/tool-schemas/execute-plan.d.ts.map +1 -1
  171. package/dist/tool-schemas/execute-plan.js +22 -4
  172. package/dist/tool-schemas/execute-plan.js.map +1 -1
  173. package/dist/tool-schemas/review.d.ts +1 -1
  174. package/dist/types.d.ts +36 -327
  175. package/dist/types.d.ts.map +1 -1
  176. package/dist/types.js +8 -37
  177. package/dist/types.js.map +1 -1
  178. package/package.json +35 -3
  179. package/dist/run-tasks.d.ts.map +0 -1
  180. package/dist/run-tasks.js +0 -687
  181. package/dist/run-tasks.js.map +0 -1
@@ -1,16 +1,27 @@
1
1
  import { createDraftId } from '../draft-id.js';
2
2
  export function compileDelegateTasks(tasks, requestId) {
3
- return tasks.map((task, index) => ({
4
- draftId: createDraftId(requestId, index, 'root'),
5
- source: {
6
- route: 'delegate_tasks',
7
- originalInput: structuredClone(task),
8
- },
9
- prompt: task.prompt,
10
- done: task.done,
11
- filePaths: task.filePaths,
12
- agentType: task.agentType,
13
- contextBlockIds: task.contextBlockIds,
14
- }));
3
+ if (tasks == null) {
4
+ console.warn('compileDelegateTasks: tasks is null/undefined; returning no drafts');
5
+ return [];
6
+ }
7
+ if (tasks.length === 0) {
8
+ return [];
9
+ }
10
+ return tasks.map((task, index) => {
11
+ const originalInput = structuredClone(task);
12
+ return {
13
+ draftId: createDraftId(requestId, index, 'root'),
14
+ source: {
15
+ route: 'delegate_tasks',
16
+ originalInput,
17
+ },
18
+ prompt: task.prompt,
19
+ done: task.done,
20
+ filePaths: task.filePaths,
21
+ agentType: task.agentType,
22
+ contextBlockIds: task.contextBlockIds,
23
+ reviewPolicy: task.reviewPolicy ?? 'full',
24
+ };
25
+ });
15
26
  }
16
27
  //# sourceMappingURL=delegate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/intake/compilers/delegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU/C,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,SAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;QAChD,MAAM,EAAE;YACN,KAAK,EAAE,gBAAgB;YACvB,aAAa,EAAE,eAAe,CAAC,IAAI,CAAuC;SACzD;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/intake/compilers/delegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgB/C,MAAM,UAAU,oBAAoB,CAClC,KAA6C,EAC7C,SAAiB;IAEjB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,aAAa,GAA4B,eAAe,CAAC,IAAI,CAAuC,CAAC;QAC3G,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,gBAAgB;gBACvB,aAAa;aACI;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,MAAM;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import type { DraftTask } from '../types.js';
2
+ import type { ReviewPolicy } from './delegate.js';
3
+ export interface ExecutePlanTaskInput {
4
+ task: string;
5
+ reviewPolicy?: ReviewPolicy;
6
+ }
2
7
  export interface ExecutePlanInput {
3
- tasks: string[];
8
+ tasks: Array<string | ExecutePlanTaskInput>;
4
9
  fileContents: string;
5
10
  filePaths?: string[];
6
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/execute-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CAiCb"}
1
+ {"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/execute-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CAqCb"}
@@ -1,6 +1,12 @@
1
1
  import { createDraftId } from '../draft-id.js';
2
+ function normalizeTask(input) {
3
+ return typeof input === 'string' ? { task: input } : input;
4
+ }
2
5
  export function compileExecutePlan(input, requestId) {
3
- return input.tasks.map((task, index) => {
6
+ return input.tasks.map((rawTask, index) => {
7
+ const taskInput = normalizeTask(rawTask);
8
+ const task = taskInput.task;
9
+ const reviewPolicy = taskInput.reviewPolicy ?? 'full';
4
10
  const prompt = [
5
11
  'Below are the plan and/or spec documents for this project:',
6
12
  '',
@@ -29,6 +35,7 @@ export function compileExecutePlan(input, requestId) {
29
35
  task,
30
36
  },
31
37
  prompt,
38
+ reviewPolicy,
32
39
  };
33
40
  });
34
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../../src/intake/compilers/execute-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ/C,MAAM,UAAU,kBAAkB,CAChC,KAAuB,EACvB,SAAiB;IAEjB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG;YACb,4DAA4D;YAC5D,EAAE;YACF,KAAK;YACL,KAAK,CAAC,YAAY;YAClB,KAAK;YACL,EAAE;YACF,sDAAsD;YACtD,EAAE;YACF,oBAAoB,IAAI,GAAG;YAC3B,EAAE;YACF,wFAAwF;YACxF,sDAAsD;YACtD,0FAA0F;YAC1F,uDAAuD;YACvD,2FAA2F;YAC3F,oFAAoF;YACpF,0GAA0G;SAC3G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE,CAAC;YACzD,MAAM,EAAE;gBACN,KAAK,EAAE,cAAc;gBACrB,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAwC;gBACvG,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;gBAChC,IAAI;aACgB;YACtB,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../../src/intake/compilers/execute-plan.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAc/C,SAAS,aAAa,CAAC,KAAoC;IACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAuB,EACvB,SAAiB;IAEjB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC;QACtD,MAAM,MAAM,GAAG;YACb,4DAA4D;YAC5D,EAAE;YACF,KAAK;YACL,KAAK,CAAC,YAAY;YAClB,KAAK;YACL,EAAE;YACF,sDAAsD;YACtD,EAAE;YACF,oBAAoB,IAAI,GAAG;YAC3B,EAAE;YACF,wFAAwF;YACxF,sDAAsD;YACtD,0FAA0F;YAC1F,uDAAuD;YACvD,2FAA2F;YAC3F,oFAAoF;YACpF,0GAA0G;SAC3G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE,CAAC;YACzD,MAAM,EAAE;gBACN,KAAK,EAAE,cAAc;gBACrB,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAA6B;gBAC5F,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;gBAChC,IAAI;aACgB;YACtB,MAAM;YACN,YAAY;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -25,7 +25,7 @@ export function resolveDraft(draft, config) {
25
25
  done: draft.done,
26
26
  filePaths: draft.filePaths,
27
27
  agentType: agentType,
28
- reviewPolicy: routeDefaults.reviewPolicy,
28
+ reviewPolicy: draft.reviewPolicy ?? routeDefaults.reviewPolicy,
29
29
  maxReviewRounds: routeDefaults.maxReviewRounds,
30
30
  tools: config.defaults?.tools ?? 'full',
31
31
  timeoutMs: config.defaults?.timeoutMs ?? 1_800_000,
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAyC;IAC3E,WAAW,EAAE,gEAAgE;IAC7E,UAAU,EAAE,4EAA4E;IACxF,WAAW,EAAE,mEAAmE;IAChF,cAAc,EAAE,+DAA+D;IAC/E,YAAY,EAAE,gOAAgO;CAC/O,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA2C;IACpE,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;IAC3D,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE;IAC9E,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;IAC7D,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;CAC9D,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC;IAE3E,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,cAAc,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEjB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,SAAmC;QAC9C,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;QACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,SAAS;QAClD,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;QAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;QAC3D,kBAAkB,EAAE,KAAK;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/intake/resolve.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAyC;IAC3E,WAAW,EAAE,gEAAgE;IAC7E,UAAU,EAAE,4EAA4E;IACxF,WAAW,EAAE,mEAAmE;IAChF,cAAc,EAAE,+DAA+D;IAC/E,YAAY,EAAE,gOAAgO;CAC/O,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA2C;IACpE,cAAc,EAAE,EAAE;IAClB,WAAW,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE;IAC3D,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE;IAC9E,WAAW,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;IAC7D,YAAY,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;CAC9D,CAAC;AAEF,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,MAAwB;IAExB,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC;IAE3E,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACrE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,OAAO,cAAc,EAAE;QACxC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEjB,OAAO;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,SAAmC;QAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;QAC9D,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;QACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,SAAS;QAClD,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;QAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;QAC3D,kBAAkB,EAAE,KAAK;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;KACnB,CAAC;AACJ,CAAC"}
@@ -1,4 +1,13 @@
1
1
  import type { TaskSpec } from '../types.js';
2
+ export type BriefQualityWarning = 'outsourced_discovery' | 'brittle_line_anchors' | 'mixed_environment_actions' | 'bare_topic_noun' | 'no_done_condition' | 'no_output_contract' | 'tiny_brief' | 'huge_brief';
3
+ export type BriefQualityPolicy = 'strict' | 'warn' | 'off' | undefined;
4
+ export interface ReadinessResult {
5
+ action: 'refuse' | 'warn' | 'ignored';
6
+ missingPillars: ('scope' | 'inputs' | 'done_condition' | 'output_contract')[];
7
+ layer2Warnings: BriefQualityWarning[];
8
+ layer3Hints: ('concrete_path' | 'named_code_artifact' | 'reasonable_length')[];
9
+ briefQualityWarnings: BriefQualityWarning[];
10
+ }
2
11
  export type SourceRoute = 'delegate_tasks' | 'review_code' | 'debug_task' | 'verify_work' | 'audit_document' | 'execute_plan';
3
12
  export type DelegateSource = {
4
13
  route: 'delegate_tasks';
@@ -48,6 +57,7 @@ export interface DraftTask {
48
57
  questions?: string[];
49
58
  confirmed?: boolean;
50
59
  contextBlockIds?: string[];
60
+ reviewPolicy?: 'full' | 'spec_only' | 'diff_only' | 'off';
51
61
  }
52
62
  export interface StoredDraft {
53
63
  draft: DraftTask;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intake/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/intake/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAyB,gBAAgB,EAAkB,MAAM,YAAY,CAAC;AAG/G,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAwDlF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAa,gBAAgB,EAAkB,MAAM,YAAY,CAAC;AAInG,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAG,QAAQ,CAwDlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { TaskSpec, ReadinessResult, BriefQualityPolicy } from '../types.js';
1
+ import type { TaskSpec } from '../types.js';
2
+ import type { ReadinessResult, BriefQualityPolicy } from '../intake/types.js';
2
3
  export declare function hasScopePillar(prompt: string): boolean;
3
4
  export declare function hasInputsPillar(prompt: string): boolean;
4
5
  export declare function hasDoneConditionPillar(prompt: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAe9D;AAYD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlG;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAyC5F"}
1
+ {"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAuB,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEnG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAe9D;AAYD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlG;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAyC5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,20 @@
1
+ import { z } from 'zod';
1
2
  export declare const structuredReportSuffix: string;
3
+ export declare const commitSchema: z.ZodObject<{
4
+ type: z.ZodEnum<{
5
+ feat: "feat";
6
+ fix: "fix";
7
+ refactor: "refactor";
8
+ test: "test";
9
+ docs: "docs";
10
+ chore: "chore";
11
+ style: "style";
12
+ }>;
13
+ scope: z.ZodOptional<z.ZodString>;
14
+ subject: z.ZodString;
15
+ body: z.ZodOptional<z.ZodString>;
16
+ }, z.core.$strip>;
17
+ export type CommitFields = z.infer<typeof commitSchema>;
2
18
  export interface FileChange {
3
19
  path: string;
4
20
  summary: string;
@@ -12,6 +28,9 @@ export interface ParsedStructuredReport {
12
28
  }>;
13
29
  deviationsFromBrief: string[];
14
30
  unresolved: string[];
31
+ commit?: CommitFields;
32
+ commitDiagnostic?: string;
15
33
  }
34
+ export type StructuredReport = ParsedStructuredReport;
16
35
  export declare function parseStructuredReport(output: string): ParsedStructuredReport;
17
36
  //# sourceMappingURL=structured-report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"structured-report.d.ts","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,QAe3B,CAAC;AAET,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAoB5E"}
1
+ {"version":3,"file":"structured-report.d.ts","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB,QAiC3B,CAAC;AAET,eAAO,MAAM,YAAY;;;;;;;;;;;;;iBAUvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAsC5E"}
@@ -1,3 +1,4 @@
1
+ import { z } from 'zod';
1
2
  export const structuredReportSuffix = `
2
3
  ## Summary
3
4
  One-line summary of what was done.
@@ -13,7 +14,36 @@ Any intentional or unintentional deviations from the original brief.
13
14
 
14
15
  ## Unresolved
15
16
  Open questions, incomplete items, or items requiring further investigation.
17
+
18
+ If you wrote, modified, or deleted files, your structured report MUST include a \`commit:\` block as a JSON object with these fields:
19
+
20
+ {
21
+ "type": "feat" | "fix" | "refactor" | "test" | "docs" | "chore" | "style",
22
+ "scope": "<optional, 1-24 chars: lowercase letters, digits, dot, underscore, slash, hyphen; must start with letter or digit>",
23
+ "subject": "<1-50 chars, lowercase first letter, no trailing colon, no leading/trailing whitespace>",
24
+ "body": "<optional multi-paragraph plain text explaining WHY>"
25
+ }
26
+
27
+ Examples:
28
+ type: "feat", scope: "core", subject: "add x"
29
+ type: "refactor", scope: "run_tasks", subject: "extract Y from Z"
30
+ type: "fix", subject: "guard against undefined"
31
+
32
+ Do NOT write narrative ("Now I'm going to...") in the subject. The runner will compose \`<type>(<scope>): <subject>\` as the commit message; your subject becomes the commit subject line verbatim.
33
+
34
+ If you did not write any files, omit the commit block entirely.
16
35
  `.trim();
36
+ export const commitSchema = z.object({
37
+ type: z.enum(['feat', 'fix', 'refactor', 'test', 'docs', 'chore', 'style']),
38
+ scope: z.string().regex(/^[a-z0-9][a-z0-9._/-]{0,23}$/).optional(),
39
+ subject: z.string()
40
+ .min(1)
41
+ .max(50)
42
+ .refine(s => !/^[A-Z]/.test(s), 'subject must not start with ASCII uppercase')
43
+ .refine(s => !s.endsWith(':'), 'subject must not end with colon')
44
+ .refine(s => s === s.replace(/^\s+|\s+$/g, ''), 'no leading/trailing whitespace'),
45
+ body: z.string().max(8192).optional(),
46
+ });
17
47
  export function parseStructuredReport(output) {
18
48
  if (!output || !output.trim()) {
19
49
  return {
@@ -25,13 +55,32 @@ export function parseStructuredReport(output) {
25
55
  };
26
56
  }
27
57
  const sections = extractSections(output);
28
- return {
58
+ const report = {
29
59
  summary: sections['summary']?.[0] ?? null,
30
60
  filesChanged: parseFilesChanged(sections['files changed']),
31
61
  validationsRun: parseValidationsRun(sections['validations run']),
32
62
  deviationsFromBrief: sections['deviations from brief'] ?? [],
33
63
  unresolved: sections['unresolved'] ?? [],
34
64
  };
65
+ const commitMatch = output.match(/(?:^|\n)\s*commit:\s*({[\s\S]*?})\s*(?:\n|$)/);
66
+ if (commitMatch) {
67
+ try {
68
+ const obj = JSON.parse(commitMatch[1]);
69
+ const parsed = commitSchema.safeParse(obj);
70
+ if (parsed.success) {
71
+ report.commit = parsed.data;
72
+ }
73
+ else {
74
+ report.commitDiagnostic = parsed.error.issues
75
+ .map(i => `${i.path.join('.')}: ${i.message}`)
76
+ .join('; ');
77
+ }
78
+ }
79
+ catch (e) {
80
+ report.commitDiagnostic = `commit block JSON parse error: ${e.message}`;
81
+ }
82
+ }
83
+ return report;
35
84
  }
36
85
  function extractSections(output) {
37
86
  const sections = {};
@@ -1 +1 @@
1
- {"version":3,"file":"structured-report.js","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structured-report.js","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { VerifyStageResult } from '../run-tasks/verify-stage.js';
2
+ export type DiffReviewConcern = {
3
+ source: 'diff_review';
4
+ severity: 'low' | 'medium' | 'high';
5
+ message: string;
6
+ };
7
+ export type DiffReviewVerdict = {
8
+ kind: 'approve';
9
+ concerns: [];
10
+ } | {
11
+ kind: 'concerns';
12
+ concerns: DiffReviewConcern[];
13
+ } | {
14
+ kind: 'reject';
15
+ message: string;
16
+ };
17
+ export interface DiffReviewInput {
18
+ cwd: string;
19
+ diff: string;
20
+ diffTruncated: boolean;
21
+ verification: VerifyStageResult;
22
+ worker: {
23
+ call: (prompt: string) => Promise<{
24
+ output: string;
25
+ }>;
26
+ };
27
+ }
28
+ export declare function runDiffReview(input: DiffReviewInput): Promise<DiffReviewVerdict>;
29
+ //# sourceMappingURL=diff-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-review.d.ts","sourceRoot":"","sources":["../../src/review/diff-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,EAAE,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,iBAAiB,CAAC;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACnE;AAoBD,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsCtF"}
@@ -0,0 +1,53 @@
1
+ const PROMPT_TEMPLATE = (i) => `
2
+ You are reviewing a mechanical refactor in a single pass. No rework loop is available.
3
+
4
+ Working directory: ${i.cwd}
5
+ Verification: ${i.verification.status}
6
+ ${i.verification.steps.map((s) => `- ${s.command} → ${s.status}`).join('\n')}
7
+
8
+ Diff${i.diffTruncated ? ' (TRUNCATED at 64 KB — you may not approve cleanly)' : ''}:
9
+ \`\`\`diff
10
+ ${i.diff}
11
+ \`\`\`
12
+
13
+ Reply with EXACTLY one of:
14
+ - APPROVE
15
+ - CONCERNS: <comma-separated short concern messages>
16
+ - REJECT: <one-line reason>
17
+ `;
18
+ export async function runDiffReview(input) {
19
+ const prompt = PROMPT_TEMPLATE(input);
20
+ const { output } = await input.worker.call(prompt);
21
+ const trimmed = output.trim();
22
+ if (trimmed === 'APPROVE')
23
+ return { kind: 'approve', concerns: [] };
24
+ if (trimmed.startsWith('CONCERNS:')) {
25
+ const msgs = trimmed
26
+ .slice('CONCERNS:'.length)
27
+ .split(',')
28
+ .map((s) => s.trim())
29
+ .filter(Boolean);
30
+ return {
31
+ kind: 'concerns',
32
+ concerns: msgs.map((m) => ({
33
+ source: 'diff_review',
34
+ severity: 'medium',
35
+ message: m,
36
+ })),
37
+ };
38
+ }
39
+ if (trimmed.startsWith('REJECT:')) {
40
+ return { kind: 'reject', message: trimmed.slice('REJECT:'.length).trim() };
41
+ }
42
+ return {
43
+ kind: 'concerns',
44
+ concerns: [
45
+ {
46
+ source: 'diff_review',
47
+ severity: 'high',
48
+ message: `unparseable verdict: ${trimmed.slice(0, 200)}`,
49
+ },
50
+ ],
51
+ };
52
+ }
53
+ //# sourceMappingURL=diff-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-review.js","sourceRoot":"","sources":["../../src/review/diff-review.ts"],"names":[],"mappings":"AAqBA,MAAM,eAAe,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC;;;qBAG3B,CAAC,CAAC,GAAG;gBACV,CAAC,CAAC,YAAY,CAAC,MAAM;EACnC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;MAEtE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,EAAE;;EAEhF,CAAC,CAAC,IAAI;;;;;;;CAOP,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAEpE,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,OAAO;aACjB,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,EAAE,aAAsB;gBAC9B,QAAQ,EAAE,QAAiB;gBAC3B,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE,aAAa;gBACrB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,wBAAwB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACzD;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Commit } from '../runners/base/result-builders.js';
2
+ import type { VerifyStageResult } from '../run-tasks/verify-stage.js';
3
+ export interface EvidenceInput {
4
+ cwd: string;
5
+ baselineHead: string;
6
+ commits: Commit[];
7
+ verification: VerifyStageResult;
8
+ reviewPolicy: 'full' | 'spec_only' | 'diff_only' | 'off';
9
+ }
10
+ export declare function buildEvidence(i: EvidenceInput): Promise<{
11
+ block: string;
12
+ diffTruncated: boolean;
13
+ fullDiff: string;
14
+ }>;
15
+ //# sourceMappingURL=evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/review/evidence.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,iBAAiB,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC;CAC1D;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB1H"}
@@ -0,0 +1,26 @@
1
+ import { execFile } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ const exec = promisify(execFile);
4
+ export async function buildEvidence(i) {
5
+ const { stdout: stat } = await exec('git', ['diff', `${i.baselineHead}..HEAD`, '--stat'], { cwd: i.cwd });
6
+ const { stdout: full } = await exec('git', ['diff', `${i.baselineHead}..HEAD`], { cwd: i.cwd });
7
+ const cap = 64 * 1024;
8
+ // Cap by UTF-8 bytes, not JS-string length, so non-ASCII diffs hit the actual byte cap.
9
+ const fullBytes = Buffer.byteLength(full, 'utf8');
10
+ const diffTruncated = fullBytes > cap;
11
+ const truncFull = diffTruncated
12
+ ? Buffer.from(full, 'utf8').subarray(0, cap).toString('utf8') + '\n[diff truncated]'
13
+ : full;
14
+ let block = '## Implementation evidence\n';
15
+ block += '- Commits:\n';
16
+ for (const c of i.commits)
17
+ block += ` - ${c.sha.slice(0, 12)} "${c.subject}" (filesChanged: ${c.filesChanged.length})\n`;
18
+ block += `- Verification: ${i.verification.status}\n`;
19
+ for (const s of i.verification.steps)
20
+ block += ` - \`${s.command}\` → ${s.status}${s.exitCode !== null ? ` (exit=${s.exitCode})` : ''} (${s.durationMs}ms)\n`;
21
+ block += `- Diff stat:\n\n\`\`\`\n${stat}\`\`\`\n\n`;
22
+ block += `- Full diff:\n\n\`\`\`diff\n${truncFull}\n\`\`\`\n`;
23
+ block += `- diffTruncated: ${diffTruncated}\n`;
24
+ return { block, diffTruncated, fullDiff: truncFull };
25
+ }
26
+ //# sourceMappingURL=evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/review/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAUjC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,CAAgB;IAClD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1G,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,wFAAwF;IACxF,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,SAAS,GAAG,GAAG,CAAC;IACtC,MAAM,SAAS,GAAG,aAAa;QAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,oBAAoB;QACpF,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,KAAK,GAAG,8BAA8B,CAAC;IAC3C,KAAK,IAAI,cAAc,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,oBAAoB,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;IAC1H,KAAK,IAAI,mBAAmB,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK;QAAE,KAAK,IAAI,SAAS,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,OAAO,CAAC;IAC/J,KAAK,IAAI,2BAA2B,IAAI,YAAY,CAAC;IACrD,KAAK,IAAI,+BAA+B,SAAS,YAAY,CAAC;IAC9D,KAAK,IAAI,oBAAoB,aAAa,IAAI,CAAC;IAC/C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC"}
@@ -10,5 +10,5 @@ export declare function runQualityReview(reviewerProvider: Provider, packet: {
10
10
  prompt: string;
11
11
  scope: string[];
12
12
  doneCondition: string;
13
- }, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[], filesWritten: string[]): Promise<QualityReviewResult>;
13
+ }, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[], filesWritten: string[], evidenceBlock?: string): Promise<QualityReviewResult>;
14
14
  //# sourceMappingURL=quality-reviewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,mBAAmB,CAAC,CA8D9B"}
1
+ {"version":3,"file":"quality-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EAAE,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,mBAAmB,CAAC,CAgE9B"}
@@ -1,15 +1,17 @@
1
1
  import { delegateWithEscalation } from '../delegate-with-escalation.js';
2
2
  import { buildQualityReviewPrompt } from './reviewer-prompt.js';
3
3
  import { parseStructuredReport } from '../reporting/structured-report.js';
4
- export async function runQualityReview(reviewerProvider, packet, implReport, fileContents, toolCallLog, filesWritten) {
4
+ export async function runQualityReview(reviewerProvider, packet, implReport, fileContents, toolCallLog, filesWritten, evidenceBlock) {
5
5
  if (filesWritten.length === 0) {
6
6
  return { status: 'skipped', findings: [], errorReason: 'no files written by implementer' };
7
7
  }
8
+ const prompt = (evidenceBlock ? `${evidenceBlock}\n\n` : '') +
9
+ buildQualityReviewPrompt(packet, implReport, fileContents, toolCallLog);
8
10
  const reviewerSlot = reviewerProvider.name === 'standard' ? 'standard' : 'complex';
9
11
  let result;
10
12
  try {
11
13
  result = await delegateWithEscalation({
12
- prompt: buildQualityReviewPrompt(packet, implReport, fileContents, toolCallLog),
14
+ prompt,
13
15
  agentType: reviewerSlot,
14
16
  briefQualityPolicy: 'off',
15
17
  timeoutMs: 120_000,
@@ -25,7 +27,7 @@ export async function runQualityReview(reviewerProvider, packet, implReport, fil
25
27
  if (!report.summary) {
26
28
  try {
27
29
  const retryResult = await delegateWithEscalation({
28
- prompt: buildQualityReviewPrompt(packet, implReport, fileContents, toolCallLog) +
30
+ prompt: prompt +
29
31
  '\n\nIMPORTANT: Your response MUST begin with a "## Summary" section containing either "approved" or "changes_required". Follow this exact format.',
30
32
  agentType: reviewerSlot,
31
33
  briefQualityPolicy: 'off',
@@ -1 +1 @@
1
- {"version":3,"file":"quality-reviewer.js","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAS1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAA0B,EAC1B,MAAkE,EAClE,UAAkC,EAClC,YAAoC,EACpC,WAAqB,EACrB,YAAsB;IAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,YAAY,GAChB,gBAAgB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,sBAAsB,CACnC;YACE,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;YAC/E,SAAS,EAAE,YAAY;YACvB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE,OAAO;SACnB,EACD,CAAC,gBAAgB,CAAC,EAClB,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACnI,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1G,CAAC;IAED,IAAI,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAC9C;gBACE,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;oBAC7E,mJAAmJ;gBACrJ,SAAS,EAAE,YAAY;gBACvB,kBAAkB,EAAE,KAAK;gBACzB,SAAS,EAAE,OAAO;aACnB,EACD,CAAC,gBAAgB,CAAC,EAClB,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,0DAA0D,EAAE,CAAC;QACpH,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,MAAM;YACN,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"quality-reviewer.js","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ export declare function runSpecReview(reviewerProvider: Provider, packet: {
10
10
  prompt: string;
11
11
  scope: string[];
12
12
  doneCondition: string;
13
- }, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[], planContext?: string): Promise<SpecReviewResult>;
13
+ }, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[], planContext?: string, evidenceBlock?: string): Promise<SpecReviewResult>;
14
14
  //# sourceMappingURL=spec-reviewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,aAAa,CACjC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAgE3B"}
1
+ {"version":3,"file":"spec-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,aAAa,CACjC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAiE3B"}
@@ -1,8 +1,9 @@
1
1
  import { delegateWithEscalation } from '../delegate-with-escalation.js';
2
2
  import { buildSpecReviewPrompt } from './reviewer-prompt.js';
3
3
  import { parseStructuredReport } from '../reporting/structured-report.js';
4
- export async function runSpecReview(reviewerProvider, packet, implReport, fileContents, toolCallLog, planContext) {
5
- const prompt = buildSpecReviewPrompt(packet, implReport, fileContents, toolCallLog, planContext);
4
+ export async function runSpecReview(reviewerProvider, packet, implReport, fileContents, toolCallLog, planContext, evidenceBlock) {
5
+ const prompt = (evidenceBlock ? `${evidenceBlock}\n\n` : '') +
6
+ buildSpecReviewPrompt(packet, implReport, fileContents, toolCallLog, planContext);
6
7
  const reviewerSlot = reviewerProvider.name === 'standard' ? 'standard' : 'complex';
7
8
  let result;
8
9
  try {