@zhixuan92/multi-model-agent-core 4.0.3 → 4.0.5

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 (294) hide show
  1. package/README.md +10 -12
  2. package/dist/events/cloud-events.d.ts +1 -3
  3. package/dist/events/cloud-events.d.ts.map +1 -1
  4. package/dist/events/event-builder.d.ts +1 -1
  5. package/dist/events/event-builder.d.ts.map +1 -1
  6. package/dist/events/observability-events.d.ts +3 -111
  7. package/dist/events/observability-events.d.ts.map +1 -1
  8. package/dist/events/observability-events.js +0 -58
  9. package/dist/events/observability-events.js.map +1 -1
  10. package/dist/events/telemetry-types.d.ts +3 -3
  11. package/dist/events/telemetry-types.js +1 -1
  12. package/dist/events/telemetry-types.js.map +1 -1
  13. package/dist/index.d.ts +2 -7
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -7
  16. package/dist/index.js.map +1 -1
  17. package/dist/intake/brief-compiler-slots/debug.d.ts +0 -26
  18. package/dist/intake/brief-compiler-slots/debug.d.ts.map +1 -1
  19. package/dist/intake/brief-compiler-slots/debug.js +5 -44
  20. package/dist/intake/brief-compiler-slots/debug.js.map +1 -1
  21. package/dist/intake/brief-compiler-slots/delegate.d.ts +0 -24
  22. package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -1
  23. package/dist/intake/brief-compiler-slots/delegate.js +2 -45
  24. package/dist/intake/brief-compiler-slots/delegate.js.map +1 -1
  25. package/dist/intake/brief-compiler-slots/research.d.ts +18 -0
  26. package/dist/intake/brief-compiler-slots/research.d.ts.map +1 -0
  27. package/dist/intake/brief-compiler-slots/research.js +43 -0
  28. package/dist/intake/brief-compiler-slots/research.js.map +1 -0
  29. package/dist/intake/brief-compiler-slots/review.d.ts +0 -23
  30. package/dist/intake/brief-compiler-slots/review.d.ts.map +1 -1
  31. package/dist/intake/brief-compiler-slots/review.js +0 -62
  32. package/dist/intake/brief-compiler-slots/review.js.map +1 -1
  33. package/dist/lifecycle/diff-tracker.d.ts +72 -0
  34. package/dist/lifecycle/diff-tracker.d.ts.map +1 -0
  35. package/dist/lifecycle/diff-tracker.js +316 -0
  36. package/dist/lifecycle/diff-tracker.js.map +1 -0
  37. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +1 -1
  38. package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
  39. package/dist/lifecycle/handlers/prepare-execution-context-handler.js +23 -1
  40. package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
  41. package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -1
  42. package/dist/lifecycle/handlers/quality-chain-handlers.js +57 -6
  43. package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -1
  44. package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +1 -1
  45. package/dist/lifecycle/handlers/review-diff-handler.js +38 -12
  46. package/dist/lifecycle/handlers/review-diff-handler.js.map +1 -1
  47. package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +1 -1
  48. package/dist/lifecycle/handlers/spec-chain-handlers.js +38 -10
  49. package/dist/lifecycle/handlers/spec-chain-handlers.js.map +1 -1
  50. package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
  51. package/dist/lifecycle/handlers/terminal-handlers.js +17 -2
  52. package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
  53. package/dist/lifecycle/merge-stage-stats.d.ts +27 -0
  54. package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
  55. package/dist/lifecycle/merge-stage-stats.js +56 -0
  56. package/dist/lifecycle/merge-stage-stats.js.map +1 -1
  57. package/dist/lifecycle/stage-plan-types.d.ts +15 -0
  58. package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
  59. package/dist/lifecycle/stage-progression.d.ts.map +1 -1
  60. package/dist/lifecycle/stage-progression.js +1 -0
  61. package/dist/lifecycle/stage-progression.js.map +1 -1
  62. package/dist/lifecycle/task-runner.js +1 -1
  63. package/dist/lifecycle/task-runner.js.map +1 -1
  64. package/dist/providers/provider-factory.d.ts.map +1 -1
  65. package/dist/providers/provider-factory.js +6 -0
  66. package/dist/providers/provider-factory.js.map +1 -1
  67. package/dist/reporting/headline-templates/audit.d.ts.map +1 -1
  68. package/dist/reporting/headline-templates/audit.js +17 -8
  69. package/dist/reporting/headline-templates/audit.js.map +1 -1
  70. package/dist/reporting/headline-templates/debug.d.ts +22 -3
  71. package/dist/reporting/headline-templates/debug.d.ts.map +1 -1
  72. package/dist/reporting/headline-templates/debug.js +38 -8
  73. package/dist/reporting/headline-templates/debug.js.map +1 -1
  74. package/dist/reporting/headline-templates/delegate.d.ts.map +1 -1
  75. package/dist/reporting/headline-templates/delegate.js +14 -3
  76. package/dist/reporting/headline-templates/delegate.js.map +1 -1
  77. package/dist/reporting/headline-templates/execute-plan.d.ts.map +1 -1
  78. package/dist/reporting/headline-templates/execute-plan.js +17 -8
  79. package/dist/reporting/headline-templates/execute-plan.js.map +1 -1
  80. package/dist/reporting/headline-templates/research.d.ts +3 -0
  81. package/dist/reporting/headline-templates/research.d.ts.map +1 -0
  82. package/dist/reporting/headline-templates/research.js +23 -0
  83. package/dist/reporting/headline-templates/research.js.map +1 -0
  84. package/dist/reporting/headline-templates/review.d.ts.map +1 -1
  85. package/dist/reporting/headline-templates/review.js +23 -6
  86. package/dist/reporting/headline-templates/review.js.map +1 -1
  87. package/dist/reporting/headline-templates/verify.d.ts.map +1 -1
  88. package/dist/reporting/headline-templates/verify.js +23 -6
  89. package/dist/reporting/headline-templates/verify.js.map +1 -1
  90. package/dist/reporting/headline-text.d.ts +5 -0
  91. package/dist/reporting/headline-text.d.ts.map +1 -1
  92. package/dist/reporting/headline-text.js +36 -5
  93. package/dist/reporting/headline-text.js.map +1 -1
  94. package/dist/reporting/report-parser-slots/research-report.d.ts +30 -0
  95. package/dist/reporting/report-parser-slots/research-report.d.ts.map +1 -0
  96. package/dist/reporting/report-parser-slots/research-report.js +94 -0
  97. package/dist/reporting/report-parser-slots/research-report.js.map +1 -0
  98. package/dist/reporting/report-parser-slots/verify-report.d.ts +17 -0
  99. package/dist/reporting/report-parser-slots/verify-report.d.ts.map +1 -1
  100. package/dist/reporting/report-parser-slots/verify-report.js +45 -3
  101. package/dist/reporting/report-parser-slots/verify-report.js.map +1 -1
  102. package/dist/reporting/severity.d.ts +22 -0
  103. package/dist/reporting/severity.d.ts.map +1 -1
  104. package/dist/reporting/severity.js +36 -0
  105. package/dist/reporting/severity.js.map +1 -1
  106. package/dist/review/annotator-output-parser.d.ts.map +1 -1
  107. package/dist/review/annotator-output-parser.js +94 -14
  108. package/dist/review/annotator-output-parser.js.map +1 -1
  109. package/dist/review/annotator-prompt-builder.d.ts +20 -0
  110. package/dist/review/annotator-prompt-builder.d.ts.map +1 -1
  111. package/dist/review/annotator-prompt-builder.js +54 -3
  112. package/dist/review/annotator-prompt-builder.js.map +1 -1
  113. package/dist/review/reviewer-engine.d.ts +15 -1
  114. package/dist/review/reviewer-engine.d.ts.map +1 -1
  115. package/dist/review/reviewer-engine.js.map +1 -1
  116. package/dist/review/reviewer-output-parser.d.ts.map +1 -1
  117. package/dist/review/reviewer-output-parser.js +171 -16
  118. package/dist/review/reviewer-output-parser.js.map +1 -1
  119. package/dist/review/reviewer-prompt-builder.d.ts +5 -13
  120. package/dist/review/reviewer-prompt-builder.d.ts.map +1 -1
  121. package/dist/review/reviewer-prompt-builder.js.map +1 -1
  122. package/dist/review/templates/annotator-audit.d.ts.map +1 -1
  123. package/dist/review/templates/annotator-audit.js +13 -0
  124. package/dist/review/templates/annotator-audit.js.map +1 -1
  125. package/dist/review/templates/annotator-debug.d.ts.map +1 -1
  126. package/dist/review/templates/annotator-debug.js +11 -1
  127. package/dist/review/templates/annotator-debug.js.map +1 -1
  128. package/dist/review/templates/annotator-investigate.d.ts.map +1 -1
  129. package/dist/review/templates/annotator-investigate.js +10 -1
  130. package/dist/review/templates/annotator-investigate.js.map +1 -1
  131. package/dist/review/templates/annotator-review.d.ts.map +1 -1
  132. package/dist/review/templates/annotator-review.js +10 -0
  133. package/dist/review/templates/annotator-review.js.map +1 -1
  134. package/dist/review/templates/annotator-shared.d.ts +7 -1
  135. package/dist/review/templates/annotator-shared.d.ts.map +1 -1
  136. package/dist/review/templates/annotator-shared.js +18 -29
  137. package/dist/review/templates/annotator-shared.js.map +1 -1
  138. package/dist/review/templates/annotator-verify.d.ts.map +1 -1
  139. package/dist/review/templates/annotator-verify.js +11 -1
  140. package/dist/review/templates/annotator-verify.js.map +1 -1
  141. package/dist/review/templates/diff-review.d.ts +8 -0
  142. package/dist/review/templates/diff-review.d.ts.map +1 -1
  143. package/dist/review/templates/diff-review.js +34 -2
  144. package/dist/review/templates/diff-review.js.map +1 -1
  145. package/dist/review/templates/finding-criteria.d.ts +15 -0
  146. package/dist/review/templates/finding-criteria.d.ts.map +1 -0
  147. package/dist/review/templates/finding-criteria.js +39 -0
  148. package/dist/review/templates/finding-criteria.js.map +1 -0
  149. package/dist/review/templates/quality-review-artifact.d.ts +13 -0
  150. package/dist/review/templates/quality-review-artifact.d.ts.map +1 -1
  151. package/dist/review/templates/quality-review-artifact.js +41 -3
  152. package/dist/review/templates/quality-review-artifact.js.map +1 -1
  153. package/dist/review/templates/quality-review-audit.d.ts.map +1 -1
  154. package/dist/review/templates/quality-review-audit.js +3 -2
  155. package/dist/review/templates/quality-review-audit.js.map +1 -1
  156. package/dist/review/templates/quality-review-debug.d.ts.map +1 -1
  157. package/dist/review/templates/quality-review-debug.js +3 -2
  158. package/dist/review/templates/quality-review-debug.js.map +1 -1
  159. package/dist/review/templates/quality-review-investigate.d.ts.map +1 -1
  160. package/dist/review/templates/quality-review-investigate.js +3 -2
  161. package/dist/review/templates/quality-review-investigate.js.map +1 -1
  162. package/dist/review/templates/quality-review-review.d.ts.map +1 -1
  163. package/dist/review/templates/quality-review-review.js +3 -2
  164. package/dist/review/templates/quality-review-review.js.map +1 -1
  165. package/dist/review/templates/quality-review-verify.d.ts.map +1 -1
  166. package/dist/review/templates/quality-review-verify.js +3 -2
  167. package/dist/review/templates/quality-review-verify.js.map +1 -1
  168. package/dist/review/templates/shared.d.ts +22 -5
  169. package/dist/review/templates/shared.d.ts.map +1 -1
  170. package/dist/review/templates/spec-review.d.ts +15 -0
  171. package/dist/review/templates/spec-review.d.ts.map +1 -1
  172. package/dist/review/templates/spec-review.js +43 -3
  173. package/dist/review/templates/spec-review.js.map +1 -1
  174. package/dist/stores/file-backed-context-block-store.d.ts +5 -1
  175. package/dist/stores/file-backed-context-block-store.d.ts.map +1 -1
  176. package/dist/stores/file-backed-context-block-store.js +16 -19
  177. package/dist/stores/file-backed-context-block-store.js.map +1 -1
  178. package/dist/stores/project-context-registry.d.ts +5 -3
  179. package/dist/stores/project-context-registry.d.ts.map +1 -1
  180. package/dist/stores/project-context-registry.js.map +1 -1
  181. package/dist/tool-surface/openapi-generator.d.ts.map +1 -1
  182. package/dist/tool-surface/openapi-generator.js +4 -4
  183. package/dist/tool-surface/openapi-generator.js.map +1 -1
  184. package/dist/tool-surface/register-all-tools.js +3 -3
  185. package/dist/tool-surface/register-all-tools.js.map +1 -1
  186. package/dist/tools/audit/implementer-criteria.d.ts +17 -0
  187. package/dist/tools/audit/implementer-criteria.d.ts.map +1 -0
  188. package/dist/tools/audit/implementer-criteria.js +36 -0
  189. package/dist/tools/audit/implementer-criteria.js.map +1 -0
  190. package/dist/tools/audit/tool-config.d.ts.map +1 -1
  191. package/dist/tools/audit/tool-config.js +24 -6
  192. package/dist/tools/audit/tool-config.js.map +1 -1
  193. package/dist/tools/debug/implementer-criteria.d.ts +12 -0
  194. package/dist/tools/debug/implementer-criteria.d.ts.map +1 -0
  195. package/dist/tools/debug/implementer-criteria.js +29 -0
  196. package/dist/tools/debug/implementer-criteria.js.map +1 -0
  197. package/dist/tools/debug/tool-config.d.ts.map +1 -1
  198. package/dist/tools/debug/tool-config.js +18 -4
  199. package/dist/tools/debug/tool-config.js.map +1 -1
  200. package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
  201. package/dist/tools/execute-plan/tool-config.js +5 -1
  202. package/dist/tools/execute-plan/tool-config.js.map +1 -1
  203. package/dist/tools/index.d.ts +0 -1
  204. package/dist/tools/index.d.ts.map +1 -1
  205. package/dist/tools/index.js +0 -1
  206. package/dist/tools/index.js.map +1 -1
  207. package/dist/tools/investigate/implementer-criteria.d.ts +17 -0
  208. package/dist/tools/investigate/implementer-criteria.d.ts.map +1 -0
  209. package/dist/tools/investigate/implementer-criteria.js +33 -0
  210. package/dist/tools/investigate/implementer-criteria.js.map +1 -0
  211. package/dist/tools/investigate/tool-config.d.ts +13 -1
  212. package/dist/tools/investigate/tool-config.d.ts.map +1 -1
  213. package/dist/tools/investigate/tool-config.js +34 -4
  214. package/dist/tools/investigate/tool-config.js.map +1 -1
  215. package/dist/tools/research/implementer-criteria.d.ts +15 -0
  216. package/dist/tools/research/implementer-criteria.d.ts.map +1 -0
  217. package/dist/tools/research/implementer-criteria.js +37 -0
  218. package/dist/tools/research/implementer-criteria.js.map +1 -0
  219. package/dist/tools/{explore → research}/schema.d.ts +2 -3
  220. package/dist/tools/research/schema.d.ts.map +1 -0
  221. package/dist/tools/{explore → research}/schema.js +10 -16
  222. package/dist/tools/research/schema.js.map +1 -0
  223. package/dist/tools/research/tool-config.d.ts +20 -0
  224. package/dist/tools/research/tool-config.d.ts.map +1 -0
  225. package/dist/tools/research/tool-config.js +51 -0
  226. package/dist/tools/research/tool-config.js.map +1 -0
  227. package/dist/tools/retry/tool-config.d.ts.map +1 -1
  228. package/dist/tools/retry/tool-config.js +27 -4
  229. package/dist/tools/retry/tool-config.js.map +1 -1
  230. package/dist/tools/review/implementer-criteria.d.ts +11 -0
  231. package/dist/tools/review/implementer-criteria.d.ts.map +1 -0
  232. package/dist/tools/review/implementer-criteria.js +27 -0
  233. package/dist/tools/review/implementer-criteria.js.map +1 -0
  234. package/dist/tools/review/tool-config.d.ts.map +1 -1
  235. package/dist/tools/review/tool-config.js +43 -4
  236. package/dist/tools/review/tool-config.js.map +1 -1
  237. package/dist/tools/verify/implementer-criteria.d.ts +12 -0
  238. package/dist/tools/verify/implementer-criteria.d.ts.map +1 -0
  239. package/dist/tools/verify/implementer-criteria.js +29 -0
  240. package/dist/tools/verify/implementer-criteria.js.map +1 -0
  241. package/dist/tools/verify/tool-config.d.ts.map +1 -1
  242. package/dist/tools/verify/tool-config.js +18 -4
  243. package/dist/tools/verify/tool-config.js.map +1 -1
  244. package/dist/types/enums.d.ts +1 -11
  245. package/dist/types/enums.d.ts.map +1 -1
  246. package/dist/types/enums.js +2 -4
  247. package/dist/types/enums.js.map +1 -1
  248. package/package.json +12 -40
  249. package/dist/intake/brief-compiler-slots/audit.d.ts +0 -23
  250. package/dist/intake/brief-compiler-slots/audit.d.ts.map +0 -1
  251. package/dist/intake/brief-compiler-slots/audit.js +0 -61
  252. package/dist/intake/brief-compiler-slots/audit.js.map +0 -1
  253. package/dist/intake/brief-compiler-slots/explore.d.ts +0 -43
  254. package/dist/intake/brief-compiler-slots/explore.d.ts.map +0 -1
  255. package/dist/intake/brief-compiler-slots/explore.js +0 -116
  256. package/dist/intake/brief-compiler-slots/explore.js.map +0 -1
  257. package/dist/intake/brief-compiler-slots/investigate.d.ts +0 -26
  258. package/dist/intake/brief-compiler-slots/investigate.d.ts.map +0 -1
  259. package/dist/intake/brief-compiler-slots/investigate.js +0 -42
  260. package/dist/intake/brief-compiler-slots/investigate.js.map +0 -1
  261. package/dist/intake/brief-compiler-slots/verify.d.ts +0 -21
  262. package/dist/intake/brief-compiler-slots/verify.d.ts.map +0 -1
  263. package/dist/intake/brief-compiler-slots/verify.js +0 -62
  264. package/dist/intake/brief-compiler-slots/verify.js.map +0 -1
  265. package/dist/reporting/compose-explore-headline.d.ts +0 -14
  266. package/dist/reporting/compose-explore-headline.d.ts.map +0 -1
  267. package/dist/reporting/compose-explore-headline.js +0 -14
  268. package/dist/reporting/compose-explore-headline.js.map +0 -1
  269. package/dist/reporting/derive-explore-status.d.ts +0 -18
  270. package/dist/reporting/derive-explore-status.d.ts.map +0 -1
  271. package/dist/reporting/derive-explore-status.js +0 -15
  272. package/dist/reporting/derive-explore-status.js.map +0 -1
  273. package/dist/reporting/headline-templates/explore.d.ts +0 -3
  274. package/dist/reporting/headline-templates/explore.d.ts.map +0 -1
  275. package/dist/reporting/headline-templates/explore.js +0 -13
  276. package/dist/reporting/headline-templates/explore.js.map +0 -1
  277. package/dist/reporting/parse-explore-report.d.ts +0 -38
  278. package/dist/reporting/parse-explore-report.d.ts.map +0 -1
  279. package/dist/reporting/parse-explore-report.js +0 -185
  280. package/dist/reporting/parse-explore-report.js.map +0 -1
  281. package/dist/reporting/report-parser-slots/explore-report.d.ts +0 -17
  282. package/dist/reporting/report-parser-slots/explore-report.d.ts.map +0 -1
  283. package/dist/reporting/report-parser-slots/explore-report.js +0 -9
  284. package/dist/reporting/report-parser-slots/explore-report.js.map +0 -1
  285. package/dist/research/explore-orchestrator.d.ts +0 -14
  286. package/dist/research/explore-orchestrator.d.ts.map +0 -1
  287. package/dist/research/explore-orchestrator.js +0 -362
  288. package/dist/research/explore-orchestrator.js.map +0 -1
  289. package/dist/tools/explore/schema.d.ts.map +0 -1
  290. package/dist/tools/explore/schema.js.map +0 -1
  291. package/dist/tools/explore/tool-config.d.ts +0 -7
  292. package/dist/tools/explore/tool-config.d.ts.map +0 -1
  293. package/dist/tools/explore/tool-config.js +0 -36
  294. package/dist/tools/explore/tool-config.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding-criteria.d.ts","sourceRoot":"","sources":["../../../src/review/templates/finding-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,eAAe,QAOhB,CAAC;AAEb,eAAO,MAAM,qBAAqB,QAiBtB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Truly-shared finding criteria — the constants that apply *identically*
