@quickchatai/pi-quickreview 0.0.0-stage → 1.2.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 (697) 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 +1099 -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 +113 -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 +377 -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 +235 -0
  282. package/dist/src/engine/pisdk.d.ts.map +1 -0
  283. package/dist/src/engine/pisdk.js +577 -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 +70 -0
  382. package/dist/src/githubAuth.d.ts.map +1 -0
  383. package/dist/src/githubAuth.js +183 -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 +106 -0
  394. package/dist/src/guards.d.ts.map +1 -0
  395. package/dist/src/guards.js +365 -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/identity.d.ts +34 -0
  414. package/dist/src/identity.d.ts.map +1 -0
  415. package/dist/src/identity.js +67 -0
  416. package/dist/src/identity.js.map +1 -0
  417. package/dist/src/include.d.ts +435 -0
  418. package/dist/src/include.d.ts.map +1 -0
  419. package/dist/src/include.js +1692 -0
  420. package/dist/src/include.js.map +1 -0
  421. package/dist/src/launchvocab.d.ts +36 -0
  422. package/dist/src/launchvocab.d.ts.map +1 -0
  423. package/dist/src/launchvocab.js +59 -0
  424. package/dist/src/launchvocab.js.map +1 -0
  425. package/dist/src/ledgercarry.d.ts +24 -0
  426. package/dist/src/ledgercarry.d.ts.map +1 -0
  427. package/dist/src/ledgercarry.js +109 -0
  428. package/dist/src/ledgercarry.js.map +1 -0
  429. package/dist/src/lensids.d.ts +7 -0
  430. package/dist/src/lensids.d.ts.map +1 -0
  431. package/dist/src/lensids.js +53 -0
  432. package/dist/src/lensids.js.map +1 -0
  433. package/dist/src/lensplanning.d.ts +8 -0
  434. package/dist/src/lensplanning.d.ts.map +1 -0
  435. package/dist/src/lensplanning.js +126 -0
  436. package/dist/src/lensplanning.js.map +1 -0
  437. package/dist/src/lensresult.d.ts +94 -0
  438. package/dist/src/lensresult.d.ts.map +1 -0
  439. package/dist/src/lensresult.js +162 -0
  440. package/dist/src/lensresult.js.map +1 -0
  441. package/dist/src/lenstuning.d.ts +97 -0
  442. package/dist/src/lenstuning.d.ts.map +1 -0
  443. package/dist/src/lenstuning.js +326 -0
  444. package/dist/src/lenstuning.js.map +1 -0
  445. package/dist/src/lintconfig.d.ts +31 -0
  446. package/dist/src/lintconfig.d.ts.map +1 -0
  447. package/dist/src/lintconfig.js +543 -0
  448. package/dist/src/lintconfig.js.map +1 -0
  449. package/dist/src/live/events.d.ts +188 -0
  450. package/dist/src/live/events.d.ts.map +1 -0
  451. package/dist/src/live/events.js +136 -0
  452. package/dist/src/live/events.js.map +1 -0
  453. package/dist/src/live/writer.d.ts +54 -0
  454. package/dist/src/live/writer.d.ts.map +1 -0
  455. package/dist/src/live/writer.js +516 -0
  456. package/dist/src/live/writer.js.map +1 -0
  457. package/dist/src/localreview.d.ts +128 -0
  458. package/dist/src/localreview.d.ts.map +1 -0
  459. package/dist/src/localreview.js +426 -0
  460. package/dist/src/localreview.js.map +1 -0
  461. package/dist/src/loosenedtests.d.ts +13 -0
  462. package/dist/src/loosenedtests.d.ts.map +1 -0
  463. package/dist/src/loosenedtests.js +188 -0
  464. package/dist/src/loosenedtests.js.map +1 -0
  465. package/dist/src/memoryport.d.ts +264 -0
  466. package/dist/src/memoryport.d.ts.map +1 -0
  467. package/dist/src/memoryport.js +445 -0
  468. package/dist/src/memoryport.js.map +1 -0
  469. package/dist/src/migrations.d.ts +106 -0
  470. package/dist/src/migrations.d.ts.map +1 -0
  471. package/dist/src/migrations.js +373 -0
  472. package/dist/src/migrations.js.map +1 -0
  473. package/dist/src/modelroute.d.ts +38 -0
  474. package/dist/src/modelroute.d.ts.map +1 -0
  475. package/dist/src/modelroute.js +105 -0
  476. package/dist/src/modelroute.js.map +1 -0
  477. package/dist/src/oneshot.d.ts +12 -0
  478. package/dist/src/oneshot.d.ts.map +1 -0
  479. package/dist/src/oneshot.js +8 -0
  480. package/dist/src/oneshot.js.map +1 -0
  481. package/dist/src/packing.d.ts +11 -0
  482. package/dist/src/packing.d.ts.map +1 -0
  483. package/dist/src/packing.js +31 -0
  484. package/dist/src/packing.js.map +1 -0
  485. package/dist/src/passes.d.ts +16 -0
  486. package/dist/src/passes.d.ts.map +1 -0
  487. package/dist/src/passes.js +104 -0
  488. package/dist/src/passes.js.map +1 -0
  489. package/dist/src/passtasks.d.ts +68 -0
  490. package/dist/src/passtasks.d.ts.map +1 -0
  491. package/dist/src/passtasks.js +360 -0
  492. package/dist/src/passtasks.js.map +1 -0
  493. package/dist/src/pathinside.d.ts +5 -0
  494. package/dist/src/pathinside.d.ts.map +1 -0
  495. package/dist/src/pathinside.js +9 -0
  496. package/dist/src/pathinside.js.map +1 -0
  497. package/dist/src/pibuiltins.d.ts +36 -0
  498. package/dist/src/pibuiltins.d.ts.map +1 -0
  499. package/dist/src/pibuiltins.js +83 -0
  500. package/dist/src/pibuiltins.js.map +1 -0
  501. package/dist/src/plankey.d.ts +4 -0
  502. package/dist/src/plankey.d.ts.map +1 -0
  503. package/dist/src/plankey.js +10 -0
  504. package/dist/src/plankey.js.map +1 -0
  505. package/dist/src/planner.d.ts +375 -0
  506. package/dist/src/planner.d.ts.map +1 -0
  507. package/dist/src/planner.js +722 -0
  508. package/dist/src/planner.js.map +1 -0
  509. package/dist/src/plugin/args.d.ts +19 -0
  510. package/dist/src/plugin/args.d.ts.map +1 -0
  511. package/dist/src/plugin/args.js +107 -0
  512. package/dist/src/plugin/args.js.map +1 -0
  513. package/dist/src/plugin/index.d.ts +3 -0
  514. package/dist/src/plugin/index.d.ts.map +1 -0
  515. package/dist/src/plugin/index.js +14 -0
  516. package/dist/src/plugin/index.js.map +1 -0
  517. package/dist/src/plugin/login.d.ts +42 -0
  518. package/dist/src/plugin/login.d.ts.map +1 -0
  519. package/dist/src/plugin/login.js +82 -0
  520. package/dist/src/plugin/login.js.map +1 -0
  521. package/dist/src/plugin/review.d.ts +27 -0
  522. package/dist/src/plugin/review.d.ts.map +1 -0
  523. package/dist/src/plugin/review.js +302 -0
  524. package/dist/src/plugin/review.js.map +1 -0
  525. package/dist/src/plugin/runner.d.ts +6 -0
  526. package/dist/src/plugin/runner.d.ts.map +1 -0
  527. package/dist/src/plugin/runner.js +65 -0
  528. package/dist/src/plugin/runner.js.map +1 -0
  529. package/dist/src/plugin/scan.d.ts +79 -0
  530. package/dist/src/plugin/scan.d.ts.map +1 -0
  531. package/dist/src/plugin/scan.js +348 -0
  532. package/dist/src/plugin/scan.js.map +1 -0
  533. package/dist/src/plugin/session.d.ts +56 -0
  534. package/dist/src/plugin/session.d.ts.map +1 -0
  535. package/dist/src/plugin/session.js +2 -0
  536. package/dist/src/plugin/session.js.map +1 -0
  537. package/dist/src/plugin/setup.d.ts +19 -0
  538. package/dist/src/plugin/setup.d.ts.map +1 -0
  539. package/dist/src/plugin/setup.js +142 -0
  540. package/dist/src/plugin/setup.js.map +1 -0
  541. package/dist/src/plugin/versiongate.d.ts +26 -0
  542. package/dist/src/plugin/versiongate.d.ts.map +1 -0
  543. package/dist/src/plugin/versiongate.js +83 -0
  544. package/dist/src/plugin/versiongate.js.map +1 -0
  545. package/dist/src/postingkey.d.ts +8 -0
  546. package/dist/src/postingkey.d.ts.map +1 -0
  547. package/dist/src/postingkey.js +25 -0
  548. package/dist/src/postingkey.js.map +1 -0
  549. package/dist/src/postingpolicy.d.ts +108 -0
  550. package/dist/src/postingpolicy.d.ts.map +1 -0
  551. package/dist/src/postingpolicy.js +341 -0
  552. package/dist/src/postingpolicy.js.map +1 -0
  553. package/dist/src/pr-identity.d.ts +3 -0
  554. package/dist/src/pr-identity.d.ts.map +1 -0
  555. package/dist/src/pr-identity.js +9 -0
  556. package/dist/src/pr-identity.js.map +1 -0
  557. package/dist/src/prdelta.d.ts +181 -0
  558. package/dist/src/prdelta.d.ts.map +1 -0
  559. package/dist/src/prdelta.js +501 -0
  560. package/dist/src/prdelta.js.map +1 -0
  561. package/dist/src/pricing.d.ts +94 -0
  562. package/dist/src/pricing.d.ts.map +1 -0
  563. package/dist/src/pricing.js +209 -0
  564. package/dist/src/pricing.js.map +1 -0
  565. package/dist/src/priorfindings.d.ts +167 -0
  566. package/dist/src/priorfindings.d.ts.map +1 -0
  567. package/dist/src/priorfindings.js +445 -0
  568. package/dist/src/priorfindings.js.map +1 -0
  569. package/dist/src/priortasks.d.ts +31 -0
  570. package/dist/src/priortasks.d.ts.map +1 -0
  571. package/dist/src/priortasks.js +119 -0
  572. package/dist/src/priortasks.js.map +1 -0
  573. package/dist/src/profilelookup.d.ts +59 -0
  574. package/dist/src/profilelookup.d.ts.map +1 -0
  575. package/dist/src/profilelookup.js +98 -0
  576. package/dist/src/profilelookup.js.map +1 -0
  577. package/dist/src/profileoverrides.d.ts +91 -0
  578. package/dist/src/profileoverrides.d.ts.map +1 -0
  579. package/dist/src/profileoverrides.js +313 -0
  580. package/dist/src/profileoverrides.js.map +1 -0
  581. package/dist/src/profiles.d.ts +144 -0
  582. package/dist/src/profiles.d.ts.map +1 -0
  583. package/dist/src/profiles.js +604 -0
  584. package/dist/src/profiles.js.map +1 -0
  585. package/dist/src/promptdoc.d.ts +3 -0
  586. package/dist/src/promptdoc.d.ts.map +1 -0
  587. package/dist/src/promptdoc.js +18 -0
  588. package/dist/src/promptdoc.js.map +1 -0
  589. package/dist/src/prtarget.d.ts +70 -0
  590. package/dist/src/prtarget.d.ts.map +1 -0
  591. package/dist/src/prtarget.js +181 -0
  592. package/dist/src/prtarget.js.map +1 -0
  593. package/dist/src/recheckorder.d.ts +32 -0
  594. package/dist/src/recheckorder.d.ts.map +1 -0
  595. package/dist/src/recheckorder.js +5 -0
  596. package/dist/src/recheckorder.js.map +1 -0
  597. package/dist/src/reviewapi.d.ts +207 -0
  598. package/dist/src/reviewapi.d.ts.map +1 -0
  599. package/dist/src/reviewapi.js +939 -0
  600. package/dist/src/reviewapi.js.map +1 -0
  601. package/dist/src/reviewbotfindings.d.ts +33 -0
  602. package/dist/src/reviewbotfindings.d.ts.map +1 -0
  603. package/dist/src/reviewbotfindings.js +80 -0
  604. package/dist/src/reviewbotfindings.js.map +1 -0
  605. package/dist/src/reviewconfig.d.ts +753 -0
  606. package/dist/src/reviewconfig.d.ts.map +1 -0
  607. package/dist/src/reviewconfig.js +805 -0
  608. package/dist/src/reviewconfig.js.map +1 -0
  609. package/dist/src/reviewdelta.d.ts +51 -0
  610. package/dist/src/reviewdelta.d.ts.map +1 -0
  611. package/dist/src/reviewdelta.js +119 -0
  612. package/dist/src/reviewdelta.js.map +1 -0
  613. package/dist/src/reviewdest.d.ts +86 -0
  614. package/dist/src/reviewdest.d.ts.map +1 -0
  615. package/dist/src/reviewdest.js +142 -0
  616. package/dist/src/reviewdest.js.map +1 -0
  617. package/dist/src/reviewerstub.d.ts +12 -0
  618. package/dist/src/reviewerstub.d.ts.map +1 -0
  619. package/dist/src/reviewerstub.js +28 -0
  620. package/dist/src/reviewerstub.js.map +1 -0
  621. package/dist/src/reviewhost.d.ts +58 -0
  622. package/dist/src/reviewhost.d.ts.map +1 -0
  623. package/dist/src/reviewhost.js +135 -0
  624. package/dist/src/reviewhost.js.map +1 -0
  625. package/dist/src/reviewpost.d.ts +79 -0
  626. package/dist/src/reviewpost.d.ts.map +1 -0
  627. package/dist/src/reviewpost.js +233 -0
  628. package/dist/src/reviewpost.js.map +1 -0
  629. package/dist/src/reviewrender.d.ts +154 -0
  630. package/dist/src/reviewrender.d.ts.map +1 -0
  631. package/dist/src/reviewrender.js +480 -0
  632. package/dist/src/reviewrender.js.map +1 -0
  633. package/dist/src/reviewstate.d.ts +62 -0
  634. package/dist/src/reviewstate.d.ts.map +1 -0
  635. package/dist/src/reviewstate.js +167 -0
  636. package/dist/src/reviewstate.js.map +1 -0
  637. package/dist/src/reviewstore.d.ts +17 -0
  638. package/dist/src/reviewstore.d.ts.map +1 -0
  639. package/dist/src/reviewstore.js +105 -0
  640. package/dist/src/reviewstore.js.map +1 -0
  641. package/dist/src/round-progress.d.ts +120 -0
  642. package/dist/src/round-progress.d.ts.map +1 -0
  643. package/dist/src/round-progress.js +172 -0
  644. package/dist/src/round-progress.js.map +1 -0
  645. package/dist/src/round-stage-deadlines.d.ts +12 -0
  646. package/dist/src/round-stage-deadlines.d.ts.map +1 -0
  647. package/dist/src/round-stage-deadlines.js +10 -0
  648. package/dist/src/round-stage-deadlines.js.map +1 -0
  649. package/dist/src/session-command.d.ts +19 -0
  650. package/dist/src/session-command.d.ts.map +1 -0
  651. package/dist/src/session-command.js +20 -0
  652. package/dist/src/session-command.js.map +1 -0
  653. package/dist/src/settledread.d.ts +61 -0
  654. package/dist/src/settledread.d.ts.map +1 -0
  655. package/dist/src/settledread.js +135 -0
  656. package/dist/src/settledread.js.map +1 -0
  657. package/dist/src/severity.d.ts +167 -0
  658. package/dist/src/severity.d.ts.map +1 -0
  659. package/dist/src/severity.js +364 -0
  660. package/dist/src/severity.js.map +1 -0
  661. package/dist/src/severityrank.d.ts +8 -0
  662. package/dist/src/severityrank.d.ts.map +1 -0
  663. package/dist/src/severityrank.js +16 -0
  664. package/dist/src/severityrank.js.map +1 -0
  665. package/dist/src/standing-review.d.ts +45 -0
  666. package/dist/src/standing-review.d.ts.map +1 -0
  667. package/dist/src/standing-review.js +43 -0
  668. package/dist/src/standing-review.js.map +1 -0
  669. package/dist/src/storerows.d.ts +225 -0
  670. package/dist/src/storerows.d.ts.map +1 -0
  671. package/dist/src/storerows.js +7 -0
  672. package/dist/src/storerows.js.map +1 -0
  673. package/dist/src/styleguide.d.ts +25 -0
  674. package/dist/src/styleguide.d.ts.map +1 -0
  675. package/dist/src/styleguide.js +272 -0
  676. package/dist/src/styleguide.js.map +1 -0
  677. package/dist/src/sweepstatus.d.ts +42 -0
  678. package/dist/src/sweepstatus.d.ts.map +1 -0
  679. package/dist/src/sweepstatus.js +97 -0
  680. package/dist/src/sweepstatus.js.map +1 -0
  681. package/dist/src/templates.d.ts +243 -0
  682. package/dist/src/templates.d.ts.map +1 -0
  683. package/dist/src/templates.js +847 -0
  684. package/dist/src/templates.js.map +1 -0
  685. package/dist/src/types.d.ts +639 -0
  686. package/dist/src/types.d.ts.map +1 -0
  687. package/dist/src/types.js +90 -0
  688. package/dist/src/types.js.map +1 -0
  689. package/dist/src/unifieddiff.d.ts +22 -0
  690. package/dist/src/unifieddiff.d.ts.map +1 -0
  691. package/dist/src/unifieddiff.js +176 -0
  692. package/dist/src/unifieddiff.js.map +1 -0
  693. package/dist/src/yieldloop.d.ts +2 -0
  694. package/dist/src/yieldloop.d.ts.map +1 -0
  695. package/dist/src/yieldloop.js +14 -0
  696. package/dist/src/yieldloop.js.map +1 -0
  697. package/package.json +60 -4
