@quickchatai/pi-quickreview 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/LICENSE +23 -0
  2. package/README.md +75 -2
  3. package/assets/agents/pass-abstraction.md +64 -0
  4. package/assets/agents/pass-ask-human.md +134 -0
  5. package/assets/agents/pass-backcompat.md +67 -0
  6. package/assets/agents/pass-baseline.md +61 -0
  7. package/assets/agents/pass-behaviour-delta.md +64 -0
  8. package/assets/agents/pass-bounds.md +36 -0
  9. package/assets/agents/pass-claims.md +31 -0
  10. package/assets/agents/pass-concurrency.md +168 -0
  11. package/assets/agents/pass-consistency.md +57 -0
  12. package/assets/agents/pass-contracts.md +30 -0
  13. package/assets/agents/pass-data-safety.md +54 -0
  14. package/assets/agents/pass-deferred.md +35 -0
  15. package/assets/agents/pass-delivery.md +37 -0
  16. package/assets/agents/pass-duplication.md +60 -0
  17. package/assets/agents/pass-intent.md +63 -0
  18. package/assets/agents/pass-lint-conformance.md +46 -0
  19. package/assets/agents/pass-maintainability.md +67 -0
  20. package/assets/agents/pass-placement.md +68 -0
  21. package/assets/agents/pass-prod-risk.md +24 -0
  22. package/assets/agents/pass-rollout.md +32 -0
  23. package/assets/agents/pass-roundtrip.md +46 -0
  24. package/assets/agents/pass-security.md +31 -0
  25. package/assets/agents/pass-simplicity.md +68 -0
  26. package/assets/agents/pass-statelessness.md +27 -0
  27. package/assets/agents/pass-style.md +37 -0
  28. package/assets/agents/pass-sweep.md +57 -0
  29. package/assets/agents/pass-tests.md +58 -0
  30. package/assets/agents/pass-ui.md +23 -0
  31. package/assets/agents/pass-validate.md +50 -0
  32. package/assets/agents/pass-widened.md +46 -0
  33. package/assets/agents/scan/pass-scan.md +86 -0
  34. package/assets/config.example.toml +1067 -0
  35. package/assets/deploy/reviewer/AGENTS.override.md +12 -0
  36. package/assets/profiles/default/README.md +21 -0
  37. package/assets/profiles/default/addenda/.gitkeep +0 -0
  38. package/assets/profiles/default/profile.toml +17 -0
  39. package/assets/profiles/example-django/README.md +21 -0
  40. package/assets/profiles/example-django/addenda/10-migration-discipline.md +13 -0
  41. package/assets/profiles/example-django/addenda/20-new-column-nullability.md +12 -0
  42. package/assets/profiles/example-django/addenda/30-test-doctrine.md +12 -0
  43. package/assets/profiles/example-django/addenda/40-orm-usage.md +19 -0
  44. package/assets/profiles/example-django/addenda/50-declared-shape.md +10 -0
  45. package/assets/profiles/example-django/addenda/60-config-placement.md +14 -0
  46. package/assets/profiles/example-django/heuristics.toml +24 -0
  47. package/assets/profiles/example-django/profile.toml +9 -0
  48. package/assets/profiles/fast/README.md +24 -0
  49. package/assets/profiles/fast/profile.toml +59 -0
  50. package/assets/profiles/minimal/README.md +17 -0
  51. package/assets/profiles/minimal/addenda/.gitkeep +0 -0
  52. package/assets/profiles/minimal/profile.toml +8 -0
  53. package/assets/profiles/snappy/README.md +24 -0
  54. package/assets/profiles/snappy/addenda/10-race-as-question.md +6 -0
  55. package/assets/profiles/snappy/profile.toml +46 -0
  56. package/assets/prompts/companion-day-open.md +46 -0
  57. package/assets/prompts/companion-first-run.md +104 -0
  58. package/assets/prompts/companion.md +821 -0
  59. package/assets/prompts/conversation-system.md +117 -0
  60. package/assets/prompts/eod-sweep.md +120 -0
  61. package/assets/prompts/onboarding.md +74 -0
  62. package/assets/prompts/pass-common.md +52 -0
  63. package/assets/prompts/pass-quality-common.md +22 -0
  64. package/assets/prompts/round-first.md +874 -0
  65. package/assets/prompts/round-follow-up.md +991 -0
  66. package/assets/prompts/round-re-review.md +889 -0
  67. package/assets/prompts/round-recheck.md +196 -0
  68. package/assets/prompts/round-staleness.md +856 -0
  69. package/assets/schemas/review-result.v1.json +391 -0
  70. package/assets/schemas/scan-result.v1.json +421 -0
  71. package/assets/schemas/version.v1.json +57 -0
  72. package/assets/seed-manifest.json +19 -0
  73. package/assets/seeds/agents/pass-baseline.md +61 -0
  74. package/assets/seeds/agents/pass-contracts.md +30 -0
  75. package/assets/seeds/agents/pass-data-safety.md +54 -0
  76. package/assets/seeds/agents/pass-delivery.md +37 -0
  77. package/assets/seeds/agents/pass-prod-risk.md +24 -0
  78. package/assets/seeds/agents/pass-security.md +31 -0
  79. package/assets/seeds/agents/pass-statelessness.md +27 -0
  80. package/assets/seeds/agents/pass-ui.md +23 -0
  81. package/assets/seeds/agents/pass-validate.md +50 -0
  82. package/assets/seeds/prompts/conversation-system.md +117 -0
  83. package/assets/seeds/prompts/eod-sweep.md +120 -0
  84. package/assets/seeds/prompts/pass-common.md +52 -0
  85. package/dist/extensions/bash-guard.d.ts +467 -0
  86. package/dist/extensions/bash-guard.d.ts.map +1 -0
  87. package/dist/extensions/bash-guard.js +3058 -0
  88. package/dist/extensions/bash-guard.js.map +1 -0
  89. package/dist/extensions/finding-clusters.d.ts +33 -0
  90. package/dist/extensions/finding-clusters.d.ts.map +1 -0
  91. package/dist/extensions/finding-clusters.js +218 -0
  92. package/dist/extensions/finding-clusters.js.map +1 -0
  93. package/dist/extensions/ledger-pin.d.ts +76 -0
  94. package/dist/extensions/ledger-pin.d.ts.map +1 -0
  95. package/dist/extensions/ledger-pin.js +331 -0
  96. package/dist/extensions/ledger-pin.js.map +1 -0
  97. package/dist/extensions/lens.d.ts +43 -0
  98. package/dist/extensions/lens.d.ts.map +1 -0
  99. package/dist/extensions/lens.js +150 -0
  100. package/dist/extensions/lens.js.map +1 -0
  101. package/dist/extensions/pi-tool.d.ts +22 -0
  102. package/dist/extensions/pi-tool.d.ts.map +1 -0
  103. package/dist/extensions/pi-tool.js +20 -0
  104. package/dist/extensions/pi-tool.js.map +1 -0
  105. package/dist/extensions/quickreview.d.ts +21 -0
  106. package/dist/extensions/quickreview.d.ts.map +1 -0
  107. package/dist/extensions/quickreview.js +132 -0
  108. package/dist/extensions/quickreview.js.map +1 -0
  109. package/dist/src/anchors.d.ts +54 -0
  110. package/dist/src/anchors.d.ts.map +1 -0
  111. package/dist/src/anchors.js +127 -0
  112. package/dist/src/anchors.js.map +1 -0
  113. package/dist/src/assetroot.d.ts +16 -0
  114. package/dist/src/assetroot.d.ts.map +1 -0
  115. package/dist/src/assetroot.js +77 -0
  116. package/dist/src/assetroot.js.map +1 -0
  117. package/dist/src/authwatch.d.ts +61 -0
  118. package/dist/src/authwatch.d.ts.map +1 -0
  119. package/dist/src/authwatch.js +210 -0
  120. package/dist/src/authwatch.js.map +1 -0
  121. package/dist/src/budget.d.ts +15 -0
  122. package/dist/src/budget.d.ts.map +1 -0
  123. package/dist/src/budget.js +32 -0
  124. package/dist/src/budget.js.map +1 -0
  125. package/dist/src/casebudget.d.ts +3 -0
  126. package/dist/src/casebudget.d.ts.map +1 -0
  127. package/dist/src/casebudget.js +3 -0
  128. package/dist/src/casebudget.js.map +1 -0
  129. package/dist/src/cigate.d.ts +116 -0
  130. package/dist/src/cigate.d.ts.map +1 -0
  131. package/dist/src/cigate.js +176 -0
  132. package/dist/src/cigate.js.map +1 -0
  133. package/dist/src/codespan.d.ts +46 -0
  134. package/dist/src/codespan.d.ts.map +1 -0
  135. package/dist/src/codespan.js +75 -0
  136. package/dist/src/codespan.js.map +1 -0
  137. package/dist/src/contextpack.d.ts +56 -0
  138. package/dist/src/contextpack.d.ts.map +1 -0
  139. package/dist/src/contextpack.js +195 -0
  140. package/dist/src/contextpack.js.map +1 -0
  141. package/dist/src/contract.d.ts +8 -0
  142. package/dist/src/contract.d.ts.map +1 -0
  143. package/dist/src/contract.js +21 -0
  144. package/dist/src/contract.js.map +1 -0
  145. package/dist/src/coverage.d.ts +32 -0
  146. package/dist/src/coverage.d.ts.map +1 -0
  147. package/dist/src/coverage.js +85 -0
  148. package/dist/src/coverage.js.map +1 -0
  149. package/dist/src/datafence.d.ts +19 -0
  150. package/dist/src/datafence.d.ts.map +1 -0
  151. package/dist/src/datafence.js +60 -0
  152. package/dist/src/datafence.js.map +1 -0
  153. package/dist/src/dedup.d.ts +65 -0
  154. package/dist/src/dedup.d.ts.map +1 -0
  155. package/dist/src/dedup.js +459 -0
  156. package/dist/src/dedup.js.map +1 -0
  157. package/dist/src/depsources.d.ts +304 -0
  158. package/dist/src/depsources.d.ts.map +1 -0
  159. package/dist/src/depsources.js +3367 -0
  160. package/dist/src/depsources.js.map +1 -0
  161. package/dist/src/diffinput.d.ts +10 -0
  162. package/dist/src/diffinput.d.ts.map +1 -0
  163. package/dist/src/diffinput.js +172 -0
  164. package/dist/src/diffinput.js.map +1 -0
  165. package/dist/src/doubtwords.d.ts +10 -0
  166. package/dist/src/doubtwords.d.ts.map +1 -0
  167. package/dist/src/doubtwords.js +13 -0
  168. package/dist/src/doubtwords.js.map +1 -0
  169. package/dist/src/ecosystem.d.ts +148 -0
  170. package/dist/src/ecosystem.d.ts.map +1 -0
  171. package/dist/src/ecosystem.js +338 -0
  172. package/dist/src/ecosystem.js.map +1 -0
  173. package/dist/src/engine/agentdir.d.ts +5 -0
  174. package/dist/src/engine/agentdir.d.ts.map +1 -0
  175. package/dist/src/engine/agentdir.js +21 -0
  176. package/dist/src/engine/agentdir.js.map +1 -0
  177. package/dist/src/engine/auth.d.ts +214 -0
  178. package/dist/src/engine/auth.d.ts.map +1 -0
  179. package/dist/src/engine/auth.js +374 -0
  180. package/dist/src/engine/auth.js.map +1 -0
  181. package/dist/src/engine/budget.d.ts +60 -0
  182. package/dist/src/engine/budget.d.ts.map +1 -0
  183. package/dist/src/engine/budget.js +113 -0
  184. package/dist/src/engine/budget.js.map +1 -0
  185. package/dist/src/engine/capfd.d.ts +6 -0
  186. package/dist/src/engine/capfd.d.ts.map +1 -0
  187. package/dist/src/engine/capfd.js +21 -0
  188. package/dist/src/engine/capfd.js.map +1 -0
  189. package/dist/src/engine/caseout.d.ts +66 -0
  190. package/dist/src/engine/caseout.d.ts.map +1 -0
  191. package/dist/src/engine/caseout.js +107 -0
  192. package/dist/src/engine/caseout.js.map +1 -0
  193. package/dist/src/engine/context.d.ts +57 -0
  194. package/dist/src/engine/context.d.ts.map +1 -0
  195. package/dist/src/engine/context.js +212 -0
  196. package/dist/src/engine/context.js.map +1 -0
  197. package/dist/src/engine/envmap.d.ts +13 -0
  198. package/dist/src/engine/envmap.d.ts.map +1 -0
  199. package/dist/src/engine/envmap.js +372 -0
  200. package/dist/src/engine/envmap.js.map +1 -0
  201. package/dist/src/engine/extfiles.d.ts +7 -0
  202. package/dist/src/engine/extfiles.d.ts.map +1 -0
  203. package/dist/src/engine/extfiles.js +23 -0
  204. package/dist/src/engine/extfiles.js.map +1 -0
  205. package/dist/src/engine/keyroute.d.ts +21 -0
  206. package/dist/src/engine/keyroute.d.ts.map +1 -0
  207. package/dist/src/engine/keyroute.js +58 -0
  208. package/dist/src/engine/keyroute.js.map +1 -0
  209. package/dist/src/engine/lens/cache-group.d.ts +20 -0
  210. package/dist/src/engine/lens/cache-group.d.ts.map +1 -0
  211. package/dist/src/engine/lens/cache-group.js +31 -0
  212. package/dist/src/engine/lens/cache-group.js.map +1 -0
  213. package/dist/src/engine/lens/cache-run.d.ts +65 -0
  214. package/dist/src/engine/lens/cache-run.d.ts.map +1 -0
  215. package/dist/src/engine/lens/cache-run.js +159 -0
  216. package/dist/src/engine/lens/cache-run.js.map +1 -0
  217. package/dist/src/engine/lens/deadline.d.ts +54 -0
  218. package/dist/src/engine/lens/deadline.d.ts.map +1 -0
  219. package/dist/src/engine/lens/deadline.js +111 -0
  220. package/dist/src/engine/lens/deadline.js.map +1 -0
  221. package/dist/src/engine/lens/engine-tools.d.ts +13 -0
  222. package/dist/src/engine/lens/engine-tools.d.ts.map +1 -0
  223. package/dist/src/engine/lens/engine-tools.js +37 -0
  224. package/dist/src/engine/lens/engine-tools.js.map +1 -0
  225. package/dist/src/engine/lens/env.d.ts +23 -0
  226. package/dist/src/engine/lens/env.d.ts.map +1 -0
  227. package/dist/src/engine/lens/env.js +42 -0
  228. package/dist/src/engine/lens/env.js.map +1 -0
  229. package/dist/src/engine/lens/launch-plan.d.ts +63 -0
  230. package/dist/src/engine/lens/launch-plan.d.ts.map +1 -0
  231. package/dist/src/engine/lens/launch-plan.js +203 -0
  232. package/dist/src/engine/lens/launch-plan.js.map +1 -0
  233. package/dist/src/engine/lens/leaf-cache.d.ts +22 -0
  234. package/dist/src/engine/lens/leaf-cache.d.ts.map +1 -0
  235. package/dist/src/engine/lens/leaf-cache.js +115 -0
  236. package/dist/src/engine/lens/leaf-cache.js.map +1 -0
  237. package/dist/src/engine/lens/permits.d.ts +14 -0
  238. package/dist/src/engine/lens/permits.d.ts.map +1 -0
  239. package/dist/src/engine/lens/permits.js +18 -0
  240. package/dist/src/engine/lens/permits.js.map +1 -0
  241. package/dist/src/engine/lens/registry.d.ts +55 -0
  242. package/dist/src/engine/lens/registry.d.ts.map +1 -0
  243. package/dist/src/engine/lens/registry.js +140 -0
  244. package/dist/src/engine/lens/registry.js.map +1 -0
  245. package/dist/src/engine/lens/round-lens.d.ts +16 -0
  246. package/dist/src/engine/lens/round-lens.d.ts.map +1 -0
  247. package/dist/src/engine/lens/round-lens.js +46 -0
  248. package/dist/src/engine/lens/round-lens.js.map +1 -0
  249. package/dist/src/engine/lens/runlens.d.ts +103 -0
  250. package/dist/src/engine/lens/runlens.d.ts.map +1 -0
  251. package/dist/src/engine/lens/runlens.js +538 -0
  252. package/dist/src/engine/lens/runlens.js.map +1 -0
  253. package/dist/src/engine/lens/section.d.ts +19 -0
  254. package/dist/src/engine/lens/section.d.ts.map +1 -0
  255. package/dist/src/engine/lens/section.js +40 -0
  256. package/dist/src/engine/lens/section.js.map +1 -0
  257. package/dist/src/engine/lens/semaphore.d.ts +13 -0
  258. package/dist/src/engine/lens/semaphore.d.ts.map +1 -0
  259. package/dist/src/engine/lens/semaphore.js +44 -0
  260. package/dist/src/engine/lens/semaphore.js.map +1 -0
  261. package/dist/src/engine/lens/tool.d.ts +34 -0
  262. package/dist/src/engine/lens/tool.d.ts.map +1 -0
  263. package/dist/src/engine/lens/tool.js +345 -0
  264. package/dist/src/engine/lens/tool.js.map +1 -0
  265. package/dist/src/engine/lens/wave.d.ts +63 -0
  266. package/dist/src/engine/lens/wave.d.ts.map +1 -0
  267. package/dist/src/engine/lens/wave.js +95 -0
  268. package/dist/src/engine/lens/wave.js.map +1 -0
  269. package/dist/src/engine/livesessions.d.ts +21 -0
  270. package/dist/src/engine/livesessions.d.ts.map +1 -0
  271. package/dist/src/engine/livesessions.js +57 -0
  272. package/dist/src/engine/livesessions.js.map +1 -0
  273. package/dist/src/engine/livewire.d.ts +18 -0
  274. package/dist/src/engine/livewire.d.ts.map +1 -0
  275. package/dist/src/engine/livewire.js +31 -0
  276. package/dist/src/engine/livewire.js.map +1 -0
  277. package/dist/src/engine/openable.d.ts +37 -0
  278. package/dist/src/engine/openable.d.ts.map +1 -0
  279. package/dist/src/engine/openable.js +120 -0
  280. package/dist/src/engine/openable.js.map +1 -0
  281. package/dist/src/engine/pisdk.d.ts +226 -0
  282. package/dist/src/engine/pisdk.d.ts.map +1 -0
  283. package/dist/src/engine/pisdk.js +552 -0
  284. package/dist/src/engine/pisdk.js.map +1 -0
  285. package/dist/src/engine/port.d.ts +144 -0
  286. package/dist/src/engine/port.d.ts.map +1 -0
  287. package/dist/src/engine/port.js +16 -0
  288. package/dist/src/engine/port.js.map +1 -0
  289. package/dist/src/engine/prompts.d.ts +159 -0
  290. package/dist/src/engine/prompts.d.ts.map +1 -0
  291. package/dist/src/engine/prompts.js +339 -0
  292. package/dist/src/engine/prompts.js.map +1 -0
  293. package/dist/src/engine/render.d.ts +10 -0
  294. package/dist/src/engine/render.d.ts.map +1 -0
  295. package/dist/src/engine/render.js +23 -0
  296. package/dist/src/engine/render.js.map +1 -0
  297. package/dist/src/engine/reviewruntime.d.ts +13 -0
  298. package/dist/src/engine/reviewruntime.d.ts.map +1 -0
  299. package/dist/src/engine/reviewruntime.js +35 -0
  300. package/dist/src/engine/reviewruntime.js.map +1 -0
  301. package/dist/src/engine/reviewsdk.d.ts +75 -0
  302. package/dist/src/engine/reviewsdk.d.ts.map +1 -0
  303. package/dist/src/engine/reviewsdk.js +180 -0
  304. package/dist/src/engine/reviewsdk.js.map +1 -0
  305. package/dist/src/engine/round.d.ts +166 -0
  306. package/dist/src/engine/round.d.ts.map +1 -0
  307. package/dist/src/engine/round.js +543 -0
  308. package/dist/src/engine/round.js.map +1 -0
  309. package/dist/src/engine/roundagents.d.ts +17 -0
  310. package/dist/src/engine/roundagents.d.ts.map +1 -0
  311. package/dist/src/engine/roundagents.js +49 -0
  312. package/dist/src/engine/roundagents.js.map +1 -0
  313. package/dist/src/engine/roundevents.d.ts +110 -0
  314. package/dist/src/engine/roundevents.d.ts.map +1 -0
  315. package/dist/src/engine/roundevents.js +276 -0
  316. package/dist/src/engine/roundevents.js.map +1 -0
  317. package/dist/src/engine/roundsdk.d.ts +33 -0
  318. package/dist/src/engine/roundsdk.d.ts.map +1 -0
  319. package/dist/src/engine/roundsdk.js +76 -0
  320. package/dist/src/engine/roundsdk.js.map +1 -0
  321. package/dist/src/engine/sdkruntime.d.ts +23 -0
  322. package/dist/src/engine/sdkruntime.d.ts.map +1 -0
  323. package/dist/src/engine/sdkruntime.js +340 -0
  324. package/dist/src/engine/sdkruntime.js.map +1 -0
  325. package/dist/src/engine/select.d.ts +16 -0
  326. package/dist/src/engine/select.d.ts.map +1 -0
  327. package/dist/src/engine/select.js +32 -0
  328. package/dist/src/engine/select.js.map +1 -0
  329. package/dist/src/engine/sessionwrap.d.ts +4 -0
  330. package/dist/src/engine/sessionwrap.d.ts.map +1 -0
  331. package/dist/src/engine/sessionwrap.js +31 -0
  332. package/dist/src/engine/sessionwrap.js.map +1 -0
  333. package/dist/src/engine/toolfence.d.ts +90 -0
  334. package/dist/src/engine/toolfence.d.ts.map +1 -0
  335. package/dist/src/engine/toolfence.js +378 -0
  336. package/dist/src/engine/toolfence.js.map +1 -0
  337. package/dist/src/engine/tooluid.d.ts +128 -0
  338. package/dist/src/engine/tooluid.d.ts.map +1 -0
  339. package/dist/src/engine/tooluid.js +401 -0
  340. package/dist/src/engine/tooluid.js.map +1 -0
  341. package/dist/src/envstrip.d.ts +10 -0
  342. package/dist/src/envstrip.d.ts.map +1 -0
  343. package/dist/src/envstrip.js +15 -0
  344. package/dist/src/envstrip.js.map +1 -0
  345. package/dist/src/escalationprompt.d.ts +22 -0
  346. package/dist/src/escalationprompt.d.ts.map +1 -0
  347. package/dist/src/escalationprompt.js +54 -0
  348. package/dist/src/escalationprompt.js.map +1 -0
  349. package/dist/src/execfn.d.ts +29 -0
  350. package/dist/src/execfn.d.ts.map +1 -0
  351. package/dist/src/execfn.js +55 -0
  352. package/dist/src/execfn.js.map +1 -0
  353. package/dist/src/finding-chain.d.ts +40 -0
  354. package/dist/src/finding-chain.d.ts.map +1 -0
  355. package/dist/src/finding-chain.js +76 -0
  356. package/dist/src/finding-chain.js.map +1 -0
  357. package/dist/src/finding-row.d.ts +24 -0
  358. package/dist/src/finding-row.d.ts.map +1 -0
  359. package/dist/src/finding-row.js +26 -0
  360. package/dist/src/finding-row.js.map +1 -0
  361. package/dist/src/findingkey.d.ts +99 -0
  362. package/dist/src/findingkey.d.ts.map +1 -0
  363. package/dist/src/findingkey.js +210 -0
  364. package/dist/src/findingkey.js.map +1 -0
  365. package/dist/src/findingsrecord.d.ts +175 -0
  366. package/dist/src/findingsrecord.d.ts.map +1 -0
  367. package/dist/src/findingsrecord.js +410 -0
  368. package/dist/src/findingsrecord.js.map +1 -0
  369. package/dist/src/followup-mode.d.ts +4 -0
  370. package/dist/src/followup-mode.d.ts.map +1 -0
  371. package/dist/src/followup-mode.js +6 -0
  372. package/dist/src/followup-mode.js.map +1 -0
  373. package/dist/src/gate.d.ts +199 -0
  374. package/dist/src/gate.d.ts.map +1 -0
  375. package/dist/src/gate.js +315 -0
  376. package/dist/src/gate.js.map +1 -0
  377. package/dist/src/ghcred.d.ts +58 -0
  378. package/dist/src/ghcred.d.ts.map +1 -0
  379. package/dist/src/ghcred.js +139 -0
  380. package/dist/src/ghcred.js.map +1 -0
  381. package/dist/src/githubAuth.d.ts +32 -0
  382. package/dist/src/githubAuth.d.ts.map +1 -0
  383. package/dist/src/githubAuth.js +116 -0
  384. package/dist/src/githubAuth.js.map +1 -0
  385. package/dist/src/githubcore.d.ts +20 -0
  386. package/dist/src/githubcore.d.ts.map +1 -0
  387. package/dist/src/githubcore.js +20 -0
  388. package/dist/src/githubcore.js.map +1 -0
  389. package/dist/src/glob.d.ts +11 -0
  390. package/dist/src/glob.d.ts.map +1 -0
  391. package/dist/src/glob.js +69 -0
  392. package/dist/src/glob.js.map +1 -0
  393. package/dist/src/guards.d.ts +93 -0
  394. package/dist/src/guards.d.ts.map +1 -0
  395. package/dist/src/guards.js +306 -0
  396. package/dist/src/guards.js.map +1 -0
  397. package/dist/src/heartbeat.d.ts +29 -0
  398. package/dist/src/heartbeat.d.ts.map +1 -0
  399. package/dist/src/heartbeat.js +87 -0
  400. package/dist/src/heartbeat.js.map +1 -0
  401. package/dist/src/heuristics.d.ts +247 -0
  402. package/dist/src/heuristics.d.ts.map +1 -0
  403. package/dist/src/heuristics.js +927 -0
  404. package/dist/src/heuristics.js.map +1 -0
  405. package/dist/src/homes.d.ts +181 -0
  406. package/dist/src/homes.d.ts.map +1 -0
  407. package/dist/src/homes.js +242 -0
  408. package/dist/src/homes.js.map +1 -0
  409. package/dist/src/hunkheader.d.ts +11 -0
  410. package/dist/src/hunkheader.d.ts.map +1 -0
  411. package/dist/src/hunkheader.js +18 -0
  412. package/dist/src/hunkheader.js.map +1 -0
  413. package/dist/src/include.d.ts +435 -0
  414. package/dist/src/include.d.ts.map +1 -0
  415. package/dist/src/include.js +1692 -0
  416. package/dist/src/include.js.map +1 -0
  417. package/dist/src/launchvocab.d.ts +36 -0
  418. package/dist/src/launchvocab.d.ts.map +1 -0
  419. package/dist/src/launchvocab.js +59 -0
  420. package/dist/src/launchvocab.js.map +1 -0
  421. package/dist/src/ledgercarry.d.ts +24 -0
  422. package/dist/src/ledgercarry.d.ts.map +1 -0
  423. package/dist/src/ledgercarry.js +109 -0
  424. package/dist/src/ledgercarry.js.map +1 -0
  425. package/dist/src/lensids.d.ts +7 -0
  426. package/dist/src/lensids.d.ts.map +1 -0
  427. package/dist/src/lensids.js +53 -0
  428. package/dist/src/lensids.js.map +1 -0
  429. package/dist/src/lensplanning.d.ts +8 -0
  430. package/dist/src/lensplanning.d.ts.map +1 -0
  431. package/dist/src/lensplanning.js +126 -0
  432. package/dist/src/lensplanning.js.map +1 -0
  433. package/dist/src/lensresult.d.ts +94 -0
  434. package/dist/src/lensresult.d.ts.map +1 -0
  435. package/dist/src/lensresult.js +162 -0
  436. package/dist/src/lensresult.js.map +1 -0
  437. package/dist/src/lenstuning.d.ts +97 -0
  438. package/dist/src/lenstuning.d.ts.map +1 -0
  439. package/dist/src/lenstuning.js +326 -0
  440. package/dist/src/lenstuning.js.map +1 -0
  441. package/dist/src/lintconfig.d.ts +31 -0
  442. package/dist/src/lintconfig.d.ts.map +1 -0
  443. package/dist/src/lintconfig.js +543 -0
  444. package/dist/src/lintconfig.js.map +1 -0
  445. package/dist/src/live/events.d.ts +188 -0
  446. package/dist/src/live/events.d.ts.map +1 -0
  447. package/dist/src/live/events.js +136 -0
  448. package/dist/src/live/events.js.map +1 -0
  449. package/dist/src/live/writer.d.ts +54 -0
  450. package/dist/src/live/writer.d.ts.map +1 -0
  451. package/dist/src/live/writer.js +516 -0
  452. package/dist/src/live/writer.js.map +1 -0
  453. package/dist/src/localreview.d.ts +128 -0
  454. package/dist/src/localreview.d.ts.map +1 -0
  455. package/dist/src/localreview.js +426 -0
  456. package/dist/src/localreview.js.map +1 -0
  457. package/dist/src/loosenedtests.d.ts +13 -0
  458. package/dist/src/loosenedtests.d.ts.map +1 -0
  459. package/dist/src/loosenedtests.js +188 -0
  460. package/dist/src/loosenedtests.js.map +1 -0
  461. package/dist/src/memoryport.d.ts +264 -0
  462. package/dist/src/memoryport.d.ts.map +1 -0
  463. package/dist/src/memoryport.js +445 -0
  464. package/dist/src/memoryport.js.map +1 -0
  465. package/dist/src/migrations.d.ts +106 -0
  466. package/dist/src/migrations.d.ts.map +1 -0
  467. package/dist/src/migrations.js +373 -0
  468. package/dist/src/migrations.js.map +1 -0
  469. package/dist/src/oneshot.d.ts +12 -0
  470. package/dist/src/oneshot.d.ts.map +1 -0
  471. package/dist/src/oneshot.js +8 -0
  472. package/dist/src/oneshot.js.map +1 -0
  473. package/dist/src/packing.d.ts +11 -0
  474. package/dist/src/packing.d.ts.map +1 -0
  475. package/dist/src/packing.js +31 -0
  476. package/dist/src/packing.js.map +1 -0
  477. package/dist/src/passes.d.ts +16 -0
  478. package/dist/src/passes.d.ts.map +1 -0
  479. package/dist/src/passes.js +104 -0
  480. package/dist/src/passes.js.map +1 -0
  481. package/dist/src/passtasks.d.ts +68 -0
  482. package/dist/src/passtasks.d.ts.map +1 -0
  483. package/dist/src/passtasks.js +360 -0
  484. package/dist/src/passtasks.js.map +1 -0
  485. package/dist/src/pathinside.d.ts +5 -0
  486. package/dist/src/pathinside.d.ts.map +1 -0
  487. package/dist/src/pathinside.js +9 -0
  488. package/dist/src/pathinside.js.map +1 -0
  489. package/dist/src/pibuiltins.d.ts +36 -0
  490. package/dist/src/pibuiltins.d.ts.map +1 -0
  491. package/dist/src/pibuiltins.js +83 -0
  492. package/dist/src/pibuiltins.js.map +1 -0
  493. package/dist/src/plankey.d.ts +4 -0
  494. package/dist/src/plankey.d.ts.map +1 -0
  495. package/dist/src/plankey.js +10 -0
  496. package/dist/src/plankey.js.map +1 -0
  497. package/dist/src/planner.d.ts +375 -0
  498. package/dist/src/planner.d.ts.map +1 -0
  499. package/dist/src/planner.js +722 -0
  500. package/dist/src/planner.js.map +1 -0
  501. package/dist/src/plugin/args.d.ts +19 -0
  502. package/dist/src/plugin/args.d.ts.map +1 -0
  503. package/dist/src/plugin/args.js +107 -0
  504. package/dist/src/plugin/args.js.map +1 -0
  505. package/dist/src/plugin/index.d.ts +3 -0
  506. package/dist/src/plugin/index.d.ts.map +1 -0
  507. package/dist/src/plugin/index.js +14 -0
  508. package/dist/src/plugin/index.js.map +1 -0
  509. package/dist/src/plugin/login.d.ts +39 -0
  510. package/dist/src/plugin/login.d.ts.map +1 -0
  511. package/dist/src/plugin/login.js +73 -0
  512. package/dist/src/plugin/login.js.map +1 -0
  513. package/dist/src/plugin/review.d.ts +27 -0
  514. package/dist/src/plugin/review.d.ts.map +1 -0
  515. package/dist/src/plugin/review.js +298 -0
  516. package/dist/src/plugin/review.js.map +1 -0
  517. package/dist/src/plugin/runner.d.ts +6 -0
  518. package/dist/src/plugin/runner.d.ts.map +1 -0
  519. package/dist/src/plugin/runner.js +65 -0
  520. package/dist/src/plugin/runner.js.map +1 -0
  521. package/dist/src/plugin/scan.d.ts +79 -0
  522. package/dist/src/plugin/scan.d.ts.map +1 -0
  523. package/dist/src/plugin/scan.js +348 -0
  524. package/dist/src/plugin/scan.js.map +1 -0
  525. package/dist/src/plugin/session.d.ts +56 -0
  526. package/dist/src/plugin/session.d.ts.map +1 -0
  527. package/dist/src/plugin/session.js +2 -0
  528. package/dist/src/plugin/session.js.map +1 -0
  529. package/dist/src/plugin/setup.d.ts +19 -0
  530. package/dist/src/plugin/setup.d.ts.map +1 -0
  531. package/dist/src/plugin/setup.js +142 -0
  532. package/dist/src/plugin/setup.js.map +1 -0
  533. package/dist/src/plugin/versiongate.d.ts +26 -0
  534. package/dist/src/plugin/versiongate.d.ts.map +1 -0
  535. package/dist/src/plugin/versiongate.js +83 -0
  536. package/dist/src/plugin/versiongate.js.map +1 -0
  537. package/dist/src/postingkey.d.ts +8 -0
  538. package/dist/src/postingkey.d.ts.map +1 -0
  539. package/dist/src/postingkey.js +25 -0
  540. package/dist/src/postingkey.js.map +1 -0
  541. package/dist/src/postingpolicy.d.ts +108 -0
  542. package/dist/src/postingpolicy.d.ts.map +1 -0
  543. package/dist/src/postingpolicy.js +341 -0
  544. package/dist/src/postingpolicy.js.map +1 -0
  545. package/dist/src/pr-identity.d.ts +3 -0
  546. package/dist/src/pr-identity.d.ts.map +1 -0
  547. package/dist/src/pr-identity.js +9 -0
  548. package/dist/src/pr-identity.js.map +1 -0
  549. package/dist/src/prdelta.d.ts +181 -0
  550. package/dist/src/prdelta.d.ts.map +1 -0
  551. package/dist/src/prdelta.js +501 -0
  552. package/dist/src/prdelta.js.map +1 -0
  553. package/dist/src/pricing.d.ts +94 -0
  554. package/dist/src/pricing.d.ts.map +1 -0
  555. package/dist/src/pricing.js +209 -0
  556. package/dist/src/pricing.js.map +1 -0
  557. package/dist/src/priorfindings.d.ts +167 -0
  558. package/dist/src/priorfindings.d.ts.map +1 -0
  559. package/dist/src/priorfindings.js +445 -0
  560. package/dist/src/priorfindings.js.map +1 -0
  561. package/dist/src/priortasks.d.ts +31 -0
  562. package/dist/src/priortasks.d.ts.map +1 -0
  563. package/dist/src/priortasks.js +119 -0
  564. package/dist/src/priortasks.js.map +1 -0
  565. package/dist/src/profilelookup.d.ts +59 -0
  566. package/dist/src/profilelookup.d.ts.map +1 -0
  567. package/dist/src/profilelookup.js +98 -0
  568. package/dist/src/profilelookup.js.map +1 -0
  569. package/dist/src/profileoverrides.d.ts +91 -0
  570. package/dist/src/profileoverrides.d.ts.map +1 -0
  571. package/dist/src/profileoverrides.js +313 -0
  572. package/dist/src/profileoverrides.js.map +1 -0
  573. package/dist/src/profiles.d.ts +144 -0
  574. package/dist/src/profiles.d.ts.map +1 -0
  575. package/dist/src/profiles.js +604 -0
  576. package/dist/src/profiles.js.map +1 -0
  577. package/dist/src/promptdoc.d.ts +3 -0
  578. package/dist/src/promptdoc.d.ts.map +1 -0
  579. package/dist/src/promptdoc.js +18 -0
  580. package/dist/src/promptdoc.js.map +1 -0
  581. package/dist/src/prtarget.d.ts +70 -0
  582. package/dist/src/prtarget.d.ts.map +1 -0
  583. package/dist/src/prtarget.js +181 -0
  584. package/dist/src/prtarget.js.map +1 -0
  585. package/dist/src/recheckorder.d.ts +32 -0
  586. package/dist/src/recheckorder.d.ts.map +1 -0
  587. package/dist/src/recheckorder.js +5 -0
  588. package/dist/src/recheckorder.js.map +1 -0
  589. package/dist/src/reviewapi.d.ts +207 -0
  590. package/dist/src/reviewapi.d.ts.map +1 -0
  591. package/dist/src/reviewapi.js +939 -0
  592. package/dist/src/reviewapi.js.map +1 -0
  593. package/dist/src/reviewbotfindings.d.ts +33 -0
  594. package/dist/src/reviewbotfindings.d.ts.map +1 -0
  595. package/dist/src/reviewbotfindings.js +80 -0
  596. package/dist/src/reviewbotfindings.js.map +1 -0
  597. package/dist/src/reviewconfig.d.ts +741 -0
  598. package/dist/src/reviewconfig.d.ts.map +1 -0
  599. package/dist/src/reviewconfig.js +797 -0
  600. package/dist/src/reviewconfig.js.map +1 -0
  601. package/dist/src/reviewdelta.d.ts +51 -0
  602. package/dist/src/reviewdelta.d.ts.map +1 -0
  603. package/dist/src/reviewdelta.js +119 -0
  604. package/dist/src/reviewdelta.js.map +1 -0
  605. package/dist/src/reviewdest.d.ts +86 -0
  606. package/dist/src/reviewdest.d.ts.map +1 -0
  607. package/dist/src/reviewdest.js +142 -0
  608. package/dist/src/reviewdest.js.map +1 -0
  609. package/dist/src/reviewerstub.d.ts +12 -0
  610. package/dist/src/reviewerstub.d.ts.map +1 -0
  611. package/dist/src/reviewerstub.js +28 -0
  612. package/dist/src/reviewerstub.js.map +1 -0
  613. package/dist/src/reviewhost.d.ts +58 -0
  614. package/dist/src/reviewhost.d.ts.map +1 -0
  615. package/dist/src/reviewhost.js +135 -0
  616. package/dist/src/reviewhost.js.map +1 -0
  617. package/dist/src/reviewpost.d.ts +79 -0
  618. package/dist/src/reviewpost.d.ts.map +1 -0
  619. package/dist/src/reviewpost.js +233 -0
  620. package/dist/src/reviewpost.js.map +1 -0
  621. package/dist/src/reviewrender.d.ts +154 -0
  622. package/dist/src/reviewrender.d.ts.map +1 -0
  623. package/dist/src/reviewrender.js +480 -0
  624. package/dist/src/reviewrender.js.map +1 -0
  625. package/dist/src/reviewstate.d.ts +62 -0
  626. package/dist/src/reviewstate.d.ts.map +1 -0
  627. package/dist/src/reviewstate.js +167 -0
  628. package/dist/src/reviewstate.js.map +1 -0
  629. package/dist/src/reviewstore.d.ts +17 -0
  630. package/dist/src/reviewstore.d.ts.map +1 -0
  631. package/dist/src/reviewstore.js +105 -0
  632. package/dist/src/reviewstore.js.map +1 -0
  633. package/dist/src/round-progress.d.ts +120 -0
  634. package/dist/src/round-progress.d.ts.map +1 -0
  635. package/dist/src/round-progress.js +172 -0
  636. package/dist/src/round-progress.js.map +1 -0
  637. package/dist/src/round-stage-deadlines.d.ts +12 -0
  638. package/dist/src/round-stage-deadlines.d.ts.map +1 -0
  639. package/dist/src/round-stage-deadlines.js +10 -0
  640. package/dist/src/round-stage-deadlines.js.map +1 -0
  641. package/dist/src/session-command.d.ts +19 -0
  642. package/dist/src/session-command.d.ts.map +1 -0
  643. package/dist/src/session-command.js +20 -0
  644. package/dist/src/session-command.js.map +1 -0
  645. package/dist/src/settledread.d.ts +61 -0
  646. package/dist/src/settledread.d.ts.map +1 -0
  647. package/dist/src/settledread.js +135 -0
  648. package/dist/src/settledread.js.map +1 -0
  649. package/dist/src/severity.d.ts +167 -0
  650. package/dist/src/severity.d.ts.map +1 -0
  651. package/dist/src/severity.js +364 -0
  652. package/dist/src/severity.js.map +1 -0
  653. package/dist/src/severityrank.d.ts +8 -0
  654. package/dist/src/severityrank.d.ts.map +1 -0
  655. package/dist/src/severityrank.js +16 -0
  656. package/dist/src/severityrank.js.map +1 -0
  657. package/dist/src/standing-review.d.ts +45 -0
  658. package/dist/src/standing-review.d.ts.map +1 -0
  659. package/dist/src/standing-review.js +43 -0
  660. package/dist/src/standing-review.js.map +1 -0
  661. package/dist/src/storerows.d.ts +225 -0
  662. package/dist/src/storerows.d.ts.map +1 -0
  663. package/dist/src/storerows.js +7 -0
  664. package/dist/src/storerows.js.map +1 -0
  665. package/dist/src/styleguide.d.ts +25 -0
  666. package/dist/src/styleguide.d.ts.map +1 -0
  667. package/dist/src/styleguide.js +272 -0
  668. package/dist/src/styleguide.js.map +1 -0
  669. package/dist/src/sweepstatus.d.ts +42 -0
  670. package/dist/src/sweepstatus.d.ts.map +1 -0
  671. package/dist/src/sweepstatus.js +97 -0
  672. package/dist/src/sweepstatus.js.map +1 -0
  673. package/dist/src/templates.d.ts +243 -0
  674. package/dist/src/templates.d.ts.map +1 -0
  675. package/dist/src/templates.js +847 -0
  676. package/dist/src/templates.js.map +1 -0
  677. package/dist/src/types.d.ts +639 -0
  678. package/dist/src/types.d.ts.map +1 -0
  679. package/dist/src/types.js +90 -0
  680. package/dist/src/types.js.map +1 -0
  681. package/dist/src/unifieddiff.d.ts +22 -0
  682. package/dist/src/unifieddiff.d.ts.map +1 -0
  683. package/dist/src/unifieddiff.js +176 -0
  684. package/dist/src/unifieddiff.js.map +1 -0
  685. package/dist/src/yieldloop.d.ts +2 -0
  686. package/dist/src/yieldloop.d.ts.map +1 -0
  687. package/dist/src/yieldloop.js +14 -0
  688. package/dist/src/yieldloop.js.map +1 -0
  689. package/package.json +60 -4
