@poetic-ai/poetic 1.42.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 (782) hide show
  1. package/.github/SECURITY.md +47 -0
  2. package/.nvmrc +1 -0
  3. package/.poetic/README.md +37 -0
  4. package/.poetic/providers/catalog.json +12051 -0
  5. package/.poetic/providers/pricing.json +1272 -0
  6. package/.poetic/providers/registry.json +3369 -0
  7. package/CHANGELOG.md +552 -0
  8. package/CODE_OF_CONDUCT.md +40 -0
  9. package/CONTRIBUTING.md +23 -0
  10. package/INSTALL.md +454 -0
  11. package/LICENSE +21 -0
  12. package/README.md +474 -0
  13. package/dist/BasicOptimizationCompetitionRunner-5H5TBYO4.js +153 -0
  14. package/dist/ExecutionTracker-UVONC4C6.js +16 -0
  15. package/dist/OptimizationConfig-7DFY2TST.js +17 -0
  16. package/dist/OptimizationEngine-JIMGP3LY.js +1597 -0
  17. package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
  18. package/dist/actions-LUJPINLJ.js +322 -0
  19. package/dist/agent-ingest-3DJUJ7FU.js +53 -0
  20. package/dist/aggregator-DNCBINFO.js +12 -0
  21. package/dist/ai-judge-5QT5QJVU.js +156 -0
  22. package/dist/allowlist-grounding-RO6HKUFI.js +16 -0
  23. package/dist/allowlist-utils-23V7TJ3G.js +28 -0
  24. package/dist/anchored-turn-service-JULUCUIK.js +489 -0
  25. package/dist/api-transport-4TYTNLTJ.js +1087 -0
  26. package/dist/apply-completion-mode-AW2MOS3R.js +89 -0
  27. package/dist/artifact-migrator-23L45ISD.js +267 -0
  28. package/dist/ask-HWVV6QFR.js +135 -0
  29. package/dist/auth-5KEDKAPP.js +67 -0
  30. package/dist/auth-7TT3JINV.js +78 -0
  31. package/dist/auth-E6XUNZ5M.js +68 -0
  32. package/dist/auth-H3XDZE22.js +134 -0
  33. package/dist/auth-OC4E6633.js +71 -0
  34. package/dist/auth-S4CTX4GQ.js +44 -0
  35. package/dist/auth-YLH3S7EY.js +69 -0
  36. package/dist/auth-liveness-TDDEZY3T.js +46 -0
  37. package/dist/auto-optimizer-VPRWOWGU.js +80 -0
  38. package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
  39. package/dist/autoloop-evidence-gates-PCDALGVJ.js +38 -0
  40. package/dist/autoloop-gate-policy-Z7FVJVXV.js +175 -0
  41. package/dist/autoloop-helpers-2KTK43GL.js +22 -0
  42. package/dist/autoloop-ledger-W7QO62PX.js +96 -0
  43. package/dist/autoloop-ledger-subscriber-Z5RW5EIE.js +162 -0
  44. package/dist/autoloop-run-defaults-FERGRZGP.js +19 -0
  45. package/dist/autoloop-run-lock-CT2NWSV3.js +197 -0
  46. package/dist/autoloop-success-J2VKKBXQ.js +85 -0
  47. package/dist/autoloop-termination-summary-RN75F422.js +58 -0
  48. package/dist/autoloop-trajectory-XFIEXP5Z.js +282 -0
  49. package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
  50. package/dist/autonomous-loop-controller-PW4XVFGQ.js +4120 -0
  51. package/dist/backend-P3DAYRP7.js +29 -0
  52. package/dist/background-executor-CBN552V4.js +257 -0
  53. package/dist/backlog-execution-intent-U4XYPTV6.js +15 -0
  54. package/dist/backup-active-store-5WXG6SXT.js +17 -0
  55. package/dist/backup-telemetry-db-XGLXAA3N.js +254 -0
  56. package/dist/basic-competition-master-VCSBJVRN.js +344 -0
  57. package/dist/branch-archive-manager-RP6FP3ZC.js +254 -0
  58. package/dist/branch-cleanup-manager-RSHAI7YR.js +20 -0
  59. package/dist/build-gate-YHGRB4QB.js +71 -0
  60. package/dist/change-summary-WY7J5TOX.js +33 -0
  61. package/dist/chunk-23A26CSN.js +123 -0
  62. package/dist/chunk-27UTJD3M.js +265 -0
  63. package/dist/chunk-2A5CILN3.js +310 -0
  64. package/dist/chunk-2AQUWJPW.js +225 -0
  65. package/dist/chunk-2BZ53J6J.js +2344 -0
  66. package/dist/chunk-2DY5KNVM.js +276 -0
  67. package/dist/chunk-2EIA4RBE.js +659 -0
  68. package/dist/chunk-2IUXIGQD.js +1064 -0
  69. package/dist/chunk-2N42MS2Z.js +2193 -0
  70. package/dist/chunk-2QJ3H3L7.js +42 -0
  71. package/dist/chunk-2QLYTVYX.js +791 -0
  72. package/dist/chunk-2VSQMRCB.js +18 -0
  73. package/dist/chunk-2XQXYBM2.js +130 -0
  74. package/dist/chunk-2YFUIER7.js +426 -0
  75. package/dist/chunk-34CNP2HB.js +148 -0
  76. package/dist/chunk-35P3W3JX.js +456 -0
  77. package/dist/chunk-36PEBZAF.js +18 -0
  78. package/dist/chunk-3AOKYKA7.js +22 -0
  79. package/dist/chunk-3BCUNHKF.js +475 -0
  80. package/dist/chunk-3FLXLLB7.js +26 -0
  81. package/dist/chunk-3FOZ2VHV.js +100 -0
  82. package/dist/chunk-3G6FZCRF.js +106 -0
  83. package/dist/chunk-3M57DADF.js +44 -0
  84. package/dist/chunk-3S62LLWJ.js +543 -0
  85. package/dist/chunk-3ZPQLGV7.js +2904 -0
  86. package/dist/chunk-44N5WZZH.js +45 -0
  87. package/dist/chunk-45FPSA3B.js +125 -0
  88. package/dist/chunk-4BJ3O4RQ.js +929 -0
  89. package/dist/chunk-4BOP7T6L.js +2321 -0
  90. package/dist/chunk-4BTDUT2S.js +42 -0
  91. package/dist/chunk-4CSS7WVI.js +143 -0
  92. package/dist/chunk-4CUY7AFY.js +247 -0
  93. package/dist/chunk-4GSN5O5J.js +62 -0
  94. package/dist/chunk-4HN6DF7V.js +1027 -0
  95. package/dist/chunk-4IAPOG5V.js +415 -0
  96. package/dist/chunk-4IYIZQWV.js +48 -0
  97. package/dist/chunk-4NXPXE62.js +84 -0
  98. package/dist/chunk-4RCCF5BR.js +712 -0
  99. package/dist/chunk-4V7NAQ4R.js +19527 -0
  100. package/dist/chunk-4VJITV4P.js +445 -0
  101. package/dist/chunk-4YX7J6QL.js +1859 -0
  102. package/dist/chunk-527OBWQB.js +338 -0
  103. package/dist/chunk-5D4A7E3D.js +448 -0
  104. package/dist/chunk-5DLKYTQX.js +4003 -0
  105. package/dist/chunk-5EERLVZB.js +139 -0
  106. package/dist/chunk-5H72XE4H.js +256 -0
  107. package/dist/chunk-5HDP7XZG.js +91 -0
  108. package/dist/chunk-5LAMRH4X.js +969 -0
  109. package/dist/chunk-5LTN43AS.js +1972 -0
  110. package/dist/chunk-5RBHQYDB.js +2206 -0
  111. package/dist/chunk-5WCQRDRB.js +588 -0
  112. package/dist/chunk-5WRLK5KW.js +700 -0
  113. package/dist/chunk-5ZCXC23G.js +595 -0
  114. package/dist/chunk-6BM72ZMG.js +31 -0
  115. package/dist/chunk-6EDAJH2I.js +68 -0
  116. package/dist/chunk-6EQKFDBH.js +457 -0
  117. package/dist/chunk-6MFRHTRI.js +115 -0
  118. package/dist/chunk-6TZJRKNW.js +321 -0
  119. package/dist/chunk-6V7HGQFZ.js +20 -0
  120. package/dist/chunk-6VWVO2TU.js +3746 -0
  121. package/dist/chunk-6Y5TWI7H.js +146 -0
  122. package/dist/chunk-6Y5U7UFY.js +91 -0
  123. package/dist/chunk-6ZLAK3XG.js +14 -0
  124. package/dist/chunk-72XCRQED.js +34 -0
  125. package/dist/chunk-72YTZMAM.js +589 -0
  126. package/dist/chunk-73BBJOKA.js +263 -0
  127. package/dist/chunk-73NCTWKL.js +188 -0
  128. package/dist/chunk-77I6G4CO.js +1 -0
  129. package/dist/chunk-7DHRDWFS.js +3104 -0
  130. package/dist/chunk-7DNSNKJV.js +78 -0
  131. package/dist/chunk-7FMJVYBS.js +307 -0
  132. package/dist/chunk-7GDRQBQC.js +419 -0
  133. package/dist/chunk-7GPCEFUV.js +270 -0
  134. package/dist/chunk-7IL4A2PP.js +948 -0
  135. package/dist/chunk-7MMLMXO6.js +3679 -0
  136. package/dist/chunk-7QCZSLBH.js +1 -0
  137. package/dist/chunk-7R2WLDOS.js +62 -0
  138. package/dist/chunk-7T7RUJI7.js +949 -0
  139. package/dist/chunk-A2WKSVX7.js +43 -0
  140. package/dist/chunk-A3YGID55.js +133 -0
  141. package/dist/chunk-A722DEVA.js +14 -0
  142. package/dist/chunk-ACDIT7OP.js +1376 -0
  143. package/dist/chunk-ACKIPAOJ.js +302 -0
  144. package/dist/chunk-APPNGGN7.js +365 -0
  145. package/dist/chunk-APV6MK5E.js +137 -0
  146. package/dist/chunk-ASEP3M2W.js +968 -0
  147. package/dist/chunk-AT4TNPWW.js +2931 -0
  148. package/dist/chunk-ATVKCSGT.js +250 -0
  149. package/dist/chunk-AURFMVCD.js +899 -0
  150. package/dist/chunk-AX6GWE7V.js +47 -0
  151. package/dist/chunk-AY5EWJPF.js +385 -0
  152. package/dist/chunk-BAV2HJXS.js +194 -0
  153. package/dist/chunk-BBHRN366.js +89 -0
  154. package/dist/chunk-BBPSTTPA.js +1004 -0
  155. package/dist/chunk-BDATUDDJ.js +992 -0
  156. package/dist/chunk-BKE5PG5L.js +20414 -0
  157. package/dist/chunk-BLPHWMDK.js +797 -0
  158. package/dist/chunk-BSE4R6XD.js +322 -0
  159. package/dist/chunk-BXGMAU4A.js +396 -0
  160. package/dist/chunk-BXI4NXL3.js +507 -0
  161. package/dist/chunk-BZU2O43F.js +1125 -0
  162. package/dist/chunk-C3L6YQ7P.js +147 -0
  163. package/dist/chunk-C57KJOUQ.js +121 -0
  164. package/dist/chunk-CCV7BPSY.js +118 -0
  165. package/dist/chunk-CD7ISXA4.js +826 -0
  166. package/dist/chunk-CE5OZBYY.js +21 -0
  167. package/dist/chunk-CFBIG37O.js +154 -0
  168. package/dist/chunk-CJC6GZ46.js +457 -0
  169. package/dist/chunk-CKCDGXIV.js +408 -0
  170. package/dist/chunk-CKNX3TTP.js +10338 -0
  171. package/dist/chunk-CLKSETWE.js +10 -0
  172. package/dist/chunk-CP7H3HSP.js +1552 -0
  173. package/dist/chunk-CPLEWXNZ.js +66 -0
  174. package/dist/chunk-CQM3A35X.js +844 -0
  175. package/dist/chunk-CS6P76D3.js +103 -0
  176. package/dist/chunk-CTLUBNCW.js +622 -0
  177. package/dist/chunk-CUSRN6RJ.js +632 -0
  178. package/dist/chunk-D5EP5D2W.js +26 -0
  179. package/dist/chunk-D5RYINO7.js +412 -0
  180. package/dist/chunk-DBFS4HMH.js +751 -0
  181. package/dist/chunk-DC4ZYMXJ.js +115 -0
  182. package/dist/chunk-DCBZP442.js +9243 -0
  183. package/dist/chunk-DCYF7EKG.js +26 -0
  184. package/dist/chunk-DDMAFNUK.js +5351 -0
  185. package/dist/chunk-DF5SLDE4.js +966 -0
  186. package/dist/chunk-DJFW7SMX.js +348 -0
  187. package/dist/chunk-DQFLLBJW.js +121 -0
  188. package/dist/chunk-DSFM56OA.js +1203 -0
  189. package/dist/chunk-DTY4APYV.js +218 -0
  190. package/dist/chunk-DXH5JBRS.js +437 -0
  191. package/dist/chunk-E3NTPHEO.js +194 -0
  192. package/dist/chunk-E74LUIID.js +302 -0
  193. package/dist/chunk-EI57M5BI.js +194 -0
  194. package/dist/chunk-EJ4ZAWLV.js +305 -0
  195. package/dist/chunk-EJGCZGUF.js +1483 -0
  196. package/dist/chunk-EK2U3YEG.js +486 -0
  197. package/dist/chunk-ELMFYNV7.js +109 -0
  198. package/dist/chunk-ENRGKNR5.js +25 -0
  199. package/dist/chunk-ETYDXCK7.js +679 -0
  200. package/dist/chunk-EYRH3W74.js +239 -0
  201. package/dist/chunk-F23DIWNN.js +1024 -0
  202. package/dist/chunk-F5JO7HAS.js +94 -0
  203. package/dist/chunk-F7ER6ANO.js +174 -0
  204. package/dist/chunk-FATUVIIN.js +374 -0
  205. package/dist/chunk-FC23CTXV.js +322 -0
  206. package/dist/chunk-FD4ERYEG.js +22 -0
  207. package/dist/chunk-FH7WOJAE.js +79 -0
  208. package/dist/chunk-FHOWVDF5.js +1342 -0
  209. package/dist/chunk-FKAUPHMR.js +96 -0
  210. package/dist/chunk-FONNFJXA.js +137 -0
  211. package/dist/chunk-FQ7FSZRW.js +75 -0
  212. package/dist/chunk-FRG57FPM.js +240 -0
  213. package/dist/chunk-FUVP64ER.js +31 -0
  214. package/dist/chunk-FYOILAN5.js +6818 -0
  215. package/dist/chunk-G35UYQ6Z.js +69 -0
  216. package/dist/chunk-G36W2T2S.js +1143 -0
  217. package/dist/chunk-G3L2L5XZ.js +49 -0
  218. package/dist/chunk-G4THLFV3.js +148 -0
  219. package/dist/chunk-GAFJEYLK.js +29 -0
  220. package/dist/chunk-GFGYB2ZU.js +1689 -0
  221. package/dist/chunk-GG6KJYW6.js +85 -0
  222. package/dist/chunk-GHHFDU2U.js +55 -0
  223. package/dist/chunk-GHTZSQB7.js +57 -0
  224. package/dist/chunk-GK37ILCX.js +1231 -0
  225. package/dist/chunk-GKN3HMN4.js +2809 -0
  226. package/dist/chunk-GNVDBVJP.js +156 -0
  227. package/dist/chunk-GPEL3FBM.js +924 -0
  228. package/dist/chunk-GPSNGPZS.js +1604 -0
  229. package/dist/chunk-GSGD5E4C.js +30 -0
  230. package/dist/chunk-GSUQJJXQ.js +331 -0
  231. package/dist/chunk-GSV226X6.js +110 -0
  232. package/dist/chunk-H2AYQIHW.js +224 -0
  233. package/dist/chunk-H66DXFS5.js +1374 -0
  234. package/dist/chunk-H6G7QRMQ.js +35 -0
  235. package/dist/chunk-H7JAGHZT.js +59 -0
  236. package/dist/chunk-H7ZEFECA.js +316 -0
  237. package/dist/chunk-HAC6EHZZ.js +79 -0
  238. package/dist/chunk-HIO33P3G.js +19 -0
  239. package/dist/chunk-HMVQIPH3.js +547 -0
  240. package/dist/chunk-HOYBYAOA.js +257 -0
  241. package/dist/chunk-HX5P3CSP.js +1784 -0
  242. package/dist/chunk-I46EG2XQ.js +65 -0
  243. package/dist/chunk-I4NPDSCB.js +279 -0
  244. package/dist/chunk-I5WRT7ZR.js +514 -0
  245. package/dist/chunk-IC7I6YIJ.js +301 -0
  246. package/dist/chunk-IDCSOZVN.js +78 -0
  247. package/dist/chunk-IFCBYECK.js +112 -0
  248. package/dist/chunk-IFZCPEY2.js +66 -0
  249. package/dist/chunk-IKFP2KUR.js +48 -0
  250. package/dist/chunk-IRFBN336.js +878 -0
  251. package/dist/chunk-IUXNGKA6.js +152 -0
  252. package/dist/chunk-IV2RVAN7.js +1356 -0
  253. package/dist/chunk-IZYIQQ7X.js +53 -0
  254. package/dist/chunk-J3UUR7DE.js +210 -0
  255. package/dist/chunk-J54VUAY2.js +566 -0
  256. package/dist/chunk-J62KPGII.js +464 -0
  257. package/dist/chunk-J6P3FWWW.js +130 -0
  258. package/dist/chunk-JKBHJQMT.js +434 -0
  259. package/dist/chunk-JLS65NUQ.js +14 -0
  260. package/dist/chunk-JOSYEJKY.js +141 -0
  261. package/dist/chunk-JPKSXKNB.js +94 -0
  262. package/dist/chunk-JQNJB2BB.js +2440 -0
  263. package/dist/chunk-JRVNSWSQ.js +2626 -0
  264. package/dist/chunk-JSWMRQYG.js +28 -0
  265. package/dist/chunk-JZKNBBIB.js +152 -0
  266. package/dist/chunk-K54Y7MLK.js +160 -0
  267. package/dist/chunk-K65546RE.js +183 -0
  268. package/dist/chunk-KM3F7SYE.js +702 -0
  269. package/dist/chunk-KNDYMVWN.js +102 -0
  270. package/dist/chunk-KNT72VR6.js +132 -0
  271. package/dist/chunk-KP6YILMU.js +482 -0
  272. package/dist/chunk-KQEBSK3T.js +274 -0
  273. package/dist/chunk-KT6VHSPF.js +84 -0
  274. package/dist/chunk-KTMW65UX.js +14 -0
  275. package/dist/chunk-KZ5CJVBP.js +1813 -0
  276. package/dist/chunk-L4427KOE.js +26 -0
  277. package/dist/chunk-L6OM4A22.js +189 -0
  278. package/dist/chunk-L7E6XCRA.js +1042 -0
  279. package/dist/chunk-L7JZLXQL.js +173 -0
  280. package/dist/chunk-LAMKBTXX.js +40 -0
  281. package/dist/chunk-LDCF2MKN.js +132 -0
  282. package/dist/chunk-LEIIWPWQ.js +78 -0
  283. package/dist/chunk-LFTQVYBB.js +31 -0
  284. package/dist/chunk-LG3PDRTR.js +2872 -0
  285. package/dist/chunk-LGHII5ET.js +23 -0
  286. package/dist/chunk-LH5QY22X.js +1205 -0
  287. package/dist/chunk-LIVJ6266.js +438 -0
  288. package/dist/chunk-LKRAR3IH.js +276 -0
  289. package/dist/chunk-LO23NABI.js +3063 -0
  290. package/dist/chunk-LO3X5NLS.js +326 -0
  291. package/dist/chunk-LPITVM7M.js +339 -0
  292. package/dist/chunk-LR5IJIGV.js +810 -0
  293. package/dist/chunk-LRGMHROI.js +79 -0
  294. package/dist/chunk-LUVKFFWR.js +315 -0
  295. package/dist/chunk-LWCBNGH6.js +35 -0
  296. package/dist/chunk-LWTN3WRV.js +260 -0
  297. package/dist/chunk-M3HQYKQX.js +308 -0
  298. package/dist/chunk-M6GVSPEH.js +1016 -0
  299. package/dist/chunk-MF5HP6XV.js +221 -0
  300. package/dist/chunk-MHLCBZJB.js +328 -0
  301. package/dist/chunk-MN6PL4AN.js +120 -0
  302. package/dist/chunk-MOEY65Z6.js +5678 -0
  303. package/dist/chunk-MQ4WA34C.js +206 -0
  304. package/dist/chunk-MWHF5V7U.js +223 -0
  305. package/dist/chunk-MWHLBPNU.js +211 -0
  306. package/dist/chunk-MWK5UZQ3.js +1068 -0
  307. package/dist/chunk-MYLH2S4G.js +64 -0
  308. package/dist/chunk-MZ5WYKNA.js +28 -0
  309. package/dist/chunk-N4VTRA7K.js +131 -0
  310. package/dist/chunk-N5DX4JAK.js +12 -0
  311. package/dist/chunk-N65O4XTH.js +5011 -0
  312. package/dist/chunk-NEQUQHOX.js +223 -0
  313. package/dist/chunk-NGK6PEOG.js +25 -0
  314. package/dist/chunk-NJVD4PWE.js +1033 -0
  315. package/dist/chunk-NM6PMYY4.js +768 -0
  316. package/dist/chunk-NN4PJDHP.js +708 -0
  317. package/dist/chunk-NP2V3L7K.js +226 -0
  318. package/dist/chunk-NRLY536M.js +260 -0
  319. package/dist/chunk-NRNE225N.js +1270 -0
  320. package/dist/chunk-NS2K2GTP.js +605 -0
  321. package/dist/chunk-NS33V3IM.js +51 -0
  322. package/dist/chunk-NSHASMZZ.js +71 -0
  323. package/dist/chunk-NWOYOA6H.js +378 -0
  324. package/dist/chunk-NWRUSEXG.js +322 -0
  325. package/dist/chunk-NZGDAWIP.js +1905 -0
  326. package/dist/chunk-O47UOKU3.js +395 -0
  327. package/dist/chunk-O4G2W3ST.js +9831 -0
  328. package/dist/chunk-O6V4PNLO.js +63 -0
  329. package/dist/chunk-OA4GPILI.js +624 -0
  330. package/dist/chunk-OGMSYL6J.js +227 -0
  331. package/dist/chunk-OIS7J26S.js +319 -0
  332. package/dist/chunk-OMX5VL43.js +79 -0
  333. package/dist/chunk-ON3G73BU.js +264 -0
  334. package/dist/chunk-OPYFYTWQ.js +220 -0
  335. package/dist/chunk-OQ6K46CK.js +1734 -0
  336. package/dist/chunk-OYZYO7TV.js +47 -0
  337. package/dist/chunk-OZ4REHIN.js +4386 -0
  338. package/dist/chunk-P47VN5F4.js +282 -0
  339. package/dist/chunk-P5I4X7A7.js +353 -0
  340. package/dist/chunk-P6VQROCO.js +594 -0
  341. package/dist/chunk-P7CQGPLS.js +30 -0
  342. package/dist/chunk-PCAGC5MR.js +1763 -0
  343. package/dist/chunk-PFTQBXS6.js +5181 -0
  344. package/dist/chunk-PGSPX4SU.js +15 -0
  345. package/dist/chunk-PIKLF7BM.js +432 -0
  346. package/dist/chunk-PJWJ3SAV.js +22 -0
  347. package/dist/chunk-PKIFMV72.js +100 -0
  348. package/dist/chunk-PL37JDNA.js +189 -0
  349. package/dist/chunk-PTH5E5XO.js +195 -0
  350. package/dist/chunk-PW6AXLQC.js +4128 -0
  351. package/dist/chunk-PYITM4N2.js +79 -0
  352. package/dist/chunk-PZ5AY32C.js +10 -0
  353. package/dist/chunk-Q3RO7N35.js +45 -0
  354. package/dist/chunk-Q3WIC6GQ.js +2670 -0
  355. package/dist/chunk-Q5XIXSHX.js +271 -0
  356. package/dist/chunk-QGJDMEOV.js +34 -0
  357. package/dist/chunk-QNOB37UH.js +58 -0
  358. package/dist/chunk-QOCOVLUH.js +462 -0
  359. package/dist/chunk-QTCJ5CC5.js +172 -0
  360. package/dist/chunk-QVFV5IP2.js +232 -0
  361. package/dist/chunk-QVZMFDYG.js +29 -0
  362. package/dist/chunk-R35PEUKH.js +511 -0
  363. package/dist/chunk-R4UWBC35.js +200 -0
  364. package/dist/chunk-R6MLCREW.js +44 -0
  365. package/dist/chunk-R6W23LKN.js +254 -0
  366. package/dist/chunk-R7XDDX2A.js +4007 -0
  367. package/dist/chunk-RDFRCT64.js +168 -0
  368. package/dist/chunk-RE5VZDFQ.js +58 -0
  369. package/dist/chunk-RGROYC2G.js +638 -0
  370. package/dist/chunk-RGWHUI5E.js +68 -0
  371. package/dist/chunk-RHVG6UNL.js +205 -0
  372. package/dist/chunk-RI4EX2QE.js +18 -0
  373. package/dist/chunk-RJAAKDRX.js +17 -0
  374. package/dist/chunk-ROMHOSMQ.js +185 -0
  375. package/dist/chunk-RWREC3KJ.js +517 -0
  376. package/dist/chunk-RYNETRDJ.js +118 -0
  377. package/dist/chunk-RZY7RKM5.js +500 -0
  378. package/dist/chunk-S2MNWFAG.js +52 -0
  379. package/dist/chunk-S2VQCZO4.js +22 -0
  380. package/dist/chunk-S54MKU6V.js +117 -0
  381. package/dist/chunk-S5OIDFRM.js +302 -0
  382. package/dist/chunk-SCW4ZF6R.js +150 -0
  383. package/dist/chunk-SLS2N4PH.js +2213 -0
  384. package/dist/chunk-SNLBO4BF.js +247 -0
  385. package/dist/chunk-SP3LFU6B.js +60 -0
  386. package/dist/chunk-SQQTDDQA.js +537 -0
  387. package/dist/chunk-STV6LYYE.js +45 -0
  388. package/dist/chunk-SURZ2WFE.js +326 -0
  389. package/dist/chunk-SZ7DL357.js +1047 -0
  390. package/dist/chunk-T5E4NQCM.js +5742 -0
  391. package/dist/chunk-TAJPCXSB.js +13 -0
  392. package/dist/chunk-TAOOYK3P.js +358 -0
  393. package/dist/chunk-TDSEX5CF.js +24 -0
  394. package/dist/chunk-TFTGP7Z7.js +174 -0
  395. package/dist/chunk-TGON4N4O.js +197 -0
  396. package/dist/chunk-TGQZHDY2.js +2373 -0
  397. package/dist/chunk-TJJZ2OKV.js +6783 -0
  398. package/dist/chunk-TRSVUPCX.js +25 -0
  399. package/dist/chunk-TSXGRLPR.js +107 -0
  400. package/dist/chunk-U2S3YEX3.js +224 -0
  401. package/dist/chunk-U45RTRGY.js +818 -0
  402. package/dist/chunk-U6C3VVWS.js +13 -0
  403. package/dist/chunk-UDMS5AD3.js +307 -0
  404. package/dist/chunk-UGX7GI37.js +94 -0
  405. package/dist/chunk-UH3JJSHK.js +1 -0
  406. package/dist/chunk-UHRBTZYY.js +208 -0
  407. package/dist/chunk-UHT2KRG5.js +193 -0
  408. package/dist/chunk-UI2F6DJ5.js +118 -0
  409. package/dist/chunk-UMAKSB4Z.js +284 -0
  410. package/dist/chunk-UR2IBGIM.js +521 -0
  411. package/dist/chunk-UUH2RVKS.js +585 -0
  412. package/dist/chunk-UVJ4PJDK.js +4533 -0
  413. package/dist/chunk-V53UG2OT.js +9924 -0
  414. package/dist/chunk-V72RMBM4.js +48 -0
  415. package/dist/chunk-VBNCKCCI.js +16 -0
  416. package/dist/chunk-VNSYKC25.js +24 -0
  417. package/dist/chunk-VPHVFK4A.js +1984 -0
  418. package/dist/chunk-VTLNJQ44.js +133 -0
  419. package/dist/chunk-VTW7HP3R.js +100 -0
  420. package/dist/chunk-VVGEPBPS.js +218 -0
  421. package/dist/chunk-VVLLL7I4.js +166 -0
  422. package/dist/chunk-VX3UMWB7.js +483 -0
  423. package/dist/chunk-VXF4Q3FW.js +20 -0
  424. package/dist/chunk-W3JMT2YY.js +712 -0
  425. package/dist/chunk-WDUORIHF.js +877 -0
  426. package/dist/chunk-WDVTY4U6.js +148 -0
  427. package/dist/chunk-WIFZCHEG.js +12566 -0
  428. package/dist/chunk-WIRN3F75.js +736 -0
  429. package/dist/chunk-WMPU2UOV.js +82 -0
  430. package/dist/chunk-WTOKKE2V.js +784 -0
  431. package/dist/chunk-WX5IRLF6.js +740 -0
  432. package/dist/chunk-WZ6U3O7I.js +1581 -0
  433. package/dist/chunk-XAONGNST.js +57 -0
  434. package/dist/chunk-XB5YLCLB.js +13 -0
  435. package/dist/chunk-XEP5NQ5Y.js +688 -0
  436. package/dist/chunk-XGYF2QMZ.js +351 -0
  437. package/dist/chunk-XHEKQENB.js +255 -0
  438. package/dist/chunk-XNO4FM6X.js +1124 -0
  439. package/dist/chunk-XPHKYHO4.js +878 -0
  440. package/dist/chunk-XPK2I4NC.js +405 -0
  441. package/dist/chunk-XPU2XADL.js +2175 -0
  442. package/dist/chunk-XQD2B6BB.js +507 -0
  443. package/dist/chunk-XT2ZQVTC.js +558 -0
  444. package/dist/chunk-XTXJGGUV.js +351 -0
  445. package/dist/chunk-XUXVDPSZ.js +50 -0
  446. package/dist/chunk-XV7NZL4B.js +57 -0
  447. package/dist/chunk-XZE4XARH.js +563 -0
  448. package/dist/chunk-XZYR5EDO.js +152 -0
  449. package/dist/chunk-Y3J4JMTU.js +61 -0
  450. package/dist/chunk-Y55LZN5U.js +52 -0
  451. package/dist/chunk-Y5VN7DMP.js +112 -0
  452. package/dist/chunk-Y67VAHN4.js +459 -0
  453. package/dist/chunk-YAXSKEUH.js +3544 -0
  454. package/dist/chunk-YB3JD4E6.js +975 -0
  455. package/dist/chunk-YESZJFK6.js +220 -0
  456. package/dist/chunk-YGXKOBQQ.js +292 -0
  457. package/dist/chunk-YMX76IOS.js +31 -0
  458. package/dist/chunk-YOTXESEH.js +257 -0
  459. package/dist/chunk-YTYIEZQY.js +119 -0
  460. package/dist/chunk-YVORHQ2S.js +579 -0
  461. package/dist/chunk-Z2CUQDAR.js +3429 -0
  462. package/dist/chunk-Z2KYOFHS.js +7000 -0
  463. package/dist/chunk-Z6PC7QX6.js +161 -0
  464. package/dist/chunk-ZDTGECTN.js +235 -0
  465. package/dist/chunk-ZIPWI2LY.js +151 -0
  466. package/dist/chunk-ZSKKMTQJ.js +554 -0
  467. package/dist/chunk-ZTT5IVPY.js +1160 -0
  468. package/dist/chunk-ZX65UI5W.js +78 -0
  469. package/dist/chunk-ZYG7GGKO.js +218 -0
  470. package/dist/chunk-ZZZUL4OF.js +38 -0
  471. package/dist/cli-utils-IXL26KJT.js +40 -0
  472. package/dist/cli-validation-WLXWLUJL.js +111 -0
  473. package/dist/commit-utils-P7CRJF5N.js +202 -0
  474. package/dist/compete-config-resolver-R5ULXMYH.js +76 -0
  475. package/dist/compete-request-62JESVET.js +364 -0
  476. package/dist/compete-results-QEPG6FZX.js +208 -0
  477. package/dist/competition-outcome-tracker-R32OOZ43.js +38 -0
  478. package/dist/config-JCOKXOQT.js +166 -0
  479. package/dist/config-audit-EL3GHXS7.js +360 -0
  480. package/dist/config-explain-TNILDEVJ.js +12 -0
  481. package/dist/config-loader-VPFPFO4B.js +38 -0
  482. package/dist/config-manager-7T4E2BQO.js +67 -0
  483. package/dist/config-validator-KKOHOW7O.js +72 -0
  484. package/dist/cost-YC42XUF3.js +53 -0
  485. package/dist/coverage-orchestrator-CISNKJC2.js +772 -0
  486. package/dist/coverage-scanner-YVD62MLH.js +12 -0
  487. package/dist/createCompetitionRunner-LJG6ZQSO.js +46 -0
  488. package/dist/data-migration-state-VJK64DLT.js +31 -0
  489. package/dist/db-migrator-XSEIOGWY.js +34 -0
  490. package/dist/discovery-JGYGDD25.js +25 -0
  491. package/dist/doctor-GJOYE7AE.js +186 -0
  492. package/dist/domain-analyzer-AWF3RP6E.js +29 -0
  493. package/dist/ensure-initialized-744DIZEZ.js +52 -0
  494. package/dist/entry.js +940 -0
  495. package/dist/environment-YS45U5ZI.js +81 -0
  496. package/dist/error-parser-core-PPZ36A4S.js +50 -0
  497. package/dist/escalation-ladder-MKTCEGSA.js +130 -0
  498. package/dist/evaluation-context-KV4GZNN7.js +35 -0
  499. package/dist/evidence-plan-resolver-GBSYSAPX.js +85 -0
  500. package/dist/execution-data-writer-3ODTBDLH.js +53 -0
  501. package/dist/execution-policy-applier-ZHD3DCF3.js +31 -0
  502. package/dist/execution-preflight-Z4Y64V3I.js +209 -0
  503. package/dist/execution-roles-R3DPPMD3.js +66 -0
  504. package/dist/exit-code-error-Z4SW2DVK.js +14 -0
  505. package/dist/external-temp-cleanup-N2RZH4QP.js +311 -0
  506. package/dist/factory-XBN7DFIM.js +149 -0
  507. package/dist/file-utils-XIVR2ZMA.js +47 -0
  508. package/dist/flywheel-autoloop-executor-UILGOFFK.js +249 -0
  509. package/dist/flywheel-competition-executor-JOBEXTRB.js +259 -0
  510. package/dist/flywheel-executor-6JFLA6J5.js +369 -0
  511. package/dist/flywheel-git-isolation-UC5NIEVU.js +48 -0
  512. package/dist/flywheel-manifest-5UC4VBMA.js +108 -0
  513. package/dist/flywheel-model-defaults-7CVKP53V.js +27 -0
  514. package/dist/flywheel-preflight-XEY5SHM6.js +104 -0
  515. package/dist/flywheel-resume-7HELH7QS.js +23 -0
  516. package/dist/flywheel-safety-7U7DPOAP.js +28 -0
  517. package/dist/flywheel-scope-decision-ZHKF6ZIN.js +11 -0
  518. package/dist/get-telemetry-logger-DPVWWIYY.js +73 -0
  519. package/dist/git-worktree-IY6V6DUO.js +18 -0
  520. package/dist/github-pr-manager-4LXEKJTA.js +211 -0
  521. package/dist/guidance-profile-config-E7XJL2VP.js +117 -0
  522. package/dist/guidance-profile-renderer-QK2YMAAP.js +21 -0
  523. package/dist/index-query-4JEUKA44.js +31 -0
  524. package/dist/index.js +108661 -0
  525. package/dist/instructions-6BURLQJC.js +64 -0
  526. package/dist/invoke-provider-auth-GRUYP44M.js +223 -0
  527. package/dist/judge-scoring.json +80 -0
  528. package/dist/judge-test.js +555 -0
  529. package/dist/lab-mode-OTWVHN63.js +39 -0
  530. package/dist/lab-utils-BJRFLGK4.js +23 -0
  531. package/dist/linux-host-class-UY4KVLFD.js +29 -0
  532. package/dist/llm-judge-executor-F7Z3HO77.js +133 -0
  533. package/dist/local-executor-CEHWE2PL.js +223 -0
  534. package/dist/logger-33TR6EE5.js +72 -0
  535. package/dist/loop-spec-XTLQAVZ7.js +191 -0
  536. package/dist/manager-2HJG5CLT.js +25 -0
  537. package/dist/matrix-prompt-builder-6UDN5X3F.js +497 -0
  538. package/dist/matrix-result-parser-7W35EUOV.js +15 -0
  539. package/dist/metadata-HQ43NDEK.js +22 -0
  540. package/dist/model-invocations-db-QBO4Y7WZ.js +38 -0
  541. package/dist/monitor-XGYBG2DW.js +72 -0
  542. package/dist/next-PB5ZXZKB.js +90 -0
  543. package/dist/next-ZBDK725T.js +69 -0
  544. package/dist/optimization-config-resolver-O6WKR47U.js +75 -0
  545. package/dist/package-3YCWIQQ5.js +10 -0
  546. package/dist/parallel-orchestrator-NL7YJJU2.js +297 -0
  547. package/dist/parallel-worker.js +279 -0
  548. package/dist/parse-git-status-PIAF3OTP.js +10 -0
  549. package/dist/path-security-ETTH6TZL.js +39 -0
  550. package/dist/pattern-bank-UNJR5ADV.js +15 -0
  551. package/dist/plan-backlog-list-fast-VAGYBV3J.js +270 -0
  552. package/dist/plan-backlog-show-fast-SG2CZPW3.js +406 -0
  553. package/dist/plan-sprint-list-fast-LURAX47V.js +162 -0
  554. package/dist/plan-sprint-status-fast-FJAODCHD.js +208 -0
  555. package/dist/plan-task-status-fast-HNYBMQI4.js +349 -0
  556. package/dist/plan-to-flywheel-Z4U3GWPN.js +456 -0
  557. package/dist/planning-backlog-3CQ5QQBQ.js +319 -0
  558. package/dist/poetic-root-V5DNXEAE.js +17 -0
  559. package/dist/preflight-OPANWMME.js +12 -0
  560. package/dist/process-registry-PDZJPTAS.js +27 -0
  561. package/dist/process-scanner-C22SYXYD.js +22 -0
  562. package/dist/processes-KMQUD7HY.js +29 -0
  563. package/dist/processes-json-fast-IBDXZ6WW.js +135 -0
  564. package/dist/profile-SE5EVXAP.js +149 -0
  565. package/dist/prompts-WZZPGWBX.js +168 -0
  566. package/dist/protected-branches-RNTEX7ET.js +57 -0
  567. package/dist/provider-aware-resource-manager-QBTZJMNP.js +18 -0
  568. package/dist/provider-matrix-N5X57V3Y.js +154 -0
  569. package/dist/provider-matrix-renderer-MZDWKKID.js +139 -0
  570. package/dist/provider-output-forwarding-DERID3TP.js +30 -0
  571. package/dist/provider-registry-J5NRBJKI.js +128 -0
  572. package/dist/provider-temp-cleanup-KYGLF6YU.js +14 -0
  573. package/dist/prune-engine-Q6E2DXBN.js +451 -0
  574. package/dist/quality-gate-YRHMQAEI.js +70 -0
  575. package/dist/quickstart-FIRLKGJI.js +62 -0
  576. package/dist/readiness-VZTMSG6J.js +96 -0
  577. package/dist/registry-YODFY77A.js +153 -0
  578. package/dist/repair-helpers-TTV5FEF4.js +117 -0
  579. package/dist/repo-root-2IGD4H7X.js +22 -0
  580. package/dist/resolution-engine-D6TX6FRG.js +127 -0
  581. package/dist/resolve-provider-cli-O2P6XZBZ.js +35 -0
  582. package/dist/restore-telemetry-db-BQL6DTQF.js +360 -0
  583. package/dist/result-streamer-WEHW476R.js +19 -0
  584. package/dist/routing-events-DHPUZDDF.js +27 -0
  585. package/dist/routing-history-store-UWCEXAP3.js +46 -0
  586. package/dist/routing-planner-F5WQEUOM.js +160 -0
  587. package/dist/run-poetic-tui-J6LWRJUP.js +13517 -0
  588. package/dist/run-simulation.js +376 -0
  589. package/dist/runner-CS2TNGHA.js +1092 -0
  590. package/dist/runner-HHH7ZN2Z.js +1571 -0
  591. package/dist/safety-OCC4KJJR.js +64 -0
  592. package/dist/safety-stanza-7SV3HGG3.js +60 -0
  593. package/dist/sandbox-32QXJEMV.js +81 -0
  594. package/dist/sandbox-RSO7VP6V.js +94 -0
  595. package/dist/schema-extensions.sql +234 -0
  596. package/dist/security-2KI5XNDG.js +17 -0
  597. package/dist/setup-bb-plugin-QAQWZCV5.js +738 -0
  598. package/dist/setup-claude-code-P7BTTSPO.js +317 -0
  599. package/dist/setup-temp-cleanup-GASCWZ2I.js +20 -0
  600. package/dist/shared-utils-D6U6UREP.js +37 -0
  601. package/dist/simple-artifact-goal-OTXNGZY6.js +25 -0
  602. package/dist/sprint-UIXPYOXQ.js +338 -0
  603. package/dist/sprint-bridge-4BHMSC3M.js +68 -0
  604. package/dist/sprint-execution-service-2B7WHL5L.js +311 -0
  605. package/dist/sprint-manager-IDQUDNQI.js +91 -0
  606. package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
  607. package/dist/stale-cleanup-orchestrator-XWXV7KCZ.js +62 -0
  608. package/dist/storage-access-F6ALDN4S.js +22 -0
  609. package/dist/synthesis-XD6EDVHF.js +185 -0
  610. package/dist/task-classifier-LNLXSHOM.js +494 -0
  611. package/dist/task-list-fast-PTMA4LUC.js +147 -0
  612. package/dist/task-manager-XAT7GOWB.js +93 -0
  613. package/dist/task-splitter-U7DJ7W6A.js +79 -0
  614. package/dist/task-type-detector-OLVOMXZO.js +21 -0
  615. package/dist/task-type-resolver-KKNQYSB4.js +42 -0
  616. package/dist/telemetry-5HWBBXLX.js +131 -0
  617. package/dist/telemetry-health-tracker-DMSSGBZ2.js +11 -0
  618. package/dist/telemetry-path-resolver-7ICSG276.js +28 -0
  619. package/dist/telemetry-reliability-XUOZNZZ6.js +125 -0
  620. package/dist/token-estimator-MEQUL3EJ.js +37 -0
  621. package/dist/transports-KNSSV2V4.js +255 -0
  622. package/dist/unified-cost-tracker-4TFRBVPR.js +35 -0
  623. package/dist/unified-state-cleanup-LJPF2BOW.js +276 -0
  624. package/dist/universal-cost-calculator-BAJV35GA.js +42 -0
  625. package/dist/user-agents-GHUGCSKN.js +22 -0
  626. package/dist/variant-delivery-state-KLRNG6XA.js +33 -0
  627. package/dist/variant-state-cleanup-MZGGLQAJ.js +280 -0
  628. package/dist/variant-success-PJXWE3ZV.js +12 -0
  629. package/dist/variant-worker-KUWKBLAH.js +4196 -0
  630. package/dist/variant-worker.js +24 -0
  631. package/dist/variants-JE2FSAQS.js +233 -0
  632. package/dist/verification-toolchains-V24UHW6Q.js +28 -0
  633. package/dist/verify-commands-H3DTCSGI.js +37 -0
  634. package/dist/warning-EGQGUUIO.js +12 -0
  635. package/dist/work-edge-RWEDWJZF.js +49 -0
  636. package/dist/work-item-writer-WHAVZXAY.js +19 -0
  637. package/dist/worker-7SA2VS2Y.js +1435 -0
  638. package/dist/worker.js +19 -0
  639. package/dist/worktree-metrics-3DFUYVYE.js +26 -0
  640. package/dist/writeback-VZKHYHSN.js +44 -0
  641. package/docs/CLI_REFERENCE.md +7042 -0
  642. package/docs/PROVIDER_SETUP.md +1570 -0
  643. package/docs/README.md +96 -0
  644. package/docs/TROUBLESHOOTING.md +2232 -0
  645. package/docs/getting-started/QUICK_START.md +294 -0
  646. package/docs/getting-started/README.md +188 -0
  647. package/docs/getting-started/SETUP.md +52 -0
  648. package/docs/reference/AGENT_CONTEXT.md +38 -0
  649. package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
  650. package/docs/reference/README.md +381 -0
  651. package/docs/reference/SECURITY.md +262 -0
  652. package/integrations/bb-plugin-poetic/README.md +362 -0
  653. package/integrations/bb-plugin-poetic/app.css +341 -0
  654. package/integrations/bb-plugin-poetic/app.tsx +5059 -0
  655. package/integrations/bb-plugin-poetic/package.json +45 -0
  656. package/integrations/bb-plugin-poetic/server.ts +444 -0
  657. package/integrations/bb-plugin-poetic/src/adapter.ts +3312 -0
  658. package/integrations/bb-plugin-poetic/src/backlog-authoring-model.ts +150 -0
  659. package/integrations/bb-plugin-poetic/src/backlog-authoring-schema.ts +355 -0
  660. package/integrations/bb-plugin-poetic/src/backlog-authoring-service.ts +419 -0
  661. package/integrations/bb-plugin-poetic/src/backlog-authoring-view.ts +1026 -0
  662. package/integrations/bb-plugin-poetic/src/competition-defaults-schema.ts +122 -0
  663. package/integrations/bb-plugin-poetic/src/competition-defaults-service.ts +105 -0
  664. package/integrations/bb-plugin-poetic/src/competition-defaults-view.ts +138 -0
  665. package/integrations/bb-plugin-poetic/src/contract.ts +615 -0
  666. package/integrations/bb-plugin-poetic/src/finalize-model.ts +205 -0
  667. package/integrations/bb-plugin-poetic/src/finalize-schema.ts +158 -0
  668. package/integrations/bb-plugin-poetic/src/finalize-service.ts +382 -0
  669. package/integrations/bb-plugin-poetic/src/finalize-view.ts +159 -0
  670. package/integrations/bb-plugin-poetic/src/judge-operations-readback.ts +303 -0
  671. package/integrations/bb-plugin-poetic/src/judge-operations-schema.ts +33 -0
  672. package/integrations/bb-plugin-poetic/src/judge-operations-view.ts +459 -0
  673. package/integrations/bb-plugin-poetic/src/model.ts +1302 -0
  674. package/integrations/bb-plugin-poetic/src/monitor-service.ts +233 -0
  675. package/integrations/bb-plugin-poetic/src/panel-read-ux.ts +97 -0
  676. package/integrations/bb-plugin-poetic/src/patch-preview-schema.ts +166 -0
  677. package/integrations/bb-plugin-poetic/src/patch-preview-service.ts +480 -0
  678. package/integrations/bb-plugin-poetic/src/patch-preview-view.ts +109 -0
  679. package/integrations/bb-plugin-poetic/src/planning-readback.ts +204 -0
  680. package/integrations/bb-plugin-poetic/src/planning-service.ts +594 -0
  681. package/integrations/bb-plugin-poetic/src/planning-workspace-schema.ts +95 -0
  682. package/integrations/bb-plugin-poetic/src/planning-workspace.ts +323 -0
  683. package/integrations/bb-plugin-poetic/src/poll-handoff.ts +136 -0
  684. package/integrations/bb-plugin-poetic/src/project-target-server.ts +21 -0
  685. package/integrations/bb-plugin-poetic/src/project-target.ts +45 -0
  686. package/integrations/bb-plugin-poetic/src/reference-index.ts +192 -0
  687. package/integrations/bb-plugin-poetic/src/repository-schema.ts +30 -0
  688. package/integrations/bb-plugin-poetic/src/result-explorer-view.ts +597 -0
  689. package/integrations/bb-plugin-poetic/src/result-readback-model.ts +163 -0
  690. package/integrations/bb-plugin-poetic/src/result-readback-schema.ts +319 -0
  691. package/integrations/bb-plugin-poetic/src/result-readback-service.ts +333 -0
  692. package/integrations/bb-plugin-poetic/src/run-page-view.ts +177 -0
  693. package/integrations/bb-plugin-poetic/src/setup-config-schema.ts +291 -0
  694. package/integrations/bb-plugin-poetic/src/setup-config-service.ts +590 -0
  695. package/integrations/bb-plugin-poetic/src/setup-config-view.ts +413 -0
  696. package/integrations/bb-plugin-poetic/src/sprint-close-model.ts +150 -0
  697. package/integrations/bb-plugin-poetic/src/sprint-close-schema.ts +136 -0
  698. package/integrations/bb-plugin-poetic/src/sprint-close-service.ts +341 -0
  699. package/integrations/bb-plugin-poetic/src/sprint-close-view.ts +116 -0
  700. package/integrations/bb-plugin-poetic/src/sprint-composition-model.ts +714 -0
  701. package/integrations/bb-plugin-poetic/src/sprint-composition-readback.ts +231 -0
  702. package/integrations/bb-plugin-poetic/src/sprint-composition-schema.ts +601 -0
  703. package/integrations/bb-plugin-poetic/src/sprint-composition-service.ts +775 -0
  704. package/integrations/bb-plugin-poetic/src/sprint-composition-view.ts +1221 -0
  705. package/integrations/bb-plugin-poetic/src/task-authoring-model.ts +567 -0
  706. package/integrations/bb-plugin-poetic/src/task-authoring-schema.ts +635 -0
  707. package/integrations/bb-plugin-poetic/src/task-authoring-service.ts +842 -0
  708. package/integrations/bb-plugin-poetic/src/task-authoring-view.ts +1227 -0
  709. package/integrations/bb-plugin-poetic/src/task-detail-readback.ts +56 -0
  710. package/integrations/bb-plugin-poetic/src/task-detail-schema.ts +144 -0
  711. package/integrations/bb-plugin-poetic/src/task-navigation.ts +446 -0
  712. package/integrations/bb-plugin-poetic/src/workbench-route.ts +74 -0
  713. package/integrations/bb-plugin-poetic/tests/host-contract.test.ts +773 -0
  714. package/integrations/bb-plugin-poetic/tsconfig.json +18 -0
  715. package/integrations/bb-plugin-poetic/types/PROVENANCE.json +52 -0
  716. package/integrations/bb-plugin-poetic/types/bb-plugin-sdk-app.d.ts +1444 -0
  717. package/integrations/bb-plugin-poetic/types/bb-plugin-sdk.d.ts +13030 -0
  718. package/integrations/bb-plugin-poetic/vitest.host.config.ts +71 -0
  719. package/npm-shrinkwrap.json +4950 -0
  720. package/package.json +331 -0
  721. package/schemas/README.md +80 -0
  722. package/schemas/config-v1.schema.json +136 -0
  723. package/schemas/execution-config.schema.json +47 -0
  724. package/schemas/judge-scoring.schema.json +370 -0
  725. package/schemas/poetic.config.schema.json +2214 -0
  726. package/schemas/provider-config.schema.json +203 -0
  727. package/schemas/telemetry-config.schema.json +79 -0
  728. package/schemas/user-preferences.schema.json +141 -0
  729. package/scripts/assert-node-runtime.mjs +140 -0
  730. package/scripts/preflight-native.mjs +49 -0
  731. package/scripts/preinstall-node-check.mjs +78 -0
  732. package/scripts/setup-git-hooks.mjs +24 -0
  733. package/scripts/sync.sh +2722 -0
  734. package/scripts/write-node-launcher.sh +108 -0
  735. package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
  736. package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
  737. package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
  738. package/templates/.poetic/README.md +37 -0
  739. package/templates/.poetic/agents/README.md +296 -0
  740. package/templates/.poetic/agents/api-documenter.md +147 -0
  741. package/templates/.poetic/agents/backend-architect.md +31 -0
  742. package/templates/.poetic/agents/code-reviewer.md +157 -0
  743. package/templates/.poetic/agents/data-scientist.md +179 -0
  744. package/templates/.poetic/agents/database-optimizer.md +145 -0
  745. package/templates/.poetic/agents/debugger.md +31 -0
  746. package/templates/.poetic/agents/deployment-engineer.md +164 -0
  747. package/templates/.poetic/agents/devops-troubleshooter.md +139 -0
  748. package/templates/.poetic/agents/frontend-developer.md +150 -0
  749. package/templates/.poetic/agents/javascript-pro.md +36 -0
  750. package/templates/.poetic/agents/performance-engineer.md +151 -0
  751. package/templates/.poetic/agents/python-pro.md +137 -0
  752. package/templates/.poetic/agents/test-automator.md +147 -0
  753. package/templates/.poetic/agents/typescript-pro.md +34 -0
  754. package/templates/.poetic/config/poetic.config.jsonc +69 -0
  755. package/templates/.poetic/config/project-context.template.json +6 -0
  756. package/templates/.poetic/config/task-type-aliases.presets/kanban.yaml +14 -0
  757. package/templates/.poetic/config/task-type-aliases.presets/scrum.yaml +17 -0
  758. package/templates/.poetic/config/task-type-aliases.presets/xp.yaml +12 -0
  759. package/templates/.poetic/config/task-type-aliases.yaml +28 -0
  760. package/templates/.poetic/gitignore.template +55 -0
  761. package/templates/.poetic/task-types/analysis.yaml +40 -0
  762. package/templates/.poetic/task-types/architecture.yaml +38 -0
  763. package/templates/.poetic/task-types/doc.yaml +35 -0
  764. package/templates/.poetic/task-types/feature.yaml +23 -0
  765. package/templates/.poetic/task-types/general.yaml +6 -0
  766. package/templates/.poetic/task-types/security.yaml +39 -0
  767. package/templates/AGENTS.template.md +99 -0
  768. package/templates/CLAUDE.template.md +1 -0
  769. package/templates/GEMINI.template.md +1 -0
  770. package/templates/builtin-workflows/code-review.yaml +73 -0
  771. package/templates/builtin-workflows/compete-streak.yaml +78 -0
  772. package/templates/builtin-workflows/hello-verify.yaml +10 -0
  773. package/templates/builtin-workflows/judge-regression.yaml +114 -0
  774. package/templates/builtin-workflows/skills/code-review/SKILL.md +60 -0
  775. package/templates/builtin-workflows/skills/hello-verify/SKILL.md +6 -0
  776. package/templates/guard-kit/GUARD_SETUP.md.template +255 -0
  777. package/templates/guard-kit/check.mjs.template +777 -0
  778. package/templates/guard-kit/config.json.template +6 -0
  779. package/templates/guard-kit/poetic-guard.yml.template +189 -0
  780. package/templates/profiles/README.md +56 -0
  781. package/templates/profiles/frontier-claude.json +27 -0
  782. package/templates/profiles/frontier-codex.json +26 -0