3
+ * across every consumer. Per-tool blocks live next to each tool, not here.
4
+ *
5
+ * - SEVERITY_LADDER: same severity ladder, same anti-inflation hint, same
6
+ * impact-anchored definitions for all 5 read-only tools.
7
+ * - REVIEWER_AWARENESS_AP: same spec+quality reviewer expectation across
8
+ * delegate / execute-plan / retry implementer prompts.
9
+ *
10
+ * Evidence + scope + annotator-awareness are calibrated per-tool; see
11
+ * tools/<tool>/implementer-criteria.ts for each tool's blocks.
12
+ */
13
+ export const SEVERITY_LADDER = [
14
+ 'Severity (your judgment, calibrated to actual impact):',
15
+ '- critical: must fix first — RCE, data loss, auth bypass, build broken, data corruption.',
16
+ '- high: real bug or security gap; blocks release.',
17
+ '- medium: real issue; fix soon; not blocking.',
18
+ '- low: minor or cosmetic issue; nice-to-fix.',
19
+ 'Calibrate to actual impact, not how alarming the wording sounds. Workers commonly inflate — resist the urge.',
20
+ ].join('\n');
21
+ export const REVIEWER_AWARENESS_AP = [
22
+ 'After your edit, two reviewers see the cumulative diff (every change since task start):',
23
+ '',
24
+ '1. SPEC reviewer — "does the diff fulfill the brief?"',
25
+ ' - APPROVED requires: every brief item present in the diff, no missing pieces, no out-of-scope edits.',
26
+ ' - CHANGES_REQUIRED requires: a concrete concern tied to a specific diff line.',
27
+ ' - Empty diff = changes_required UNLESS the brief explicitly requested a no-op.',
28
+ '',
29
+ '2. QUALITY reviewer — "is the diff sound, safe, maintainable?"',
30
+ ' - Flags: correctness bugs, broken tests, races, security gaps, speculative dependencies.',
31
+ ' - Does NOT flag: stylistic preferences, comment bikeshedding, unrelated pre-existing code.',
32
+ '',
33
+ 'Self-check before declaring done:',
34
+ '- Implemented EVERY item in the brief? (no gaps)',
35
+ '- No edits OUTSIDE the brief? (no scope creep)',
36
+ '- If your edit affects callers / tests not in your filePaths, note them in your summary — even if you can\'t update them.',
37
+ '- Are the changes minimal and verifiable, or could they be smaller?',
38
+ ].join('\n');
39
+ //# sourceMappingURL=finding-criteria.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding-criteria.js","sourceRoot":"","sources":["../../../src/review/templates/finding-criteria.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wDAAwD;IACxD,0FAA0F;IAC1F,uDAAuD;IACvD,iDAAiD;IACjD,mDAAmD;IACnD,8GAA8G;CAC/G,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,yFAAyF;IACzF,EAAE;IACF,uDAAuD;IACvD,yGAAyG;IACzG,kFAAkF;IAClF,mFAAmF;IACnF,EAAE;IACF,gEAAgE;IAChE,6FAA6F;IAC7F,+FAA+F;IAC/F,EAAE;IACF,mCAAmC;IACnC,kDAAkD;IAClD,gDAAgD;IAChD,2HAA2H;IAC3H,qEAAqE;CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -1,3 +1,16 @@
1
1
  import type { ReviewTemplate } from './shared.js';