@@ -0,0 +1,36 @@
1
+ export declare const PI_DISABLED_BUILTINS: readonly ["-builtin:mcp", "-builtin:codemode", "-builtin:tool-search", "-builtin:llama.cpp"];
2
+ /**
3
+ * pi 1.0.0 made the interactive TUI fullscreen by default (CHANGELOG 1.0.0,
4
+ * "Changed the default TUI mode to fullscreen"). Every interactive pi we run
5
+ * sits in tmux — the VM's PR sessions and overseer, the companion — and the
6
+ * operator TUI mirrors those panes and scrolls them (PgUp), which needs the
7
+ * terminal's normal scrollback: pi 0.99's default. The three entrypoint merges
8
+ * set it; tests/pibuiltins.test.ts pins each one to this value.
9
+ */
10
+ export declare const PI_TUI_MODE = "regular";
11
+ /** pi's agent-level retry for a benchmark sandbox — every session and every
12
+ * lens child reads it (one agent dir). pi's own default (3 attempts, ≤ 60 s
13
+ * apart) gives up inside two minutes, and a provider's overload window
14
+ * (DigitalOcean "529 Platform overloaded", or a request timeout) is longer than
15
+ * that: the lens is lost and the review posts without it. This backs off from
16
+ * 5 s doubling to a 2-minute cap over 10 attempts — about 13 minutes of
17
+ * patience per request — so a PR is processed fully and fails only when the
18
+ * provider is really unavailable. Provider-level retries stay off (pi's advice:
19
+ * they would hide quota and usage-limit errors from pi). */
20
+ export declare const BENCH_RETRY: {
21
+ readonly enabled: true;
22
+ readonly maxRetries: 10;
23
+ readonly baseDelayMs: 5000;
24
+ readonly maxAgentDelayMs: 120000;
25
+ };
26
+ /** pi's global settings for the sandbox: pi's built-in extensions switched off
27
+ * (packages/pi-plugin/src/pibuiltins.ts — the reviewed checkout is exactly the untrusted ground a
28
+ * `.pi/mcp.json` would come from); every project trusted so no modal can stall
29
+ * a run; /opt/quickreview pre-trusted; and the durable retry above. No global
30
+ * bash-guard: every route that runs a model hands the guard to
31
+ * its sessions itself, as an `--extension` or a factory. */
32
+ export declare function benchSettings(_root: string): {
33
+ settings: string;
34
+ trust: string;
35
+ };
36
+ //# sourceMappingURL=pibuiltins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pibuiltins.d.ts","sourceRoot":"","sources":["../../src/pibuiltins.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,oBAAoB,8FAKvB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;;;;;;;4DAQ4D;AAC5D,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX;;;;;4DAK4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAchF"}
@@ -0,0 +1,83 @@
1
+ // pi's built-in extensions that every surface we provision switches OFF.
2
+ //
3
+ // pi 0.99.0 started shipping four extensions INSIDE the package, loaded by
4
+ // default: `builtin:mcp`, `builtin:codemode`, `builtin:tool-search` and
5
+ // `builtin:llama.cpp` (dist/extensions/index.js `builtInExtensions`). The
6
+ // documented switch is a `-builtin:<name>` entry in the GLOBAL settings'
7
+ // `extensions` array (docs/settings.md "The built-in extensions are named …
8
+ // `-builtin:mcp` disables one"; dist/core/package-manager.js resolves each
9
+ // built-in through isEnabledByOverrides, where a `-` entry is an exact-match
10
+ // force-exclude on the literal path `builtin:<name>`). A `+`/`-`/`!` entry in a
11
+ // trusted PROJECT `.pi/settings.json` overrides the user setting — which is why
12
+ // `.pi/` is also on bash-guard's policy surface.
13
+ //
14
+ // Why each one is off (none is used by any reviewer, lens, judge or companion):
15
+ // - mcp: launches stdio server PROCESSES and opens HTTP connections from an
16
+ // `mcp.json` — global, or a trusted project's `.pi/mcp.json`, and every
17
+ // project is trusted (`defaultProjectTrust = "always"`). A process launch
18
+ // that never passes through a tool call, so bash-guard never sees it.
19
+ // - codemode: a QuickJS tool that runs model-written scripts calling the
20
+ // other tools. Registered inactive, but one `defaultTools: ["+codemode"]`
21
+ // in a project settings file activates it — a changed tool set.
22
+ // - tool-search: declares not-yet-declared tools mid-session (MCP's deferred
23
+ // tools); a changed tool set, and useless without MCP.
24
+ // - llama.cpp: registers a model provider that talks to a local llama.cpp
25
+ // server (127.0.0.1:8080 by default). Starts nothing, but it is a model
26
+ // route nobody configured; off so the provider set stays the one we pin.
27
+ //
28
+ // VERIFY-ON-PIN (0.99.1, re-read at 1.0.0, 1.3.0 and 1.4.0 — dist/extensions/index.js unchanged): the four names and
29
+ // the `-builtin:<name>` spelling. A later pi that adds a built-in is NOT
30
+ // covered by this list — re-read dist/extensions/index.js on every bump.
31
+ //
32
+ // The mirrors (plain JS, they run before any build): the release image's
33
+ // entrypoint (docker/entrypoint.sh, the VM's too), the companion's
34
+ // (docker/companion/entrypoint.sh)
35
+ // and the sandbox settings below (`benchSettings`, the bench's and
36
+ // `qcr review`'s). tests/pibuiltins.test.ts pins every mirror to this list.
37
+ export const PI_DISABLED_BUILTINS = [
38
+ "-builtin:mcp",
39
+ "-builtin:codemode",
40
+ "-builtin:tool-search",
41
+ "-builtin:llama.cpp",
42
+ ];
43
+ /**
44
+ * pi 1.0.0 made the interactive TUI fullscreen by default (CHANGELOG 1.0.0,
45
+ * "Changed the default TUI mode to fullscreen"). Every interactive pi we run
46
+ * sits in tmux — the VM's PR sessions and overseer, the companion — and the
47
+ * operator TUI mirrors those panes and scrolls them (PgUp), which needs the
48
+ * terminal's normal scrollback: pi 0.99's default. The three entrypoint merges
49
+ * set it; tests/pibuiltins.test.ts pins each one to this value.
50
+ */
51
+ export const PI_TUI_MODE = "regular";
52
+ /** pi's agent-level retry for a benchmark sandbox — every session and every
53
+ * lens child reads it (one agent dir). pi's own default (3 attempts, ≤ 60 s
54
+ * apart) gives up inside two minutes, and a provider's overload window
55
+ * (DigitalOcean "529 Platform overloaded", or a request timeout) is longer than
56
+ * that: the lens is lost and the review posts without it. This backs off from
57
+ * 5 s doubling to a 2-minute cap over 10 attempts — about 13 minutes of
58
+ * patience per request — so a PR is processed fully and fails only when the
59
+ * provider is really unavailable. Provider-level retries stay off (pi's advice:
60
+ * they would hide quota and usage-limit errors from pi). */
61
+ export const BENCH_RETRY = {
62
+ enabled: true,
63
+ maxRetries: 10,
64
+ baseDelayMs: 5_000,
65
+ maxAgentDelayMs: 120_000,
66
+ };
67
+ /** pi's global settings for the sandbox: pi's built-in extensions switched off
68
+ * (packages/pi-plugin/src/pibuiltins.ts — the reviewed checkout is exactly the untrusted ground a
69
+ * `.pi/mcp.json` would come from); every project trusted so no modal can stall
70
+ * a run; /opt/quickreview pre-trusted; and the durable retry above. No global
71
+ * bash-guard: every route that runs a model hands the guard to
72
+ * its sessions itself, as an `--extension` or a factory. */
73
+ export function benchSettings(_root) {
74
+ return {
75
+ settings: JSON.stringify({
76
+ extensions: [...PI_DISABLED_BUILTINS],
77
+ defaultProjectTrust: "always",
78
+ retry: BENCH_RETRY,
79
+ }, null, 2) + "\n",
80
+ trust: JSON.stringify({ "/opt/quickreview": true }, null, 2) + "\n",
81
+ };
82
+ }
83
+ //# sourceMappingURL=pibuiltins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pibuiltins.js","sourceRoot":"","sources":["../../src/pibuiltins.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,mEAAmE;AACnE,8EAA8E;AAC9E,0DAA0D;AAC1D,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,qHAAqH;AACrH,yEAAyE;AACzE,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,mEAAmE;AACnE,mCAAmC;AACnC,mEAAmE;AACnE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc;IACd,mBAAmB;IACnB,sBAAsB;IACtB,oBAAoB;CACZ,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AAErC;;;;;;;;4DAQ4D;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,OAAO;CAChB,CAAC;AAEX;;;;;4DAK4D;AAC5D,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO;QACL,QAAQ,EACN,IAAI,CAAC,SAAS,CACZ;YACE,UAAU,EAAE,CAAC,GAAG,oBAAoB,CAAC;YACrC,mBAAmB,EAAE,QAAQ;YAC7B,KAAK,EAAE,WAAW;SACnB,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI;QACV,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI;KACpE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** What a preview's key covers: change any of it and a start quoting the old
2
+ * key is refused — the operator always saw the price of what runs. */
3
+ export declare function planKey(parts: unknown): string;
4
+ //# sourceMappingURL=plankey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plankey.d.ts","sourceRoot":"","sources":["../../src/plankey.ts"],"names":[],"mappings":"AAKA;sEACsE;AACtE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,10 @@
1
+ // The key a start must quote: a hash of everything a preview showed. A leaf
2
+ // with only a node import, shared by `qcr scan` (src/setup/scan.ts) and
3
+ // `qcr review` (packages/pi-plugin/src/localreview.ts) so neither reaches into the other.
4
+ import { createHash } from "node:crypto";
5
+ /** What a preview's key covers: change any of it and a start quoting the old
6
+ * key is refused — the operator always saw the price of what runs. */
7
+ export function planKey(parts) {
8
+ return createHash("sha256").update(JSON.stringify(parts)).digest("hex").slice(0, 16);
9
+ }
10
+ //# sourceMappingURL=plankey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plankey.js","sourceRoot":"","sources":["../../src/plankey.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wEAAwE;AACxE,0FAA0F;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;sEACsE;AACtE,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,375 @@
1
+ import type { CoreConfig } from "./reviewconfig.js";
2
+ import { type Ecosystem } from "./ecosystem.js";
3
+ import type { PrFileEntry } from "./githubcore.js";
4
+ import type { HeuristicsExtension } from "./heuristics.js";
5
+ import { type CiLinter } from "./lintconfig.js";
6
+ import type { MigrationCollision } from "./migrations.js";
7
+ import { type PrOwnedDelta, type PrOwnedDeltaFile } from "./prdelta.js";
8
+ import type { PriorFindingsList } from "./priorfindings.js";
9
+ import type { LedgerCarry, PassPlanEntry, PassTier, RoundDelta, RoundOrder, RoundRecoveryContext, RoundType } from "./types.js";
10
+ /** A plan's lens names, each once, in plan order — the compatibility list
11
+ * the rounds table, the event log and every order carry (a lens with several
12
+ * rows, the sweep, once). */
13
+ export declare function lensesOf(plan: readonly PassPlanEntry[]): string[];
14
+ /** The head a round reviews: the prepared tree's, else the PR row's (a
15
+ * caller with no worktree seam). The one rule the round row, the posting key
16
+ * and the prompt all name their head by. */
17
+ export declare function reviewedHeadOf(tree: Pick<PreparedTree, "head_sha"> | undefined, row: Pick<PlannedPr, "head_sha">): string;
18
+ /**
19
+ * The tier the round's validator runs at: its own tier, the configured
20
+ * `validate_tier` under the profile's `min_tier` for it, whatever tier or
21
+ * effort any lens runs at. It is never raised to match a lens: a finding the
22
+ * validator cannot stand behind is kept as `doubted` in the findings record
23
+ * (never posted, shown in the TUI), not discarded, so a cheaper validator
24
+ * cannot make a stronger lens's finding vanish. Lens tiers are deliberately
25
+ * not an input.
26
+ */
27
+ export declare function validatorTier(cfg: Pick<CoreConfig, "lenses" | "models">): PassTier;
28
+ /**
29
+ * The tier a lens ADDED by the session runs at (the round templates' add
30
+ * rule): a risk pass exists only as `sol-high`; every other lens at `sol-med`,
31
+ * or at the profile's `min_tier` for it when that is higher.
32
+ */
33
+ export declare function addTierOf(cfg: CoreConfig, lens: string): PassTier;
34
+ /** The facts a prepared worktree hands the round — the tree's own, less
35
+ * where it lives (the app's worktree facts add the path). */
36
+ export interface PreparedTree {
37
+ /** The sha the worktree is actually checked out at — the authority for the
38
+ * round. It is the just-fetched `refs/pull/<n>/head`, or the caller's
39
+ * `expectedHead` when that ref lags behind it. */
40
+ head_sha: string;
41
+ /** Branch the PR targets; "" when the caller did not supply one. */
42
+ base_ref: string;
43
+ /** Tip of base_ref at fetch time; "" when no base_ref was fetched. */
44
+ base_sha: string;
45
+ /** merge-base(base_sha, head_sha); "" when unavailable. */
46
+ merge_base: string;
47
+ /** Set when GitHub's `refs/pull/<n>/head` lagged the head the caller expected
48
+ * and the worktree holds that head instead: the stale commit the ref named. */
49
+ pull_ref_sha?: string;
50
+ }
51
+ /** The PR a round is planned for: the fields of its state row the plan reads. */
52
+ export interface PlannedPr {
53
+ number: number;
54
+ head_sha: string;
55
+ title: string;
56
+ }
57
+ /** What `buildPassPlan` returns. */
58
+ export interface PassPlan {
59
+ pass_plan: PassPlanEntry[];
60
+ addable_lenses: string[];
61
+ sweep_unswept: string[];
62
+ /** Files the behaviour-delta lens would read but its group cap left out —
63
+ * present only when the cap cut something, so a capped lens never reads
64
+ * as covering the change. */
65
+ behaviour_unread?: string[];
66
+ }
67
+ /** Deterministic per-round pass plan (agent = `${lens}--${tier}`):
68
+ * - risk passes are always "sol-high", single variant, not raisable;
69
+ * - pass-validate runs at validatorTier() — its own configured tier, never
70
+ * raised to match a lens — is not raisable, and is always last;
71
+ * - every other selected lens gets the passTier() tier and may be raised to
72
+ * any higher tier's variant (ascending order).
73
+ * addable_lenses = every known pass not already in the plan.
74
+ * The rows come back in launch order, slowest first (`slowestFirst`).
75
+ *
76
+ * The profile's per-lens tuning (`cfg.lenses`) wins over all of
77
+ * that: a `min_tier` floors the lens's row (and so its `raisable_to`) and the
78
+ * sweep rows; `enabled = false` removes a lens from the plan AND the addable
79
+ * list whatever selected it — the validator included, when the round
80
+ * has no validator row at all; `enabled = true` on a lever-gated lens switches
81
+ * it on whatever its `[review]` lever says. */
82
+ export declare function buildPassPlan(cfg: CoreConfig, files: PrFileEntry[], intent?: {
83
+ title?: string | null;
84
+ body?: string | null;
85
+ },
86
+ /** Whose tier-forcing gate applies. Default Django; `none` never forces
87
+ * sol-med off a migrations path. */
88
+ ecosystem?: Ecosystem,
89
+ /** Profile lens-heuristics extension; absent ⇒ generic core. */
90
+ heuristics?: HeuristicsExtension,
91
+ /** The repo's written style guide references (packages/pi-plugin/src/styleguide.ts); empty or
92
+ * absent ⇒ the style lens only on the profile's guide, if any. */
93
+ styleGuide?: readonly string[],
94
+ /** The linters and formatters a CI job of the repo runs (packages/pi-plugin/src/lintconfig.ts);
95
+ * empty or absent ⇒ no lint-conformance row. */
96
+ ciLinters?: readonly CiLinter[],
97
+ /** `tierFiles` — the files the round's default TIER is chosen from, when
98
+ * the plan is built over fewer files than the PR (a follow-up round plans
99
+ * from the delta, but a small fix push keeps the PR's tier and its
100
+ * migration floor). Absent ⇒ `files`. */
101
+ opts?: {
102
+ tierFiles?: PrFileEntry[];
103
+ }): PassPlan;
104
+ /**
105
+ * The plan's rows in LAUNCH order — the expected-slowest first.
106
+ *
107
+ * The session launches a turn's rows in table order, and the lens runner
108
+ * (packages/pi-plugin/src/engine/lens/runlens.ts) runs them under a process-wide cap in that order,
109
+ * so a 15–27 row plan runs in waves: a slow row listed late starts in the
110
+ * last wave and sets the round's critical path (typically pass-baseline,
111
+ * sol-high sweep and behaviour-delta rows). The order:
112
+ * pass-baseline; then by tier, highest first; within a tier the risk passes,
113
+ * then the focused rows (behaviour-delta, then sweep) by the changed lines
114
+ * their focus covers, larger first, then every other lens, then the cheap
115
+ * conditional lenses (`CHEAP_LAST_PASSES`); pass-validate stays last. Ties
116
+ * keep their planned order (a stable sort).
117
+ *
118
+ * Only the ORDER moves — the same rows, each byte-identical. Every consumer
119
+ * that indexes rows (the task files, `lenses`, lesson rows, the recorded
120
+ * pass_plan) reads this one array, so they agree. Exported for
121
+ * `planFollowUp`, which splices a carried row into an already-ordered plan.
122
+ */
123
+ export declare function slowestFirst(rows: readonly PassPlanEntry[], files: readonly PrFileEntry[], risk: ReadonlySet<string>): PassPlanEntry[];
124
+ /** Why a non-first round runs as a full re-review: every doubt is a full
125
+ * round, never a quieter one. */
126
+ export type FollowUpFullReason = "follow_up_full" | "no-reviewed-head" | "no-adapter" | "delta-too-large" | "baseline-unplanned" | "delta-threw" | "patch-write-failed" | Exclude<PrOwnedDelta, {
127
+ ok: true;
128
+ }>["reason"];
129
+ /** A follow-up round's plan, decided before the round row exists. */
130
+ export interface FollowUpDecision {
131
+ delta: Extract<PrOwnedDelta, {
132
+ ok: true;
133
+ }>;
134
+ /** The reviewed head the delta was computed from. */
135
+ fromSha: string;
136
+ deltaFiles: PrFileEntry[];
137
+ plan: PassPlan;
138
+ /** The pre-approval sweep's plan — the whole PR's full plan — when owed. */
139
+ sweepPlan?: PassPlanEntry[];
140
+ /** The full plan's files left over the per-round sweep cap — carried with
141
+ * `sweepPlan`, so the sweep is told what it does not cover, as round 1 is. */
142
+ sweepUnswept?: string[];
143
+ sweepBehaviourUnread?: string[];
144
+ /** `follow_up_extent = "session"`: the full delta plan's rows the
145
+ * lean core left out — per-file sweep rows, quality and style lenses —
146
+ * offered to the session as optional rows. */
147
+ optionalPlan?: PassPlanEntry[];
148
+ }
149
+ /**
150
+ * The reads a follow-up decision makes of the PR's review history — exactly
151
+ * these, so the planner holds no store. The bot passes its state store, which
152
+ * answers both.
153
+ */
154
+ export interface FollowUpHistory {
155
+ /** The PR's rounds (only these fields are read). */
156
+ roundsFor(pr: number): ReadonlyArray<{
157
+ backfilled: number;
158
+ head_sha: string | null;
159
+ merge_base: string | null;
160
+ verdict: string | null;
161
+ round_no: number;
162
+ }>;
163
+ /** Has a full look happened since the PR's first round? */
164
+ fullLookSinceFirst(pr: number): boolean;
165
+ }
166
+ /** The PR-owned delta between two reviewed heads, as the decision asks for it. */
167
+ export type PrOwnedDeltaReader = (q: {
168
+ pr: number;
169
+ from: string;
170
+ to: string;
171
+ mergeBase: string;
172
+ baseSha?: string;
173
+ /** The merge base the reviewed round recorded, when known. */
174
+ fromMergeBase?: string;
175
+ }) => Promise<PrOwnedDelta>;
176
+ /**
177
+ * Decide whether a non-first round is a FOLLOW-UP round
178
+ * (docs/follow-up-rounds.md), and plan it. Total: any doubt — the knob, no
179
+ * reviewed-head mark, no git seam, a delta git could not compute, a delta
180
+ * above `follow_up_max_delta_ratio` of the PR's diff lines, a delta plan
181
+ * without pass-baseline — answers `{full: reason}`, and the caller runs a
182
+ * full re-review.
183
+ *
184
+ * The plan is built over the DELTA's files with the intent text arms off
185
+ * (the title and body did not change since the last review), its tier chosen
186
+ * from the WHOLE PR. The sweep is owed as `followUpSweepOwed` decides (the
187
+ * standing verdict not APPROVE and no full look since the first round, or a
188
+ * large enough post-approval delta); its plan is
189
+ * the whole PR's full plan, exactly as a full round would run it.
190
+ */
191
+ export declare function decideFollowUp(deps: {
192
+ cfg: CoreConfig;
193
+ history: FollowUpHistory;
194
+ /** The PR-owned delta reader (`WorktreeManager.prOwnedDelta`). Absent ⇒
195
+ * `{full: "no-adapter"}`. */
196
+ prOwnedDelta?: PrOwnedDeltaReader;
197
+ heuristics?: HeuristicsExtension;
198
+ }, args: {
199
+ pr: number;
200
+ markHead: string | null | undefined;
201
+ tree: {
202
+ head_sha: string;
203
+ base_sha: string;
204
+ merge_base: string;
205
+ } | undefined;
206
+ files: PrFileEntry[];
207
+ fullPlan: PassPlan;
208
+ standing: string | null;
209
+ /** An approval-withheld mark stood when this round was picked up: the
210
+ * standing APPROVE never reached GitHub, so it is not an approval the
211
+ * sweep may rely on (a withheld approval is an approval yet to be posted). */
212
+ approvalWithheld?: boolean;
213
+ ecosystem: Ecosystem;
214
+ styleGuide: readonly string[];
215
+ ciLinters: readonly CiLinter[];
216
+ }): Promise<{
217
+ kind: "delta";
218
+ decision: FollowUpDecision;
219
+ } | {
220
+ kind: "full";
221
+ reason: FollowUpFullReason;
222
+ detail?: Record<string, unknown>;
223
+ }>;
224
+ /**
225
+ * Whether a follow-up round owes the pre-approval sweep, the
226
+ * `[review] follow_up_sweep` knob aside. Before a posted approval (a withheld
227
+ * one never reached GitHub, so it counts as none): owed until a full look has
228
+ * happened since the first round. After a posted approval: owed only when the
229
+ * change since it reaches `follow_up_post_approval_sweep_lines` — a large push
230
+ * onto an approved PR is where live re-reviews found blockers outside the
231
+ * change; a small one stays delta-only.
232
+ */
233
+ export declare function followUpSweepOwed(cfg: CoreConfig, args: {
234
+ standing: string | null;
235
+ approvalWithheld: boolean;
236
+ fullLookSinceFirst: () => boolean;
237
+ deltaLines: number;
238
+ }): boolean;
239
+ /**
240
+ * The PURE half of `decideFollowUp`: given a computed delta, plan
241
+ * the follow-up round — or answer `{full: reason}`. The daemon reaches it
242
+ * through `decideFollowUp`; the bench's follow-up replay (src/bench/
243
+ * followup.ts) calls it directly with a delta computed by the same
244
+ * `WorktreeManager.prOwnedDelta` over its replay tree, so the two never
245
+ * disagree about what a follow-up round plans.
246
+ *
247
+ * `sweepOwed` is consulted only when the `[review] follow_up_sweep` knob is on
248
+ * and the plan stands: the daemon's answer reads the standing verdict and the
249
+ * store; the bench's is the recorded case's.
250
+ */
251
+ export declare function planFollowUp(cfg: CoreConfig, heuristics: HeuristicsExtension | undefined, args: {
252
+ delta: Extract<PrOwnedDelta, {
253
+ ok: true;
254
+ }>;
255
+ fromSha: string;
256
+ files: PrFileEntry[];
257
+ fullPlan: PassPlan;
258
+ ecosystem: Ecosystem;
259
+ styleGuide: readonly string[];
260
+ ciLinters: readonly CiLinter[];
261
+ /** Handed the delta's line count. */
262
+ sweepOwed: (deltaLines: number) => boolean;
263
+ }): {
264
+ kind: "delta";
265
+ decision: FollowUpDecision;
266
+ } | {
267
+ kind: "full";
268
+ reason: FollowUpFullReason;
269
+ detail?: Record<string, unknown>;
270
+ };
271
+ /** The lenses a lean follow-up plan offers as addable instead of planning. */
272
+ export declare const LEAN_ADDABLE_PASSES: readonly string[];
273
+ /**
274
+ * The LEAN follow-up plan: the plan without its per-file
275
+ * pass-sweep rows, and with the quality and style lenses moved to
276
+ * `addable_lenses`. Every other row — baseline, the triggered risk lenses,
277
+ * the validator — is kept as planned, and so is a quality or style row the
278
+ * plan marks `required` (one the operator made a risk pass): a required row
279
+ * is an obligation, never an offer. No lens leaves the round: a session that
280
+ * sees a quality or style question in the change adds the lens.
281
+ */
282
+ export declare function leanFollowUpPlan(plan: PassPlan): PassPlan;
283
+ /** A delta's files as one git-style patch (the hunks `prOwnedDelta` read,
284
+ * each under its file header). */
285
+ export declare function renderDeltaPatch(files: readonly PrOwnedDeltaFile[]): string;
286
+ /** The order's view of a delta (types.ts `RoundDelta`). */
287
+ export declare function roundDeltaOf(d: FollowUpDecision, patchFile: string): RoundDelta;
288
+ /** The order the follow-up round's OPTIONAL rows render their task files
289
+ * from: the follow-up order itself — the change since the last
290
+ * review stays their scope — with `optional_plan` as its plan. Prior
291
+ * findings ride the core rows only (their assignment indexes `pass_plan`),
292
+ * so none ride here. Pure. */
293
+ export declare function optionalOrderOf(order: RoundOrder, optionalPlan: PassPlanEntry[]): RoundOrder;
294
+ /** The order the pre-approval sweep's task files render from: the
295
+ * follow-up order minus its follow-up fields, planned with the whole PR's
296
+ * full plan — exactly the order a full round would hand its lenses. Pure;
297
+ * the daemon and the bench's follow-up replay render the sweep's tasks from
298
+ * it alike. */
299
+ export declare function sweepOrderOf(order: RoundOrder, sweepPlan: PassPlanEntry[]): RoundOrder;
300
+ /** Build the round order for one PR — pure once the files list is in hand. */
301
+ export declare function buildRoundOrder(args: {
302
+ cfg: CoreConfig;
303
+ row: PlannedPr;
304
+ files: PrFileEntry[];
305
+ roundId: number;
306
+ roundNo: number;
307
+ /** Prior VERDICTED rounds + 1 — the PR's review age. Drives the nit cap;
308
+ * failed (cancelled/overdue) rounds advance round_no but not this. */
309
+ reviewNo?: number;
310
+ roundType: RoundType;
311
+ worktree: string;
312
+ settledDigest: string;
313
+ /** The PR's mirrored ledger; absent ⇒ no `ledger_carry`. */
314
+ ledgerCarry?: LedgerCarry;
315
+ issuedAt: string;
316
+ /** Facts established by preparing the worktree. Absent only for callers with
317
+ * no worktree seam (the stub-wired daemon core and unit tests), which fall
318
+ * back to the PR row's sha and an unknown base. */
319
+ tree?: PreparedTree;
320
+ /** Collisions the pre-check found — delivered as a COMMENT unless
321
+ * `migrationCollisionsUndelivered` says the COMMENT did not reach the PR. */
322
+ migrationCollisions?: MigrationCollision[];
323
+ /** True when the collisions' COMMENT was withheld, refused or failed: the
324
+ * gate note then hands the remedy to the session. */
325
+ migrationCollisionsUndelivered?: boolean;
326
+ /** True when the PR touches migrations and the pre-check could NOT run —
327
+ * the prompt must tell the session to check collisions itself. */
328
+ migrationPrecheckDegraded?: boolean;
329
+ /** First-party directive files + the picked escalation mention. */
330
+ firstPartyDirectives?: {
331
+ files: string[];
332
+ mention: string;
333
+ };
334
+ /** The PR body as GitHub returned it: pass-intent's whole intent
335
+ * artifact and the substance-bar input. Absent (stub-wired core, unit tests
336
+ * without an adapter body) ⇒ the intent lens is never selected. */
337
+ prBody?: string;
338
+ /** The round's ecosystem. Absent ⇒ Django. */
339
+ ecosystem?: Ecosystem;
340
+ /** Exact predecessor identity for a pre-fanout recovery successor. */
341
+ recovery?: RoundRecoveryContext;
342
+ /** Profile lens-heuristics extension; absent ⇒ generic core. */
343
+ heuristics?: HeuristicsExtension;
344
+ /** The names the order launches lenses in (`SessionHooks.lensRuntime`): the
345
+ * worker host's engine tools. Absent ⇒ native, the tmux host's. */
346
+ lensRuntime?: "engine";
347
+ /** The rendered third-party-sources block (packages/pi-plugin/src/depsources.ts). */
348
+ dependencyNote?: string;
349
+ /** The repo's written style guide references (packages/pi-plugin/src/styleguide.ts). */
350
+ styleGuide?: readonly string[];
351
+ /** The linters a CI job of the repo runs (packages/pi-plugin/src/lintconfig.ts). */
352
+ ciLinters?: readonly CiLinter[];
353
+ /** The plan, already built by the caller (dispatch builds it once and
354
+ * records the same plan on the round row). Absent ⇒ built here from
355
+ * `files`, the PR body, the style guide and the linters. */
356
+ plan?: PassPlan;
357
+ /** A FOLLOW-UP round's facts: the delta, the prior findings note, the owed
358
+ * sweep's plan. The coverage check then holds the round to the delta's
359
+ * files. Absent ⇒ a full round's order. */
360
+ followUp?: {
361
+ delta: RoundDelta;
362
+ deltaFiles: PrFileEntry[];
363
+ priorFindingsNote: string;
364
+ /** The listed prior findings: each is assigned to the plan row that owns
365
+ * it and written into that row's task file. Absent (the list could not be
366
+ * assembled) ⇒ the session assigns them. */
367
+ priorFindings?: Pick<PriorFindingsList, "findings" | "round_no">;
368
+ /** The optional rows the session decides (`optional_plan`). */
369
+ optionalPlan?: PassPlanEntry[];
370
+ sweepPlan?: PassPlanEntry[];
371
+ sweepUnswept?: string[];
372
+ sweepBehaviourUnread?: string[];
373
+ };
374
+ }): RoundOrder;
375
+ //# sourceMappingURL=planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/planner.ts"],"names":[],"mappings":"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"}