@@ -0,0 +1,421 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "scan-result.v1.json",
4
+ "title": "qcr scan --json, version 1",
5
+ "description": "One JSON object per `qcr scan <verb> --json`. schema_version leads every payload; ok says whether the call succeeded. Fields beyond those named may appear without a version change; a caller ignores what it does not know and refuses a schema_version it does not know. A refusal is {ok:false, errors:[\u2026]}. Verbs not named here (stage2, units, doctor, dismiss, match, suggestions) carry their own fields beside ok and schema_version.",
6
+ "type": "object",
7
+ "required": ["schema_version", "ok"],
8
+ "properties": {
9
+ "schema_version": {
10
+ "const": 1,
11
+ "description": "This schema's version."
12
+ },
13
+ "ok": {
14
+ "type": "boolean"
15
+ },
16
+ "errors": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "string"
20
+ }
21
+ },
22
+ "preview": {
23
+ "$ref": "#/$defs/preview"
24
+ },
25
+ "start": {
26
+ "type": ["array", "null"],
27
+ "items": {
28
+ "type": "string"
29
+ },
30
+ "description": "preview: the arguments that start this exact scan; null when a blocker stands in the way."
31
+ },
32
+ "run": {
33
+ "description": "status, start --foreground: the run, or null when none has run. A detached start: a summary {id, mode, sha, cases (a count), cap_usd}. stop: the stopped run's id.",
34
+ "anyOf": [
35
+ { "type": "null" },
36
+ { "type": "string" },
37
+ { "$ref": "#/$defs/runStatus" },
38
+ { "$ref": "#/$defs/runStarted" }
39
+ ]
40
+ },
41
+ "problems": {
42
+ "type": "array",
43
+ "items": {
44
+ "type": "string"
45
+ }
46
+ },
47
+ "active": {
48
+ "type": "boolean"
49
+ },
50
+ "history": {
51
+ "type": "array"
52
+ },
53
+ "ledger": {
54
+ "type": "object"
55
+ },
56
+ "timed_out": {
57
+ "type": "boolean",
58
+ "description": "status --wait gave up after --timeout; the scan is still going."
59
+ },
60
+ "total": {
61
+ "type": "integer",
62
+ "minimum": 0,
63
+ "description": "findings: how many match, before --limit."
64
+ },
65
+ "validity": {
66
+ "type": "object",
67
+ "description": "findings: the matching findings counted by validity."
68
+ },
69
+ "findings": {
70
+ "type": "array",
71
+ "items": {
72
+ "$ref": "#/$defs/finding"
73
+ }
74
+ },
75
+ "question": {
76
+ "type": ["object", "null"]
77
+ },
78
+ "log": {
79
+ "type": "string"
80
+ },
81
+ "container": {
82
+ "type": "string"
83
+ },
84
+ "image": {
85
+ "type": "string"
86
+ },
87
+ "stamp": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "$defs": {
92
+ "runStatus": {
93
+ "type": "object",
94
+ "required": [
95
+ "id",
96
+ "mode",
97
+ "sha",
98
+ "state",
99
+ "display",
100
+ "started_at",
101
+ "cases_total",
102
+ "cases_done",
103
+ "cases_failed",
104
+ "findings",
105
+ "doubted",
106
+ "cases"
107
+ ],
108
+ "properties": {
109
+ "id": {
110
+ "type": "string"
111
+ },
112
+ "mode": {
113
+ "type": "string"
114
+ },
115
+ "sha": {
116
+ "type": "string"
117
+ },
118
+ "state": {
119
+ "type": "string"
120
+ },
121
+ "display": {
122
+ "type": "string"
123
+ },
124
+ "depth": {
125
+ "type": "string"
126
+ },
127
+ "started_at": {
128
+ "type": "string"
129
+ },
130
+ "finished_at": {
131
+ "type": ["string", "null"]
132
+ },
133
+ "cap_usd": {
134
+ "type": ["number", "null"]
135
+ },
136
+ "estimate_usd": {
137
+ "type": ["number", "null"]
138
+ },
139
+ "spent_usd": {
140
+ "type": ["number", "null"]
141
+ },
142
+ "unpriced_cases": {
143
+ "type": "integer"
144
+ },
145
+ "cases_total": {
146
+ "type": "integer"
147
+ },
148
+ "cases_done": {
149
+ "type": "integer"
150
+ },
151
+ "cases_failed": {
152
+ "type": "integer"
153
+ },
154
+ "findings": {
155
+ "type": "integer"
156
+ },
157
+ "doubted": {
158
+ "type": "integer"
159
+ },
160
+ "matching": {
161
+ "type": ["object", "null"]
162
+ },
163
+ "tickets_closed": {
164
+ "type": "integer"
165
+ },
166
+ "problems": {
167
+ "type": "array",
168
+ "items": {
169
+ "type": "string"
170
+ }
171
+ },
172
+ "cases": {
173
+ "type": "array",
174
+ "items": {
175
+ "type": "object",
176
+ "required": ["id", "unit", "status", "findings", "doubted", "cost_usd", "error"],
177
+ "properties": {
178
+ "id": {
179
+ "type": "string"
180
+ },
181
+ "unit": {
182
+ "type": "string"
183
+ },
184
+ "status": {
185
+ "type": "string"
186
+ },
187
+ "findings": {
188
+ "type": "integer"
189
+ },
190
+ "doubted": {
191
+ "type": "integer"
192
+ },
193
+ "cost_usd": {
194
+ "type": ["number", "null"]
195
+ },
196
+ "error": {
197
+ "type": ["string", "null"]
198
+ },
199
+ "lens": {
200
+ "type": "string"
201
+ },
202
+ "tier": {
203
+ "type": ["string", "null"]
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ },
210
+ "runStarted": {
211
+ "type": "object",
212
+ "required": ["id", "mode", "sha", "cases", "cap_usd"],
213
+ "properties": {
214
+ "id": { "type": "string" },
215
+ "mode": { "type": "string" },
216
+ "sha": { "type": "string" },
217
+ "cases": { "type": "integer" },
218
+ "cap_usd": { "type": "number" }
219
+ }
220
+ },
221
+ "seen": {
222
+ "type": "object",
223
+ "required": ["run", "sha"],
224
+ "properties": {
225
+ "run": {
226
+ "type": "string"
227
+ },
228
+ "sha": {
229
+ "type": "string"
230
+ }
231
+ }
232
+ },
233
+ "finding": {
234
+ "type": "object",
235
+ "required": [
236
+ "fingerprint",
237
+ "file",
238
+ "range",
239
+ "lens",
240
+ "lenses",
241
+ "unit",
242
+ "kind",
243
+ "severity",
244
+ "validity",
245
+ "state",
246
+ "claim",
247
+ "doubted",
248
+ "doubt",
249
+ "looks_like_dismissed",
250
+ "dismissal_reason",
251
+ "ticket",
252
+ "first_seen",
253
+ "last_seen"
254
+ ],
255
+ "properties": {
256
+ "fingerprint": {
257
+ "type": "string"
258
+ },
259
+ "file": {
260
+ "type": "string"
261
+ },
262
+ "range": {
263
+ "type": "object",
264
+ "required": ["start", "end"],
265
+ "properties": {
266
+ "start": {
267
+ "type": "integer"
268
+ },
269
+ "end": {
270
+ "type": "integer"
271
+ }
272
+ }
273
+ },
274
+ "lens": {
275
+ "type": "string"
276
+ },
277
+ "lenses": {
278
+ "type": "array",
279
+ "items": {
280
+ "type": "string"
281
+ }
282
+ },
283
+ "unit": {
284
+ "type": "string"
285
+ },
286
+ "kind": {
287
+ "type": "string"
288
+ },
289
+ "severity": {
290
+ "type": "string"
291
+ },
292
+ "validity": {
293
+ "type": "string"
294
+ },
295
+ "state": {
296
+ "type": "string"
297
+ },
298
+ "claim": {
299
+ "type": "string"
300
+ },
301
+ "doubted": {
302
+ "type": "boolean"
303
+ },
304
+ "doubt": {
305
+ "type": ["object", "null"],
306
+ "properties": {
307
+ "word": {
308
+ "type": "string"
309
+ },
310
+ "reason": {
311
+ "type": "string"
312
+ },
313
+ "class": {
314
+ "type": ["string", "null"]
315
+ }
316
+ }
317
+ },
318
+ "looks_like_dismissed": {
319
+ "type": ["object", "null"],
320
+ "properties": {
321
+ "fingerprint": {
322
+ "type": "string"
323
+ },
324
+ "reason": {
325
+ "type": "string"
326
+ }
327
+ }
328
+ },
329
+ "dismissal_reason": {
330
+ "type": ["string", "null"]
331
+ },
332
+ "ticket": {
333
+ "type": ["string", "null"]
334
+ },
335
+ "first_seen": {
336
+ "$ref": "#/$defs/seen"
337
+ },
338
+ "last_seen": {
339
+ "$ref": "#/$defs/seen"
340
+ }
341
+ }
342
+ },
343
+ "preview": {
344
+ "type": "object",
345
+ "required": [
346
+ "key",
347
+ "mode",
348
+ "sha",
349
+ "cases",
350
+ "files",
351
+ "lines",
352
+ "estimate_usd",
353
+ "cap_usd",
354
+ "depth",
355
+ "blockers"
356
+ ],
357
+ "properties": {
358
+ "key": {
359
+ "type": "string",
360
+ "description": "Quote it with start --key to confirm exactly this scan."
361
+ },
362
+ "mode": {
363
+ "type": "string"
364
+ },
365
+ "sha": {
366
+ "type": "string"
367
+ },
368
+ "cases": {
369
+ "type": "array",
370
+ "items": {
371
+ "type": "object",
372
+ "required": ["id", "files", "lines", "estimate_usd"],
373
+ "properties": {
374
+ "id": {
375
+ "type": "string"
376
+ },
377
+ "files": {
378
+ "type": "integer"
379
+ },
380
+ "lines": {
381
+ "type": "integer"
382
+ },
383
+ "estimate_usd": {
384
+ "type": ["number", "null"]
385
+ }
386
+ }
387
+ }
388
+ },
389
+ "files": {
390
+ "type": "integer",
391
+ "minimum": 0
392
+ },
393
+ "lines": {
394
+ "type": "integer",
395
+ "minimum": 0
396
+ },
397
+ "estimate_usd": {
398
+ "type": ["number", "null"]
399
+ },
400
+ "cap_usd": {
401
+ "type": ["number", "null"]
402
+ },
403
+ "depth": {
404
+ "type": "string"
405
+ },
406
+ "blockers": {
407
+ "type": "array",
408
+ "items": {
409
+ "type": "string"
410
+ }
411
+ },
412
+ "settings": {
413
+ "type": "object"
414
+ },
415
+ "delta": {
416
+ "type": ["object", "null"]
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "version.v1.json",
4
+ "title": "qcr version --json, version 1",
5
+ "description": "What a plugin checks before it talks to this install: the image's version, the schema versions of the review and scan payloads, and the pi pin.",
6
+ "type": "object",
7
+ "required": ["schema_version", "image", "schemas", "pi"],
8
+ "properties": {
9
+ "schema_version": {
10
+ "const": 1,
11
+ "description": "This schema's version."
12
+ },
13
+ "image": {
14
+ "type": "object",
15
+ "required": ["version", "build_sha"],
16
+ "properties": {
17
+ "version": {
18
+ "type": "string",
19
+ "description": "package.json's version."
20
+ },
21
+ "build_sha": {
22
+ "type": ["string", "null"],
23
+ "description": "The stamp baked into a rebuilt image; null on a bare checkout."
24
+ }
25
+ }
26
+ },
27
+ "schemas": {
28
+ "type": "object",
29
+ "required": ["review", "scan"],
30
+ "properties": {
31
+ "review": {
32
+ "type": "integer",
33
+ "minimum": 1,
34
+ "description": "schema_version of review-result payloads."
35
+ },
36
+ "scan": {
37
+ "type": "integer",
38
+ "minimum": 1,
39
+ "description": "schema_version of scan-result payloads."
40
+ }
41
+ }
42
+ },
43
+ "pi": {
44
+ "type": ["object", "null"],
45
+ "required": ["package", "version"],
46
+ "properties": {
47
+ "package": {
48
+ "type": "string"
49
+ },
50
+ "version": {
51
+ "type": "string"
52
+ }
53
+ },
54
+ "description": "The pinned pi; null when no pin is found."
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "_comment": "AGENTS.md invariant 3: these files are SEEDED and canonical - byte-identical to the in-repo canonical copies under seeds/ (which carry the seeding lineage). Never edit them; per-pass model overrides go through the repo profile's [lenses.<pass>] effort / min_tier. Regenerate this manifest ONLY alongside a ratified reseed that refreshes seeds/ in the same commit.",
3
+ "source": "seeds/ (in-repo canonical copies; lineage: the seeding)",
4
+ "algorithm": "sha256",
5
+ "files": {
6
+ "agents/pass-baseline.md": "192ceadfed2096ce5f003b862c9942d7382110586d46adb04909784e180b7376",
7
+ "agents/pass-contracts.md": "f1cc07a83d5e694469c6a118ddaa3597e69fa783fc146073d200562f8bfe70a9",
8
+ "agents/pass-data-safety.md": "a6975823ca134fc7563fe0d68bade4da9d235bcaefa2ddd4168e87f43957e59e",
9
+ "agents/pass-delivery.md": "7ed59d92860a7e8d502a144b3e2784905695ff98675325ab540c7761029bab9c",
10
+ "agents/pass-prod-risk.md": "268daaa232d4a52fad1256c0a4407c6c19da39fd4e8797c603b24daed5033d9d",
11
+ "agents/pass-security.md": "b37dfb0f72297f868be4e741687241592a47ef8c197641df797810414ba6458b",
12
+ "agents/pass-statelessness.md": "089aca3cb3c818da6f3231eb3938d1ec7315b5a5158fa2ce6843b527b5e87451",
13
+ "agents/pass-ui.md": "7fe99149cc1f174f3b035911f86d93dad96ba493401495443a205e889a09eea6",
14
+ "agents/pass-validate.md": "cf28b7b2dd26b63265a4330c538ce3993dd03bda778810c2c199937195e4bb67",
15
+ "prompts/conversation-system.md": "28ee082e24caaf58c611b210663a81557199471724ba1a8ec0458480b91abfa1",
16
+ "prompts/eod-sweep.md": "9df21d94327f2f4475e95cd4337174d81efbe5dd8f5d6589d3c7788ff1d375f1",
17
+ "prompts/pass-common.md": "02e8a25d958f92745513474519b571e03205ddb1a50493146483447108689450"
18
+ }
19
+ }
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: pass-baseline
3
+ description: Always-on review pass — claimed invariants, correctness, tests, conventions, sibling PRs.
4
+ tools: read, bash, grep, glob
5
+ ---
6
+
7
+ {{include:prompts/pass-common.md}}
8
+
9
+ # Lens: baseline (every PR)
10
+
11
+ **Claimed invariant — review the claim, not just the diff.** The PR's
12
+ title/body claim defines the review scope. If it claims a property
13
+ ("retry-safe", "no message is dropped", "silences X", "fixes Y"), verify the
14
+ property holds across the *whole mechanism*, not just the changed lines:
15
+ enumerate the cases the claim covers and check each against the code. Two hard
16
+ rules: (a) **"pre-existing" is not a valid demotion** for a failure inside the
17
+ claimed failure class — a known drop path in a "nothing is dropped" PR is
18
+ in-scope by definition and is P1; (b) verify **efficacy**, not just safety —
19
+ confirm the mechanism can actually produce the claimed effect (trace the
20
+ arithmetic, the log levels, the control flow to the promised outcome). For
21
+ heuristic/fallback fixes, ask the root-cause question: *what upstream bug
22
+ creates this state, and where is it fixed?* — P3 question if the PR only
23
+ papers over it.
24
+
25
+ **Correctness** — Does the code do what it claims? Trace the logic. Edge cases
26
+ (empty/null/missing keys, concurrency)? Asynchronous code correct (no missing
27
+ awaits, no blocking calls on async paths)? Database access free of N+1
28
+ queries (a query per row where one query or a join would do)? When the diff
29
+ assembles text from fragments (LLM prompts, templates, user-facing messages),
30
+ **assemble a sample of the final string by reading** (join the literals
31
+ and format calls by hand) and inspect the seams —
32
+ whitespace, newlines, separators. No literal placeholder token may be
33
+ reachable in an outbound message without a guaranteed fallback (remember a
34
+ truthiness check is false on an empty string).
35
+
36
+ **Tests** — New features must have tests, in the shape the repo's existing
37
+ tests already use. Missing tests for a real feature is **P1**. Verify the
38
+ headline regression test actually **exercises the guarded branch**, by
39
+ reading: what value does the assertion compare, and is that value still
40
+ produced when the bug is present? (A helper that returns the key itself for a
41
+ missing translation makes `contains(key)` hold for any broken key.) Say which
42
+ value and why in `evidence`; whether the suite passes comes from CI. If the PR
43
+ edits a prompt, fallback template, or other string that a test pins verbatim
44
+ (an expected-value constant, a golden file, a snapshot), the pinned copy must
45
+ be updated in the same PR.
46
+
47
+ **Conventions** (from the repo's own agent-directive files — AGENTS.md,
48
+ CLAUDE.md and kin — and its contributing guide) — flag violations as **nit**
49
+ unless they cause a bug. Judge against the conventions the repo writes down,
50
+ never against another codebase's habits.
51
+
52
+ **Sibling / template PRs** — If the PR is part of a series ("Phase 2/3",
53
+ "Follow-up to …", or the same template applied to a different integration),
54
+ read the sibling PR's diff and compare. Any divergence in the security or
55
+ correctness contract is suspicious: either the sibling has a bug this PR fixes
56
+ (call it out so the sibling gets patched too), or this PR is regressing a
57
+ check the sibling intentionally got right.
58
+
59
+ **Re-review duty** — when the task string lists prior findings to verify,
60
+ check each **mechanically at the current head** first and report its true
61
+ state (`fixed@sha` with evidence, or still-open) before hunting new findings.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: pass-contracts
3
+ description: External-contracts review pass — provider payloads verified field-by-field, acceptance semantics, caveat owners.
4
+ tools: read, bash, grep, glob
5
+ ---
6
+
7
+ {{include:prompts/pass-common.md}}
8
+
9
+ # Lens: external contracts
10
+
11
+ Apply to: new/changed payloads to external providers (third-party APIs,
12
+ payment, messaging, analytics and model services).
13
+
14
+ For any new or changed payload to an external provider: (a) verify the
15
+ contract **field by field against the provider's docs** — endpoint, id
16
+ formats, timestamp format, required fields including consent/privacy fields;
17
+ (b) any "unverified / provisional / TODO-confirm before go-live" marker
18
+ shipping into a live credentialed path is P1 — require a live probe or hard
19
+ dormancy with a tracked activation step; (c) any **intra-PR contradiction**
20
+ about the contract (code vs docs vs tests vs PR body disagreeing on an id
21
+ format or field meaning) is P1 on its own; (d) **HTTP 2xx is transport, not
22
+ acceptance** — fire-and-forget sends must parse the response body's acceptance
23
+ semantics (`accepted_events`, `errors[]`) and log/alert on shortfall; (e) a
24
+ new ad/analytics sink is not "verified" until the *platform side* shows a
25
+ credited event — require that evidence or an explicit post-deploy verification
26
+ step with an owner. **Caveats need owners**: every acknowledged
27
+ gap/limitation/follow-up in the PR body must map to a tracked artifact
28
+ (ticket, monitor, TODO with an owner) — raise a P2 question listing any that
29
+ don't; a risk that lives only in merged-PR prose is a production defect on a
30
+ timer.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: pass-data-safety
3
+ description: Data-safety review pass — migrations DDL, blast radius, backfills; carries the migration gate.
4
+ tools: read, bash, grep, glob
5
+ ---
6
+
7
+ {{include:prompts/pass-common.md}}
8
+
9
+ # Lens: data safety (assume the repo's hot tables hold millions of rows)
10
+
11
+ Apply to: migrations, backfills, bulk writes, scheduled jobs that fan out per
12
+ row.
13
+
14
+ - **Migrations** — judge from the migration file and the model diff: the
15
+ operation types, `NOT NULL` adds, `DROP COLUMN`, added defaults, data-step
16
+ and raw-SQL bodies, index adds on large tables. Does the operation change
17
+ metadata only, scan the table, or rebuild it while holding a write lock? A
18
+ metadata-only change is deploy-safe; a scan still costs; a rebuild
19
+ write-locks for its whole run. Where the real DDL decides it and cannot be
20
+ read off the operation, ask the author for the rendered DDL in a
21
+ `[question]` — never a blocker asserting a hazard nobody rendered. Check
22
+ rolling-deploy ordering for DROP COLUMN / NOT NULL adds (old pods still run
23
+ the old schema mid-rollout).
24
+ **Migration naming/order — P1 ONLY when out of order with the base
25
+ branch**: if the PR adds a migration that the repo's migration tool orders
26
+ (by a sequence number, a timestamp, or a declared parent), verify it against
27
+ the **base branch**: its number must not already exist there, and its
28
+ declared parent must be the base branch's current head for that migration
29
+ set — out of sequence with the base branch (the migration tool would break
30
+ on merge) is P1. Number overlaps with other still-open PRs are **NOT
31
+ findings** — at most one `nit` note listing the PR numbers (whoever merges
32
+ second renumbers; that is routine).
33
+ - **Blast radius sizing** — judge fan-out against **production row counts, not
34
+ the diff**. Any new/changed scheduled job, recovery cron, backfill, or
35
+ redispatch that does work per matching row needs a per-run cap with
36
+ deterministic ordering and a kill switch, and a predicate that is bounded;
37
+ missing any of these is P1. The current production count of rows matching
38
+ the trigger predicate is the author's to state: when the PR body does not,
39
+ ask for it in a `[question]` (an accumulated backlog is the payload of the
40
+ first tick). Review the **first tick over the accumulated backlog**, not the
41
+ steady state.
42
+ - **Backfill-vs-validator proof** — any migration/backfill copying legacy data
43
+ into a newly validated field needs the count of nonconforming source rows;
44
+ "the data will fit the new pattern" is a claim. When the PR does not state
45
+ the count, ask the author for it in a `[question]`.
46
+
47
+ ## MIGRATION GATE (when the task string flags it)
48
+
49
+ Judge on the same readable evidence. The ONLY ordering blocker is being out of
50
+ order with the **base branch**. Report `gate: unproven` in your findings block,
51
+ with the `[question]` that would settle it, unless the migration is readably
52
+ metadata-only on a small table, in sequence with the base branch,
53
+ backfill-free, and rolling-deploy ordering-safe — only in that narrow case
54
+ report `gate: self-verdict-ok`.
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: pass-delivery
3
+ description: Delivery-semantics review pass — at-least-once handlers, redelivery, drop paths, fetch windows.
4
+ tools: read, bash, grep, glob
5
+ ---
6
+
7
+ {{include:prompts/pass-common.md}}
8
+
9
+ # Lens: delivery semantics (at-least-once)
10
+
11
+ Apply to: webhook handlers, background tasks, message-queue and task-queue
12
+ consumers, crons, retries.
13
+
14
+ Queues, task services, webhooks, and crons deliver at least once; review
15
+ handlers **resume-point-by-resume-point, not statement-by-statement**.
16
+
17
+ - **Redelivery sweep**: enumerate every database, index or external write reachable
18
+ from the task entrypoint and ask for each: *process killed immediately after
19
+ this statement, task redelivered from the top — does it raise, duplicate, or
20
+ converge?* Every insert into a unique/OneToOne-constrained table must be
21
+ conflict-safe (`ignore_conflicts`, upsert, `get_or_create`) or
22
+ transactionally grouped. If the PR claims "retry-safe", the sweep covers the
23
+ **whole task**, not only the statement that last crashed.
24
+ - **Drop-path enumeration**: wherever a handler consumes its only delivery (a
25
+ `cache.add` dedup key, an ACK, a cursor advance), list every exit path
26
+ (`return`, `raise`, early guard) between that consumption and durable
27
+ completion of the work — each one is a permanent message-loss path requiring
28
+ individual justification, or the consumption must move after completion.
29
+ Converting an error exit into a silent success (`raise` → `return`, NACK →
30
+ ACK) demands a line-level trace of what durable state was already consumed
31
+ at that point; verify any claimed compensating read by its **position in the
32
+ control flow**, not by plausibility.
33
+ - **Fetch-window completeness**: when post-race correctness relies on a later
34
+ read "covering" earlier events, check the read's window semantics under
35
+ every ordering of {event arrival, boundary-advancing write, read} — a window
36
+ keyed to a moving boundary structurally cannot return events that land
37
+ behind it.