2
+ /**
3
+ * Quality reviewer for artifact-producing routes (delegate, execute-plan,
4
+ * retry).
5
+ *
6
+ * Tool sweep #6: pre-fix this template only saw `Task: <brief>` +
7
+ * `Worker output: <text>`. Quality findings were rooted in the
8
+ * worker's prose claim — false positives ("the worker claimed X but
9
+ * didn't really") were common, and real regressions in the diff
10
+ * could be missed if the worker's summary glossed over them.
11
+ *
12
+ * Post-fix: reviewer sees the cumulative diff. Findings must be
13
+ * specific to diff lines.
14
+ */
2
15
  export declare const qualityAPTemplate: ReviewTemplate;
3
16
  //# sourceMappingURL=quality-review-artifact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-artifact.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,iBAAiB,EAAE,cAM/B,CAAC"}
1
+ {"version":3,"file":"quality-review-artifact.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAsC/B,CAAC"}
@@ -1,8 +1,46 @@
1
+ /**
2
+ * Quality reviewer for artifact-producing routes (delegate, execute-plan,
3
+ * retry).
4
+ *
5
+ * Tool sweep #6: pre-fix this template only saw `Task: <brief>` +
6
+ * `Worker output: <text>`. Quality findings were rooted in the
7
+ * worker's prose claim — false positives ("the worker claimed X but
8
+ * didn't really") were common, and real regressions in the diff
9
+ * could be missed if the worker's summary glossed over them.
10
+ *
11
+ * Post-fix: reviewer sees the cumulative diff. Findings must be
12
+ * specific to diff lines.
13
+ */
1
14
  export const qualityAPTemplate = {
2
- systemPrompt: `You are a code quality reviewer. Check whether the implementation is sound, safe, and maintainable.
3
- Return a JSON block with: {"verdict":"approved"|"concerns","concerns":["concern1",...]}`,
15
+ systemPrompt: [
16
+ 'You are a code quality reviewer. Check whether the cumulative diff is sound, safe, and maintainable.',
17
+ '',
18
+ 'Reply with a JSON block: {"verdict":"approved"|"concerns","concerns":["..."]}.',
19
+ '',
20
+ 'Verdict rules:',
21
+ '- "approved": the diff has no quality concerns worth blocking on. The "concerns" list MUST be empty.',
22
+ '- "concerns": cite at least one specific concern, each tied to a specific diff line. Do not raise stylistic preferences not relevant to correctness, safety, or maintainability.',
23
+ '- An empty diff is "approved" (nothing to review).',
24
+ '',
25
+ 'Examples of legitimate concerns: input not validated; resource not closed; race condition introduced; tests broken; new dependency introduced without justification.',
26
+ 'Examples of out-of-scope concerns: bracket placement; comment punctuation; unrelated pre-existing code.',
27
+ ].join('\n'),
4
28
  buildUserPrompt(ctx) {
5
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}`;
29
+ const parts = [];
30
+ parts.push(`# Task brief\n${ctx.brief}`);
31
+ if (ctx.priorConcerns && ctx.priorConcerns.length > 0) {
32
+ parts.push(`# Prior reviewer concerns from earlier rounds in this chain\nVerify the rework has addressed each one:\n` +
33
+ ctx.priorConcerns.map((c, i) => `${i + 1}. ${c}`).join('\n'));
34
+ }
35
+ parts.push(`# Worker's most recent summary\n${ctx.workerOutput || '(no summary)'}`);
36
+ if (ctx.diff && ctx.diff.length > 0) {
37
+ parts.push(`# Cumulative diff (the truth of what changed)\n\n\`\`\`diff\n${ctx.diff}\n\`\`\``);
38
+ }
39
+ else {
40
+ parts.push(`# Cumulative diff\n(no file changes detected — verdict should be "approved")`);
41
+ }
42
+ parts.push(`# Decide\nIs the cumulative diff sound, safe, and maintainable? Reply with the JSON block specified in the system prompt.`);
43
+ return parts.join('\n\n');
6
44
  },
