@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.
- package/.github/SECURITY.md +47 -0
- package/.nvmrc +1 -0
- package/.poetic/README.md +37 -0
- package/.poetic/providers/catalog.json +12051 -0
- package/.poetic/providers/pricing.json +1272 -0
- package/.poetic/providers/registry.json +3369 -0
- package/CHANGELOG.md +552 -0
- package/CODE_OF_CONDUCT.md +40 -0
- package/CONTRIBUTING.md +23 -0
- package/INSTALL.md +454 -0
- package/LICENSE +21 -0
- package/README.md +474 -0
- package/dist/BasicOptimizationCompetitionRunner-5H5TBYO4.js +153 -0
- package/dist/ExecutionTracker-UVONC4C6.js +16 -0
- package/dist/OptimizationConfig-7DFY2TST.js +17 -0
- package/dist/OptimizationEngine-JIMGP3LY.js +1597 -0
- package/dist/PromptStore-U6ZD3ZMQ.js +18 -0
- package/dist/actions-LUJPINLJ.js +322 -0
- package/dist/agent-ingest-3DJUJ7FU.js +53 -0
- package/dist/aggregator-DNCBINFO.js +12 -0
- package/dist/ai-judge-5QT5QJVU.js +156 -0
- package/dist/allowlist-grounding-RO6HKUFI.js +16 -0
- package/dist/allowlist-utils-23V7TJ3G.js +28 -0
- package/dist/anchored-turn-service-JULUCUIK.js +489 -0
- package/dist/api-transport-4TYTNLTJ.js +1087 -0
- package/dist/apply-completion-mode-AW2MOS3R.js +89 -0
- package/dist/artifact-migrator-23L45ISD.js +267 -0
- package/dist/ask-HWVV6QFR.js +135 -0
- package/dist/auth-5KEDKAPP.js +67 -0
- package/dist/auth-7TT3JINV.js +78 -0
- package/dist/auth-E6XUNZ5M.js +68 -0
- package/dist/auth-H3XDZE22.js +134 -0
- package/dist/auth-OC4E6633.js +71 -0
- package/dist/auth-S4CTX4GQ.js +44 -0
- package/dist/auth-YLH3S7EY.js +69 -0
- package/dist/auth-liveness-TDDEZY3T.js +46 -0
- package/dist/auto-optimizer-VPRWOWGU.js +80 -0
- package/dist/autoloop-cleanup-JOGKTLWA.js +109 -0
- package/dist/autoloop-evidence-gates-PCDALGVJ.js +38 -0
- package/dist/autoloop-gate-policy-Z7FVJVXV.js +175 -0
- package/dist/autoloop-helpers-2KTK43GL.js +22 -0
- package/dist/autoloop-ledger-W7QO62PX.js +96 -0
- package/dist/autoloop-ledger-subscriber-Z5RW5EIE.js +162 -0
- package/dist/autoloop-run-defaults-FERGRZGP.js +19 -0
- package/dist/autoloop-run-lock-CT2NWSV3.js +197 -0
- package/dist/autoloop-success-J2VKKBXQ.js +85 -0
- package/dist/autoloop-termination-summary-RN75F422.js +58 -0
- package/dist/autoloop-trajectory-XFIEXP5Z.js +282 -0
- package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
- package/dist/autonomous-loop-controller-PW4XVFGQ.js +4120 -0
- package/dist/backend-P3DAYRP7.js +29 -0
- package/dist/background-executor-CBN552V4.js +257 -0
- package/dist/backlog-execution-intent-U4XYPTV6.js +15 -0
- package/dist/backup-active-store-5WXG6SXT.js +17 -0
- package/dist/backup-telemetry-db-XGLXAA3N.js +254 -0
- package/dist/basic-competition-master-VCSBJVRN.js +344 -0
- package/dist/branch-archive-manager-RP6FP3ZC.js +254 -0
- package/dist/branch-cleanup-manager-RSHAI7YR.js +20 -0
- package/dist/build-gate-YHGRB4QB.js +71 -0
- package/dist/change-summary-WY7J5TOX.js +33 -0
- package/dist/chunk-23A26CSN.js +123 -0
- package/dist/chunk-27UTJD3M.js +265 -0
- package/dist/chunk-2A5CILN3.js +310 -0
- package/dist/chunk-2AQUWJPW.js +225 -0
- package/dist/chunk-2BZ53J6J.js +2344 -0
- package/dist/chunk-2DY5KNVM.js +276 -0
- package/dist/chunk-2EIA4RBE.js +659 -0
- package/dist/chunk-2IUXIGQD.js +1064 -0
- package/dist/chunk-2N42MS2Z.js +2193 -0
- package/dist/chunk-2QJ3H3L7.js +42 -0
- package/dist/chunk-2QLYTVYX.js +791 -0
- package/dist/chunk-2VSQMRCB.js +18 -0
- package/dist/chunk-2XQXYBM2.js +130 -0
- package/dist/chunk-2YFUIER7.js +426 -0
- package/dist/chunk-34CNP2HB.js +148 -0
- package/dist/chunk-35P3W3JX.js +456 -0
- package/dist/chunk-36PEBZAF.js +18 -0
- package/dist/chunk-3AOKYKA7.js +22 -0
- package/dist/chunk-3BCUNHKF.js +475 -0
- package/dist/chunk-3FLXLLB7.js +26 -0
- package/dist/chunk-3FOZ2VHV.js +100 -0
- package/dist/chunk-3G6FZCRF.js +106 -0
- package/dist/chunk-3M57DADF.js +44 -0
- package/dist/chunk-3S62LLWJ.js +543 -0
- package/dist/chunk-3ZPQLGV7.js +2904 -0
- package/dist/chunk-44N5WZZH.js +45 -0
- package/dist/chunk-45FPSA3B.js +125 -0
- package/dist/chunk-4BJ3O4RQ.js +929 -0
- package/dist/chunk-4BOP7T6L.js +2321 -0
- package/dist/chunk-4BTDUT2S.js +42 -0
- package/dist/chunk-4CSS7WVI.js +143 -0
- package/dist/chunk-4CUY7AFY.js +247 -0
- package/dist/chunk-4GSN5O5J.js +62 -0
- package/dist/chunk-4HN6DF7V.js +1027 -0
- package/dist/chunk-4IAPOG5V.js +415 -0
- package/dist/chunk-4IYIZQWV.js +48 -0
- package/dist/chunk-4NXPXE62.js +84 -0
- package/dist/chunk-4RCCF5BR.js +712 -0
- package/dist/chunk-4V7NAQ4R.js +19527 -0
- package/dist/chunk-4VJITV4P.js +445 -0
- package/dist/chunk-4YX7J6QL.js +1859 -0
- package/dist/chunk-527OBWQB.js +338 -0
- package/dist/chunk-5D4A7E3D.js +448 -0
- package/dist/chunk-5DLKYTQX.js +4003 -0
- package/dist/chunk-5EERLVZB.js +139 -0
- package/dist/chunk-5H72XE4H.js +256 -0
- package/dist/chunk-5HDP7XZG.js +91 -0
- package/dist/chunk-5LAMRH4X.js +969 -0
- package/dist/chunk-5LTN43AS.js +1972 -0
- package/dist/chunk-5RBHQYDB.js +2206 -0
- package/dist/chunk-5WCQRDRB.js +588 -0
- package/dist/chunk-5WRLK5KW.js +700 -0
- package/dist/chunk-5ZCXC23G.js +595 -0
- package/dist/chunk-6BM72ZMG.js +31 -0
- package/dist/chunk-6EDAJH2I.js +68 -0
- package/dist/chunk-6EQKFDBH.js +457 -0
- package/dist/chunk-6MFRHTRI.js +115 -0
- package/dist/chunk-6TZJRKNW.js +321 -0
- package/dist/chunk-6V7HGQFZ.js +20 -0
- package/dist/chunk-6VWVO2TU.js +3746 -0
- package/dist/chunk-6Y5TWI7H.js +146 -0
- package/dist/chunk-6Y5U7UFY.js +91 -0
- package/dist/chunk-6ZLAK3XG.js +14 -0
- package/dist/chunk-72XCRQED.js +34 -0
- package/dist/chunk-72YTZMAM.js +589 -0
- package/dist/chunk-73BBJOKA.js +263 -0
- package/dist/chunk-73NCTWKL.js +188 -0
- package/dist/chunk-77I6G4CO.js +1 -0
- package/dist/chunk-7DHRDWFS.js +3104 -0
- package/dist/chunk-7DNSNKJV.js +78 -0
- package/dist/chunk-7FMJVYBS.js +307 -0
- package/dist/chunk-7GDRQBQC.js +419 -0
- package/dist/chunk-7GPCEFUV.js +270 -0
- package/dist/chunk-7IL4A2PP.js +948 -0
- package/dist/chunk-7MMLMXO6.js +3679 -0
- package/dist/chunk-7QCZSLBH.js +1 -0
- package/dist/chunk-7R2WLDOS.js +62 -0
- package/dist/chunk-7T7RUJI7.js +949 -0
- package/dist/chunk-A2WKSVX7.js +43 -0
- package/dist/chunk-A3YGID55.js +133 -0
- package/dist/chunk-A722DEVA.js +14 -0
- package/dist/chunk-ACDIT7OP.js +1376 -0
- package/dist/chunk-ACKIPAOJ.js +302 -0
- package/dist/chunk-APPNGGN7.js +365 -0
- package/dist/chunk-APV6MK5E.js +137 -0
- package/dist/chunk-ASEP3M2W.js +968 -0
- package/dist/chunk-AT4TNPWW.js +2931 -0
- package/dist/chunk-ATVKCSGT.js +250 -0
- package/dist/chunk-AURFMVCD.js +899 -0
- package/dist/chunk-AX6GWE7V.js +47 -0
- package/dist/chunk-AY5EWJPF.js +385 -0
- package/dist/chunk-BAV2HJXS.js +194 -0
- package/dist/chunk-BBHRN366.js +89 -0
- package/dist/chunk-BBPSTTPA.js +1004 -0
- package/dist/chunk-BDATUDDJ.js +992 -0
- package/dist/chunk-BKE5PG5L.js +20414 -0
- package/dist/chunk-BLPHWMDK.js +797 -0
- package/dist/chunk-BSE4R6XD.js +322 -0
- package/dist/chunk-BXGMAU4A.js +396 -0
- package/dist/chunk-BXI4NXL3.js +507 -0
- package/dist/chunk-BZU2O43F.js +1125 -0
- package/dist/chunk-C3L6YQ7P.js +147 -0
- package/dist/chunk-C57KJOUQ.js +121 -0
- package/dist/chunk-CCV7BPSY.js +118 -0
- package/dist/chunk-CD7ISXA4.js +826 -0
- package/dist/chunk-CE5OZBYY.js +21 -0
- package/dist/chunk-CFBIG37O.js +154 -0
- package/dist/chunk-CJC6GZ46.js +457 -0
- package/dist/chunk-CKCDGXIV.js +408 -0
- package/dist/chunk-CKNX3TTP.js +10338 -0
- package/dist/chunk-CLKSETWE.js +10 -0
- package/dist/chunk-CP7H3HSP.js +1552 -0
- package/dist/chunk-CPLEWXNZ.js +66 -0
- package/dist/chunk-CQM3A35X.js +844 -0
- package/dist/chunk-CS6P76D3.js +103 -0
- package/dist/chunk-CTLUBNCW.js +622 -0
- package/dist/chunk-CUSRN6RJ.js +632 -0
- package/dist/chunk-D5EP5D2W.js +26 -0
- package/dist/chunk-D5RYINO7.js +412 -0
- package/dist/chunk-DBFS4HMH.js +751 -0
- package/dist/chunk-DC4ZYMXJ.js +115 -0
- package/dist/chunk-DCBZP442.js +9243 -0
- package/dist/chunk-DCYF7EKG.js +26 -0
- package/dist/chunk-DDMAFNUK.js +5351 -0
- package/dist/chunk-DF5SLDE4.js +966 -0
- package/dist/chunk-DJFW7SMX.js +348 -0
- package/dist/chunk-DQFLLBJW.js +121 -0
- package/dist/chunk-DSFM56OA.js +1203 -0
- package/dist/chunk-DTY4APYV.js +218 -0
- package/dist/chunk-DXH5JBRS.js +437 -0
- package/dist/chunk-E3NTPHEO.js +194 -0
- package/dist/chunk-E74LUIID.js +302 -0
- package/dist/chunk-EI57M5BI.js +194 -0
- package/dist/chunk-EJ4ZAWLV.js +305 -0
- package/dist/chunk-EJGCZGUF.js +1483 -0
- package/dist/chunk-EK2U3YEG.js +486 -0
- package/dist/chunk-ELMFYNV7.js +109 -0
- package/dist/chunk-ENRGKNR5.js +25 -0
- package/dist/chunk-ETYDXCK7.js +679 -0
- package/dist/chunk-EYRH3W74.js +239 -0
- package/dist/chunk-F23DIWNN.js +1024 -0
- package/dist/chunk-F5JO7HAS.js +94 -0
- package/dist/chunk-F7ER6ANO.js +174 -0
- package/dist/chunk-FATUVIIN.js +374 -0
- package/dist/chunk-FC23CTXV.js +322 -0
- package/dist/chunk-FD4ERYEG.js +22 -0
- package/dist/chunk-FH7WOJAE.js +79 -0
- package/dist/chunk-FHOWVDF5.js +1342 -0
- package/dist/chunk-FKAUPHMR.js +96 -0
- package/dist/chunk-FONNFJXA.js +137 -0
- package/dist/chunk-FQ7FSZRW.js +75 -0
- package/dist/chunk-FRG57FPM.js +240 -0
- package/dist/chunk-FUVP64ER.js +31 -0
- package/dist/chunk-FYOILAN5.js +6818 -0
- package/dist/chunk-G35UYQ6Z.js +69 -0
- package/dist/chunk-G36W2T2S.js +1143 -0
- package/dist/chunk-G3L2L5XZ.js +49 -0
- package/dist/chunk-G4THLFV3.js +148 -0
- package/dist/chunk-GAFJEYLK.js +29 -0
- package/dist/chunk-GFGYB2ZU.js +1689 -0
- package/dist/chunk-GG6KJYW6.js +85 -0
- package/dist/chunk-GHHFDU2U.js +55 -0
- package/dist/chunk-GHTZSQB7.js +57 -0
- package/dist/chunk-GK37ILCX.js +1231 -0
- package/dist/chunk-GKN3HMN4.js +2809 -0
- package/dist/chunk-GNVDBVJP.js +156 -0
- package/dist/chunk-GPEL3FBM.js +924 -0
- package/dist/chunk-GPSNGPZS.js +1604 -0
- package/dist/chunk-GSGD5E4C.js +30 -0
- package/dist/chunk-GSUQJJXQ.js +331 -0
- package/dist/chunk-GSV226X6.js +110 -0
- package/dist/chunk-H2AYQIHW.js +224 -0
- package/dist/chunk-H66DXFS5.js +1374 -0
- package/dist/chunk-H6G7QRMQ.js +35 -0
- package/dist/chunk-H7JAGHZT.js +59 -0
- package/dist/chunk-H7ZEFECA.js +316 -0
- package/dist/chunk-HAC6EHZZ.js +79 -0
- package/dist/chunk-HIO33P3G.js +19 -0
- package/dist/chunk-HMVQIPH3.js +547 -0
- package/dist/chunk-HOYBYAOA.js +257 -0
- package/dist/chunk-HX5P3CSP.js +1784 -0
- package/dist/chunk-I46EG2XQ.js +65 -0
- package/dist/chunk-I4NPDSCB.js +279 -0
- package/dist/chunk-I5WRT7ZR.js +514 -0
- package/dist/chunk-IC7I6YIJ.js +301 -0
- package/dist/chunk-IDCSOZVN.js +78 -0
- package/dist/chunk-IFCBYECK.js +112 -0
- package/dist/chunk-IFZCPEY2.js +66 -0
- package/dist/chunk-IKFP2KUR.js +48 -0
- package/dist/chunk-IRFBN336.js +878 -0
- package/dist/chunk-IUXNGKA6.js +152 -0
- package/dist/chunk-IV2RVAN7.js +1356 -0
- package/dist/chunk-IZYIQQ7X.js +53 -0
- package/dist/chunk-J3UUR7DE.js +210 -0
- package/dist/chunk-J54VUAY2.js +566 -0
- package/dist/chunk-J62KPGII.js +464 -0
- package/dist/chunk-J6P3FWWW.js +130 -0
- package/dist/chunk-JKBHJQMT.js +434 -0
- package/dist/chunk-JLS65NUQ.js +14 -0
- package/dist/chunk-JOSYEJKY.js +141 -0
- package/dist/chunk-JPKSXKNB.js +94 -0
- package/dist/chunk-JQNJB2BB.js +2440 -0
- package/dist/chunk-JRVNSWSQ.js +2626 -0
- package/dist/chunk-JSWMRQYG.js +28 -0
- package/dist/chunk-JZKNBBIB.js +152 -0
- package/dist/chunk-K54Y7MLK.js +160 -0
- package/dist/chunk-K65546RE.js +183 -0
- package/dist/chunk-KM3F7SYE.js +702 -0
- package/dist/chunk-KNDYMVWN.js +102 -0
- package/dist/chunk-KNT72VR6.js +132 -0
- package/dist/chunk-KP6YILMU.js +482 -0
- package/dist/chunk-KQEBSK3T.js +274 -0
- package/dist/chunk-KT6VHSPF.js +84 -0
- package/dist/chunk-KTMW65UX.js +14 -0
- package/dist/chunk-KZ5CJVBP.js +1813 -0
- package/dist/chunk-L4427KOE.js +26 -0
- package/dist/chunk-L6OM4A22.js +189 -0
- package/dist/chunk-L7E6XCRA.js +1042 -0
- package/dist/chunk-L7JZLXQL.js +173 -0
- package/dist/chunk-LAMKBTXX.js +40 -0
- package/dist/chunk-LDCF2MKN.js +132 -0
- package/dist/chunk-LEIIWPWQ.js +78 -0
- package/dist/chunk-LFTQVYBB.js +31 -0
- package/dist/chunk-LG3PDRTR.js +2872 -0
- package/dist/chunk-LGHII5ET.js +23 -0
- package/dist/chunk-LH5QY22X.js +1205 -0
- package/dist/chunk-LIVJ6266.js +438 -0
- package/dist/chunk-LKRAR3IH.js +276 -0
- package/dist/chunk-LO23NABI.js +3063 -0
- package/dist/chunk-LO3X5NLS.js +326 -0
- package/dist/chunk-LPITVM7M.js +339 -0
- package/dist/chunk-LR5IJIGV.js +810 -0
- package/dist/chunk-LRGMHROI.js +79 -0
- package/dist/chunk-LUVKFFWR.js +315 -0
- package/dist/chunk-LWCBNGH6.js +35 -0
- package/dist/chunk-LWTN3WRV.js +260 -0
- package/dist/chunk-M3HQYKQX.js +308 -0
- package/dist/chunk-M6GVSPEH.js +1016 -0
- package/dist/chunk-MF5HP6XV.js +221 -0
- package/dist/chunk-MHLCBZJB.js +328 -0
- package/dist/chunk-MN6PL4AN.js +120 -0
- package/dist/chunk-MOEY65Z6.js +5678 -0
- package/dist/chunk-MQ4WA34C.js +206 -0
- package/dist/chunk-MWHF5V7U.js +223 -0
- package/dist/chunk-MWHLBPNU.js +211 -0
- package/dist/chunk-MWK5UZQ3.js +1068 -0
- package/dist/chunk-MYLH2S4G.js +64 -0
- package/dist/chunk-MZ5WYKNA.js +28 -0
- package/dist/chunk-N4VTRA7K.js +131 -0
- package/dist/chunk-N5DX4JAK.js +12 -0
- package/dist/chunk-N65O4XTH.js +5011 -0
- package/dist/chunk-NEQUQHOX.js +223 -0
- package/dist/chunk-NGK6PEOG.js +25 -0
- package/dist/chunk-NJVD4PWE.js +1033 -0
- package/dist/chunk-NM6PMYY4.js +768 -0
- package/dist/chunk-NN4PJDHP.js +708 -0
- package/dist/chunk-NP2V3L7K.js +226 -0
- package/dist/chunk-NRLY536M.js +260 -0
- package/dist/chunk-NRNE225N.js +1270 -0
- package/dist/chunk-NS2K2GTP.js +605 -0
- package/dist/chunk-NS33V3IM.js +51 -0
- package/dist/chunk-NSHASMZZ.js +71 -0
- package/dist/chunk-NWOYOA6H.js +378 -0
- package/dist/chunk-NWRUSEXG.js +322 -0
- package/dist/chunk-NZGDAWIP.js +1905 -0
- package/dist/chunk-O47UOKU3.js +395 -0
- package/dist/chunk-O4G2W3ST.js +9831 -0
- package/dist/chunk-O6V4PNLO.js +63 -0
- package/dist/chunk-OA4GPILI.js +624 -0
- package/dist/chunk-OGMSYL6J.js +227 -0
- package/dist/chunk-OIS7J26S.js +319 -0
- package/dist/chunk-OMX5VL43.js +79 -0
- package/dist/chunk-ON3G73BU.js +264 -0
- package/dist/chunk-OPYFYTWQ.js +220 -0
- package/dist/chunk-OQ6K46CK.js +1734 -0
- package/dist/chunk-OYZYO7TV.js +47 -0
- package/dist/chunk-OZ4REHIN.js +4386 -0
- package/dist/chunk-P47VN5F4.js +282 -0
- package/dist/chunk-P5I4X7A7.js +353 -0
- package/dist/chunk-P6VQROCO.js +594 -0
- package/dist/chunk-P7CQGPLS.js +30 -0
- package/dist/chunk-PCAGC5MR.js +1763 -0
- package/dist/chunk-PFTQBXS6.js +5181 -0
- package/dist/chunk-PGSPX4SU.js +15 -0
- package/dist/chunk-PIKLF7BM.js +432 -0
- package/dist/chunk-PJWJ3SAV.js +22 -0
- package/dist/chunk-PKIFMV72.js +100 -0
- package/dist/chunk-PL37JDNA.js +189 -0
- package/dist/chunk-PTH5E5XO.js +195 -0
- package/dist/chunk-PW6AXLQC.js +4128 -0
- package/dist/chunk-PYITM4N2.js +79 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q3RO7N35.js +45 -0
- package/dist/chunk-Q3WIC6GQ.js +2670 -0
- package/dist/chunk-Q5XIXSHX.js +271 -0
- package/dist/chunk-QGJDMEOV.js +34 -0
- package/dist/chunk-QNOB37UH.js +58 -0
- package/dist/chunk-QOCOVLUH.js +462 -0
- package/dist/chunk-QTCJ5CC5.js +172 -0
- package/dist/chunk-QVFV5IP2.js +232 -0
- package/dist/chunk-QVZMFDYG.js +29 -0
- package/dist/chunk-R35PEUKH.js +511 -0
- package/dist/chunk-R4UWBC35.js +200 -0
- package/dist/chunk-R6MLCREW.js +44 -0
- package/dist/chunk-R6W23LKN.js +254 -0
- package/dist/chunk-R7XDDX2A.js +4007 -0
- package/dist/chunk-RDFRCT64.js +168 -0
- package/dist/chunk-RE5VZDFQ.js +58 -0
- package/dist/chunk-RGROYC2G.js +638 -0
- package/dist/chunk-RGWHUI5E.js +68 -0
- package/dist/chunk-RHVG6UNL.js +205 -0
- package/dist/chunk-RI4EX2QE.js +18 -0
- package/dist/chunk-RJAAKDRX.js +17 -0
- package/dist/chunk-ROMHOSMQ.js +185 -0
- package/dist/chunk-RWREC3KJ.js +517 -0
- package/dist/chunk-RYNETRDJ.js +118 -0
- package/dist/chunk-RZY7RKM5.js +500 -0
- package/dist/chunk-S2MNWFAG.js +52 -0
- package/dist/chunk-S2VQCZO4.js +22 -0
- package/dist/chunk-S54MKU6V.js +117 -0
- package/dist/chunk-S5OIDFRM.js +302 -0
- package/dist/chunk-SCW4ZF6R.js +150 -0
- package/dist/chunk-SLS2N4PH.js +2213 -0
- package/dist/chunk-SNLBO4BF.js +247 -0
- package/dist/chunk-SP3LFU6B.js +60 -0
- package/dist/chunk-SQQTDDQA.js +537 -0
- package/dist/chunk-STV6LYYE.js +45 -0
- package/dist/chunk-SURZ2WFE.js +326 -0
- package/dist/chunk-SZ7DL357.js +1047 -0
- package/dist/chunk-T5E4NQCM.js +5742 -0
- package/dist/chunk-TAJPCXSB.js +13 -0
- package/dist/chunk-TAOOYK3P.js +358 -0
- package/dist/chunk-TDSEX5CF.js +24 -0
- package/dist/chunk-TFTGP7Z7.js +174 -0
- package/dist/chunk-TGON4N4O.js +197 -0
- package/dist/chunk-TGQZHDY2.js +2373 -0
- package/dist/chunk-TJJZ2OKV.js +6783 -0
- package/dist/chunk-TRSVUPCX.js +25 -0
- package/dist/chunk-TSXGRLPR.js +107 -0
- package/dist/chunk-U2S3YEX3.js +224 -0
- package/dist/chunk-U45RTRGY.js +818 -0
- package/dist/chunk-U6C3VVWS.js +13 -0
- package/dist/chunk-UDMS5AD3.js +307 -0
- package/dist/chunk-UGX7GI37.js +94 -0
- package/dist/chunk-UH3JJSHK.js +1 -0
- package/dist/chunk-UHRBTZYY.js +208 -0
- package/dist/chunk-UHT2KRG5.js +193 -0
- package/dist/chunk-UI2F6DJ5.js +118 -0
- package/dist/chunk-UMAKSB4Z.js +284 -0
- package/dist/chunk-UR2IBGIM.js +521 -0
- package/dist/chunk-UUH2RVKS.js +585 -0
- package/dist/chunk-UVJ4PJDK.js +4533 -0
- package/dist/chunk-V53UG2OT.js +9924 -0
- package/dist/chunk-V72RMBM4.js +48 -0
- package/dist/chunk-VBNCKCCI.js +16 -0
- package/dist/chunk-VNSYKC25.js +24 -0
- package/dist/chunk-VPHVFK4A.js +1984 -0
- package/dist/chunk-VTLNJQ44.js +133 -0
- package/dist/chunk-VTW7HP3R.js +100 -0
- package/dist/chunk-VVGEPBPS.js +218 -0
- package/dist/chunk-VVLLL7I4.js +166 -0
- package/dist/chunk-VX3UMWB7.js +483 -0
- package/dist/chunk-VXF4Q3FW.js +20 -0
- package/dist/chunk-W3JMT2YY.js +712 -0
- package/dist/chunk-WDUORIHF.js +877 -0
- package/dist/chunk-WDVTY4U6.js +148 -0
- package/dist/chunk-WIFZCHEG.js +12566 -0
- package/dist/chunk-WIRN3F75.js +736 -0
- package/dist/chunk-WMPU2UOV.js +82 -0
- package/dist/chunk-WTOKKE2V.js +784 -0
- package/dist/chunk-WX5IRLF6.js +740 -0
- package/dist/chunk-WZ6U3O7I.js +1581 -0
- package/dist/chunk-XAONGNST.js +57 -0
- package/dist/chunk-XB5YLCLB.js +13 -0
- package/dist/chunk-XEP5NQ5Y.js +688 -0
- package/dist/chunk-XGYF2QMZ.js +351 -0
- package/dist/chunk-XHEKQENB.js +255 -0
- package/dist/chunk-XNO4FM6X.js +1124 -0
- package/dist/chunk-XPHKYHO4.js +878 -0
- package/dist/chunk-XPK2I4NC.js +405 -0
- package/dist/chunk-XPU2XADL.js +2175 -0
- package/dist/chunk-XQD2B6BB.js +507 -0
- package/dist/chunk-XT2ZQVTC.js +558 -0
- package/dist/chunk-XTXJGGUV.js +351 -0
- package/dist/chunk-XUXVDPSZ.js +50 -0
- package/dist/chunk-XV7NZL4B.js +57 -0
- package/dist/chunk-XZE4XARH.js +563 -0
- package/dist/chunk-XZYR5EDO.js +152 -0
- package/dist/chunk-Y3J4JMTU.js +61 -0
- package/dist/chunk-Y55LZN5U.js +52 -0
- package/dist/chunk-Y5VN7DMP.js +112 -0
- package/dist/chunk-Y67VAHN4.js +459 -0
- package/dist/chunk-YAXSKEUH.js +3544 -0
- package/dist/chunk-YB3JD4E6.js +975 -0
- package/dist/chunk-YESZJFK6.js +220 -0
- package/dist/chunk-YGXKOBQQ.js +292 -0
- package/dist/chunk-YMX76IOS.js +31 -0
- package/dist/chunk-YOTXESEH.js +257 -0
- package/dist/chunk-YTYIEZQY.js +119 -0
- package/dist/chunk-YVORHQ2S.js +579 -0
- package/dist/chunk-Z2CUQDAR.js +3429 -0
- package/dist/chunk-Z2KYOFHS.js +7000 -0
- package/dist/chunk-Z6PC7QX6.js +161 -0
- package/dist/chunk-ZDTGECTN.js +235 -0
- package/dist/chunk-ZIPWI2LY.js +151 -0
- package/dist/chunk-ZSKKMTQJ.js +554 -0
- package/dist/chunk-ZTT5IVPY.js +1160 -0
- package/dist/chunk-ZX65UI5W.js +78 -0
- package/dist/chunk-ZYG7GGKO.js +218 -0
- package/dist/chunk-ZZZUL4OF.js +38 -0
- package/dist/cli-utils-IXL26KJT.js +40 -0
- package/dist/cli-validation-WLXWLUJL.js +111 -0
- package/dist/commit-utils-P7CRJF5N.js +202 -0
- package/dist/compete-config-resolver-R5ULXMYH.js +76 -0
- package/dist/compete-request-62JESVET.js +364 -0
- package/dist/compete-results-QEPG6FZX.js +208 -0
- package/dist/competition-outcome-tracker-R32OOZ43.js +38 -0
- package/dist/config-JCOKXOQT.js +166 -0
- package/dist/config-audit-EL3GHXS7.js +360 -0
- package/dist/config-explain-TNILDEVJ.js +12 -0
- package/dist/config-loader-VPFPFO4B.js +38 -0
- package/dist/config-manager-7T4E2BQO.js +67 -0
- package/dist/config-validator-KKOHOW7O.js +72 -0
- package/dist/cost-YC42XUF3.js +53 -0
- package/dist/coverage-orchestrator-CISNKJC2.js +772 -0
- package/dist/coverage-scanner-YVD62MLH.js +12 -0
- package/dist/createCompetitionRunner-LJG6ZQSO.js +46 -0
- package/dist/data-migration-state-VJK64DLT.js +31 -0
- package/dist/db-migrator-XSEIOGWY.js +34 -0
- package/dist/discovery-JGYGDD25.js +25 -0
- package/dist/doctor-GJOYE7AE.js +186 -0
- package/dist/domain-analyzer-AWF3RP6E.js +29 -0
- package/dist/ensure-initialized-744DIZEZ.js +52 -0
- package/dist/entry.js +940 -0
- package/dist/environment-YS45U5ZI.js +81 -0
- package/dist/error-parser-core-PPZ36A4S.js +50 -0
- package/dist/escalation-ladder-MKTCEGSA.js +130 -0
- package/dist/evaluation-context-KV4GZNN7.js +35 -0
- package/dist/evidence-plan-resolver-GBSYSAPX.js +85 -0
- package/dist/execution-data-writer-3ODTBDLH.js +53 -0
- package/dist/execution-policy-applier-ZHD3DCF3.js +31 -0
- package/dist/execution-preflight-Z4Y64V3I.js +209 -0
- package/dist/execution-roles-R3DPPMD3.js +66 -0
- package/dist/exit-code-error-Z4SW2DVK.js +14 -0
- package/dist/external-temp-cleanup-N2RZH4QP.js +311 -0
- package/dist/factory-XBN7DFIM.js +149 -0
- package/dist/file-utils-XIVR2ZMA.js +47 -0
- package/dist/flywheel-autoloop-executor-UILGOFFK.js +249 -0
- package/dist/flywheel-competition-executor-JOBEXTRB.js +259 -0
- package/dist/flywheel-executor-6JFLA6J5.js +369 -0
- package/dist/flywheel-git-isolation-UC5NIEVU.js +48 -0
- package/dist/flywheel-manifest-5UC4VBMA.js +108 -0
- package/dist/flywheel-model-defaults-7CVKP53V.js +27 -0
- package/dist/flywheel-preflight-XEY5SHM6.js +104 -0
- package/dist/flywheel-resume-7HELH7QS.js +23 -0
- package/dist/flywheel-safety-7U7DPOAP.js +28 -0
- package/dist/flywheel-scope-decision-ZHKF6ZIN.js +11 -0
- package/dist/get-telemetry-logger-DPVWWIYY.js +73 -0
- package/dist/git-worktree-IY6V6DUO.js +18 -0
- package/dist/github-pr-manager-4LXEKJTA.js +211 -0
- package/dist/guidance-profile-config-E7XJL2VP.js +117 -0
- package/dist/guidance-profile-renderer-QK2YMAAP.js +21 -0
- package/dist/index-query-4JEUKA44.js +31 -0
- package/dist/index.js +108661 -0
- package/dist/instructions-6BURLQJC.js +64 -0
- package/dist/invoke-provider-auth-GRUYP44M.js +223 -0
- package/dist/judge-scoring.json +80 -0
- package/dist/judge-test.js +555 -0
- package/dist/lab-mode-OTWVHN63.js +39 -0
- package/dist/lab-utils-BJRFLGK4.js +23 -0
- package/dist/linux-host-class-UY4KVLFD.js +29 -0
- package/dist/llm-judge-executor-F7Z3HO77.js +133 -0
- package/dist/local-executor-CEHWE2PL.js +223 -0
- package/dist/logger-33TR6EE5.js +72 -0
- package/dist/loop-spec-XTLQAVZ7.js +191 -0
- package/dist/manager-2HJG5CLT.js +25 -0
- package/dist/matrix-prompt-builder-6UDN5X3F.js +497 -0
- package/dist/matrix-result-parser-7W35EUOV.js +15 -0
- package/dist/metadata-HQ43NDEK.js +22 -0
- package/dist/model-invocations-db-QBO4Y7WZ.js +38 -0
- package/dist/monitor-XGYBG2DW.js +72 -0
- package/dist/next-PB5ZXZKB.js +90 -0
- package/dist/next-ZBDK725T.js +69 -0
- package/dist/optimization-config-resolver-O6WKR47U.js +75 -0
- package/dist/package-3YCWIQQ5.js +10 -0
- package/dist/parallel-orchestrator-NL7YJJU2.js +297 -0
- package/dist/parallel-worker.js +279 -0
- package/dist/parse-git-status-PIAF3OTP.js +10 -0
- package/dist/path-security-ETTH6TZL.js +39 -0
- package/dist/pattern-bank-UNJR5ADV.js +15 -0
- package/dist/plan-backlog-list-fast-VAGYBV3J.js +270 -0
- package/dist/plan-backlog-show-fast-SG2CZPW3.js +406 -0
- package/dist/plan-sprint-list-fast-LURAX47V.js +162 -0
- package/dist/plan-sprint-status-fast-FJAODCHD.js +208 -0
- package/dist/plan-task-status-fast-HNYBMQI4.js +349 -0
- package/dist/plan-to-flywheel-Z4U3GWPN.js +456 -0
- package/dist/planning-backlog-3CQ5QQBQ.js +319 -0
- package/dist/poetic-root-V5DNXEAE.js +17 -0
- package/dist/preflight-OPANWMME.js +12 -0
- package/dist/process-registry-PDZJPTAS.js +27 -0
- package/dist/process-scanner-C22SYXYD.js +22 -0
- package/dist/processes-KMQUD7HY.js +29 -0
- package/dist/processes-json-fast-IBDXZ6WW.js +135 -0
- package/dist/profile-SE5EVXAP.js +149 -0
- package/dist/prompts-WZZPGWBX.js +168 -0
- package/dist/protected-branches-RNTEX7ET.js +57 -0
- package/dist/provider-aware-resource-manager-QBTZJMNP.js +18 -0
- package/dist/provider-matrix-N5X57V3Y.js +154 -0
- package/dist/provider-matrix-renderer-MZDWKKID.js +139 -0
- package/dist/provider-output-forwarding-DERID3TP.js +30 -0
- package/dist/provider-registry-J5NRBJKI.js +128 -0
- package/dist/provider-temp-cleanup-KYGLF6YU.js +14 -0
- package/dist/prune-engine-Q6E2DXBN.js +451 -0
- package/dist/quality-gate-YRHMQAEI.js +70 -0
- package/dist/quickstart-FIRLKGJI.js +62 -0
- package/dist/readiness-VZTMSG6J.js +96 -0
- package/dist/registry-YODFY77A.js +153 -0
- package/dist/repair-helpers-TTV5FEF4.js +117 -0
- package/dist/repo-root-2IGD4H7X.js +22 -0
- package/dist/resolution-engine-D6TX6FRG.js +127 -0
- package/dist/resolve-provider-cli-O2P6XZBZ.js +35 -0
- package/dist/restore-telemetry-db-BQL6DTQF.js +360 -0
- package/dist/result-streamer-WEHW476R.js +19 -0
- package/dist/routing-events-DHPUZDDF.js +27 -0
- package/dist/routing-history-store-UWCEXAP3.js +46 -0
- package/dist/routing-planner-F5WQEUOM.js +160 -0
- package/dist/run-poetic-tui-J6LWRJUP.js +13517 -0
- package/dist/run-simulation.js +376 -0
- package/dist/runner-CS2TNGHA.js +1092 -0
- package/dist/runner-HHH7ZN2Z.js +1571 -0
- package/dist/safety-OCC4KJJR.js +64 -0
- package/dist/safety-stanza-7SV3HGG3.js +60 -0
- package/dist/sandbox-32QXJEMV.js +81 -0
- package/dist/sandbox-RSO7VP6V.js +94 -0
- package/dist/schema-extensions.sql +234 -0
- package/dist/security-2KI5XNDG.js +17 -0
- package/dist/setup-bb-plugin-QAQWZCV5.js +738 -0
- package/dist/setup-claude-code-P7BTTSPO.js +317 -0
- package/dist/setup-temp-cleanup-GASCWZ2I.js +20 -0
- package/dist/shared-utils-D6U6UREP.js +37 -0
- package/dist/simple-artifact-goal-OTXNGZY6.js +25 -0
- package/dist/sprint-UIXPYOXQ.js +338 -0
- package/dist/sprint-bridge-4BHMSC3M.js +68 -0
- package/dist/sprint-execution-service-2B7WHL5L.js +311 -0
- package/dist/sprint-manager-IDQUDNQI.js +91 -0
- package/dist/sqlite-wrapper-UDWCTNLJ.js +17 -0
- package/dist/stale-cleanup-orchestrator-XWXV7KCZ.js +62 -0
- package/dist/storage-access-F6ALDN4S.js +22 -0
- package/dist/synthesis-XD6EDVHF.js +185 -0
- package/dist/task-classifier-LNLXSHOM.js +494 -0
- package/dist/task-list-fast-PTMA4LUC.js +147 -0
- package/dist/task-manager-XAT7GOWB.js +93 -0
- package/dist/task-splitter-U7DJ7W6A.js +79 -0
- package/dist/task-type-detector-OLVOMXZO.js +21 -0
- package/dist/task-type-resolver-KKNQYSB4.js +42 -0
- package/dist/telemetry-5HWBBXLX.js +131 -0
- package/dist/telemetry-health-tracker-DMSSGBZ2.js +11 -0
- package/dist/telemetry-path-resolver-7ICSG276.js +28 -0
- package/dist/telemetry-reliability-XUOZNZZ6.js +125 -0
- package/dist/token-estimator-MEQUL3EJ.js +37 -0
- package/dist/transports-KNSSV2V4.js +255 -0
- package/dist/unified-cost-tracker-4TFRBVPR.js +35 -0
- package/dist/unified-state-cleanup-LJPF2BOW.js +276 -0
- package/dist/universal-cost-calculator-BAJV35GA.js +42 -0
- package/dist/user-agents-GHUGCSKN.js +22 -0
- package/dist/variant-delivery-state-KLRNG6XA.js +33 -0
- package/dist/variant-state-cleanup-MZGGLQAJ.js +280 -0
- package/dist/variant-success-PJXWE3ZV.js +12 -0
- package/dist/variant-worker-KUWKBLAH.js +4196 -0
- package/dist/variant-worker.js +24 -0
- package/dist/variants-JE2FSAQS.js +233 -0
- package/dist/verification-toolchains-V24UHW6Q.js +28 -0
- package/dist/verify-commands-H3DTCSGI.js +37 -0
- package/dist/warning-EGQGUUIO.js +12 -0
- package/dist/work-edge-RWEDWJZF.js +49 -0
- package/dist/work-item-writer-WHAVZXAY.js +19 -0
- package/dist/worker-7SA2VS2Y.js +1435 -0
- package/dist/worker.js +19 -0
- package/dist/worktree-metrics-3DFUYVYE.js +26 -0
- package/dist/writeback-VZKHYHSN.js +44 -0
- package/docs/CLI_REFERENCE.md +7042 -0
- package/docs/PROVIDER_SETUP.md +1570 -0
- package/docs/README.md +96 -0
- package/docs/TROUBLESHOOTING.md +2232 -0
- package/docs/getting-started/QUICK_START.md +294 -0
- package/docs/getting-started/README.md +188 -0
- package/docs/getting-started/SETUP.md +52 -0
- package/docs/reference/AGENT_CONTEXT.md +38 -0
- package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
- package/docs/reference/README.md +381 -0
- package/docs/reference/SECURITY.md +262 -0
- package/integrations/bb-plugin-poetic/README.md +362 -0
- package/integrations/bb-plugin-poetic/app.css +341 -0
- package/integrations/bb-plugin-poetic/app.tsx +5059 -0
- package/integrations/bb-plugin-poetic/package.json +45 -0
- package/integrations/bb-plugin-poetic/server.ts +444 -0
- package/integrations/bb-plugin-poetic/src/adapter.ts +3312 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-model.ts +150 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-schema.ts +355 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-service.ts +419 -0
- package/integrations/bb-plugin-poetic/src/backlog-authoring-view.ts +1026 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-schema.ts +122 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-service.ts +105 -0
- package/integrations/bb-plugin-poetic/src/competition-defaults-view.ts +138 -0
- package/integrations/bb-plugin-poetic/src/contract.ts +615 -0
- package/integrations/bb-plugin-poetic/src/finalize-model.ts +205 -0
- package/integrations/bb-plugin-poetic/src/finalize-schema.ts +158 -0
- package/integrations/bb-plugin-poetic/src/finalize-service.ts +382 -0
- package/integrations/bb-plugin-poetic/src/finalize-view.ts +159 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-readback.ts +303 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-schema.ts +33 -0
- package/integrations/bb-plugin-poetic/src/judge-operations-view.ts +459 -0
- package/integrations/bb-plugin-poetic/src/model.ts +1302 -0
- package/integrations/bb-plugin-poetic/src/monitor-service.ts +233 -0
- package/integrations/bb-plugin-poetic/src/panel-read-ux.ts +97 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-schema.ts +166 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-service.ts +480 -0
- package/integrations/bb-plugin-poetic/src/patch-preview-view.ts +109 -0
- package/integrations/bb-plugin-poetic/src/planning-readback.ts +204 -0
- package/integrations/bb-plugin-poetic/src/planning-service.ts +594 -0
- package/integrations/bb-plugin-poetic/src/planning-workspace-schema.ts +95 -0
- package/integrations/bb-plugin-poetic/src/planning-workspace.ts +323 -0
- package/integrations/bb-plugin-poetic/src/poll-handoff.ts +136 -0
- package/integrations/bb-plugin-poetic/src/project-target-server.ts +21 -0
- package/integrations/bb-plugin-poetic/src/project-target.ts +45 -0
- package/integrations/bb-plugin-poetic/src/reference-index.ts +192 -0
- package/integrations/bb-plugin-poetic/src/repository-schema.ts +30 -0
- package/integrations/bb-plugin-poetic/src/result-explorer-view.ts +597 -0
- package/integrations/bb-plugin-poetic/src/result-readback-model.ts +163 -0
- package/integrations/bb-plugin-poetic/src/result-readback-schema.ts +319 -0
- package/integrations/bb-plugin-poetic/src/result-readback-service.ts +333 -0
- package/integrations/bb-plugin-poetic/src/run-page-view.ts +177 -0
- package/integrations/bb-plugin-poetic/src/setup-config-schema.ts +291 -0
- package/integrations/bb-plugin-poetic/src/setup-config-service.ts +590 -0
- package/integrations/bb-plugin-poetic/src/setup-config-view.ts +413 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-model.ts +150 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-schema.ts +136 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-service.ts +341 -0
- package/integrations/bb-plugin-poetic/src/sprint-close-view.ts +116 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-model.ts +714 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-readback.ts +231 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-schema.ts +601 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-service.ts +775 -0
- package/integrations/bb-plugin-poetic/src/sprint-composition-view.ts +1221 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-model.ts +567 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-schema.ts +635 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-service.ts +842 -0
- package/integrations/bb-plugin-poetic/src/task-authoring-view.ts +1227 -0
- package/integrations/bb-plugin-poetic/src/task-detail-readback.ts +56 -0
- package/integrations/bb-plugin-poetic/src/task-detail-schema.ts +144 -0
- package/integrations/bb-plugin-poetic/src/task-navigation.ts +446 -0
- package/integrations/bb-plugin-poetic/src/workbench-route.ts +74 -0
- package/integrations/bb-plugin-poetic/tests/host-contract.test.ts +773 -0
- package/integrations/bb-plugin-poetic/tsconfig.json +18 -0
- package/integrations/bb-plugin-poetic/types/PROVENANCE.json +52 -0
- package/integrations/bb-plugin-poetic/types/bb-plugin-sdk-app.d.ts +1444 -0
- package/integrations/bb-plugin-poetic/types/bb-plugin-sdk.d.ts +13030 -0
- package/integrations/bb-plugin-poetic/vitest.host.config.ts +71 -0
- package/npm-shrinkwrap.json +4950 -0
- package/package.json +331 -0
- package/schemas/README.md +80 -0
- package/schemas/config-v1.schema.json +136 -0
- package/schemas/execution-config.schema.json +47 -0
- package/schemas/judge-scoring.schema.json +370 -0
- package/schemas/poetic.config.schema.json +2214 -0
- package/schemas/provider-config.schema.json +203 -0
- package/schemas/telemetry-config.schema.json +79 -0
- package/schemas/user-preferences.schema.json +141 -0
- package/scripts/assert-node-runtime.mjs +140 -0
- package/scripts/preflight-native.mjs +49 -0
- package/scripts/preinstall-node-check.mjs +78 -0
- package/scripts/setup-git-hooks.mjs +24 -0
- package/scripts/sync.sh +2722 -0
- package/scripts/write-node-launcher.sh +108 -0
- package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
- package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
- package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
- package/templates/.poetic/README.md +37 -0
- package/templates/.poetic/agents/README.md +296 -0
- package/templates/.poetic/agents/api-documenter.md +147 -0
- package/templates/.poetic/agents/backend-architect.md +31 -0
- package/templates/.poetic/agents/code-reviewer.md +157 -0
- package/templates/.poetic/agents/data-scientist.md +179 -0
- package/templates/.poetic/agents/database-optimizer.md +145 -0
- package/templates/.poetic/agents/debugger.md +31 -0
- package/templates/.poetic/agents/deployment-engineer.md +164 -0
- package/templates/.poetic/agents/devops-troubleshooter.md +139 -0
- package/templates/.poetic/agents/frontend-developer.md +150 -0
- package/templates/.poetic/agents/javascript-pro.md +36 -0
- package/templates/.poetic/agents/performance-engineer.md +151 -0
- package/templates/.poetic/agents/python-pro.md +137 -0
- package/templates/.poetic/agents/test-automator.md +147 -0
- package/templates/.poetic/agents/typescript-pro.md +34 -0
- package/templates/.poetic/config/poetic.config.jsonc +69 -0
- package/templates/.poetic/config/project-context.template.json +6 -0
- package/templates/.poetic/config/task-type-aliases.presets/kanban.yaml +14 -0
- package/templates/.poetic/config/task-type-aliases.presets/scrum.yaml +17 -0
- package/templates/.poetic/config/task-type-aliases.presets/xp.yaml +12 -0
- package/templates/.poetic/config/task-type-aliases.yaml +28 -0
- package/templates/.poetic/gitignore.template +55 -0
- package/templates/.poetic/task-types/analysis.yaml +40 -0
- package/templates/.poetic/task-types/architecture.yaml +38 -0
- package/templates/.poetic/task-types/doc.yaml +35 -0
- package/templates/.poetic/task-types/feature.yaml +23 -0
- package/templates/.poetic/task-types/general.yaml +6 -0
- package/templates/.poetic/task-types/security.yaml +39 -0
- package/templates/AGENTS.template.md +99 -0
- package/templates/CLAUDE.template.md +1 -0
- package/templates/GEMINI.template.md +1 -0
- package/templates/builtin-workflows/code-review.yaml +73 -0
- package/templates/builtin-workflows/compete-streak.yaml +78 -0
- package/templates/builtin-workflows/hello-verify.yaml +10 -0
- package/templates/builtin-workflows/judge-regression.yaml +114 -0
- package/templates/builtin-workflows/skills/code-review/SKILL.md +60 -0
- package/templates/builtin-workflows/skills/hello-verify/SKILL.md +6 -0
- package/templates/guard-kit/GUARD_SETUP.md.template +255 -0
- package/templates/guard-kit/check.mjs.template +777 -0
- package/templates/guard-kit/config.json.template +6 -0
- package/templates/guard-kit/poetic-guard.yml.template +189 -0
- package/templates/profiles/README.md +56 -0
- package/templates/profiles/frontier-claude.json +27 -0
- 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
|
+
}
|