@allocator-one/rcl 4.4.19

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 (663) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1415 -0
  3. package/dist/ci.d.ts +16 -0
  4. package/dist/ci.js +42 -0
  5. package/dist/ci.js.map +1 -0
  6. package/dist/config/data-dir.d.ts +6 -0
  7. package/dist/config/data-dir.js +12 -0
  8. package/dist/config/data-dir.js.map +1 -0
  9. package/dist/config/defaults.d.ts +82 -0
  10. package/dist/config/defaults.js +89 -0
  11. package/dist/config/defaults.js.map +1 -0
  12. package/dist/config/harness.d.ts +40 -0
  13. package/dist/config/harness.js +151 -0
  14. package/dist/config/harness.js.map +1 -0
  15. package/dist/config/loader.d.ts +13 -0
  16. package/dist/config/loader.js +131 -0
  17. package/dist/config/loader.js.map +1 -0
  18. package/dist/config/provider-concurrency.d.ts +4 -0
  19. package/dist/config/provider-concurrency.js +6 -0
  20. package/dist/config/provider-concurrency.js.map +1 -0
  21. package/dist/config/providers.d.ts +3 -0
  22. package/dist/config/providers.js +9 -0
  23. package/dist/config/providers.js.map +1 -0
  24. package/dist/config/schema.d.ts +179 -0
  25. package/dist/config/schema.js +115 -0
  26. package/dist/config/schema.js.map +1 -0
  27. package/dist/consensus/claim-contract.d.ts +9 -0
  28. package/dist/consensus/claim-contract.js +307 -0
  29. package/dist/consensus/claim-contract.js.map +1 -0
  30. package/dist/consensus/claim-identity.d.ts +5 -0
  31. package/dist/consensus/claim-identity.js +39 -0
  32. package/dist/consensus/claim-identity.js.map +1 -0
  33. package/dist/consensus/deduper.d.ts +43 -0
  34. package/dist/consensus/deduper.js +1052 -0
  35. package/dist/consensus/deduper.js.map +1 -0
  36. package/dist/consensus/finding-identity.d.ts +20 -0
  37. package/dist/consensus/finding-identity.js +49 -0
  38. package/dist/consensus/finding-identity.js.map +1 -0
  39. package/dist/consensus/gating.d.ts +215 -0
  40. package/dist/consensus/gating.js +699 -0
  41. package/dist/consensus/gating.js.map +1 -0
  42. package/dist/consensus/parser.d.ts +22 -0
  43. package/dist/consensus/parser.js +255 -0
  44. package/dist/consensus/parser.js.map +1 -0
  45. package/dist/consensus/semantic-deduper.d.ts +10 -0
  46. package/dist/consensus/semantic-deduper.js +70 -0
  47. package/dist/consensus/semantic-deduper.js.map +1 -0
  48. package/dist/consensus/types.d.ts +196 -0
  49. package/dist/consensus/types.js +2 -0
  50. package/dist/consensus/types.js.map +1 -0
  51. package/dist/consensus/verification-contract.d.ts +8 -0
  52. package/dist/consensus/verification-contract.js +95 -0
  53. package/dist/consensus/verification-contract.js.map +1 -0
  54. package/dist/consensus/voter.d.ts +29 -0
  55. package/dist/consensus/voter.js +394 -0
  56. package/dist/consensus/voter.js.map +1 -0
  57. package/dist/converge/attempt-budget.d.ts +88 -0
  58. package/dist/converge/attempt-budget.js +717 -0
  59. package/dist/converge/attempt-budget.js.map +1 -0
  60. package/dist/converge/bound-fix-recovery-source.d.ts +24 -0
  61. package/dist/converge/bound-fix-recovery-source.js +25 -0
  62. package/dist/converge/bound-fix-recovery-source.js.map +1 -0
  63. package/dist/converge/bound-fix-recovery.d.ts +15 -0
  64. package/dist/converge/bound-fix-recovery.js +65 -0
  65. package/dist/converge/bound-fix-recovery.js.map +1 -0
  66. package/dist/converge/correction-anchors.d.ts +1 -0
  67. package/dist/converge/correction-anchors.js +2 -0
  68. package/dist/converge/correction-anchors.js.map +1 -0
  69. package/dist/converge/cycle-remote.d.ts +6 -0
  70. package/dist/converge/cycle-remote.js +41 -0
  71. package/dist/converge/cycle-remote.js.map +1 -0
  72. package/dist/converge/delivery-reconciliation.d.ts +17 -0
  73. package/dist/converge/delivery-reconciliation.js +53 -0
  74. package/dist/converge/delivery-reconciliation.js.map +1 -0
  75. package/dist/converge/finding-identity.d.ts +6 -0
  76. package/dist/converge/finding-identity.js +7 -0
  77. package/dist/converge/finding-identity.js.map +1 -0
  78. package/dist/converge/fresh-review.d.ts +37 -0
  79. package/dist/converge/fresh-review.js +351 -0
  80. package/dist/converge/fresh-review.js.map +1 -0
  81. package/dist/converge/launch-guard.d.ts +55 -0
  82. package/dist/converge/launch-guard.js +363 -0
  83. package/dist/converge/launch-guard.js.map +1 -0
  84. package/dist/converge/launch-preflight.d.ts +5 -0
  85. package/dist/converge/launch-preflight.js +41 -0
  86. package/dist/converge/launch-preflight.js.map +1 -0
  87. package/dist/converge/launch-record.d.ts +136 -0
  88. package/dist/converge/launch-record.js +86 -0
  89. package/dist/converge/launch-record.js.map +1 -0
  90. package/dist/converge/legacy-launch-health.d.ts +311 -0
  91. package/dist/converge/legacy-launch-health.js +159 -0
  92. package/dist/converge/legacy-launch-health.js.map +1 -0
  93. package/dist/converge/legacy-roster.d.ts +29 -0
  94. package/dist/converge/legacy-roster.js +268 -0
  95. package/dist/converge/legacy-roster.js.map +1 -0
  96. package/dist/converge/native-lock.d.ts +18 -0
  97. package/dist/converge/native-lock.js +122 -0
  98. package/dist/converge/native-lock.js.map +1 -0
  99. package/dist/converge/ordinary-pending-export.d.ts +67 -0
  100. package/dist/converge/ordinary-pending-export.js +175 -0
  101. package/dist/converge/ordinary-pending-export.js.map +1 -0
  102. package/dist/converge/ordinary-pending-package.d.ts +28 -0
  103. package/dist/converge/ordinary-pending-package.js +36 -0
  104. package/dist/converge/ordinary-pending-package.js.map +1 -0
  105. package/dist/converge/pending-legacy-resume.d.ts +119 -0
  106. package/dist/converge/pending-legacy-resume.js +720 -0
  107. package/dist/converge/pending-legacy-resume.js.map +1 -0
  108. package/dist/converge/pending-recovery-source.d.ts +131 -0
  109. package/dist/converge/pending-recovery-source.js +71 -0
  110. package/dist/converge/pending-recovery-source.js.map +1 -0
  111. package/dist/converge/recovery-launch.d.ts +66 -0
  112. package/dist/converge/recovery-launch.js +518 -0
  113. package/dist/converge/recovery-launch.js.map +1 -0
  114. package/dist/converge/retained-report.d.ts +29 -0
  115. package/dist/converge/retained-report.js +218 -0
  116. package/dist/converge/retained-report.js.map +1 -0
  117. package/dist/converge/retry-source.d.ts +25 -0
  118. package/dist/converge/retry-source.js +13 -0
  119. package/dist/converge/retry-source.js.map +1 -0
  120. package/dist/converge/review-cycle.d.ts +49 -0
  121. package/dist/converge/review-cycle.js +26 -0
  122. package/dist/converge/review-cycle.js.map +1 -0
  123. package/dist/converge/round-gap-schema.d.ts +66 -0
  124. package/dist/converge/round-gap-schema.js +51 -0
  125. package/dist/converge/round-gap-schema.js.map +1 -0
  126. package/dist/converge/round-gap.d.ts +38 -0
  127. package/dist/converge/round-gap.js +334 -0
  128. package/dist/converge/round-gap.js.map +1 -0
  129. package/dist/converge/run-state.d.ts +224 -0
  130. package/dist/converge/run-state.js +564 -0
  131. package/dist/converge/run-state.js.map +1 -0
  132. package/dist/converge/stale-report-schema.d.ts +42 -0
  133. package/dist/converge/stale-report-schema.js +79 -0
  134. package/dist/converge/stale-report-schema.js.map +1 -0
  135. package/dist/converge/stale-report-storage.d.ts +47 -0
  136. package/dist/converge/stale-report-storage.js +172 -0
  137. package/dist/converge/stale-report-storage.js.map +1 -0
  138. package/dist/converge/stale-report.d.ts +14 -0
  139. package/dist/converge/stale-report.js +213 -0
  140. package/dist/converge/stale-report.js.map +1 -0
  141. package/dist/converge/target-ownership.d.ts +29 -0
  142. package/dist/converge/target-ownership.js +95 -0
  143. package/dist/converge/target-ownership.js.map +1 -0
  144. package/dist/converge/terminal-rejection-schema.d.ts +42 -0
  145. package/dist/converge/terminal-rejection-schema.js +39 -0
  146. package/dist/converge/terminal-rejection-schema.js.map +1 -0
  147. package/dist/converge/terminal-rejection.d.ts +13 -0
  148. package/dist/converge/terminal-rejection.js +275 -0
  149. package/dist/converge/terminal-rejection.js.map +1 -0
  150. package/dist/coordination/registry-lock.d.ts +82 -0
  151. package/dist/coordination/registry-lock.js +498 -0
  152. package/dist/coordination/registry-lock.js.map +1 -0
  153. package/dist/discuss.d.ts +53 -0
  154. package/dist/discuss.js +112 -0
  155. package/dist/discuss.js.map +1 -0
  156. package/dist/dispatch/adapter.d.ts +32 -0
  157. package/dist/dispatch/adapter.js +2 -0
  158. package/dist/dispatch/adapter.js.map +1 -0
  159. package/dist/dispatch/anthropic.d.ts +10 -0
  160. package/dist/dispatch/anthropic.js +235 -0
  161. package/dist/dispatch/anthropic.js.map +1 -0
  162. package/dist/dispatch/async-lane.d.ts +127 -0
  163. package/dist/dispatch/async-lane.js +414 -0
  164. package/dist/dispatch/async-lane.js.map +1 -0
  165. package/dist/dispatch/capture-council.d.ts +63 -0
  166. package/dist/dispatch/capture-council.js +137 -0
  167. package/dist/dispatch/capture-council.js.map +1 -0
  168. package/dist/dispatch/captured-async.d.ts +67 -0
  169. package/dist/dispatch/captured-async.js +40 -0
  170. package/dist/dispatch/captured-async.js.map +1 -0
  171. package/dist/dispatch/captured-inputs.d.ts +50 -0
  172. package/dist/dispatch/captured-inputs.js +190 -0
  173. package/dist/dispatch/captured-inputs.js.map +1 -0
  174. package/dist/dispatch/checkpoint-async-context.d.ts +27 -0
  175. package/dist/dispatch/checkpoint-async-context.js +51 -0
  176. package/dist/dispatch/checkpoint-async-context.js.map +1 -0
  177. package/dist/dispatch/checkpoint-async-execution.d.ts +22 -0
  178. package/dist/dispatch/checkpoint-async-execution.js +130 -0
  179. package/dist/dispatch/checkpoint-async-execution.js.map +1 -0
  180. package/dist/dispatch/checkpoint-async-store.d.ts +134 -0
  181. package/dist/dispatch/checkpoint-async-store.js +534 -0
  182. package/dist/dispatch/checkpoint-async-store.js.map +1 -0
  183. package/dist/dispatch/checkpoint-async-unknown.d.ts +19 -0
  184. package/dist/dispatch/checkpoint-async-unknown.js +46 -0
  185. package/dist/dispatch/checkpoint-async-unknown.js.map +1 -0
  186. package/dist/dispatch/checkpoint-async.d.ts +252 -0
  187. package/dist/dispatch/checkpoint-async.js +270 -0
  188. package/dist/dispatch/checkpoint-async.js.map +1 -0
  189. package/dist/dispatch/checkpoint-gating-execution.d.ts +26 -0
  190. package/dist/dispatch/checkpoint-gating-execution.js +84 -0
  191. package/dist/dispatch/checkpoint-gating-execution.js.map +1 -0
  192. package/dist/dispatch/checkpoint-phase-limits.d.ts +5 -0
  193. package/dist/dispatch/checkpoint-phase-limits.js +11 -0
  194. package/dist/dispatch/checkpoint-phase-limits.js.map +1 -0
  195. package/dist/dispatch/checkpoint-verification-context.d.ts +15 -0
  196. package/dist/dispatch/checkpoint-verification-context.js +48 -0
  197. package/dist/dispatch/checkpoint-verification-context.js.map +1 -0
  198. package/dist/dispatch/checkpoint-verification.d.ts +213 -0
  199. package/dist/dispatch/checkpoint-verification.js +381 -0
  200. package/dist/dispatch/checkpoint-verification.js.map +1 -0
  201. package/dist/dispatch/checkpoint.d.ts +329 -0
  202. package/dist/dispatch/checkpoint.js +1418 -0
  203. package/dist/dispatch/checkpoint.js.map +1 -0
  204. package/dist/dispatch/google.d.ts +10 -0
  205. package/dist/dispatch/google.js +158 -0
  206. package/dist/dispatch/google.js.map +1 -0
  207. package/dist/dispatch/late-audit.d.ts +23 -0
  208. package/dist/dispatch/late-audit.js +133 -0
  209. package/dist/dispatch/late-audit.js.map +1 -0
  210. package/dist/dispatch/merge.d.ts +29 -0
  211. package/dist/dispatch/merge.js +112 -0
  212. package/dist/dispatch/merge.js.map +1 -0
  213. package/dist/dispatch/openai-compat.d.ts +30 -0
  214. package/dist/dispatch/openai-compat.js +166 -0
  215. package/dist/dispatch/openai-compat.js.map +1 -0
  216. package/dist/dispatch/openai.d.ts +10 -0
  217. package/dist/dispatch/openai.js +159 -0
  218. package/dist/dispatch/openai.js.map +1 -0
  219. package/dist/dispatch/original-execution.d.ts +30 -0
  220. package/dist/dispatch/original-execution.js +91 -0
  221. package/dist/dispatch/original-execution.js.map +1 -0
  222. package/dist/dispatch/original-launch.d.ts +37 -0
  223. package/dist/dispatch/original-launch.js +117 -0
  224. package/dist/dispatch/original-launch.js.map +1 -0
  225. package/dist/dispatch/quorum.d.ts +15 -0
  226. package/dist/dispatch/quorum.js +33 -0
  227. package/dist/dispatch/quorum.js.map +1 -0
  228. package/dist/dispatch/recovery-operation.d.ts +44 -0
  229. package/dist/dispatch/recovery-operation.js +146 -0
  230. package/dist/dispatch/recovery-operation.js.map +1 -0
  231. package/dist/dispatch/recovery-policy.d.ts +54 -0
  232. package/dist/dispatch/recovery-policy.js +157 -0
  233. package/dist/dispatch/recovery-policy.js.map +1 -0
  234. package/dist/dispatch/recovery.d.ts +78 -0
  235. package/dist/dispatch/recovery.js +299 -0
  236. package/dist/dispatch/recovery.js.map +1 -0
  237. package/dist/dispatch/retained-async.d.ts +13 -0
  238. package/dist/dispatch/retained-async.js +101 -0
  239. package/dist/dispatch/retained-async.js.map +1 -0
  240. package/dist/dispatch/reviewer-identity.d.ts +10 -0
  241. package/dist/dispatch/reviewer-identity.js +19 -0
  242. package/dist/dispatch/reviewer-identity.js.map +1 -0
  243. package/dist/dispatch/runner.d.ts +76 -0
  244. package/dist/dispatch/runner.js +415 -0
  245. package/dist/dispatch/runner.js.map +1 -0
  246. package/dist/dispatch/utils.d.ts +159 -0
  247. package/dist/dispatch/utils.js +381 -0
  248. package/dist/dispatch/utils.js.map +1 -0
  249. package/dist/dispatch/verification-execution.d.ts +48 -0
  250. package/dist/dispatch/verification-execution.js +252 -0
  251. package/dist/dispatch/verification-execution.js.map +1 -0
  252. package/dist/dispatch/verification-late-audit.d.ts +17 -0
  253. package/dist/dispatch/verification-late-audit.js +117 -0
  254. package/dist/dispatch/verification-late-audit.js.map +1 -0
  255. package/dist/evidence/claim-recovery/authenticated-carrier-projection.d.ts +30 -0
  256. package/dist/evidence/claim-recovery/authenticated-carrier-projection.js +100 -0
  257. package/dist/evidence/claim-recovery/authenticated-carrier-projection.js.map +1 -0
  258. package/dist/evidence/claim-recovery/authenticated-receipts.d.ts +46 -0
  259. package/dist/evidence/claim-recovery/authenticated-receipts.js +120 -0
  260. package/dist/evidence/claim-recovery/authenticated-receipts.js.map +1 -0
  261. package/dist/evidence/claim-recovery/carrier-inventory.d.ts +49 -0
  262. package/dist/evidence/claim-recovery/carrier-inventory.js +340 -0
  263. package/dist/evidence/claim-recovery/carrier-inventory.js.map +1 -0
  264. package/dist/evidence/claim-recovery/claim-index.d.ts +12 -0
  265. package/dist/evidence/claim-recovery/claim-index.js +56 -0
  266. package/dist/evidence/claim-recovery/claim-index.js.map +1 -0
  267. package/dist/evidence/claim-recovery/confirmation.d.ts +53 -0
  268. package/dist/evidence/claim-recovery/confirmation.js +151 -0
  269. package/dist/evidence/claim-recovery/confirmation.js.map +1 -0
  270. package/dist/evidence/claim-recovery/context.d.ts +15 -0
  271. package/dist/evidence/claim-recovery/context.js +40 -0
  272. package/dist/evidence/claim-recovery/context.js.map +1 -0
  273. package/dist/evidence/claim-recovery/proof-storage.d.ts +6 -0
  274. package/dist/evidence/claim-recovery/proof-storage.js +97 -0
  275. package/dist/evidence/claim-recovery/proof-storage.js.map +1 -0
  276. package/dist/evidence/claim-recovery/validation/anchors.d.ts +20 -0
  277. package/dist/evidence/claim-recovery/validation/anchors.js +22 -0
  278. package/dist/evidence/claim-recovery/validation/anchors.js.map +1 -0
  279. package/dist/evidence/claim-recovery/validation/carrier-projection.d.ts +9 -0
  280. package/dist/evidence/claim-recovery/validation/carrier-projection.js +364 -0
  281. package/dist/evidence/claim-recovery/validation/carrier-projection.js.map +1 -0
  282. package/dist/evidence/claim-recovery/validation/carrier-types.d.ts +83 -0
  283. package/dist/evidence/claim-recovery/validation/carrier-types.js +2 -0
  284. package/dist/evidence/claim-recovery/validation/carrier-types.js.map +1 -0
  285. package/dist/evidence/claim-recovery/validation/claim-split.d.ts +57 -0
  286. package/dist/evidence/claim-recovery/validation/claim-split.js +209 -0
  287. package/dist/evidence/claim-recovery/validation/claim-split.js.map +1 -0
  288. package/dist/evidence/claim-recovery/validation/claims.d.ts +20 -0
  289. package/dist/evidence/claim-recovery/validation/claims.js +108 -0
  290. package/dist/evidence/claim-recovery/validation/claims.js.map +1 -0
  291. package/dist/evidence/claim-recovery/validation/current-projection.d.ts +36 -0
  292. package/dist/evidence/claim-recovery/validation/current-projection.js +424 -0
  293. package/dist/evidence/claim-recovery/validation/current-projection.js.map +1 -0
  294. package/dist/evidence/claim-recovery/validation/lexical.d.ts +18 -0
  295. package/dist/evidence/claim-recovery/validation/lexical.js +91 -0
  296. package/dist/evidence/claim-recovery/validation/lexical.js.map +1 -0
  297. package/dist/evidence/claim-recovery/validation/materials.d.ts +19 -0
  298. package/dist/evidence/claim-recovery/validation/materials.js +160 -0
  299. package/dist/evidence/claim-recovery/validation/materials.js.map +1 -0
  300. package/dist/evidence/claim-recovery/validation/native-material.d.ts +27 -0
  301. package/dist/evidence/claim-recovery/validation/native-material.js +35 -0
  302. package/dist/evidence/claim-recovery/validation/native-material.js.map +1 -0
  303. package/dist/evidence/claim-recovery/validation/native-occurrences.d.ts +79 -0
  304. package/dist/evidence/claim-recovery/validation/native-occurrences.js +187 -0
  305. package/dist/evidence/claim-recovery/validation/native-occurrences.js.map +1 -0
  306. package/dist/evidence/claim-recovery/validation/native-state.d.ts +45 -0
  307. package/dist/evidence/claim-recovery/validation/native-state.js +385 -0
  308. package/dist/evidence/claim-recovery/validation/native-state.js.map +1 -0
  309. package/dist/evidence/claim-recovery/validation/obligations.d.ts +15 -0
  310. package/dist/evidence/claim-recovery/validation/obligations.js +65 -0
  311. package/dist/evidence/claim-recovery/validation/obligations.js.map +1 -0
  312. package/dist/evidence/claim-recovery/validation/occurrence-source.d.ts +45 -0
  313. package/dist/evidence/claim-recovery/validation/occurrence-source.js +208 -0
  314. package/dist/evidence/claim-recovery/validation/occurrence-source.js.map +1 -0
  315. package/dist/evidence/claim-recovery/validation/occurrence-types.d.ts +101 -0
  316. package/dist/evidence/claim-recovery/validation/occurrence-types.js +2 -0
  317. package/dist/evidence/claim-recovery/validation/occurrence-types.js.map +1 -0
  318. package/dist/evidence/claim-recovery/validation/occurrence.d.ts +30 -0
  319. package/dist/evidence/claim-recovery/validation/occurrence.js +227 -0
  320. package/dist/evidence/claim-recovery/validation/occurrence.js.map +1 -0
  321. package/dist/evidence/claim-recovery/validation/primitives.d.ts +11 -0
  322. package/dist/evidence/claim-recovery/validation/primitives.js +41 -0
  323. package/dist/evidence/claim-recovery/validation/primitives.js.map +1 -0
  324. package/dist/evidence/claim-recovery/validation/receipts.d.ts +37 -0
  325. package/dist/evidence/claim-recovery/validation/receipts.js +83 -0
  326. package/dist/evidence/claim-recovery/validation/receipts.js.map +1 -0
  327. package/dist/evidence/claim-recovery/validation/recovery-json.d.ts +8 -0
  328. package/dist/evidence/claim-recovery/validation/recovery-json.js +42 -0
  329. package/dist/evidence/claim-recovery/validation/recovery-json.js.map +1 -0
  330. package/dist/evidence/claim-recovery/validation/semantic-cache.d.ts +3 -0
  331. package/dist/evidence/claim-recovery/validation/semantic-cache.js +22 -0
  332. package/dist/evidence/claim-recovery/validation/semantic-cache.js.map +1 -0
  333. package/dist/evidence/claim-recovery/validation/semantic-validation.d.ts +9 -0
  334. package/dist/evidence/claim-recovery/validation/semantic-validation.js +347 -0
  335. package/dist/evidence/claim-recovery/validation/semantic-validation.js.map +1 -0
  336. package/dist/evidence/claim-recovery/validation/sighting.d.ts +2 -0
  337. package/dist/evidence/claim-recovery/validation/sighting.js +15 -0
  338. package/dist/evidence/claim-recovery/validation/sighting.js.map +1 -0
  339. package/dist/evidence/claim-recovery/validation/sources.d.ts +15 -0
  340. package/dist/evidence/claim-recovery/validation/sources.js +2 -0
  341. package/dist/evidence/claim-recovery/validation/sources.js.map +1 -0
  342. package/dist/evidence/claim-recovery/validation/types.d.ts +126 -0
  343. package/dist/evidence/claim-recovery/validation/types.js +2 -0
  344. package/dist/evidence/claim-recovery/validation/types.js.map +1 -0
  345. package/dist/evidence/claim-split.d.ts +1 -0
  346. package/dist/evidence/claim-split.js +2 -0
  347. package/dist/evidence/claim-split.js.map +1 -0
  348. package/dist/evidence/event-receipts.d.ts +16 -0
  349. package/dist/evidence/event-receipts.js +41 -0
  350. package/dist/evidence/event-receipts.js.map +1 -0
  351. package/dist/evidence/finding-recovery.d.ts +23 -0
  352. package/dist/evidence/finding-recovery.js +74 -0
  353. package/dist/evidence/finding-recovery.js.map +1 -0
  354. package/dist/evidence/finding-retriage.d.ts +14 -0
  355. package/dist/evidence/finding-retriage.js +57 -0
  356. package/dist/evidence/finding-retriage.js.map +1 -0
  357. package/dist/evidence/format.d.ts +18 -0
  358. package/dist/evidence/format.js +152 -0
  359. package/dist/evidence/format.js.map +1 -0
  360. package/dist/evidence/original-run/decode.d.ts +30 -0
  361. package/dist/evidence/original-run/decode.js +208 -0
  362. package/dist/evidence/original-run/decode.js.map +1 -0
  363. package/dist/evidence/original-run/journal.d.ts +31 -0
  364. package/dist/evidence/original-run/journal.js +157 -0
  365. package/dist/evidence/original-run/journal.js.map +1 -0
  366. package/dist/evidence/original-run/lock-path.d.ts +17 -0
  367. package/dist/evidence/original-run/lock-path.js +116 -0
  368. package/dist/evidence/original-run/lock-path.js.map +1 -0
  369. package/dist/evidence/original-run/lock-scope.d.ts +21 -0
  370. package/dist/evidence/original-run/lock-scope.js +61 -0
  371. package/dist/evidence/original-run/lock-scope.js.map +1 -0
  372. package/dist/evidence/original-run/lock.d.ts +33 -0
  373. package/dist/evidence/original-run/lock.js +259 -0
  374. package/dist/evidence/original-run/lock.js.map +1 -0
  375. package/dist/evidence/original-run/remote.d.ts +23 -0
  376. package/dist/evidence/original-run/remote.js +110 -0
  377. package/dist/evidence/original-run/remote.js.map +1 -0
  378. package/dist/evidence/original-run/source.d.ts +61 -0
  379. package/dist/evidence/original-run/source.js +267 -0
  380. package/dist/evidence/original-run/source.js.map +1 -0
  381. package/dist/evidence/reads.d.ts +11 -0
  382. package/dist/evidence/reads.js +16 -0
  383. package/dist/evidence/reads.js.map +1 -0
  384. package/dist/evidence/recover-finding.d.ts +17 -0
  385. package/dist/evidence/recover-finding.js +65 -0
  386. package/dist/evidence/recover-finding.js.map +1 -0
  387. package/dist/evidence/recover-run.d.ts +26 -0
  388. package/dist/evidence/recover-run.js +180 -0
  389. package/dist/evidence/recover-run.js.map +1 -0
  390. package/dist/evidence/retained-time-budget.d.ts +9 -0
  391. package/dist/evidence/retained-time-budget.js +14 -0
  392. package/dist/evidence/retained-time-budget.js.map +1 -0
  393. package/dist/evidence/retriage-finding.d.ts +12 -0
  394. package/dist/evidence/retriage-finding.js +67 -0
  395. package/dist/evidence/retriage-finding.js.map +1 -0
  396. package/dist/evidence/reviewer-lineage.d.ts +35 -0
  397. package/dist/evidence/reviewer-lineage.js +293 -0
  398. package/dist/evidence/reviewer-lineage.js.map +1 -0
  399. package/dist/evidence/reviewer-original.d.ts +67 -0
  400. package/dist/evidence/reviewer-original.js +148 -0
  401. package/dist/evidence/reviewer-original.js.map +1 -0
  402. package/dist/evidence/reviewer-recovery.d.ts +74 -0
  403. package/dist/evidence/reviewer-recovery.js +179 -0
  404. package/dist/evidence/reviewer-recovery.js.map +1 -0
  405. package/dist/evidence/reviewer-status.d.ts +145 -0
  406. package/dist/evidence/reviewer-status.js +302 -0
  407. package/dist/evidence/reviewer-status.js.map +1 -0
  408. package/dist/evidence/show.d.ts +10 -0
  409. package/dist/evidence/show.js +41 -0
  410. package/dist/evidence/show.js.map +1 -0
  411. package/dist/evidence/status.d.ts +38 -0
  412. package/dist/evidence/status.js +73 -0
  413. package/dist/evidence/status.js.map +1 -0
  414. package/dist/evidence/target.d.ts +17 -0
  415. package/dist/evidence/target.js +74 -0
  416. package/dist/evidence/target.js.map +1 -0
  417. package/dist/evidence/types.d.ts +176 -0
  418. package/dist/evidence/types.js +109 -0
  419. package/dist/evidence/types.js.map +1 -0
  420. package/dist/index.d.ts +2 -0
  421. package/dist/index.js +2688 -0
  422. package/dist/index.js.map +1 -0
  423. package/dist/models/seed.d.ts +44 -0
  424. package/dist/models/seed.js +175 -0
  425. package/dist/models/seed.js.map +1 -0
  426. package/dist/models/server-stats.d.ts +80 -0
  427. package/dist/models/server-stats.js +109 -0
  428. package/dist/models/server-stats.js.map +1 -0
  429. package/dist/models/stats-store.d.ts +84 -0
  430. package/dist/models/stats-store.js +572 -0
  431. package/dist/models/stats-store.js.map +1 -0
  432. package/dist/output/artifacts.d.ts +16 -0
  433. package/dist/output/artifacts.js +29 -0
  434. package/dist/output/artifacts.js.map +1 -0
  435. package/dist/output/assembly-refusal.d.ts +8 -0
  436. package/dist/output/assembly-refusal.js +14 -0
  437. package/dist/output/assembly-refusal.js.map +1 -0
  438. package/dist/output/github.d.ts +12 -0
  439. package/dist/output/github.js +214 -0
  440. package/dist/output/github.js.map +1 -0
  441. package/dist/output/json.d.ts +3 -0
  442. package/dist/output/json.js +8 -0
  443. package/dist/output/json.js.map +1 -0
  444. package/dist/output/markdown.d.ts +3 -0
  445. package/dist/output/markdown.js +281 -0
  446. package/dist/output/markdown.js.map +1 -0
  447. package/dist/output/progress.d.ts +55 -0
  448. package/dist/output/progress.js +180 -0
  449. package/dist/output/progress.js.map +1 -0
  450. package/dist/output/sanitize.d.ts +18 -0
  451. package/dist/output/sanitize.js +46 -0
  452. package/dist/output/sanitize.js.map +1 -0
  453. package/dist/output/terminal.d.ts +2 -0
  454. package/dist/output/terminal.js +172 -0
  455. package/dist/output/terminal.js.map +1 -0
  456. package/dist/prepare/chunker.d.ts +18 -0
  457. package/dist/prepare/chunker.js +325 -0
  458. package/dist/prepare/chunker.js.map +1 -0
  459. package/dist/prepare/language.d.ts +1 -0
  460. package/dist/prepare/language.js +99 -0
  461. package/dist/prepare/language.js.map +1 -0
  462. package/dist/prepare/prompt-builder.d.ts +44 -0
  463. package/dist/prepare/prompt-builder.js +102 -0
  464. package/dist/prepare/prompt-builder.js.map +1 -0
  465. package/dist/prepare/unified-diff.d.ts +40 -0
  466. package/dist/prepare/unified-diff.js +135 -0
  467. package/dist/prepare/unified-diff.js.map +1 -0
  468. package/dist/prompts/base.d.ts +3 -0
  469. package/dist/prompts/base.js +53 -0
  470. package/dist/prompts/base.js.map +1 -0
  471. package/dist/prompts/hardening.d.ts +19 -0
  472. package/dist/prompts/hardening.js +67 -0
  473. package/dist/prompts/hardening.js.map +1 -0
  474. package/dist/prompts/languages/elixir.d.ts +1 -0
  475. package/dist/prompts/languages/elixir.js +13 -0
  476. package/dist/prompts/languages/elixir.js.map +1 -0
  477. package/dist/prompts/languages/generic.d.ts +1 -0
  478. package/dist/prompts/languages/generic.js +11 -0
  479. package/dist/prompts/languages/generic.js.map +1 -0
  480. package/dist/prompts/languages/python.d.ts +1 -0
  481. package/dist/prompts/languages/python.js +14 -0
  482. package/dist/prompts/languages/python.js.map +1 -0
  483. package/dist/prompts/languages/typescript.d.ts +1 -0
  484. package/dist/prompts/languages/typescript.js +13 -0
  485. package/dist/prompts/languages/typescript.js.map +1 -0
  486. package/dist/prompts/plan.d.ts +15 -0
  487. package/dist/prompts/plan.js +55 -0
  488. package/dist/prompts/plan.js.map +1 -0
  489. package/dist/report/aggregation-inputs.d.ts +52 -0
  490. package/dist/report/aggregation-inputs.js +114 -0
  491. package/dist/report/aggregation-inputs.js.map +1 -0
  492. package/dist/report/assembly.d.ts +43 -0
  493. package/dist/report/assembly.js +133 -0
  494. package/dist/report/assembly.js.map +1 -0
  495. package/dist/report/blocking-health.d.ts +64 -0
  496. package/dist/report/blocking-health.js +156 -0
  497. package/dist/report/blocking-health.js.map +1 -0
  498. package/dist/report/checkpoint-assembly.d.ts +10 -0
  499. package/dist/report/checkpoint-assembly.js +17 -0
  500. package/dist/report/checkpoint-assembly.js.map +1 -0
  501. package/dist/report/checkpoint-consensus.d.ts +59 -0
  502. package/dist/report/checkpoint-consensus.js +197 -0
  503. package/dist/report/checkpoint-consensus.js.map +1 -0
  504. package/dist/report/checkpoint-gating.d.ts +36 -0
  505. package/dist/report/checkpoint-gating.js +110 -0
  506. package/dist/report/checkpoint-gating.js.map +1 -0
  507. package/dist/report/checkpoint-projection.d.ts +76 -0
  508. package/dist/report/checkpoint-projection.js +122 -0
  509. package/dist/report/checkpoint-projection.js.map +1 -0
  510. package/dist/report/consensus-assembly.d.ts +37 -0
  511. package/dist/report/consensus-assembly.js +33 -0
  512. package/dist/report/consensus-assembly.js.map +1 -0
  513. package/dist/report/recovery-source.d.ts +7 -0
  514. package/dist/report/recovery-source.js +7 -0
  515. package/dist/report/recovery-source.js.map +1 -0
  516. package/dist/report/reviewer-artifact.d.ts +118 -0
  517. package/dist/report/reviewer-artifact.js +381 -0
  518. package/dist/report/reviewer-artifact.js.map +1 -0
  519. package/dist/report/reviewer-evidence-schema.d.ts +42 -0
  520. package/dist/report/reviewer-evidence-schema.js +28 -0
  521. package/dist/report/reviewer-evidence-schema.js.map +1 -0
  522. package/dist/report/reviewer-evidence.d.ts +54 -0
  523. package/dist/report/reviewer-evidence.js +229 -0
  524. package/dist/report/reviewer-evidence.js.map +1 -0
  525. package/dist/report/reviewer-health.d.ts +62 -0
  526. package/dist/report/reviewer-health.js +105 -0
  527. package/dist/report/reviewer-health.js.map +1 -0
  528. package/dist/report/run-header.d.ts +219 -0
  529. package/dist/report/run-header.js +307 -0
  530. package/dist/report/run-header.js.map +1 -0
  531. package/dist/report/supplemental-async.d.ts +19 -0
  532. package/dist/report/supplemental-async.js +85 -0
  533. package/dist/report/supplemental-async.js.map +1 -0
  534. package/dist/report/uuid.d.ts +16 -0
  535. package/dist/report/uuid.js +41 -0
  536. package/dist/report/uuid.js.map +1 -0
  537. package/dist/resolver/git.d.ts +16 -0
  538. package/dist/resolver/git.js +77 -0
  539. package/dist/resolver/git.js.map +1 -0
  540. package/dist/resolver/github-client.d.ts +82 -0
  541. package/dist/resolver/github-client.js +27 -0
  542. package/dist/resolver/github-client.js.map +1 -0
  543. package/dist/resolver/github.d.ts +29 -0
  544. package/dist/resolver/github.js +166 -0
  545. package/dist/resolver/github.js.map +1 -0
  546. package/dist/resolver/local.d.ts +3 -0
  547. package/dist/resolver/local.js +75 -0
  548. package/dist/resolver/local.js.map +1 -0
  549. package/dist/resolver/plan.d.ts +8 -0
  550. package/dist/resolver/plan.js +44 -0
  551. package/dist/resolver/plan.js.map +1 -0
  552. package/dist/resolver/target.d.ts +35 -0
  553. package/dist/resolver/target.js +112 -0
  554. package/dist/resolver/target.js.map +1 -0
  555. package/dist/resolver/types.d.ts +43 -0
  556. package/dist/resolver/types.js +2 -0
  557. package/dist/resolver/types.js.map +1 -0
  558. package/dist/roles/builtin.d.ts +4 -0
  559. package/dist/roles/builtin.js +282 -0
  560. package/dist/roles/builtin.js.map +1 -0
  561. package/dist/roles/dispatcher.d.ts +26 -0
  562. package/dist/roles/dispatcher.js +96 -0
  563. package/dist/roles/dispatcher.js.map +1 -0
  564. package/dist/roles/legacy-4.1.10.d.ts +2 -0
  565. package/dist/roles/legacy-4.1.10.js +320 -0
  566. package/dist/roles/legacy-4.1.10.js.map +1 -0
  567. package/dist/roles/legacy-4.4.9.d.ts +4 -0
  568. package/dist/roles/legacy-4.4.9.js +282 -0
  569. package/dist/roles/legacy-4.4.9.js.map +1 -0
  570. package/dist/roles/loader.d.ts +10 -0
  571. package/dist/roles/loader.js +104 -0
  572. package/dist/roles/loader.js.map +1 -0
  573. package/dist/roles/types.d.ts +13 -0
  574. package/dist/roles/types.js +2 -0
  575. package/dist/roles/types.js.map +1 -0
  576. package/dist/telemetry/abort-signal.d.ts +13 -0
  577. package/dist/telemetry/abort-signal.js +40 -0
  578. package/dist/telemetry/abort-signal.js.map +1 -0
  579. package/dist/telemetry/attest.d.ts +98 -0
  580. package/dist/telemetry/attest.js +331 -0
  581. package/dist/telemetry/attest.js.map +1 -0
  582. package/dist/telemetry/attested-retry.d.ts +79 -0
  583. package/dist/telemetry/attested-retry.js +195 -0
  584. package/dist/telemetry/attested-retry.js.map +1 -0
  585. package/dist/telemetry/attested-reviewer-delivery.d.ts +58 -0
  586. package/dist/telemetry/attested-reviewer-delivery.js +238 -0
  587. package/dist/telemetry/attested-reviewer-delivery.js.map +1 -0
  588. package/dist/telemetry/backfill.d.ts +95 -0
  589. package/dist/telemetry/backfill.js +460 -0
  590. package/dist/telemetry/backfill.js.map +1 -0
  591. package/dist/telemetry/credentials.d.ts +44 -0
  592. package/dist/telemetry/credentials.js +87 -0
  593. package/dist/telemetry/credentials.js.map +1 -0
  594. package/dist/telemetry/deliver.d.ts +152 -0
  595. package/dist/telemetry/deliver.js +662 -0
  596. package/dist/telemetry/deliver.js.map +1 -0
  597. package/dist/telemetry/envelope-validation.d.ts +13 -0
  598. package/dist/telemetry/envelope-validation.js +196 -0
  599. package/dist/telemetry/envelope-validation.js.map +1 -0
  600. package/dist/telemetry/envelope.d.ts +159 -0
  601. package/dist/telemetry/envelope.js +288 -0
  602. package/dist/telemetry/envelope.js.map +1 -0
  603. package/dist/telemetry/events.d.ts +68 -0
  604. package/dist/telemetry/events.js +79 -0
  605. package/dist/telemetry/events.js.map +1 -0
  606. package/dist/telemetry/notice.d.ts +15 -0
  607. package/dist/telemetry/notice.js +67 -0
  608. package/dist/telemetry/notice.js.map +1 -0
  609. package/dist/telemetry/outbox.d.ts +166 -0
  610. package/dist/telemetry/outbox.js +741 -0
  611. package/dist/telemetry/outbox.js.map +1 -0
  612. package/dist/telemetry/quarantine.d.ts +105 -0
  613. package/dist/telemetry/quarantine.js +224 -0
  614. package/dist/telemetry/quarantine.js.map +1 -0
  615. package/dist/telemetry/read-sink.d.ts +31 -0
  616. package/dist/telemetry/read-sink.js +25 -0
  617. package/dist/telemetry/read-sink.js.map +1 -0
  618. package/dist/telemetry/recovery/command.d.ts +16 -0
  619. package/dist/telemetry/recovery/command.js +70 -0
  620. package/dist/telemetry/recovery/command.js.map +1 -0
  621. package/dist/telemetry/recovery/discovery.d.ts +8 -0
  622. package/dist/telemetry/recovery/discovery.js +277 -0
  623. package/dist/telemetry/recovery/discovery.js.map +1 -0
  624. package/dist/telemetry/recovery/files.d.ts +20 -0
  625. package/dist/telemetry/recovery/files.js +123 -0
  626. package/dist/telemetry/recovery/files.js.map +1 -0
  627. package/dist/telemetry/recovery/plan.d.ts +10 -0
  628. package/dist/telemetry/recovery/plan.js +325 -0
  629. package/dist/telemetry/recovery/plan.js.map +1 -0
  630. package/dist/telemetry/recovery/source.d.ts +328 -0
  631. package/dist/telemetry/recovery/source.js +253 -0
  632. package/dist/telemetry/recovery/source.js.map +1 -0
  633. package/dist/telemetry/recovery/types.d.ts +100 -0
  634. package/dist/telemetry/recovery/types.js +2 -0
  635. package/dist/telemetry/recovery/types.js.map +1 -0
  636. package/dist/telemetry/recovery-request-budget.d.ts +39 -0
  637. package/dist/telemetry/recovery-request-budget.js +102 -0
  638. package/dist/telemetry/recovery-request-budget.js.map +1 -0
  639. package/dist/telemetry/report-consistency.d.ts +11 -0
  640. package/dist/telemetry/report-consistency.js +111 -0
  641. package/dist/telemetry/report-consistency.js.map +1 -0
  642. package/dist/telemetry/reviewer-delivery.d.ts +39 -0
  643. package/dist/telemetry/reviewer-delivery.js +279 -0
  644. package/dist/telemetry/reviewer-delivery.js.map +1 -0
  645. package/dist/telemetry/reviewer-preflight.d.ts +13 -0
  646. package/dist/telemetry/reviewer-preflight.js +56 -0
  647. package/dist/telemetry/reviewer-preflight.js.map +1 -0
  648. package/dist/telemetry/scrub.d.ts +53 -0
  649. package/dist/telemetry/scrub.js +205 -0
  650. package/dist/telemetry/scrub.js.map +1 -0
  651. package/dist/telemetry/sink.d.ts +212 -0
  652. package/dist/telemetry/sink.js +813 -0
  653. package/dist/telemetry/sink.js.map +1 -0
  654. package/dist/telemetry/terminal-reviewer-delivery.d.ts +18 -0
  655. package/dist/telemetry/terminal-reviewer-delivery.js +27 -0
  656. package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -0
  657. package/dist/telemetry/transient-input.d.ts +2 -0
  658. package/dist/telemetry/transient-input.js +37 -0
  659. package/dist/telemetry/transient-input.js.map +1 -0
  660. package/dist/telemetry/verification.d.ts +9 -0
  661. package/dist/telemetry/verification.js +12 -0
  662. package/dist/telemetry/verification.js.map +1 -0
  663. package/package.json +73 -0