7
45
  };
8
46
  //# sourceMappingURL=quality-review-artifact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-artifact.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-artifact.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,YAAY,EAAE;wFACwE;IACtF,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,EAAE,CAAC;IACrE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-artifact.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-artifact.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,YAAY,EAAE;QACZ,sGAAsG;QACtG,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,gBAAgB;QAChB,sGAAsG;QACtG,kLAAkL;QAClL,oDAAoD;QACpD,EAAE;QACF,sKAAsK;QACtK,yGAAyG;KAC1G,CAAC,IAAI,CAAC,IAAI,CAAC;IAEZ,eAAe,CAAC,GAAG;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CACR,0GAA0G;gBAC1G,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC,CAAC;QAEpF,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,gEAAgE,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC7F,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,2HAA2H,CAAC,CAAC;QAExI,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-audit.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,oBAAoB,EAAE,cAMlC,CAAC"}
1
+ {"version":3,"file":"quality-review-audit.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,oBAAoB,EAAE,cAMlC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ANNOTATOR_RUBRIC } from './annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './annotator-shared.js';
2
+ import { annotatorAuditTemplate } from './annotator-audit.js';
2
3
  export const qualityAuditTemplate = {
3
4
  systemPrompt: `You are a quality reviewer checking an audit produced by a worker.
4
5
  For each finding, ask: is this the kind of issue the audit asked for? A security audit should produce security findings, not style nits.`,
5
6
  buildUserPrompt(ctx) {
6
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${ANNOTATOR_RUBRIC}`;
7
+ return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorAuditTemplate)}`;
7
8
  },
8
9
  };
9
10
  //# sourceMappingURL=quality-review-audit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-audit.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,YAAY,EAAE;yIACyH;IACvI,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,gBAAgB,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-audit.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,YAAY,EAAE;yIACyH;IACvI,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACxH,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-debug.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,oBAAoB,EAAE,cAMlC,CAAC"}
1
+ {"version":3,"file":"quality-review-debug.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,oBAAoB,EAAE,cAMlC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ANNOTATOR_RUBRIC } from './annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './annotator-shared.js';
2
+ import { annotatorDebugTemplate } from './annotator-debug.js';
2
3
  export const qualityDebugTemplate = {
3
4
  systemPrompt: `You are a quality reviewer checking a debugging hypothesis produced by a worker.
4
5
  Each finding should be a hypothesis, root-cause claim, or evidence (reproducer, error pattern, code path). Flag findings that do not logically follow from cited evidence or that exceed what the trace actually shows.`,
5
6
  buildUserPrompt(ctx) {
6
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${ANNOTATOR_RUBRIC}`;
7
+ return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorDebugTemplate)}`;
7
8
  },
8
9
  };
9
10
  //# sourceMappingURL=quality-review-debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-debug.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,YAAY,EAAE;wNACwM;IACtN,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,gBAAgB,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-debug.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAClD,YAAY,EAAE;wNACwM;IACtN,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACxH,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-investigate.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-investigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,0BAA0B,EAAE,cAMxC,CAAC"}
1
+ {"version":3,"file":"quality-review-investigate.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-investigate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,0BAA0B,EAAE,cAMxC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ANNOTATOR_RUBRIC } from './annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './annotator-shared.js';
2
+ import { annotatorInvestigateTemplate } from './annotator-investigate.js';
2
3
  export const qualityInvestigateTemplate = {
3
4
  systemPrompt: `You are a quality reviewer checking a codebase investigation produced by a worker.
4
5
  Each finding should be relevant to the question. Findings may be code-level (file:line cited in evidence) or project-level synthesis (what was searched, what was not found). Flag findings whose evidence does not support the claim or whose claim drifts from the question.`,
5
6
  buildUserPrompt(ctx) {
6
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${ANNOTATOR_RUBRIC}`;
7
+ return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorInvestigateTemplate)}`;
7
8
  },
8
9
  };
9
10
  //# sourceMappingURL=quality-review-investigate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-investigate.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-investigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,0BAA0B,GAAmB;IACxD,YAAY,EAAE;+QAC+P;IAC7Q,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,gBAAgB,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-investigate.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-investigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,CAAC,MAAM,0BAA0B,GAAmB;IACxD,YAAY,EAAE;+QAC+P;IAC7Q,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAC9H,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-review.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC"}
1
+ {"version":3,"file":"quality-review-review.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ANNOTATOR_RUBRIC } from './annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './annotator-shared.js';
2
+ import { annotatorReviewTemplate } from './annotator-review.js';
2
3
  export const qualityReviewTemplate = {
3
4
  systemPrompt: `You are a quality reviewer checking a code review produced by a worker.
4
5
  For each finding, ask: is this within the requested focus area? A security review should produce security findings, not formatting nits.`,
5
6
  buildUserPrompt(ctx) {
6
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${ANNOTATOR_RUBRIC}`;
7
+ return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorReviewTemplate)}`;
7
8
  },
8
9
  };
9
10
  //# sourceMappingURL=quality-review-review.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-review.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,YAAY,EAAE;yIACyH;IACvI,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,gBAAgB,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-review.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,YAAY,EAAE;yIACyH;IACvI,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACzH,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-verify.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC"}
1
+ {"version":3,"file":"quality-review-verify.d.ts","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC"}
@@ -1,9 +1,10 @@
1
- import { ANNOTATOR_RUBRIC } from './annotator-shared.js';
1
+ import { buildAnnotatorRubric } from './annotator-shared.js';
2
+ import { annotatorVerifyTemplate } from './annotator-verify.js';
2
3
  export const qualityVerifyTemplate = {
3
4
  systemPrompt: `You are a quality reviewer checking a verification report produced by a worker.
4
5
  Each finding should map to one checklist item with evidence the criterion was met or unmet. Flag findings that do not correspond to any checklist item, or whose evidence does not actually demonstrate the claimed pass/fail status.`,
5
6
  buildUserPrompt(ctx) {
6
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${ANNOTATOR_RUBRIC}`;
7
+ return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}\n\n${buildAnnotatorRubric(annotatorVerifyTemplate)}`;
7
8
  },
8
9
  };
9
10
  //# sourceMappingURL=quality-review-verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-verify.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,YAAY,EAAE;sOACsN;IACpO,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,gBAAgB,EAAE,CAAC;IAC5F,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"quality-review-verify.js","sourceRoot":"","sources":["../../../src/review/templates/quality-review-verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,YAAY,EAAE;sOACsN;IACpO,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,EAAE,CAAC;IACzH,CAAC;CACF,CAAC"}
@@ -1,9 +1,26 @@
1
+ export interface ReviewTemplateContext {
2
+ workerOutput: string;
3
+ brief: string;
4
+ filesChanged?: string[];
5
+ /**
6
+ * Cumulative unified diff of every change made since task start,
7
+ * across all rework rounds. Empty/undefined when no changes were
8
+ * detected (or the route is read-only).
9
+ *
10
+ * Tool sweep #6: reviewer templates were operating blind on the
11
+ * worker's text claim alone. Passing the diff lets each reviewer
12
+ * be precise — verdicts are grounded in code evidence, not prose.
13
+ */
14
+ diff?: string;
15
+ /**
16
+ * Concrete concerns from previous reviewer rounds in this chain.
17
+ * Round 1 sees an empty list; round 2+ sees what round 1 flagged
18
+ * so it can verify "did the rework address X" rather than re-deriving.
19
+ */
20
+ priorConcerns?: string[];
21
+ }
1
22
  export interface ReviewTemplate {
2
23
  systemPrompt: string;
3
- buildUserPrompt(ctx: {
4
- workerOutput: string;
5
- brief: string;
6
- filesChanged?: string[];
7
- }): string;
24
+ buildUserPrompt(ctx: ReviewTemplateContext): string;
8
25
  }
9
26
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/review/templates/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,GAAG,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC;CAChG"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/review/templates/shared.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAAC;CACrD"}
@@ -1,3 +1,18 @@
1
1
  import type { ReviewTemplate } from './shared.js';
2
+ /**
3
+ * Spec compliance reviewer.
4
+ *
5
+ * Tool sweep #6 rewrite: pre-fix this template gave the LLM only
6
+ * `Task: <brief>` + `Worker output: <text>`. The reviewer was
7
+ * reviewing the worker's CLAIM, not the worker's WORK — it had no
8
+ * way to verify whether the claim was true. Result: skeptical
9
+ * reviewers defaulted to "changes_required" and triggered endless
10
+ * rework spirals on already-correct edits.
11
+ *
12
+ * Post-fix: the reviewer also sees the cumulative diff (the truth)
13
+ * and any prior reviewer concerns it should verify are addressed.
14
+ * With evidence in hand, "changes_required" must point to a
15
+ * specific diff line — no more vague rejections.
16
+ */
2
17
  export declare const specTemplate: ReviewTemplate;
3
18
  //# sourceMappingURL=spec-review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-review.d.ts","sourceRoot":"","sources":["../../../src/review/templates/spec-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,YAAY,EAAE,cAM1B,CAAC"}
1
+ {"version":3,"file":"spec-review.d.ts","sourceRoot":"","sources":["../../../src/review/templates/spec-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,cAsC1B,CAAC"}
@@ -1,8 +1,48 @@
1
+ /**
2
+ * Spec compliance reviewer.
3
+ *
4
+ * Tool sweep #6 rewrite: pre-fix this template gave the LLM only
5
+ * `Task: <brief>` + `Worker output: <text>`. The reviewer was
6
+ * reviewing the worker's CLAIM, not the worker's WORK — it had no
7
+ * way to verify whether the claim was true. Result: skeptical
8
+ * reviewers defaulted to "changes_required" and triggered endless
9
+ * rework spirals on already-correct edits.
10
+ *
11
+ * Post-fix: the reviewer also sees the cumulative diff (the truth)
12
+ * and any prior reviewer concerns it should verify are addressed.
13
+ * With evidence in hand, "changes_required" must point to a
14
+ * specific diff line — no more vague rejections.
15
+ */
1
16
  export const specTemplate = {
2
- systemPrompt: `You are a spec compliance reviewer. Check whether the implementer satisfied the task exactly.
3
- Return a JSON block with: {"verdict":"approved"|"changes_required","concerns":["concern1",...]}`,
17
+ systemPrompt: [
18
+ 'You are a spec compliance reviewer. Your job is to decide whether the cumulative diff fulfills the task brief — nothing else.',
19
+ '',
20
+ 'Reply with a JSON block: {"verdict":"approved"|"changes_required","concerns":["..."]}.',
21
+ '',
22
+ 'Verdict rules:',
23
+ '- "approved": the diff implements the brief, with no missing or wrong elements. The "concerns" list MUST be empty.',
24
+ '- "changes_required": cite at least one concrete concern, each tied to a specific diff line or a specific missing element from the brief. Do NOT use this verdict for stylistic preferences not in the brief.',
25
+ '- An empty diff (no files changed) is "changes_required" UNLESS the brief explicitly requested a no-op or "no change needed".',
26
+ '- A diff that fully satisfies the brief is "approved" even if you would have written it differently.',
27
+ '',
28
+ 'You do not see future rework rounds. Decide on this evidence alone.',
29
+ ].join('\n'),
4
30
  buildUserPrompt(ctx) {
5
- return `Task: ${ctx.brief}\n\nWorker output:\n${ctx.workerOutput}`;
31
+ const parts = [];
32
+ parts.push(`# Task brief\n${ctx.brief}`);
33
+ if (ctx.priorConcerns && ctx.priorConcerns.length > 0) {
34
+ parts.push(`# Prior reviewer concerns from earlier rounds in this chain\nVerify the rework has addressed each one:\n` +
35
+ ctx.priorConcerns.map((c, i) => `${i + 1}. ${c}`).join('\n'));
36
+ }
37
+ parts.push(`# Worker's most recent summary\n${ctx.workerOutput || '(no summary)'}`);
38
+ if (ctx.diff && ctx.diff.length > 0) {
39
+ parts.push(`# Cumulative diff (the truth of what changed)\n\n\`\`\`diff\n${ctx.diff}\n\`\`\``);
40
+ }
41
+ else {
42
+ parts.push(`# Cumulative diff\n(no file changes detected)`);
43
+ }
44
+ parts.push(`# Decide\nDoes the cumulative diff fulfill the task brief? Reply with the JSON block specified in the system prompt.`);
45
+ return parts.join('\n\n');
6
46
  },
7
47
  };
8
48
  //# sourceMappingURL=spec-review.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-review.js","sourceRoot":"","sources":["../../../src/review/templates/spec-review.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,YAAY,EAAE;gGACgF;IAC9F,eAAe,CAAC,GAAG;QACjB,OAAO,SAAS,GAAG,CAAC,KAAK,uBAAuB,GAAG,CAAC,YAAY,EAAE,CAAC;IACrE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"spec-review.js","sourceRoot":"","sources":["../../../src/review/templates/spec-review.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,YAAY,EAAE;QACZ,+HAA+H;QAC/H,EAAE;QACF,wFAAwF;QACxF,EAAE;QACF,gBAAgB;QAChB,oHAAoH;QACpH,+MAA+M;QAC/M,+HAA+H;QAC/H,sGAAsG;QACtG,EAAE;QACF,qEAAqE;KACtE,CAAC,IAAI,CAAC,IAAI,CAAC;IAEZ,eAAe,CAAC,GAAG;QACjB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAEzC,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CACR,0GAA0G;gBAC1G,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC,CAAC;QAEpF,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,gEAAgE,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;QACjG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,sHAAsH,CAAC,CAAC;QAEnI,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC"}
@@ -8,9 +8,13 @@ export interface FileBackedContextBlockStoreOptions {
8
8
  maxBlockBytes?: number;
9
9
  /** Max total bytes on disk. Defaults to 100 MiB. */
10
10
  maxTotalBytes?: number;
11
+ /** Override `os.homedir()` — used by tests for filesystem isolation. */
12
+ homeDir?: string;
11
13
  }
12
14
  export declare class FileBackedContextBlockStore implements ContextBlockStore {
13
- private rootDir;
15
+ /** Absolute root: `<homeDir>/.multi-model-agent/context-blocks/<sha256(projectCwd)>`.
16
+ * Public so tests can read meta files directly without re-deriving the path. */
17
+ readonly rootDir: string;
14
18
  private _ttlMs;
15
19
  private gcCheckIntervalMs;
16
20
  private maxBlockBytes;
@@ -1 +1 @@
1
- {"version":3,"file":"file-backed-context-block-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-backed-context-block-store.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAcjC,MAAM,WAAW,kCAAkC;IACjD,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,2BAA4B,YAAW,iBAAiB;IACnE,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAK;IACxB;;kDAE8C;IAC9C,OAAO,CAAC,SAAS,CAA6B;gBAElC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,kCAAuC;IAS7E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,eAAe;IA+BtE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBnC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAO3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIrB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI5B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAuBpD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;qCACiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qEAAqE;IACrE,KAAK,IAAI,IAAI;IAKb;4CACwC;IACxC,gBAAgB,IAAI,MAAM;IAc1B,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAuBvB"}
1
+ {"version":3,"file":"file-backed-context-block-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-backed-context-block-store.ts"],"names":[],"mappings":"AA0CA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAcjC,MAAM,WAAW,kCAAkC;IACjD,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,2BAA4B,YAAW,iBAAiB;IACnE;qFACiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAK;IACxB;;kDAE8C;IAC9C,OAAO,CAAC,SAAS,CAA6B;gBAElC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,kCAAuC;IAW7E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,eAAe;IA+BtE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBnC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAO3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIrB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI5B,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAuBpD,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;qCACiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qEAAqE;IACrE,KAAK,IAAI,IAAI;IAKb;4CACwC;IACxC,gBAAgB,IAAI,MAAM;IAc1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAef,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAYnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAuBvB"}
@@ -7,14 +7,17 @@
7
7
  * everything on `npm run serve` cycles, breaking the recipe. This store
8
8
  * persists to disk and reloads lazily on first access.
9
9
  *
10
- * Layout: `<projectCwd>/.mma/context-blocks/<id>.txt` (content) +
11
- * `<id>.meta.json` ({ createdAt, ttlMs, lengthChars, sha256 }).
10
+ * Layout: `<homeDir>/.multi-model-agent/context-blocks/<sha256(projectCwd)>/<id>.txt`
11
+ * (content) + `<id>.meta.json` ({ createdAt, ttlMs, lengthChars, sha256 }).
12
+ * Storing in the user home (not the project tree) keeps repos clean —
13
+ * no `.gitignore` entries needed — while the per-project hash subdir
14
+ * preserves project isolation.
12
15
  *
13
- * Operational properties (per round-2 F5/F6/F7/F8/F9):
14
- * - **Authoritative cwd**: store root is constructed from `projectCwd`
15
- * supplied at construction time. NOT daemon cwd, NOT task cwd.
16
- * - **Permissions**: directory `0700`, files `0600`. Audit findings can
17
- * carry sensitive code excerpts; user-only access by default.
16
+ * Operational properties:
17
+ * - **Authoritative cwd**: per-project subdir is `sha256(path.resolve(projectCwd))`.
18
+ * NOT daemon cwd, NOT task cwd.
19
+ * - **Permissions**: directories `0700`, files `0600`. Audit findings
20
+ * can carry sensitive code excerpts; user-only access by default.
18
21
  * - **TTL**: 7 days default. Enforced on `get()` (lazy delete on
19
22
  * stale read), at the start of `register()` (opportunistic GC if
20
23
  * last sweep was over `gcCheckIntervalMs` ago), and via
@@ -26,10 +29,6 @@
26
29
  * - **Atomic writes**: temp-file → fsync → rename. GC treats orphaned
27
30
  * pairs (content without metadata or vice versa) as corrupt and
28
31
  * deletes both — recovers cleanly from daemon SIGKILL mid-write.
29
- * - **Gitignore awareness**: on first directory creation, log a
30
- * stderr breadcrumb suggesting `.mma/` be added to the project's
31
- * `.gitignore` (we do NOT auto-edit the ignore file — surprising
32
- * and may not be a git repo).
33
32
  *
34
33
  * Pinning is a no-op on this implementation — disk persistence is
35
34
  * stronger than the in-memory pin contract. The `pin`/`unpin` methods
@@ -39,12 +38,15 @@
39
38
  */
40
39
  import { createHash, randomUUID } from 'node:crypto';
41
40
  import * as fs from 'node:fs';
41
+ import * as os from 'node:os';
42
42
  import * as path from 'node:path';
43
43
  const DEFAULT_TTL_MS = 7 * 24 * 60 * 60 * 1000;
44
44
  const DEFAULT_GC_INTERVAL_MS = 60 * 60 * 1000;
45
45
  const DEFAULT_MAX_BLOCK_BYTES = 1 * 1024 * 1024;
46
46
  const DEFAULT_MAX_TOTAL_BYTES = 100 * 1024 * 1024;
47
47
  export class FileBackedContextBlockStore {
48
+ /** Absolute root: `<homeDir>/.multi-model-agent/context-blocks/<sha256(projectCwd)>`.
49
+ * Public so tests can read meta files directly without re-deriving the path. */
48
50
  rootDir;
49
51
  _ttlMs;
50
52
  gcCheckIntervalMs;
@@ -56,7 +58,9 @@ export class FileBackedContextBlockStore {
56
58
  * TTL-based GC handles the recovery side. */
57
59
  pinCounts = new Map();
58
60
  constructor(projectCwd, opts = {}) {
59
- this.rootDir = path.resolve(projectCwd, '.mma', 'context-blocks');
61
+ const home = opts.homeDir ?? os.homedir();
62
+ const projectHash = createHash('sha256').update(path.resolve(projectCwd)).digest('hex');
63
+ this.rootDir = path.join(home, '.multi-model-agent', 'context-blocks', projectHash);
60
64
  this._ttlMs = opts.ttlMs ?? DEFAULT_TTL_MS;
61
65
  this.gcCheckIntervalMs = opts.gcCheckIntervalMs ?? DEFAULT_GC_INTERVAL_MS;
62
66
  this.maxBlockBytes = opts.maxBlockBytes ?? DEFAULT_MAX_BLOCK_BYTES;
@@ -178,14 +182,7 @@ export class FileBackedContextBlockStore {
178
182
  }
179
183
  // ── private helpers ────────────────────────────────────────────────
180
184
  ensureRoot() {
181
- const created = !fs.existsSync(this.rootDir);
182
185
  fs.mkdirSync(this.rootDir, { recursive: true, mode: 0o700 });
183
- if (created) {
184
- // First-creation breadcrumb: nudge the user about gitignore. We
185
- // intentionally do NOT modify their .gitignore — that would
186
- // surprise users + may not be a git repo at all.
187
- process.stderr.write(`[mmagent] created ${this.rootDir} — add ".mma/" to .gitignore (contains worker-output context blocks)\n`);
188
- }
189
186
  }
190
187
  contentPath(id) {
191
188
  return path.join(this.rootDir, `${id}.txt`);
@@ -1 +1 @@
1
- {"version":3,"file":"file-backed-context-block-store.js","sourceRoot":"","sources":["../../src/stores/file-backed-context-block-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-backed-context-block-store.js","sourceRoot":"","sources":["../../src/stores/file-backed-context-block-store.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,11 @@ export interface ProjectContext {
17
17
  }
18
18
  export interface CreateProjectContextOptions {
19
19
  /** Override the context-block store. When omitted, defaults to a
20
- * FileBackedContextBlockStore rooted at `<cwd>/.mma/context-blocks/`
21
- * so blocks survive daemon restarts (Gap 4 fix). Tests pass an
22
- * InMemoryContextBlockStore to avoid filesystem side effects. */
20
+ * FileBackedContextBlockStore rooted at
21
+ * `~/.multi-model-agent/context-blocks/<sha256(cwd)>/` so blocks
22
+ * survive daemon restarts (Gap 4 fix) without polluting the project
23
+ * tree. Tests pass an InMemoryContextBlockStore to avoid filesystem
24
+ * side effects. */
23
25
  contextBlockStore?: ContextBlockStore;
24
26
  }
25
27
  export declare function createProjectContext(cwd: string, opts?: CreateProjectContextOptions): ProjectContext;
@@ -1 +1 @@
1
- {"version":3,"file":"project-context-registry.d.ts","sourceRoot":"","sources":["../../src/stores/project-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;6EACyE;IACzE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,kIAAkI;IAClI,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oGAAoG;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;sEAGkE;IAClE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,2BAAgC,GACrC,cAAc,CAYhB;AAED;;+DAE+D;AAC/D,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAExE"}
1
+ {"version":3,"file":"project-context-registry.d.ts","sourceRoot":"","sources":["../../src/stores/project-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;6EACyE;IACzE,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,kIAAkI;IAClI,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oGAAoG;IACpG,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;;;wBAKoB;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,2BAAgC,GACrC,cAAc,CAYhB;AAED;;+DAE+D;AAC/D,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAExE"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-context-registry.js","sourceRoot":"","sources":["../../src/stores/project-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA0B,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2B9C,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,OAAoC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,GAAG;QACH,aAAa,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI,2BAA2B,CAAC,GAAG,CAAC;QAC7E,UAAU,EAAE,IAAI,UAAU,EAAE;QAC5B,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,GAAG;QACnB,cAAc,EAAE,IAAI,GAAG,EAAU;QACjC,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;KACvB,CAAC;AACJ,CAAC;AAED;;+DAE+D;AAC/D,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO,oBAAoB,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,IAAI,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"project-context-registry.js","sourceRoot":"","sources":["../../src/stores/project-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAA0B,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA6B9C,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,OAAoC,EAAE;IAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,GAAG;QACH,aAAa,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI,2BAA2B,CAAC,GAAG,CAAC;QAC7E,UAAU,EAAE,IAAI,UAAU,EAAE;QAC5B,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,GAAG;QACnB,cAAc,EAAE,IAAI,GAAG,EAAU;QACjC,cAAc,EAAE,CAAC;QACjB,mBAAmB,EAAE,CAAC;KACvB,CAAC;AACJ,CAAC;AAED;;+DAE+D;AAC/D,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,OAAO,oBAAoB,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,IAAI,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../src/tool-surface/openapi-generator.ts"],"names":[],"mappings":"AAmFA,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;CAMlB,CAAC;AAyDF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuIzD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAExE;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../src/tool-surface/openapi-generator.ts"],"names":[],"mappings":"AAoFA,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;CAMlB,CAAC;AAyDF,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuIzD;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAExE;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -15,7 +15,7 @@ import * as debug from '../tools/debug/schema.js';
15
15
  import * as executePlan from '../tools/execute-plan/schema.js';
16
16
  import * as retry from '../tools/retry/schema.js';
17
17
  import * as investigate from '../tools/investigate/schema.js';
18
- import * as explore from '../tools/explore/schema.js';
18
+ import * as research from '../tools/research/schema.js';
19
19
  // Extend Zod once with openapi support.
20
20
  extendZodWithOpenApi(z);
21
21
  /** Sort an object's keys recursively for deterministic JSON serialization. */
@@ -102,9 +102,9 @@ const TOOL_ENDPOINTS = [
102
102
  schema: investigate.inputSchema,
103
103
  },
104
104
  {
105
- path: '/explore',
106
- summary: 'Explore a topic with parallel internal codebase search and external web research',
107
- schema: explore.inputSchema,
105
+ path: '/research',
106
+ summary: 'External multi-source research with citations (arxiv, semantic_scholar, github_search, rss, brave-with-site:-filters)',
107
+ schema: research.inputSchema,
108
108
  },
109
109
  ];
110
110
  function registerToolEndpoint(registry, row) {