@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,320 @@
1
+ export const LEGACY_BUILTIN_ROLES_4_1_10 = [
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: 'project-rules',
189
+ description: 'Enforces repo conventions from AGENTS.md, CLAUDE.md, etc.',
190
+ isSpecialized: true,
191
+ focus: ['best-practices'],
192
+ systemPrompt: `You are a project conventions enforcer. Your mission is to ensure the code follows the repository's established rules, conventions, and patterns as defined in the project's rules files (AGENTS.md, CLAUDE.md, CONTRIBUTING.md, etc.).
193
+
194
+ The project rules file content will be provided in the context section above. Review the diff against those rules specifically.
195
+
196
+ Focus areas:
197
+ - Naming conventions defined in the rules
198
+ - File organization and structure requirements
199
+ - Required patterns or anti-patterns to avoid
200
+ - Commit message or PR conventions (if visible)
201
+ - Testing requirements
202
+ - Documentation requirements
203
+ - Any project-specific architectural decisions
204
+
205
+ Reference specific rule violations by quoting the rule that is being violated.`,
206
+ },
207
+ {
208
+ name: 'spec-compliance',
209
+ description: 'Checks implementation against a spec or plan file',
210
+ isSpecialized: true,
211
+ focus: ['correctness', 'api-design'],
212
+ systemPrompt: `You are a specification compliance reviewer. Your mission is to verify that the implementation matches the provided specification or design document.
213
+
214
+ The specification content will be provided in the context section above. Review the diff against that specification.
215
+
216
+ Focus areas:
217
+ - Deviations from specified behavior
218
+ - Missing required features or endpoints
219
+ - Incorrect data types or field names vs spec
220
+ - Missing validation described in spec
221
+ - Incorrect error handling vs spec
222
+ - Unspecified behavior that contradicts the spirit of the spec
223
+ - Implementation gaps (things in spec not yet implemented)
224
+
225
+ Be precise about which part of the spec is being violated or not met.`,
226
+ },
227
+ {
228
+ name: 'regression-hunter',
229
+ description: 'Behavioral regressions from refactoring: changed defaults, weakened guards, lost semantics',
230
+ isSpecialized: true,
231
+ focus: ['correctness'],
232
+ severityBias: { correctness: 1.3 },
233
+ 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.
234
+
235
+ Focus areas:
236
+ - Changed defaults (e.g. shadow DOM mode, timeout values, retry counts, delay durations, open/closed, public/private)
237
+ - Removed or weakened guards, validations, or security properties
238
+ - Altered fallback chains (different order, missing fallbacks, new fallbacks that are too broad)
239
+ - API contract drift (renamed fields, changed types, different nullability)
240
+ - Scope changes (closed → open, private → public, restricted → permissive)
241
+ - Lost error handling (try/catch removed, error states no longer reachable)
242
+ - Changed side-effect ordering (operations that now happen in a different sequence)
243
+ - Feature flags or configuration that changed meaning
244
+ - String literals that changed (mode names, CSS classes, attribute values, event names)
245
+
246
+ 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.
247
+
248
+ Severity: mark regressions that weaken security or correctness as "critical". Mark changed defaults that alter UX as "important".`,
249
+ },
250
+ {
251
+ name: 'dead-code',
252
+ description: 'Exported symbols with no consumers, unused types, test-only code shipping in prod',
253
+ isSpecialized: true,
254
+ focus: ['best-practices'],
255
+ systemPrompt: `You are a dead code detector. Your mission is to find code that was written but is never actually used in production paths.
256
+
257
+ Focus areas:
258
+ - Exported functions, classes, or types that are never imported outside their own file (or only imported by test files)
259
+ - Interfaces and type aliases with zero consumers in application code
260
+ - Registry objects, config maps, or lookup tables that are defined but never read by application code
261
+ - Functions only called from tests (test-only exports that inflate the production bundle)
262
+ - Unreachable code paths (conditions that are always true/false given the types)
263
+ - Unused function parameters (beyond what the linter catches)
264
+ - Feature scaffolding built for future use but never wired in (e.g. a platform registry that nothing reads)
265
+ - "Utility" modules where most exports have no consumers
266
+ - Commented-out code blocks
267
+
268
+ Dead code is a maintenance trap: it creates the illusion of functionality, rots as the live code evolves, and misleads new contributors. If it is not called in production, it should not ship.
269
+
270
+ To verify: search the diff for import statements that reference the export in question. If the only consumers are test files, flag it.
271
+
272
+ Severity: large dead modules or registries are "important". Individual unused exports are "minor".`,
273
+ },
274
+ {
275
+ name: 'dependency-hygiene',
276
+ description: 'External runtime fetches, privacy leaks, sensitive console.log, unnecessary permissions',
277
+ isSpecialized: true,
278
+ focus: ['security', 'best-practices'],
279
+ severityBias: { security: 1.2 },
280
+ 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.
281
+
282
+ Focus areas:
283
+ - Runtime fetches to external CDNs or services (Google Fonts, analytics, tracking pixels, external stylesheets) embedded in production code
284
+ - Fonts loaded via @import or <link> that could be bundled or replaced with system fonts
285
+ - External resources fetched on every mount, render, or navigation (cost multiplied by user activity)
286
+ - Privacy leaks: any request to a third party that reveals user browsing behavior (which pages they visit, when, how often)
287
+ - Content Security Policy conflicts: external resources that may be blocked by the host page's CSP
288
+ - 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)
289
+ - Dependencies in package.json that are imported nowhere in application code
290
+ - Overly broad permissions in manifests (browser extension host_permissions, OAuth scopes, IAM policies)
291
+ - Hardcoded API keys, tokens, or secrets (even in non-secret positions)
292
+
293
+ Severity: privacy-leaking external requests are "critical". Unnecessary CDN loads and verbose sensitive logging are "important". Unused deps are "minor".`,
294
+ },
295
+ {
296
+ name: 'edge-case-hunter',
297
+ description: 'Case sensitivity, incomplete lists, stale state, normalization gaps, broad fallbacks',
298
+ isSpecialized: true,
299
+ focus: ['correctness'],
300
+ severityBias: { correctness: 1.2 },
301
+ 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.
302
+
303
+ Focus areas:
304
+ - Case sensitivity on identifiers that should be case-insensitive (usernames, email addresses, domain names, URL slugs, social media handles, file extensions)
305
+ - Incomplete exclusion or inclusion lists (missing entries that real users will hit — e.g. reserved route paths, restricted keywords, known special values)
306
+ - 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)
307
+ - Missing URL normalization (trailing slashes, query params, fragments, scheme differences, www prefix, percent-encoding, port numbers)
308
+ - Locale and encoding assumptions (assuming ASCII, assuming English, hardcoded locale-specific strings like date formats)
309
+ - Empty, null, or undefined inputs that bypass validation but break downstream logic
310
+ - Boundary values (max-length inputs, zero-length inputs, exactly-at-limit values)
311
+ - 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)
312
+ - Time-of-check vs time-of-use gaps where the world changes between reading a value and acting on it
313
+ - Unicode edge cases (zero-width characters, RTL marks, combining characters in identifiers)
314
+
315
+ Be specific about the exact input that triggers the bug and what incorrect behavior results. Provide a concrete example.
316
+
317
+ 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".`,
318
+ },
319
+ ];
320
+ //# sourceMappingURL=legacy-4.1.10.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-4.1.10.js","sourceRoot":"","sources":["../../src/roles/legacy-4.1.10.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Role } from './types.js';
2
+ export declare const LEGACY_BUILTIN_ROLES_4_4_9: Role[];
3
+ export declare function getLegacyRoleByName4_4_9(name: string): Role | undefined;
4
+ export declare function getLegacyRoleNames4_4_9(): string[];
@@ -0,0 +1,282 @@
1
+ export const LEGACY_BUILTIN_ROLES_4_4_9 = [
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 getLegacyRoleByName4_4_9(name) {
277
+ return LEGACY_BUILTIN_ROLES_4_4_9.find((r) => r.name === name);
278
+ }
279
+ export function getLegacyRoleNames4_4_9() {
280
+ return LEGACY_BUILTIN_ROLES_4_4_9.map((r) => r.name);
281
+ }
282
+ //# sourceMappingURL=legacy-4.4.9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-4.4.9.js","sourceRoot":"","sources":["../../src/roles/legacy-4.4.9.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAW;IAChD;QACE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mDAAmD;QAChE,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC;QAC3E,YAAY,EAAE;;iJAE+H;KAC9I;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uEAAuE;QACpF,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,YAAY,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC/B,YAAY,EAAE;;;;;;;;;;;;;;6JAc2I;KAC1J;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,oEAAoE;QACjF,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;QACxC,YAAY,EAAE;;;;;;;;;;;;;;oFAckE;KACjF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0DAA0D;QACvE,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,YAAY,EAAE;;;;;;;;;;;;;;;8CAe4B;KAC3C;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,8CAA8C;QAC3D,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,YAAY,EAAE;;;;;;;;;;;;;;kEAcgD;KAC/D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,0DAA0D;QACvE,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,YAAY,EAAE;;;;;;;;;;;;;;;6IAe2H;KAC1I;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qDAAqD;QAClE,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;QACvC,YAAY,EAAE;;;;;;;;;;;;;;;gGAe8E;KAC7F;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,uDAAuD;QACpE,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,YAAY,EAAE;;;;;;;;;;;;;;;;qJAgBmI;KAClJ;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,4CAA4C;QACzD,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,YAAY,EAAE;;;;;;;;;;;;;;;;gHAgB8F;KAC7G;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,mDAAmD;QAChE,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;QACpC,YAAY,EAAE;;;;;;;;;;;;;sEAaoD;KACnE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,4FAA4F;QACzG,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,YAAY,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QAClC,YAAY,EAAE;;;;;;;;;;;;;;;kIAegH;KAC/H;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yFAAyF;QACtG,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACrC,YAAY,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE;QAC/B,YAAY,EAAE;;;;;;;;;;;;;0JAawI;KACvJ;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,sFAAsF;QACnG,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,YAAY,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE;QAClC,YAAY,EAAE;;;;;;;;;;;;;;;;iMAgB+K;KAC9L;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Role } from './types.js';
2
+ import type { Config } from '../config/schema.js';
3
+ export declare function findProjectRulesFile(cwd?: string): Promise<string | null>;
4
+ export declare function buildCustomRole(config: {
5
+ name: string;
6
+ systemPrompt?: string;
7
+ focus?: string[];
8
+ severityBias?: Record<string, number>;
9
+ }): Role;
10
+ export declare function resolveRoles(config: Config, requestedRoles?: string[], specContent?: string): Promise<Role[]>;