@@ -0,0 +1,43 @@
1
+ export interface FileChange {
2
+ filename: string;
3
+ status: 'added' | 'modified' | 'deleted' | 'renamed';
4
+ additions: number;
5
+ deletions: number;
6
+ patch: string;
7
+ language: string;
8
+ previousFilename?: string;
9
+ /**
10
+ * Git blob id of the file after the change, when the source provides it
11
+ * (GitHub does). It binds a patchless file — binary, or too large for a
12
+ * patch — to its content in the diff digest.
13
+ */
14
+ blobSha?: string;
15
+ }
16
+ export interface PRMetadata {
17
+ owner: string;
18
+ repo: string;
19
+ number: number;
20
+ title: string;
21
+ body: string;
22
+ author: string;
23
+ base: string;
24
+ head: string;
25
+ /**
26
+ * Exact commit ids from `pulls.get` — the evidence ledger's head binding.
27
+ * GitHub always returns both, so a PR is never bound without them.
28
+ */
29
+ headSha: string;
30
+ baseSha: string;
31
+ /** Actual compare merge base, explicitly requested for retained PR execution. */
32
+ mergeBaseSha?: string;
33
+ mergeCommitSha?: string;
34
+ url: string;
35
+ labels: string[];
36
+ draft: boolean;
37
+ }
38
+ export interface Diff {
39
+ files: FileChange[];
40
+ metadata?: PRMetadata;
41
+ source: 'github' | 'local';
42
+ rawDiff?: string;
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/resolver/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { Role } from './types.js';
2
+ export declare const BUILTIN_ROLES: Role[];
3
+ export declare function getRoleByName(name: string): Role | undefined;
4
+ export declare function getBuiltinRoleNames(): string[];
@@ -0,0 +1,282 @@
1
+ export const BUILTIN_ROLES = [
2
+ {
3
+ name: 'general',
4
+ description: 'Comprehensive code review covering all dimensions',
5
+ isSpecialized: false,
6
+ focus: ['security', 'correctness', 'best-practices', 'tests', 'api-design'],
7
+ systemPrompt: `You are an expert code reviewer performing a comprehensive review. Your role is to identify all types of issues: security vulnerabilities, logic errors, performance problems, missing tests, API design flaws, and code quality issues.
8
+
9
+ Be thorough but focused — only report real issues visible in the diff. Prioritize severity accurately. Consider the full context of each change.`,
10
+ },
11
+ {
12
+ name: 'security-auditor',
13
+ description: 'Focused on security vulnerabilities: auth, injection, XSS, CSRF, IDOR',
14
+ isSpecialized: true,
15
+ focus: ['security'],
16
+ severityBias: { security: 1.2 },
17
+ systemPrompt: `You are a security-focused code reviewer with deep expertise in application security. Your primary mission is to identify security vulnerabilities and weaknesses.
18
+
19
+ Focus areas:
20
+ - Authentication and authorization flaws (broken auth, privilege escalation, IDOR)
21
+ - Injection vulnerabilities (SQL, NoSQL, command, LDAP, XPath injection)
22
+ - Cross-site scripting (XSS) — reflected, stored, and DOM-based
23
+ - Cross-site request forgery (CSRF)
24
+ - Sensitive data exposure (hardcoded secrets, improper encryption, insecure transmission)
25
+ - Security misconfigurations (debug mode in prod, overly permissive CORS, insecure defaults)
26
+ - Insecure deserialization
27
+ - Input validation failures
28
+ - Race conditions with security implications
29
+ - Dependency vulnerabilities (if visible)
30
+
31
+ Be specific about attack vectors and potential impact. Prefer security findings as "critical" or "important" when there is a real exploitable vulnerability.`,
32
+ },
33
+ {
34
+ name: 'performance-engineer',
35
+ description: 'Focus on performance: N+1 queries, caching, algorithmic complexity',
36
+ isSpecialized: true,
37
+ focus: ['correctness', 'best-practices'],
38
+ systemPrompt: `You are a performance-focused code reviewer. Your mission is to identify performance bottlenecks, inefficiencies, and scalability concerns.
39
+
40
+ Focus areas:
41
+ - N+1 query problems (database queries in loops)
42
+ - Missing database indexes (new query patterns without indexes)
43
+ - Inefficient algorithms (O(n²) when O(n log n) is available)
44
+ - Missing caching opportunities (repeated expensive computations)
45
+ - Memory inefficiencies (large object retention, missing streaming)
46
+ - Unnecessary computation (recalculating constants, redundant processing)
47
+ - Synchronous blocking in async contexts
48
+ - Large payload sizes (over-fetching, missing pagination)
49
+ - Connection pool exhaustion
50
+ - Missing batch operations
51
+
52
+ Estimate impact where possible (e.g., "for 10k rows, this will issue 10k queries").`,
53
+ },
54
+ {
55
+ name: 'api-design',
56
+ description: 'API contracts, backwards compatibility, interface design',
57
+ isSpecialized: true,
58
+ focus: ['api-design'],
59
+ systemPrompt: `You are an API design expert. Your mission is to evaluate the quality and correctness of API design, with particular attention to backwards compatibility and consumer experience.
60
+
61
+ Focus areas:
62
+ - Breaking changes to public APIs (changed signatures, removed fields, altered semantics)
63
+ - REST conventions (correct HTTP methods, status codes, resource naming)
64
+ - Backwards compatibility (new required fields, changed field types, deprecated but not removed)
65
+ - Versioning strategy
66
+ - Error response consistency
67
+ - Missing or inadequate API documentation
68
+ - Inconsistent naming conventions
69
+ - Overly coupled interfaces
70
+ - Missing pagination, filtering, or sorting for collection endpoints
71
+ - GraphQL: N+1 in resolvers, missing rate limiting, overly broad queries allowed
72
+ - gRPC/Protobuf: field numbering, backward compatibility of message changes
73
+
74
+ Flag breaking changes as "critical" severity.`,
75
+ },
76
+ {
77
+ name: 'test-coverage',
78
+ description: 'Missing tests, edge cases, flawed test logic',
79
+ isSpecialized: true,
80
+ focus: ['tests'],
81
+ systemPrompt: `You are a testing expert. Your mission is to evaluate test coverage quality and identify missing or inadequate tests.
82
+
83
+ Focus areas:
84
+ - Missing tests for new functionality added in the diff
85
+ - Edge cases not covered (empty inputs, null/undefined, boundary values, max values)
86
+ - Error path testing (what happens when things fail)
87
+ - Flawed test logic (tests that always pass, testing implementation not behavior)
88
+ - Test isolation issues (shared state, ordering dependencies, missing cleanup)
89
+ - Missing integration tests for critical paths
90
+ - Mocking anti-patterns (over-mocking, mocking what you own)
91
+ - Missing negative test cases
92
+ - Tests without assertions
93
+ - Brittle tests (relying on specific timing, order, or environment)
94
+
95
+ Suggest specific test cases and scenarios that should be covered.`,
96
+ },
97
+ {
98
+ name: 'dx-critic',
99
+ description: 'Developer experience: readability, naming, documentation',
100
+ isSpecialized: true,
101
+ focus: ['best-practices'],
102
+ systemPrompt: `You are a developer experience (DX) expert. Your mission is to evaluate code readability, maintainability, and developer ergonomics.
103
+
104
+ Focus areas:
105
+ - Poor naming (unclear variable/function/class names that don't convey intent)
106
+ - Excessive complexity (functions doing too many things, deep nesting)
107
+ - Missing or inadequate documentation (complex algorithms without explanation)
108
+ - Magic numbers and strings without constants
109
+ - Inconsistent patterns within the codebase
110
+ - Long functions that should be decomposed
111
+ - Unclear error messages (from the developer/user perspective)
112
+ - Missing or unhelpful logging
113
+ - Over-engineering (unnecessary abstraction layers)
114
+ - Code duplication that should be extracted
115
+ - Confusing control flow
116
+
117
+ Be constructive — suggest better names and approaches. Rate issues as "minor" or "nitpick" unless they significantly impact maintainability.`,
118
+ },
119
+ {
120
+ name: 'architecture',
121
+ description: 'Module boundaries, coupling, architectural patterns',
122
+ isSpecialized: true,
123
+ focus: ['best-practices', 'api-design'],
124
+ systemPrompt: `You are a software architect. Your mission is to evaluate architectural decisions, module boundaries, and coupling.
125
+
126
+ Focus areas:
127
+ - Violation of module/layer boundaries (e.g., UI code accessing DB directly)
128
+ - Tight coupling between components that should be independent
129
+ - Missing dependency inversion (high-level modules depending on low-level details)
130
+ - Circular dependencies
131
+ - God objects or modules that know too much
132
+ - Missing abstractions (concrete implementations where interfaces are needed)
133
+ - Architectural inconsistencies (mixing patterns in the same layer)
134
+ - Side effects in unexpected places
135
+ - State management issues (global state, inappropriate mutation)
136
+ - Missing or incorrect use of design patterns
137
+ - Scalability concerns at the architectural level
138
+
139
+ Think in terms of long-term maintainability and the ability to change components independently.`,
140
+ },
141
+ {
142
+ name: 'bug-hunter',
143
+ description: 'Logic errors, null paths, race conditions, off-by-one',
144
+ isSpecialized: true,
145
+ focus: ['correctness'],
146
+ systemPrompt: `You are a bug hunter specializing in finding logic errors and correctness issues. Your mission is to find bugs in the code.
147
+
148
+ Focus areas:
149
+ - Logic errors (conditions that are always true/false, incorrect operator precedence)
150
+ - Off-by-one errors (loop bounds, array indices, pagination)
151
+ - Null/undefined dereference without proper checks
152
+ - Race conditions and concurrency bugs (shared mutable state, TOCTOU)
153
+ - Integer overflow/underflow
154
+ - Floating point precision issues
155
+ - Incorrect comparison (== vs ===, reference vs value equality)
156
+ - Missing or incorrect error propagation
157
+ - Incorrect state machine transitions
158
+ - Resource cleanup in error paths
159
+ - Incorrect handling of empty collections
160
+ - Assumption violations (assuming sorted input, assuming specific locale)
161
+
162
+ Be precise about when and how the bug manifests. Prefer "critical" or "important" severity for bugs that can cause incorrect behavior in production.`,
163
+ },
164
+ {
165
+ name: 'accessibility-auditor',
166
+ description: 'WCAG compliance, ARIA, keyboard navigation',
167
+ isSpecialized: true,
168
+ focus: ['best-practices'],
169
+ systemPrompt: `You are an accessibility expert. Your mission is to evaluate code for accessibility issues per WCAG 2.1 AA standards.
170
+
171
+ Focus areas:
172
+ - Missing or incorrect ARIA labels and roles
173
+ - Images without alt text (or with poor alt text)
174
+ - Color contrast issues (where identifiable from code)
175
+ - Keyboard navigation (elements not reachable by keyboard, missing focus management)
176
+ - Screen reader compatibility (missing live regions, incorrect reading order)
177
+ - Form accessibility (labels not associated with inputs, missing error announcements)
178
+ - Interactive elements not usable without mouse
179
+ - Missing skip navigation links
180
+ - Time-based content without controls
181
+ - Missing captions or transcripts references
182
+ - Focus traps (modal dialogs without proper focus management)
183
+ - Semantic HTML violations (using divs where buttons/links are appropriate)
184
+
185
+ Only flag issues visible in the code diff. Rate WCAG Level A violations as "critical", Level AA as "important".`,
186
+ },
187
+ {
188
+ name: 'spec-compliance',
189
+ description: 'Checks implementation against a spec or plan file',
190
+ isSpecialized: true,
191
+ focus: ['correctness', 'api-design'],
192
+ systemPrompt: `You are a specification compliance reviewer. Your mission is to verify that the implementation matches the provided specification or design document.
193
+
194
+ The specification content will be provided in the context section above. Review the diff against that specification.
195
+
196
+ Focus areas:
197
+ - Deviations from specified behavior
198
+ - Missing required features or endpoints
199
+ - Incorrect data types or field names vs spec
200
+ - Missing validation described in spec
201
+ - Incorrect error handling vs spec
202
+ - Unspecified behavior that contradicts the spirit of the spec
203
+ - Implementation gaps (things in spec not yet implemented)
204
+
205
+ Be precise about which part of the spec is being violated or not met.`,
206
+ },
207
+ {
208
+ name: 'regression-hunter',
209
+ description: 'Behavioral regressions from refactoring: changed defaults, weakened guards, lost semantics',
210
+ isSpecialized: true,
211
+ focus: ['correctness'],
212
+ severityBias: { correctness: 1.3 },
213
+ systemPrompt: `You are a refactoring regression hunter. Your mission is to find behavioral changes silently introduced during code refactoring — things that pass tests but alter production behavior.
214
+
215
+ Focus areas:
216
+ - Changed defaults (e.g. shadow DOM mode, timeout values, retry counts, delay durations, open/closed, public/private)
217
+ - Removed or weakened guards, validations, or security properties
218
+ - Altered fallback chains (different order, missing fallbacks, new fallbacks that are too broad)
219
+ - API contract drift (renamed fields, changed types, different nullability)
220
+ - Scope changes (closed → open, private → public, restricted → permissive)
221
+ - Lost error handling (try/catch removed, error states no longer reachable)
222
+ - Changed side-effect ordering (operations that now happen in a different sequence)
223
+ - Feature flags or configuration that changed meaning
224
+ - String literals that changed (mode names, CSS classes, attribute values, event names)
225
+
226
+ Compare old code vs new code line by line when both are visible in the diff. When code moves between files, verify every behavioral detail survived the move. Flag anything where the observable behavior differs, even if tests still pass.
227
+
228
+ Severity: mark regressions that weaken security or correctness as "critical". Mark changed defaults that alter UX as "important".`,
229
+ },
230
+ {
231
+ name: 'dependency-hygiene',
232
+ description: 'External runtime fetches, privacy leaks, sensitive console.log, unnecessary permissions',
233
+ isSpecialized: true,
234
+ focus: ['security', 'best-practices'],
235
+ severityBias: { security: 1.2 },
236
+ systemPrompt: `You are a dependency and external-request auditor. Your mission is to find unnecessary external dependencies, runtime fetches, and privacy-leaking requests in production code.
237
+
238
+ Focus areas:
239
+ - Runtime fetches to external CDNs or services (Google Fonts, analytics, tracking pixels, external stylesheets) embedded in production code
240
+ - Fonts loaded via @import or <link> that could be bundled or replaced with system fonts
241
+ - External resources fetched on every mount, render, or navigation (cost multiplied by user activity)
242
+ - Privacy leaks: any request to a third party that reveals user browsing behavior (which pages they visit, when, how often)
243
+ - Content Security Policy conflicts: external resources that may be blocked by the host page's CSP
244
+ - Console.log or console.error calls in production code that leak sensitive data (auth tokens, API keys, user PII, profile URLs, full request/response bodies)
245
+ - Dependencies in package.json that are imported nowhere in application code
246
+ - Overly broad permissions in manifests (browser extension host_permissions, OAuth scopes, IAM policies)
247
+ - Hardcoded API keys, tokens, or secrets (even in non-secret positions)
248
+
249
+ Severity: privacy-leaking external requests are "critical". Unnecessary CDN loads and verbose sensitive logging are "important". Unused deps are "minor".`,
250
+ },
251
+ {
252
+ name: 'edge-case-hunter',
253
+ description: 'Case sensitivity, incomplete lists, stale state, normalization gaps, broad fallbacks',
254
+ isSpecialized: true,
255
+ focus: ['correctness'],
256
+ severityBias: { correctness: 1.2 },
257
+ systemPrompt: `You are an edge case hunter. Your mission is to find incomplete handling of real-world input variations that cause subtle bugs in production.
258
+
259
+ Focus areas:
260
+ - Case sensitivity on identifiers that should be case-insensitive (usernames, email addresses, domain names, URL slugs, social media handles, file extensions)
261
+ - Incomplete exclusion or inclusion lists (missing entries that real users will hit — e.g. reserved route paths, restricted keywords, known special values)
262
+ - Overly broad fallbacks that match unintended targets (e.g. falling back to searching the entire DOM instead of a scoped container, or catching all exceptions instead of specific ones)
263
+ - Missing URL normalization (trailing slashes, query params, fragments, scheme differences, www prefix, percent-encoding, port numbers)
264
+ - Locale and encoding assumptions (assuming ASCII, assuming English, hardcoded locale-specific strings like date formats)
265
+ - Empty, null, or undefined inputs that bypass validation but break downstream logic
266
+ - Boundary values (max-length inputs, zero-length inputs, exactly-at-limit values)
267
+ - Stale DOM or state from SPA navigation (meta tags, canonical links, or cached data from the previous page still present in the DOM after navigation)
268
+ - Time-of-check vs time-of-use gaps where the world changes between reading a value and acting on it
269
+ - Unicode edge cases (zero-width characters, RTL marks, combining characters in identifiers)
270
+
271
+ Be specific about the exact input that triggers the bug and what incorrect behavior results. Provide a concrete example.
272
+
273
+ Severity: bugs that cause data corruption or duplication are "critical". Bugs that cause incorrect UI state or wasted backend work are "important". Cosmetic or unlikely edge cases are "minor".`,
274
+ },
275
+ ];
276
+ export function getRoleByName(name) {
277
+ return BUILTIN_ROLES.find((r) => r.name === name);
278
+ }
279
+ export function getBuiltinRoleNames() {
280
+ return BUILTIN_ROLES.map((r) => r.name);
281
+ }
282
+ //# sourceMappingURL=builtin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/roles/builtin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Role, ReviewAssignment } from './types.js';
2
+ import type { ReviewerPair } from '../config/schema.js';
3
+ import type { ModelProvider } from '../config/providers.js';
4
+ export type { ModelProvider } from '../config/providers.js';
5
+ export declare function detectProvider(model: string): ModelProvider;
6
+ /**
7
+ * Build assignments from explicit reviewer pairs (--reviewer model:role)
8
+ */
9
+ export declare function buildExplicitAssignments(reviewerPairs: ReviewerPair[], roleMap: Map<string, Role>): ReviewAssignment[];
10
+ /**
11
+ * Build assignments using the dispatch algorithm:
12
+ * - general role: runs on primary (SOTA) models only
13
+ * - specialized roles: spread across ALL models (primary + secondary) via shuffled round-robin
14
+ */
15
+ export declare function buildRoleAssignments(models: string[], roles: Role[], secondaryModels?: string[], deterministic?: boolean): ReviewAssignment[];
16
+ /**
17
+ * Main dispatch builder — handles explicit pairs or role-based assignment
18
+ */
19
+ export declare function buildAssignments(opts: {
20
+ models: string[];
21
+ roles: Role[];
22
+ secondaryModels?: string[];
23
+ explicitReviewers?: ReviewerPair[];
24
+ roleMap: Map<string, Role>;
25
+ deterministic?: boolean;
26
+ }): ReviewAssignment[];
@@ -0,0 +1,96 @@
1
+ export function detectProvider(model) {
2
+ // Handle explicit provider prefix (e.g. "anthropic/claude-sonnet-4-5")
3
+ if (model.startsWith('anthropic/'))
4
+ return 'anthropic';
5
+ if (model.startsWith('openai/'))
6
+ return 'openai';
7
+ if (model.startsWith('google/'))
8
+ return 'google';
9
+ if (model.startsWith('openrouter/'))
10
+ return 'openrouter';
11
+ if (model.startsWith('openai-compat/'))
12
+ return 'openai-compat';
13
+ // Detect by model name prefix
14
+ if (model.startsWith('claude'))
15
+ return 'anthropic';
16
+ if (model.startsWith('gpt') ||
17
+ model.startsWith('o1') ||
18
+ model.startsWith('o3') ||
19
+ model.startsWith('o4'))
20
+ return 'openai';
21
+ if (model.startsWith('gemini'))
22
+ return 'google';
23
+ // OpenAI-compatible for anything else (local models, etc.)
24
+ return 'openai-compat';
25
+ }
26
+ function shuffle(arr) {
27
+ const out = [...arr];
28
+ for (let i = out.length - 1; i > 0; i--) {
29
+ const j = Math.floor(Math.random() * (i + 1));
30
+ [out[i], out[j]] = [out[j], out[i]];
31
+ }
32
+ return out;
33
+ }
34
+ /**
35
+ * Build assignments from explicit reviewer pairs (--reviewer model:role)
36
+ */
37
+ export function buildExplicitAssignments(reviewerPairs, roleMap) {
38
+ const assignments = reviewerPairs.flatMap(({ model, role: roleName }) => {
39
+ const role = roleMap.get(roleName) ?? roleMap.get(roleName.toLowerCase());
40
+ if (!role) {
41
+ console.warn(`Warning: unknown role "${roleName}" in reviewer pair, skipping`);
42
+ return [];
43
+ }
44
+ return [{ model, role, provider: detectProvider(model) }];
45
+ });
46
+ // All pairs invalid must fail loudly — proceeding would run zero reviews
47
+ // and emit an empty (green-looking) report.
48
+ if (reviewerPairs.length > 0 && assignments.length === 0) {
49
+ throw new Error('No valid --reviewer pairs: every role was unknown. Run `rcl roles list` to see available roles.');
50
+ }
51
+ return assignments;
52
+ }
53
+ /**
54
+ * Build assignments using the dispatch algorithm:
55
+ * - general role: runs on primary (SOTA) models only
56
+ * - specialized roles: spread across ALL models (primary + secondary) via shuffled round-robin
57
+ */
58
+ export function buildRoleAssignments(models, roles, secondaryModels = [], deterministic = false) {
59
+ const assignments = [];
60
+ const generalRoles = roles.filter((r) => !r.isSpecialized);
61
+ const specializedRoles = roles.filter((r) => r.isSpecialized);
62
+ // General roles: only primary (SOTA) models
63
+ for (const model of models) {
64
+ for (const role of generalRoles) {
65
+ assignments.push({
66
+ model,
67
+ role,
68
+ provider: detectProvider(model),
69
+ });
70
+ }
71
+ }
72
+ // Specialized roles: shuffled round-robin across ALL models (primary + secondary)
73
+ const allModels = [...new Set([...models, ...secondaryModels])];
74
+ if (specializedRoles.length > 0 && allModels.length > 0) {
75
+ const shuffledModels = deterministic ? allModels : shuffle(allModels);
76
+ specializedRoles.forEach((role, index) => {
77
+ const model = shuffledModels[index % shuffledModels.length];
78
+ assignments.push({
79
+ model,
80
+ role,
81
+ provider: detectProvider(model),
82
+ });
83
+ });
84
+ }
85
+ return assignments;
86
+ }
87
+ /**
88
+ * Main dispatch builder — handles explicit pairs or role-based assignment
89
+ */
90
+ export function buildAssignments(opts) {
91
+ if (opts.explicitReviewers && opts.explicitReviewers.length > 0) {
92
+ return buildExplicitAssignments(opts.explicitReviewers, opts.roleMap);
93
+ }
94
+ return buildRoleAssignments(opts.models, opts.roles, opts.secondaryModels, opts.deterministic);
95
+ }
96
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/roles/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Role } from './types.js';
2
+ export declare const LEGACY_BUILTIN_ROLES_4_1_10: Role[];