@@ -0,0 +1,362 @@
1
+ # Poetic for BB (local development)
2
+
3
+ This optional, full-trust BB plugin presents Poetic planning state, backlog items, local Fusion
4
+ and judged competition runs, and tracked backlog execution. Poetic remains the planning,
5
+ orchestration, provider, judge, and result authority. The plugin keeps no backlog database, provider credentials, run
6
+ ledger, daemon, or independent provider execution path.
7
+
8
+ ## Installation and enablement
9
+
10
+ Prerequisites: BB with plugin SDK `0.4.x`, Poetic `1.x`, and one BB project
11
+ whose local source is the root of an initialized Poetic Git repository.
12
+
13
+ Poetic alone is the default. The optional visual path reuses the existing
14
+ provider setup surface (no new Poetic command family) and BB's native plugin
15
+ installer:
16
+
17
+ ```bash
18
+ poetic provider setup --bb
19
+ ```
20
+
21
+ That command prints the Poetic plugin version, detected BB version, plugin SDK
22
+ range, and full-trust permission implications before enablement. Missing BB, an
23
+ incompatible BB version, a missing plugin package, or install failure leaves
24
+ standalone Poetic unchanged and prints a recovery path. Provider credentials
25
+ and auth files are never read or copied.
26
+
27
+ An older local-path registration is not replaced implicitly. After reviewing
28
+ the disclosure, rerun with `--bb --reinstall` to replace it. BB local-path
29
+ replacement is not transactional: a failed explicit replacement reports the
30
+ installed state and leaves BB recovery to the user, while a failed first-time
31
+ registration is removed automatically when Poetic can prove it created it.
32
+
33
+ When the panel sees exactly one local BB project source it selects it
34
+ automatically; zero or multiple sources require an explicit user choice.
35
+
36
+ ## SDK compatibility and host-test contract
37
+
38
+ BB's plugin SDK declarations can change while the published SDK version stays
39
+ the same, so semver alone cannot detect the drift that breaks this plugin.
40
+ `types/PROVENANCE.json` records, for every vendored declaration file, the BB
41
+ source commit, the SDK version and range, the generation/vendoring method and
42
+ command, a `sha256` digest, a byte length, and the exports this plugin's compile
43
+ depends on.
44
+
45
+ `poetic provider setup --bb` compares the shipped declarations against that
46
+ record before contacting BB. A digest, byte-length, missing-export, or
47
+ SDK-range mismatch reports `sdk_declarations_drifted` with the drifted file and
48
+ the re-vendoring command, and BB is never invoked — so drift cannot disturb an
49
+ existing install. The provenance line (SDK version, BB commit, generation
50
+ method) is printed with the version and trust disclosure. This extends the
51
+ existing setup validation; it is not a separate installer or a repository-wide
52
+ gate, and standalone Poetic never runs it.
53
+
54
+ Regenerate declarations from a BB checkout with the recorded
55
+ `generation.command`, then update `upstream.sourceCommit`, `sha256`, and
56
+ `byteLength` in `types/PROVENANCE.json`.
57
+
58
+ The focused backend/RPC test loads the real `server.ts` factory directly into
59
+ BB's official `@bb/plugin-sdk/testing` `createFakePluginHost`. Point
60
+ `BB_SOURCE_ROOT` at a checkout of the recorded source commit and run:
61
+
62
+ ```bash
63
+ BB_SOURCE_ROOT=/path/to/bb npx vitest run \
64
+ --config integrations/bb-plugin-poetic/vitest.host.config.ts
65
+ ```
66
+
67
+ This exercises BB's actual contract registration and strict runtime validation
68
+ without copying its test-host implementation into Poetic. The test-only runtime
69
+ is resolved from the supplied checkout; standalone Poetic and its ordinary test
70
+ suite do not import BB or require BB to be installed.
71
+
72
+ ### Local development
73
+
74
+ ```bash
75
+ cd /absolute/path/to/poetic/integrations/bb-plugin-poetic
76
+ npm install
77
+ bb plugin install /absolute/path/to/poetic/integrations/bb-plugin-poetic
78
+ bb plugin dev /absolute/path/to/poetic/integrations/bb-plugin-poetic
79
+ ```
80
+
81
+ Open the `Poetic` navigation panel and select the BB project source when
82
+ auto-association does not apply. The workbench nav is Overview, Plan, Run, and
83
+ Settings. Backlog list and detail live under Plan (`plan/backlog`); run list and
84
+ detail live under Run (`run`); Settings remounts the former setup workspace
85
+ (`settings`, with `setup` as an alias). Older `backlog` and `runs` paths parse
86
+ to the same kinds. If the BB server does not inherit the shell
87
+ path that contains `poetic`, set the plugin's `Poetic executable` setting to an
88
+ absolute path and reload the plugin.
89
+
90
+ ## Trust and effects
91
+
92
+ BB plugins execute with full host trust. Every launch confirmation discloses
93
+ that this backend starts the installed `poetic` executable as the current host
94
+ user with the selected canonical repository as `cwd`. It passes an argv array
95
+ with `shell: false`; the RPC contract exposes no arbitrary executable, argv,
96
+ environment, cwd, or file-read method.
97
+
98
+ Fusion launches `poetic run fusion --json -- <backlog-body>`. That action
99
+ may use the user's native provider authentication and create local worktrees,
100
+ logs, or artifacts. It does not mutate/synchronize Poetic's managed planning
101
+ files and does not push Git changes. The plugin never adds `--allow-main` or
102
+ changes Poetic's consent policy. Protected branches are disclosed; detached
103
+ HEAD, a non-root/wrong repository, an uninitialized Poetic repository, and
104
+ incompatible Poetic or snapshot major versions are blocked explicitly.
105
+
106
+ Competition launch has its own consent and starts only
107
+ `poetic compete --backlog-item <id> --judge ai --configured-defaults --json`.
108
+ Poetic resolves the configured variants and models, owns judging, and publishes
109
+ the versioned start envelope before BB begins its existing competition-results
110
+ polling. BB adds no provider picker, judge implementation, retry loop, or run
111
+ store. After BB loses its exact child-process handle, the run remains observable
112
+ from Poetic but is not cancellable or automatically restarted.
113
+
114
+ Tracked execution has a separate RPC and consent schema. It launches only
115
+ `poetic plan backlog execute <id>` from a clean checkout, with no bypass flags.
116
+ The disclosure states that canonical Poetic may create or switch branches,
117
+ synchronize managed planning state, invoke native provider authentication,
118
+ create commits, push changes, and open a PR. BB does not implement any of those
119
+ steps. Finalization wraps the exact
120
+ `poetic plan backlog finalize <id> --pr <n> --commit <sha>` argv under high
121
+ consent; Poetic still owns the lifecycle. BB never invents the PR number or
122
+ commit SHA and never implements `--auto` finalize.
123
+
124
+ ## Planning authoring and sprint composition
125
+
126
+ BB provides bounded forms over Poetic's existing planning authority. Backlog
127
+ authoring can capture and edit items, mark them reviewed, and set priority;
128
+ custom-task authoring can create or edit an operator-authored task, add or remove
129
+ task dependencies, and link a task to a backlog item. Sprint composition can
130
+ create or rename a sprint, add backlog work as a new task, detach a task without
131
+ deleting it, and migrate a task between sprints while preserving its id and
132
+ resetting its status to `todo`.
133
+
134
+ Each confirmed action runs once against the selected repository and branch.
135
+ Poetic mints identities, applies mutations, and remains authoritative for
136
+ status, membership, capacity, integrity, and sync evidence; BB displays changed
137
+ facts only after authoritative rereads. The confirmation discloses that
138
+ Poetic's built-in managed sync may commit and push planning changes, and BB does
139
+ not suppress or replace that sync.
140
+
141
+ This surface wraps one-item finalize and single-sprint close under high consent.
142
+ It still does not defer or archive-backlog, `--force` close, run sprints, refine
143
+ items, or select providers or models. Those remaining concerns stay in their
144
+ existing Poetic-owned workflows.
145
+
146
+ ## Read and polling contract
147
+
148
+ - The planning workspace reads the versioned projection carried by
149
+ `poetic plan sprint status --json` when the panel selects a repository. It
150
+ presents Poetic's sprint, task, dependency, blocker, ownership, active-work,
151
+ and advisory sync evidence without keeping a planning mirror. Older Poetic
152
+ versions and malformed or unavailable evidence render as unavailable rather
153
+ than as an empty or healthy workspace.
154
+ - Planning state is not attached to run polling, the background service, or the
155
+ 30-second watchdog. Selecting or reopening a repository performs one fresh
156
+ planning read; when a tracked execute card first becomes terminal the panel
157
+ issues one additional `planningWorkspace` refetch. The adapter does not.
158
+ No planning poller, cache, heartbeat, or daemon is added.
159
+ - Backlog list/detail comes from `poetic plan backlog list/show --json` on each
160
+ request. No BB task store is used.
161
+ - Tracked-execution cards also come from that item-specific, kind-tagged
162
+ operational readback. Branch, workflow, commit, verification, PR, blocker,
163
+ and finalization evidence is rendered only when Poetic publishes it.
164
+ - Fusion's versioned `poetic.run.started` line supplies the run ID. The plugin
165
+ never guesses it from directories or prose.
166
+ - BB's background service owns the authoritative cadence: it polls
167
+ `poetic fusion results <run-id> --json` server-side every 2.5 seconds while any
168
+ run is non-terminal, and every 30 seconds otherwise. The response carries
169
+ `RunSnapshotV1` and Poetic's deterministic `runProgressV1` projection. A
170
+ repository is polled only while a panel has asked about it in the last five
171
+ minutes; the service's own reads do not extend that window.
172
+ - The frontend keeps connection/watchdog behavior only. It refetches on an
173
+ ephemeral realtime signal, after the shared connection returns from
174
+ `reconnecting`, and on a 30-second watchdog floor.
175
+ - Realtime is ephemeral invalidation, not Poetic run-event authority. The signal
176
+ names the repository to refetch plus advisory counts; it carries no status,
177
+ phase, progress, verdict, or evidence, and it is published only after the
178
+ server's authoritative read completes. A dropped signal costs a refresh, never
179
+ correctness.
180
+ - The same response optionally carries Poetic's read-only `judgeOperationsV1`
181
+ projection, which the card renders as the judge operations cockpit (see below).
182
+ - Operation handles are bounded, plugin-process-local startup supervision. Run
183
+ state remains inspectable through the standalone command shown on each card.
184
+ - Evidence entries retain the run ID and canonical repository so commits,
185
+ branches, changed files, verification, synthesis, and artifacts cannot cross
186
+ between concurrent cards.
187
+
188
+ ## Judge operations cockpit
189
+
190
+ Poetic decides every judge outcome; the cockpit only presents what Poetic already
191
+ recorded. A competition launched from a reviewed backlog item or adopted by entering
192
+ a known run ID reuses the existing run-card polling path. BB persists no run state,
193
+ and the standalone authority remains `poetic compete results <run-id> --json`. It adds
194
+ no polling mechanism, persistence, command, or gate, and it never
195
+ recomputes a score, selects or overrides a winner, reruns a judge, adjudicates on
196
+ the host, or approves anything.
197
+
198
+ - The field is optional. A record that carries no `judgeOperationsV1` — including
199
+ every record written before the projection existed — renders an unavailable
200
+ cockpit, and the run card stays valid. A payload with an incompatible major
201
+ version or another run's id is rejected: unusable evidence is never presented.
202
+ - Evidence Poetic did not publish renders as an explicit `unavailable`. A published
203
+ empty list renders as `none`; the two are never conflated, and no field is
204
+ defaulted, clamped, or back-filled.
205
+ - The immutable judge winner has its own row, separate from the synthesized and
206
+ delivered artifact rows, even when all three agree. When a synthesized or
207
+ delivered artifact diverges from the winner, that divergence is disclosed and the
208
+ judge winner is left unchanged.
209
+ - Matrix escalation is presented as an escalated judge verdict with Poetic's own
210
+ escalation reasons, recorded per-profile disagreements, and human checks labelled
211
+ `blocking` or `advisory` as Poetic recorded them. It does not change which winner
212
+ the cockpit shows.
213
+ - Fusion reports `No judge by design` — a complete state, not a pending, degraded,
214
+ broken, or empty one. Fusion's synthesized and delivered artifacts are still
215
+ shown, because they are not judge concepts.
216
+ - Tracked backlog execution renders no cockpit: its kind-tagged readback carries no
217
+ judge, variant, or verdict fields at all. An unreadable observation also renders
218
+ none rather than replaying stale judge evidence.
219
+
220
+ ## Results explorer, patch preview, defaults, and setup
221
+
222
+ Poetic remains the execution and result authority. BB only presents and navigates
223
+ what Poetic already published. Competition, Fusion, and tracked backlog execution
224
+ stay kind-specific; sections, references, and standalone commands do not cross kinds.
225
+ Fusion has no Judge winner by design.
226
+
227
+ - **Results explorer** — one read-only view per run via `readResult`. It reuses
228
+ Poetic's canonical result readback and adds no winner, score, or verification
229
+ recomputation. Canonical standalone commands: `poetic compete results <run-id>
230
+ --json`, `poetic fusion results <run-id> --json`, and
231
+ `poetic plan backlog show <id> --json` for tracked execution.
232
+ - **Patch preview** — bounded and patch-only. Only a freshly rebound canonical
233
+ `patch` reference may open content, and only up to a fixed byte ceiling; truncated
234
+ previews are labelled partial. Non-patch kinds, cross-run or cross-repository
235
+ identity, unsafe paths, symlinks, binaries, compressed, and missing files are
236
+ explicit refusals. There is no apply, write, or merge control.
237
+ - **Competition configured-defaults disclosure** — read-only presentation of
238
+ `poetic config resolved --compete --json` with source attribution. The existing
239
+ PBB-20 launch remains
240
+ `poetic compete --backlog-item <id> --judge ai --configured-defaults --json`;
241
+ disclosure does not change that argv.
242
+ - **Setup and configuration workspace** — read-only status for install readiness,
243
+ resolved defaults, providers, and copyable guidance. Setup, auth, and config
244
+ commands are guidance only and are never executed by BB. Deferred or unobserved
245
+ provider authentication is `unknown` / normal, not a fault or launch gate.
246
+ Canonical guidance includes `poetic --version`,
247
+ `poetic config resolved --summary --json`,
248
+ `poetic config resolved --compete --json`,
249
+ `poetic config validate --json`, `poetic provider list --json`,
250
+ `poetic init`, and `poetic provider setup --first-run` (all run outside BB).
251
+
252
+ ## Optional narrated progress
253
+
254
+ Narration is advisory and requires an active UI subscriber: `pollRuns` schedules a
255
+ model call only when a visible panel sets `narrate`. The background service polls
256
+ with narration off, so the authoritative cadence never issues a model call on its
257
+ own. An already-cached fresh narration still renders, because it costs nothing.
258
+
259
+ Narration is disabled by default. Enable it in user or project
260
+ `poetic.config.jsonc` with an explicit provider; omit `model` to use that
261
+ provider CLI's configured default:
262
+
263
+ ```jsonc
264
+ {
265
+ "progressNarration": {
266
+ "enabled": true,
267
+ "provider": "codex",
268
+ "minIntervalMs": 15000,
269
+ "maxAgeMs": 60000,
270
+ },
271
+ }
272
+ ```
273
+
274
+ Poetic publishes only a bounded structured-facts envelope alongside
275
+ `runProgressV1`. The plugin invokes the existing `poetic ask --json` surface,
276
+ so it reuses Poetic's provider resolution and the installed CLI's native
277
+ authentication. One request covers all active variants for a run. The plugin
278
+ coalesces overlapping polls, rate-limits requests, keeps its cache in memory,
279
+ and immediately falls back to the deterministic progress line when narration
280
+ is disabled, stale, invalid, terminal, or unavailable. Narration and its
281
+ advisory latency never change run state, cancellation, judging, verification,
282
+ or result evidence.
283
+
284
+ ## Cancel and reconnect
285
+
286
+ The launch and cancel controls are plugin RPC actions over Poetic's existing behavior. They add
287
+ no public Poetic command, scheduler, retry path, or persistence mechanism.
288
+
289
+ - `cancelRun` names exactly one operation. It sends the same interrupt a
290
+ standalone operator would to the exact process this plugin launched. For
291
+ Fusion it also runs `poetic processes --kill <run-id> --force` for anything
292
+ Poetic spawned for that run. Sibling runs are untouched.
293
+ - A cancelled card reports `cancelRequested`, but its status and terminal flag
294
+ stay whatever Poetic reports. The plugin never asserts a terminal state Poetic
295
+ has not confirmed. Runs that already reached a final state, unknown
296
+ operations, and operations from another repository are refused explicitly.
297
+ - What could not be cancelled is reported verbatim on the card: an unsignalable
298
+ process, a Poetic cancel command that failed, Poetic reporting no live
299
+ processes for the run, or cancellation requested before a run ID existed.
300
+ - `pollRuns` with no `operationIds` is the reconnect path. It combines bounded
301
+ plugin-local history with task IDs from `poetic processes --json`, accepting a
302
+ discovered ID only when its Fusion snapshot belongs to the selected repository.
303
+ Cards are merged without duplication. `Refresh runs` triggers the same poll.
304
+ - Fusion registers its top-level CLI process under the authoritative run ID before
305
+ publishing the run-start envelope and refreshes that entry for the active
306
+ lifecycle. A fresh adapter therefore re-adopts active queued, provider, and
307
+ synthesis work without importing Poetic internals or keeping a second ledger.
308
+
309
+ ### Duplicate-launch refusal
310
+
311
+ `plan backlog show --json` carries Poetic's kind-tagged tracked-execution
312
+ readback. BB admits at most one tracked launch per repository checkout; the
313
+ reservation is repository-scoped, while Fusion and other repositories remain
314
+ independent. A launch is also refused while readback proves an active execution:
315
+ a non-terminal, non-stale record whose status is `running` or `queued` **and**
316
+ whose recorded process Poetic observed `alive`. Everything weaker
317
+ allows the launch — `gone`, `unobserved`, `stale`, `unknown`, and a missing record
318
+ are not evidence of activity, and `.poetic/provenance` is local-only, so absence
319
+ never proves nothing is running. The evidence is read fresh on every request and
320
+ is never stored in BB, so BB state can neither manufacture a block nor grant
321
+ permission.
322
+
323
+ ### Bounded reference index (BB-launched history only)
324
+
325
+ Runs this plugin launched get one bounded BB KV row holding **discovery identity
326
+ only**: repository, kind, run id, backlog item id, operation id, and launch time.
327
+ There is deliberately no status, progress, phase, terminal verdict, provider
328
+ output, evidence, or Git result, so a stale reference cannot override Poetic's
329
+ readback — every card is rehydrated from Poetic. The index caps at 50 references
330
+ (oldest launches evicted) and expires entries after 7 days; unparsable,
331
+ foreign-schema, and expired rows are deleted on read. It is BB-launched history,
332
+ not a run ledger or a second store.
333
+
334
+ ### Loss of the local process handle (safe, not seamless)
335
+
336
+ Fusion is launched as a plain child of the BB server process with
337
+ `stdio: ['ignore', 'pipe', 'pipe']` — not detached, and not `unref`ed. This slice
338
+ does not promise restart recovery; it promises safe behavior when the handle is
339
+ gone.
340
+
341
+ - Reloading the BB **panel** keeps runs alive and reconnects to them; operation
342
+ handles live in the plugin's server-side adapter, not in the web view.
343
+ - Restarting the BB **server** or reloading the plugin ends the plugin's direct
344
+ child supervision. Cards then report `processHandle: 'lost'` and disclose it in
345
+ plain text. A fresh adapter re-reads Poetic — from its process registry and from
346
+ the bounded reference index — and reports a supported terminal or live state, or
347
+ an honest, non-cancellable `unknown`. The identity remains visible so a later
348
+ Poetic read can recover it without restarting or reconstructing the run.
349
+ - Nothing is automatically restarted, resumed, replayed, or reconstructed. There
350
+ is no daemon, event journal, general crash-recovery subsystem, or
351
+ machine-reboot guarantee.
352
+ - Cancellation requires `controlEvidence`: either a `local-process` handle this
353
+ plugin still owns, or a `poetic-live-process` — a healthy top-level Fusion
354
+ process Poetic reports for that run in that repository. With neither, the
355
+ control is disabled and the RPC refuses, rather than claiming control the
356
+ plugin does not have. Live-process evidence is recomputed on every reconnect, so
357
+ a run that leaves the registry loses cancellability.
358
+
359
+ A public Poetic API family, remote repositories, retry/relaunch, seamless process
360
+ reattachment, live-output restoration, live provider-session steering, and
361
+ imperative artifact opening are not part of this slice. Optional enablement is
362
+ available via `poetic provider setup --bb`.
@@ -0,0 +1,341 @@
1
+ .poetic-workbench {
2
+ display: grid;
3
+ grid-template-rows: auto auto minmax(0, 1fr);
4
+ height: 100%;
5
+ min-width: 0;
6
+ color: var(--foreground);
7
+ background: var(--background);
8
+ }
9
+
10
+ .poetic-content {
11
+ display: grid;
12
+ grid-template-rows: auto minmax(0, 1fr);
13
+ min-height: 0;
14
+ overflow: hidden;
15
+ }
16
+
17
+ .poetic-chrome {
18
+ display: grid;
19
+ gap: 10px;
20
+ padding: 12px 16px;
21
+ border-bottom: 1px solid var(--border);
22
+ background: var(--background);
23
+ }
24
+
25
+ .poetic-repository-line,
26
+ .poetic-row-meta,
27
+ .poetic-row-actions,
28
+ .poetic-inline-actions,
29
+ .poetic-summary-metrics {
30
+ display: flex;
31
+ flex-wrap: wrap;
32
+ align-items: center;
33
+ gap: 6px 12px;
34
+ }
35
+
36
+ .poetic-repository-line {
37
+ justify-content: space-between;
38
+ }
39
+
40
+ .poetic-repository-line label {
41
+ min-width: min(100%, 320px);
42
+ flex: 1;
43
+ }
44
+
45
+ .poetic-repository-line select,
46
+ .poetic-input {
47
+ width: 100%;
48
+ min-height: 34px;
49
+ padding: 6px 9px;
50
+ color: inherit;
51
+ background: var(--background);
52
+ border: 1px solid var(--border);
53
+ border-radius: 6px;
54
+ }
55
+
56
+ .poetic-nav {
57
+ display: flex;
58
+ gap: 4px;
59
+ padding: 0 16px;
60
+ overflow-x: auto;
61
+ border-bottom: 1px solid var(--border);
62
+ }
63
+
64
+ .poetic-nav button {
65
+ padding: 10px 12px 9px;
66
+ color: var(--muted-foreground);
67
+ white-space: nowrap;
68
+ background: transparent;
69
+ border: 0;
70
+ border-bottom: 2px solid transparent;
71
+ cursor: pointer;
72
+ }
73
+
74
+ .poetic-nav button[aria-current="page"] {
75
+ color: var(--foreground);
76
+ border-bottom-color: currentColor;
77
+ font-weight: 600;
78
+ }
79
+
80
+ .poetic-page {
81
+ display: grid;
82
+ gap: 12px;
83
+ min-width: 0;
84
+ padding: 16px;
85
+ overflow: auto;
86
+ align-content: start;
87
+ }
88
+
89
+ .poetic-page-header {
90
+ display: flex;
91
+ flex-wrap: wrap;
92
+ align-items: center;
93
+ justify-content: space-between;
94
+ gap: 8px;
95
+ }
96
+
97
+ .poetic-page-header h2,
98
+ .poetic-card h3,
99
+ .poetic-card p {
100
+ margin: 0;
101
+ }
102
+
103
+ .poetic-card {
104
+ display: grid;
105
+ gap: 10px;
106
+ min-width: 0;
107
+ padding: 12px;
108
+ background: var(--card, var(--background));
109
+ border: 1px solid var(--border);
110
+ border-radius: 8px;
111
+ }
112
+
113
+ .poetic-authoring-card {
114
+ max-width: 28rem;
115
+ }
116
+
117
+ .poetic-select {
118
+ display: block;
119
+ width: max-content;
120
+ min-width: 12rem;
121
+ max-width: 100%;
122
+ min-height: 34px;
123
+ margin-top: 4px;
124
+ padding: 6px 9px;
125
+ color: inherit;
126
+ background: var(--background);
127
+ border: 1px solid var(--border);
128
+ border-radius: 6px;
129
+ }
130
+
131
+ .poetic-card-muted {
132
+ background: var(--muted, var(--background));
133
+ }
134
+
135
+ .poetic-list {
136
+ display: grid;
137
+ gap: 8px;
138
+ padding: 0;
139
+ margin: 0;
140
+ list-style: none;
141
+ }
142
+
143
+ .poetic-row {
144
+ display: grid;
145
+ grid-template-columns: minmax(0, 1fr) auto;
146
+ gap: 8px 16px;
147
+ align-items: center;
148
+ min-width: 0;
149
+ padding: 10px 12px;
150
+ border: 1px solid var(--border);
151
+ border-radius: 7px;
152
+ }
153
+
154
+ .poetic-row-main {
155
+ display: grid;
156
+ gap: 5px;
157
+ min-width: 0;
158
+ }
159
+
160
+ .poetic-row-title {
161
+ overflow-wrap: anywhere;
162
+ font-weight: 600;
163
+ }
164
+
165
+ .poetic-row-meta {
166
+ color: var(--muted-foreground);
167
+ font-size: 0.82rem;
168
+ }
169
+
170
+ .poetic-button {
171
+ display: inline-flex;
172
+ min-height: 36px;
173
+ align-items: center;
174
+ justify-content: center;
175
+ gap: 8px;
176
+ padding: 6px 11px;
177
+ color: var(--foreground);
178
+ font: inherit;
179
+ font-size: 0.875rem;
180
+ font-weight: 500;
181
+ background: var(--background);
182
+ border: 1px solid var(--border);
183
+ border-radius: 6px;
184
+ cursor: pointer;
185
+ }
186
+
187
+ .poetic-button:hover:not(:disabled) {
188
+ background: var(--muted, var(--background));
189
+ }
190
+
191
+ .poetic-button:active:not(:disabled) {
192
+ transform: translateY(1px);
193
+ }
194
+
195
+ .poetic-button:focus-visible,
196
+ .poetic-nav button:focus-visible,
197
+ .poetic-input:focus-visible,
198
+ .poetic-repository-line select:focus-visible {
199
+ outline: 2px solid var(--ring, currentColor);
200
+ outline-offset: 2px;
201
+ }
202
+
203
+ .poetic-button:disabled {
204
+ cursor: not-allowed;
205
+ opacity: 0.55;
206
+ }
207
+
208
+ .poetic-button-primary {
209
+ color: var(--primary-foreground, white);
210
+ background: var(--primary, #18181b);
211
+ border-color: var(--primary, #18181b);
212
+ }
213
+
214
+ .poetic-button-primary:hover:not(:disabled) {
215
+ color: var(--primary-foreground, white);
216
+ background: var(--primary, #18181b);
217
+ opacity: 0.9;
218
+ }
219
+
220
+ .poetic-button-danger {
221
+ color: var(--destructive, #991b1b);
222
+ border-color: var(--destructive, #b91c1c);
223
+ }
224
+
225
+ .poetic-button-danger:hover:not(:disabled) {
226
+ color: var(--destructive, #991b1b);
227
+ background: color-mix(in srgb, var(--destructive, #b91c1c) 9%, transparent);
228
+ }
229
+
230
+ .poetic-button-danger-confirm {
231
+ color: var(--destructive-foreground, white);
232
+ background: var(--destructive, #b91c1c);
233
+ border-color: var(--destructive, #b91c1c);
234
+ }
235
+
236
+ .poetic-button-danger-confirm:hover:not(:disabled) {
237
+ color: var(--destructive-foreground, white);
238
+ background: var(--destructive, #b91c1c);
239
+ opacity: 0.9;
240
+ }
241
+
242
+ .poetic-button-spinner {
243
+ width: 14px;
244
+ height: 14px;
245
+ border: 2px solid currentColor;
246
+ border-right-color: transparent;
247
+ border-radius: 50%;
248
+ animation: poetic-button-spin 0.8s linear infinite;
249
+ }
250
+
251
+ @keyframes poetic-button-spin {
252
+ to {
253
+ transform: rotate(360deg);
254
+ }
255
+ }
256
+
257
+ .poetic-badge {
258
+ display: inline-flex;
259
+ align-items: center;
260
+ min-height: 22px;
261
+ padding: 2px 7px;
262
+ color: var(--muted-foreground);
263
+ font-size: 0.75rem;
264
+ font-weight: 600;
265
+ line-height: 1;
266
+ background: var(--muted, transparent);
267
+ border: 1px solid var(--border);
268
+ border-radius: 999px;
269
+ }
270
+
271
+ .poetic-advisory {
272
+ color: var(--muted-foreground);
273
+ font-size: 0.84rem;
274
+ }
275
+
276
+ .poetic-details > summary {
277
+ cursor: pointer;
278
+ font-weight: 600;
279
+ }
280
+
281
+ .poetic-confirmation {
282
+ border-color: var(--warning-border, #b45309);
283
+ }
284
+
285
+ .poetic-confirmation-actions {
286
+ display: flex;
287
+ flex-wrap: wrap;
288
+ justify-content: flex-end;
289
+ gap: 8px;
290
+ }
291
+
292
+ .poetic-danger-zone {
293
+ padding-top: 10px;
294
+ border-top: 1px solid var(--border);
295
+ }
296
+
297
+ .poetic-empty {
298
+ padding: 24px;
299
+ color: var(--muted-foreground);
300
+ text-align: center;
301
+ border: 1px dashed var(--border);
302
+ border-radius: 8px;
303
+ }
304
+
305
+ @media (max-width: 720px) {
306
+ .poetic-row {
307
+ grid-template-columns: minmax(0, 1fr);
308
+ }
309
+
310
+ .poetic-row-actions,
311
+ .poetic-inline-actions {
312
+ width: 100%;
313
+ }
314
+
315
+ .poetic-row-actions .poetic-button,
316
+ .poetic-inline-actions .poetic-button,
317
+ .poetic-confirmation-actions .poetic-button {
318
+ flex: 1;
319
+ }
320
+
321
+ .poetic-confirmation-actions {
322
+ flex-direction: column;
323
+ }
324
+
325
+ .poetic-confirmation-actions .poetic-button-primary,
326
+ .poetic-confirmation-actions .poetic-button-danger-confirm {
327
+ order: -1;
328
+ }
329
+ }
330
+
331
+ @media (pointer: coarse) {
332
+ .poetic-button {
333
+ min-height: 44px;
334
+ }
335
+ }
336
+
337
+ @media (prefers-reduced-motion: reduce) {
338
+ .poetic-button-spinner {
339
+ animation-duration: 1.6s;
340
+ }
341
+ }