@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
package/README.md
ADDED
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
# Poetic
|
|
2
|
+
|
|
3
|
+
Poetic is a TypeScript CLI for running AI coding work through multiple local
|
|
4
|
+
providers, comparing their results, and keeping the winning implementation
|
|
5
|
+
grounded in tests and repository policy.
|
|
6
|
+
|
|
7
|
+
[](package.json)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
## What It Does
|
|
11
|
+
|
|
12
|
+
Poetic helps with coding tasks that benefit from orchestration rather than a
|
|
13
|
+
single model response:
|
|
14
|
+
|
|
15
|
+
- Run one provider or several competing provider variants.
|
|
16
|
+
- Compare conservative, hybrid, and innovative approaches.
|
|
17
|
+
- Use an AI judge to evaluate and synthesize variants.
|
|
18
|
+
- Track cost, telemetry, and validation results locally.
|
|
19
|
+
- Coordinate project work through backlog, sprint, and task workflows.
|
|
20
|
+
|
|
21
|
+
The actively maintained provider path is local CLI execution. Historical cloud
|
|
22
|
+
execution code and telemetry fields remain for compatibility, but new workflows
|
|
23
|
+
should prefer local provider modes.
|
|
24
|
+
|
|
25
|
+
## Security Model At A Glance
|
|
26
|
+
|
|
27
|
+
Poetic runs local provider CLIs and asks them to edit your checkout. Treat those
|
|
28
|
+
providers as code-executing tools that can read repository files and any other
|
|
29
|
+
broadly-readable files their own runtime can access.
|
|
30
|
+
|
|
31
|
+
On macOS, Poetic wraps provider CLI processes in the native Seatbelt sandbox by
|
|
32
|
+
default. The sandbox is a write and persistence boundary: it restricts writes to
|
|
33
|
+
the worktree, temp/cache locations, and selected provider state directories, and
|
|
34
|
+
it blocks known sensitive credential paths. It is not a confidentiality boundary
|
|
35
|
+
or a network egress filter. Provider CLIs still have outbound network access and
|
|
36
|
+
can read files that are not explicitly denied.
|
|
37
|
+
|
|
38
|
+
Write-capable provider automation requires an accepted sandbox/policy boundary.
|
|
39
|
+
On macOS that is still Seatbelt, or an attested container / inherited outer;
|
|
40
|
+
missing those still fails closed. On Linux, host class is the write policy (not
|
|
41
|
+
a Seatbelt sandbox): isolated VM/container/cloud/CI hosts just work; Linux
|
|
42
|
+
desktops warn and require `poetic sandbox trust linux --ack-desktop` or a TTY
|
|
43
|
+
prompt. Never a Linux platform ban. Missing desktop consent fails this run with
|
|
44
|
+
`linux_desktop_consent_required`. WSL is treated as a desktop. Install,
|
|
45
|
+
readiness, orientation, telemetry, and other read-only CLI commands remain
|
|
46
|
+
available without that consent. See
|
|
47
|
+
[docs/reference/SECURITY.md](./docs/reference/SECURITY.md#runtime-security-boundaries).
|
|
48
|
+
|
|
49
|
+
That boundary does not cover project verification. Poetic's verification steps
|
|
50
|
+
run your target repository's own test, build, lint, and typecheck commands as
|
|
51
|
+
ordinary child processes with your full OS privileges. Wherever a boundary is
|
|
52
|
+
active it confines provider execution only, never these commands. Code reached
|
|
53
|
+
that way can write anywhere your user account can. Realistic exposure paths are a compromised dependency pulled into
|
|
54
|
+
the target project, or agent-authored or prompt-injected code that reaches a
|
|
55
|
+
verification script; neither requires a hostile third-party contribution. The
|
|
56
|
+
command allowlist constrains the command string (`npm test` is accepted), not
|
|
57
|
+
what the invoked script then does. Running Poetic against an unfamiliar
|
|
58
|
+
repository means running that repository's code on your machine. See
|
|
59
|
+
[Project Verification Executes Target-Repository Code](./docs/reference/SECURITY.md#project-verification-executes-target-repository-code).
|
|
60
|
+
|
|
61
|
+
## Quick Start
|
|
62
|
+
|
|
63
|
+
Requires Node.js 24.x on macOS or Linux. Native Windows is not supported; use
|
|
64
|
+
WSL2. WSL is treated as a Linux desktop. Install and read-only CLI commands
|
|
65
|
+
work on Linux without extra setup. Write-capable provider automation on Linux
|
|
66
|
+
uses host class (isolated hosts just work; desktops warn and require consent);
|
|
67
|
+
macOS still requires Seatbelt or an attested container (see
|
|
68
|
+
[Security Model At A Glance](#security-model-at-a-glance)). See
|
|
69
|
+
[INSTALL.md](INSTALL.md) for the full prerequisite list.
|
|
70
|
+
|
|
71
|
+
Install the exact release from npm:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npm install -g @poetic-ai/poetic@1.42.0
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The repository is private until the open-source switch, so authenticated users
|
|
78
|
+
can run the tagged installer through GitHub CLI:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
gh api -H 'Accept: application/vnd.github.raw+json' \
|
|
82
|
+
'repos/ebrindley/Poetic/contents/install.sh?ref=v1.42.0' \
|
|
83
|
+
| bash -s -- --version 1.42.0 --strict
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
After the repository becomes public, the floating one-liner is:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
curl -fsSL https://raw.githubusercontent.com/ebrindley/Poetic/main/install.sh | bash
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Contributors can build from the public source repository as described in
|
|
93
|
+
[INSTALL.md](INSTALL.md).
|
|
94
|
+
|
|
95
|
+
Verify the install:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
poetic provider list
|
|
99
|
+
poetic doctor --all
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### For Interactive Use
|
|
103
|
+
|
|
104
|
+
Run provider setup first, then initialize the git repository you want Poetic
|
|
105
|
+
to change:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
poetic provider setup --first-run
|
|
109
|
+
cd /path/to/target-git-repo
|
|
110
|
+
poetic init
|
|
111
|
+
poetic doctor
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
`poetic init` is the full project scaffold. `poetic init quickstart` is an
|
|
115
|
+
optional readiness and safe-branch helper. `poetic init --safe-branch` creates
|
|
116
|
+
a safe branch then initializes; legacy `poetic quickstart` remains a hidden
|
|
117
|
+
compatibility path through 1.42.x.
|
|
118
|
+
|
|
119
|
+
### For Agents and Scripts
|
|
120
|
+
|
|
121
|
+
Read compact project context instead of loading README or the full command
|
|
122
|
+
reference:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
poetic context --json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
For the primary validated path, authenticate Claude or Codex first.
|
|
129
|
+
Provider release tiers are tracked in
|
|
130
|
+
[docs/reference/PROVIDER_RELEASE_TIERS.md](./docs/reference/PROVIDER_RELEASE_TIERS.md):
|
|
131
|
+
Claude and Codex are primary validated; Grok, Cursor, OpenCode, Antigravity,
|
|
132
|
+
and Pi are supported validated; Gemini, Kiro, and Copilot are experimental.
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
poetic provider setup --providers claude,codex
|
|
136
|
+
claude auth login
|
|
137
|
+
codex login
|
|
138
|
+
poetic provider list
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
In an interactive terminal, running `poetic` with no arguments opens the local
|
|
142
|
+
dashboard. In CI, pipes, and other non-interactive shells, bare `poetic` prints
|
|
143
|
+
lightweight help instead.
|
|
144
|
+
|
|
145
|
+
### First success
|
|
146
|
+
|
|
147
|
+
Start with `poetic provider setup --first-run`, then in the project repository
|
|
148
|
+
run `poetic init` and `poetic doctor`. Work from that target repository,
|
|
149
|
+
not a nested checkout. Use a safe branch (`run/*` is fine) rather than `main`.
|
|
150
|
+
`poetic init quickstart` remains an optional branch helper.
|
|
151
|
+
Prefer `poetic run` for straightforward single-provider execution. Use
|
|
152
|
+
`poetic run competition` when you want judge scores/rationale (single-variant
|
|
153
|
+
graded evaluation) or multi-variant comparative selection. The example selects
|
|
154
|
+
Claude explicitly; Codex is the peer primary path when it is the ready local
|
|
155
|
+
CLI. The configured runtime default remains whatever
|
|
156
|
+
`poetic config resolved --summary --json` reports for your project.
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# In your project repo (not on main)
|
|
160
|
+
poetic init
|
|
161
|
+
poetic doctor
|
|
162
|
+
# Optional branch helper:
|
|
163
|
+
poetic init quickstart "my task" --branch --branch-name run/my-task
|
|
164
|
+
|
|
165
|
+
# Preferred default: straightforward single-provider execution
|
|
166
|
+
poetic run "Your concrete task here"
|
|
167
|
+
# Delivery caveat: changes may stay in an isolated worktree or patch under .poetic/
|
|
168
|
+
|
|
169
|
+
# When you want judge scores/rationale (AI judging is the default)
|
|
170
|
+
poetic run competition "Your concrete task here" --variant claude:conservative
|
|
171
|
+
# Note the competition ID, then apply on a fix/* / docs/* / test/* branch:
|
|
172
|
+
poetic init quickstart "apply my task" --branch --branch-name fix/my-task
|
|
173
|
+
poetic run competition apply <competition-id>
|
|
174
|
+
|
|
175
|
+
git status # inspect repo-root changes when apply (or in-place) delivery landed
|
|
176
|
+
poetic provider list # confirm provider readiness
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
**Verify:** `poetic provider list` reports at least one ready provider. After a
|
|
180
|
+
successful `compete apply` (or an in-place run), `git status` shows the expected
|
|
181
|
+
files in the repo root. Direct `run` and judged `compete` remain **Beta** until
|
|
182
|
+
post-apply verification, judgeWinner/deliveryArtifact identity, and the end-to-end
|
|
183
|
+
judged apply path are validated.
|
|
184
|
+
|
|
185
|
+
See [docs/getting-started/QUICK_START.md](./docs/getting-started/QUICK_START.md)
|
|
186
|
+
for the full walkthrough. The supported surface contract is in
|
|
187
|
+
[docs/RELEASE_VERIFICATION.md](https://github.com/ebrindley/Poetic/blob/main/docs/RELEASE_VERIFICATION.md#supported-surface-contract).
|
|
188
|
+
|
|
189
|
+
### Source install details
|
|
190
|
+
|
|
191
|
+
Poetic is MIT-licensed open-source software. The public source repository is
|
|
192
|
+
available for source builds under the [MIT License](./LICENSE); clone, build,
|
|
193
|
+
and local link steps are in [INSTALL.md](INSTALL.md). For the installer script,
|
|
194
|
+
upgrades, and CI options, see [INSTALL.md](INSTALL.md).
|
|
195
|
+
|
|
196
|
+
Additional checks for a source setup:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
poetic d # short alias for `poetic doctor`
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Power-user pattern: executor + reviewer.** Beyond the default execute path,
|
|
203
|
+
Poetic can pair a fast executor with an independent, cross-vendor AI code
|
|
204
|
+
reviewer on every dispatched task (executor -> reviewer -> gate -> verify),
|
|
205
|
+
configured via `roles.*`. This is an advanced, instrumented pattern.
|
|
206
|
+
|
|
207
|
+
### Beta limitations
|
|
208
|
+
|
|
209
|
+
- Prefer `poetic run` for straightforward single-provider work. By default it
|
|
210
|
+
uses isolated worktrees and may leave patch artifacts under `.poetic/` rather
|
|
211
|
+
than editing your repo root. Use `poetic run competition` when you want judge
|
|
212
|
+
scores/rationale or multi-variant comparison.
|
|
213
|
+
- Single-variant `poetic run competition` with the default AI judge is graded
|
|
214
|
+
evaluation (scores and rationale). Multi-variant judged `run competition` is
|
|
215
|
+
comparative selection. Do not pass `--judge ai` unless you are overriding a
|
|
216
|
+
non-default judge choice — AI judging is already the default.
|
|
217
|
+
- Analysis-classified tasks auto-use Fusion peer synthesis. Pass `--judge ai`
|
|
218
|
+
explicitly when you want graded judge feedback instead of Fusion.
|
|
219
|
+
- `--judge off` with one variant is ungraded execution through competition
|
|
220
|
+
infrastructure. With multiple variants it is manual comparison with no
|
|
221
|
+
automatic winner (inspect, then `poetic run competition apply <id> --variant <name>`).
|
|
222
|
+
- `poetic plan approve --to-sprint --no-apply` still runs Flywheel (results
|
|
223
|
+
stay on the review branch); it is not the same as
|
|
224
|
+
`build "<intent>" --planned --no-apply`, which stops after planning without
|
|
225
|
+
sprint or workflow execution.
|
|
226
|
+
- Apply-mode pipeline commands (`run competition`, `build --planned`,
|
|
227
|
+
`sprint run`, `run`) are blocked on `main` unless you pass `--allow-main`.
|
|
228
|
+
Prefer a `run/*` execution branch, and harvest competition results onto
|
|
229
|
+
`fix/*`, `docs/*`, or `test/*` with `poetic run competition apply`.
|
|
230
|
+
- Validation-only checks from protected branches should use
|
|
231
|
+
`poetic run competition --validation-run ...`; product fixes still need a
|
|
232
|
+
separate `fix/*`, `docs/*`, or `test/*` apply branch.
|
|
233
|
+
- Cleanup commands default to dry-run. Inspect with `poetic cleanup doctor`,
|
|
234
|
+
`poetic cleanup worktrees`, or `poetic cleanup preview` before adding
|
|
235
|
+
`--execute`.
|
|
236
|
+
|
|
237
|
+
## Provider Setup
|
|
238
|
+
|
|
239
|
+
Poetic delegates to provider CLIs that you install and authenticate separately.
|
|
240
|
+
Claude and Codex are the primary validated providers for the public release.
|
|
241
|
+
Grok, Cursor, and OpenCode are supported validated providers. Antigravity and
|
|
242
|
+
Pi are also supported validated; Gemini, Kiro, and Copilot are experimental.
|
|
243
|
+
That release status does not override configured defaults: use
|
|
244
|
+
`poetic config resolved --summary --json`
|
|
245
|
+
to inspect the active execution and judge defaults. Use `poetic provider setup` for
|
|
246
|
+
guided setup, or configure only the providers you want:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
poetic provider setup --providers claude,codex
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Common provider commands:
|
|
253
|
+
|
|
254
|
+
| Provider | Setup |
|
|
255
|
+
| ----------- | ---------------------------------------------------------------------- |
|
|
256
|
+
| Claude | `claude auth login` |
|
|
257
|
+
| Codex | `npm install -g @openai/codex && codex login` |
|
|
258
|
+
| Grok | `POETIC_ALLOW_CURL_BASH=1 poetic provider setup --providers grok`, then `grok login --device-auth` (or `grok login` / `grok`); optional `XAI_API_KEY` for CI/headless |
|
|
259
|
+
| Cursor | `POETIC_ALLOW_CURL_BASH=1 poetic provider setup --providers cursor` |
|
|
260
|
+
| Gemini | `npm install -g @google/gemini-cli`, then `gemini` or `GOOGLE_API_KEY` |
|
|
261
|
+
| Copilot CLI | Run `copilot` once to complete device auth |
|
|
262
|
+
| OpenCode | `curl -fsSL https://opencode.ai/install \| bash`, then `opencode auth login` |
|
|
263
|
+
|
|
264
|
+
See [docs/PROVIDER_SETUP.md](./docs/PROVIDER_SETUP.md) for full provider notes.
|
|
265
|
+
|
|
266
|
+
## Core Commands
|
|
267
|
+
|
|
268
|
+
Beta (default path) — capture, orient, execute:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
poetic plan backlog add "Add logging to the auth service"
|
|
272
|
+
poetic plan next
|
|
273
|
+
poetic run task --backlog-item <id> # or: poetic run competition --backlog-item <id>
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
`poetic plan next` reads from `backlog/`. Add items with `poetic plan backlog add`, then
|
|
277
|
+
`poetic plan next` surfaces actionable work. Use `poetic plan backlog show <id>` to
|
|
278
|
+
inspect, `poetic plan backlog refine <id>` to fill out incomplete specs.
|
|
279
|
+
|
|
280
|
+
Concrete-task and intent-based execution, then graded/comparative
|
|
281
|
+
`run competition` when needed:
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
poetic init quickstart "my task" --branch --branch-name run/my-task
|
|
285
|
+
poetic run "Add logging to the auth service"
|
|
286
|
+
poetic build "Improve the authentication flow"
|
|
287
|
+
poetic build "Redesign authentication across services" --planned
|
|
288
|
+
# Optional: graded evaluation or multi-variant comparison (AI judge default)
|
|
289
|
+
poetic run competition "Add logging to the auth service" --variant claude:conservative
|
|
290
|
+
poetic init quickstart "apply my task" --branch --branch-name fix/my-task
|
|
291
|
+
poetic run competition apply <competition-id>
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
Operator and power commands (sprint lifecycle, plan approval, sprint run): see
|
|
295
|
+
[docs/SPRINT_PLANNING_GUIDE.md](https://github.com/ebrindley/Poetic/blob/main/docs/SPRINT_PLANNING_GUIDE.md).
|
|
296
|
+
|
|
297
|
+
```bash
|
|
298
|
+
# Operator examples
|
|
299
|
+
poetic plan backlog execute <id>
|
|
300
|
+
poetic plan sprint create --name "Sprint 1" --start 2026-01-01 --end 2026-01-14
|
|
301
|
+
poetic plan sprint close <sprint-id>
|
|
302
|
+
|
|
303
|
+
# Power / internal example
|
|
304
|
+
poetic plan sprint run
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## Choosing Providers
|
|
308
|
+
|
|
309
|
+
| Scenario | Good fit |
|
|
310
|
+
| --------------------------------- | ------------------------------------------------------- |
|
|
311
|
+
| Straightforward single-provider | Claude or Codex via `poetic run` (worktree/patch caveat) |
|
|
312
|
+
| Graded evaluation (scores/rationale) | Single-variant `poetic run competition` (AI judge default) |
|
|
313
|
+
| Comparative selection | Multi-variant `poetic run competition` with default AI judging |
|
|
314
|
+
| Supported validated providers | Grok, Cursor, OpenCode, Antigravity, Pi when local CLIs are ready |
|
|
315
|
+
| Experimental providers | Gemini, Kiro, Copilot after local setup and readiness checks |
|
|
316
|
+
| Fast local suggestions | Copilot CLI or Claude when local CLIs are ready |
|
|
317
|
+
| Cost-sensitive work | `poetic run --optimize cost` |
|
|
318
|
+
| Local-only workflows | Local CLI providers |
|
|
319
|
+
|
|
320
|
+
Provider names are literal. `opencode` is not `gemini`; `codex` is not
|
|
321
|
+
`copilot`.
|
|
322
|
+
|
|
323
|
+
## Project Workflows
|
|
324
|
+
|
|
325
|
+
Poetic can manage work queues and execution state:
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
poetic plan next
|
|
329
|
+
poetic plan task list
|
|
330
|
+
poetic plan sprint status
|
|
331
|
+
poetic run --backlog-item <id>
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Managed directories such as `backlog/`, `sprint/`, and `task/` are meant to be
|
|
335
|
+
changed through the CLI rather than by hand.
|
|
336
|
+
|
|
337
|
+
## Telemetry And Cost
|
|
338
|
+
|
|
339
|
+
Telemetry is stored locally in SQLite under `.poetic/telemetry/db/`.
|
|
340
|
+
Project state and JSONL logs live under `.poetic/telemetry/` unless global
|
|
341
|
+
telemetry or `POETIC_TELEMETRY_DB` changes the location.
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
poetic telemetry leaderboard
|
|
345
|
+
poetic telemetry prompts
|
|
346
|
+
poetic cost status
|
|
347
|
+
poetic cost compare anthropic:<model> google:<model>
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Poetic can store prompts, prompt hashes and lengths, repository paths, changed
|
|
351
|
+
file paths, provider/model/strategy metadata, output and error tails,
|
|
352
|
+
validation command output tails, token counts, cost snapshots, and retention
|
|
353
|
+
metadata. Defaults from `src/telemetry/retention-config.ts` keep JSONL logs and
|
|
354
|
+
signal files for 90 days, soft-prune SQLite rows after 180 days, use a 90-day
|
|
355
|
+
warning prune threshold, keep backups for 30 days plus 3 monthly archives, cap
|
|
356
|
+
telemetry backups at 1 GiB, and keep cleanup logs for 7 days. See
|
|
357
|
+
[docs/reference/TELEMETRY_PRIVACY.md](https://github.com/ebrindley/Poetic/blob/main/docs/reference/TELEMETRY_PRIVACY.md)
|
|
358
|
+
for disable, cleanup, and deletion commands.
|
|
359
|
+
|
|
360
|
+
Cost telemetry is informational by default. Poetic records, displays, predicts,
|
|
361
|
+
and recommends cost improvements, but it does not automatically switch providers,
|
|
362
|
+
skip work, or enforce cost caps. Cost data may inform explicit user choices, but
|
|
363
|
+
Poetic does not enforce spend limits by default.
|
|
364
|
+
|
|
365
|
+
## Validation
|
|
366
|
+
|
|
367
|
+
For local development:
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
npm run test:smoke
|
|
371
|
+
npm run typecheck
|
|
372
|
+
npm run check:esm
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
For release packaging:
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
npm pack --dry-run
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
The npm package exposes `poetic` through `dist/entry.js`; local source builds
|
|
382
|
+
install a Node 24 launcher into `~/.local/bin` (override with `POETIC_BIN_DIR`)
|
|
383
|
+
through `scripts/build-poetic.sh`, without registering the package in npm's
|
|
384
|
+
global prefix.
|
|
385
|
+
|
|
386
|
+
Node 24 is pinned in two tool-specific files: CI reads `.node-version`, while
|
|
387
|
+
local development, preinstall checks, and source builds read `.nvmrc`. Keep the
|
|
388
|
+
two values aligned with `package.json#engines`.
|
|
389
|
+
|
|
390
|
+
## Repository layout
|
|
391
|
+
|
|
392
|
+
The published npm package ships from an allowlist (`package.json#files`): compiled
|
|
393
|
+
`dist/`, schemas, templates, provider configs, and selected docs. Most of the
|
|
394
|
+
repository is development-only and never reaches an installed copy.
|
|
395
|
+
|
|
396
|
+
| Path | Ships in package? | Purpose |
|
|
397
|
+
|---|---|---|
|
|
398
|
+
| `src/` | As compiled `dist/` | Product source |
|
|
399
|
+
| `tests/` | No | Test suite |
|
|
400
|
+
| `scripts/` | Only 6 install/lifecycle scripts (`sync.sh`, `preinstall-node-check.mjs`, `assert-node-runtime.mjs`, `preflight-native.mjs`, `setup-git-hooks.mjs`, `write-node-launcher.sh`) | Dev/ops utilities (`scripts/AGENTS.md`) |
|
|
401
|
+
| `docs/` | Selected files only | Documentation |
|
|
402
|
+
|
|
403
|
+
When browsing the repo, treat `scripts/` as engineering support, not runtime surface
|
|
404
|
+
area. Benchmark suite runners and the `benchmark:` compete route have been removed from
|
|
405
|
+
Poetic; portable CLI comparison harnesses live outside this repository when needed.
|
|
406
|
+
For the class-level component map (judges, orchestrators, executors, provider adapters)
|
|
407
|
+
see [docs/reference/COMPONENT_TAXONOMY.md](https://github.com/ebrindley/Poetic/blob/main/docs/reference/COMPONENT_TAXONOMY.md).
|
|
408
|
+
|
|
409
|
+
## Documentation
|
|
410
|
+
|
|
411
|
+
| Document | Audience | Purpose |
|
|
412
|
+
| ------------------------------------------------------------------ | -------- | --------------------------------- |
|
|
413
|
+
| [docs/getting-started/QUICK_START.md](./docs/getting-started/QUICK_START.md) | New user | Setup and getting started |
|
|
414
|
+
| [docs/CLI_REFERENCE.md](./docs/CLI_REFERENCE.md) | Operator | Command reference |
|
|
415
|
+
| [docs/PROVIDER_SETUP.md](./docs/PROVIDER_SETUP.md) | New user | Provider authentication and setup |
|
|
416
|
+
| [docs/AI_JUDGE.md](https://github.com/ebrindley/Poetic/blob/main/docs/AI_JUDGE.md) | Operator | Judge behavior and analysis mode |
|
|
417
|
+
| [docs/TELEMETRY_STATE.md](https://github.com/ebrindley/Poetic/blob/main/docs/TELEMETRY_STATE.md) | Operator | Telemetry state files |
|
|
418
|
+
| [docs/INSTRUCTION_ARCHITECTURE.md](https://github.com/ebrindley/Poetic/blob/main/docs/INSTRUCTION_ARCHITECTURE.md) | Contributor | Instruction architecture overview |
|
|
419
|
+
| [docs/PARALLEL_EXECUTION.md](https://github.com/ebrindley/Poetic/blob/main/docs/PARALLEL_EXECUTION.md) | Operator | Parallel execution guide |
|
|
420
|
+
|
|
421
|
+
## Project Status
|
|
422
|
+
|
|
423
|
+
Poetic ships as v1.42. The npm package version is `1.42.0`.
|
|
424
|
+
|
|
425
|
+
The public release is **conditionally ready** for readiness, orientation, and stable
|
|
426
|
+
telemetry. Prefer `poetic run` for straightforward single-provider execution;
|
|
427
|
+
use judged `poetic run competition` for graded evaluation or comparative
|
|
428
|
+
selection. Direct `run` and judged `run competition` are **Beta** — not an
|
|
429
|
+
A-grade claim — until post-apply verification, judgeWinner/deliveryArtifact
|
|
430
|
+
identity, and the end-to-end judged apply path are validated. See the full
|
|
431
|
+
release contract in
|
|
432
|
+
[docs/RELEASE_VERIFICATION.md](https://github.com/ebrindley/Poetic/blob/main/docs/RELEASE_VERIFICATION.md#supported-surface-contract)
|
|
433
|
+
and tier labels in [docs/CLI_REFERENCE.md](./docs/CLI_REFERENCE.md#support-tiers-and-release-contract)
|
|
434
|
+
(aligned with `poetic --help`).
|
|
435
|
+
|
|
436
|
+
| Area | Tier / status |
|
|
437
|
+
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
438
|
+
| `poetic run` (straightforward single-provider) | **Beta** (isolated worktree / patch delivery caveat) |
|
|
439
|
+
| Single-variant judged `run competition` (graded evaluation) | **Beta** (AI judge default; apply with `run competition apply`) |
|
|
440
|
+
| Multi-variant judged `run competition` (comparative selection) | **Beta** (AI judge default selects a winner when judging succeeds) |
|
|
441
|
+
| `--judge off` (single or multi) | **Beta** (ungraded competition infra / manual comparison; no automatic winner when multi) |
|
|
442
|
+
| Readiness (`provider list`, `doctor`) and orientation (`next`) | **Dependable** |
|
|
443
|
+
| Telemetry and cost tracking | **Dependable** (stable) |
|
|
444
|
+
| Core orchestration (`fast`, `best`, `cheap`) | Beta |
|
|
445
|
+
| `poetic build` (intent execution, including `--planned`) | **Beta** canonical intent front door |
|
|
446
|
+
| Configured default provider / judge | Resolved from project config; currently expected to be Claude unless product defaults change |
|
|
447
|
+
| Providers: Claude, Codex | Primary validated |
|
|
448
|
+
| Providers: Grok, Cursor, OpenCode, Antigravity, Pi | Supported validated |
|
|
449
|
+
| Providers: Gemini, Copilot CLI, Kiro | Experimental |
|
|
450
|
+
| GLM models | Available through OpenCode, not a standalone provider |
|
|
451
|
+
| AI Judge and synthesis | Beta; heuristic fallback validated, clean judge success depends on configured judge provider |
|
|
452
|
+
| Sprint, backlog operator CLI | Advanced (under `plan …`) |
|
|
453
|
+
| `plan approve`, `planning-checkpoint`, `plan sprint run`, `run flywheel` | Internal; pre-release for first users |
|
|
454
|
+
| `poetic swarm`, multi-agent judge, cherry-pick synthesis | Experimental |
|
|
455
|
+
| Cloud execution paths | Legacy compatibility |
|
|
456
|
+
|
|
457
|
+
## Contributing
|
|
458
|
+
|
|
459
|
+
Bug reports and feature requests are welcome through
|
|
460
|
+
[GitHub Issues](https://github.com/ebrindley/Poetic/issues). Open-ended
|
|
461
|
+
questions should go to
|
|
462
|
+
[GitHub Discussions](https://github.com/ebrindley/Poetic/discussions) once
|
|
463
|
+
Discussions are enabled.
|
|
464
|
+
|
|
465
|
+
External pull requests are not currently accepted. See
|
|
466
|
+
[CONTRIBUTING.md](./CONTRIBUTING.md) for the maintenance policy.
|
|
467
|
+
|
|
468
|
+
For security issues, use GitHub private security advisories and see
|
|
469
|
+
[docs/reference/SECURITY.md](./docs/reference/SECURITY.md#reporting-vulnerabilities).
|
|
470
|
+
Do not file vulnerabilities as public issues.
|
|
471
|
+
|
|
472
|
+
## License
|
|
473
|
+
|
|
474
|
+
Poetic is licensed under the MIT License. See [LICENSE](./LICENSE).
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import "./chunk-PZ5AY32C.js";
|
|
2
|
+
|
|
3
|
+
// src/core/optimization/runners/BasicOptimizationCompetitionRunner.ts
|
|
4
|
+
import crypto from "crypto";
|
|
5
|
+
function summarizeBasicResult(result) {
|
|
6
|
+
const variants = result.variants ?? [];
|
|
7
|
+
const total = variants.length;
|
|
8
|
+
if (total === 0) {
|
|
9
|
+
return {
|
|
10
|
+
status: "failed",
|
|
11
|
+
successRate: 0,
|
|
12
|
+
avgCompleteness: 0,
|
|
13
|
+
avgDuration: 0,
|
|
14
|
+
winnerName: null
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const successes = variants.filter((v) => v.success === true).length;
|
|
18
|
+
const successRate = successes / total;
|
|
19
|
+
const avgCompleteness = variants.reduce(
|
|
20
|
+
(acc, v) => acc + (typeof v.completeness === "number" ? v.completeness : 0),
|
|
21
|
+
0
|
|
22
|
+
) / total;
|
|
23
|
+
const avgDuration = variants.reduce((acc, v) => acc + (typeof v.duration === "number" ? v.duration : 0), 0) / total;
|
|
24
|
+
const winnerName = result.winner ? `${result.winner.provider}${result.winner.model ? `:${result.winner.model}` : ""}` : null;
|
|
25
|
+
return {
|
|
26
|
+
status: successes > 0 ? "completed" : "failed",
|
|
27
|
+
successRate,
|
|
28
|
+
avgCompleteness,
|
|
29
|
+
avgDuration,
|
|
30
|
+
winnerName
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
var BasicOptimizationCompetitionRunner = class {
|
|
34
|
+
runBasicCompetition;
|
|
35
|
+
variants;
|
|
36
|
+
verbose;
|
|
37
|
+
workerCwd;
|
|
38
|
+
constructor(options) {
|
|
39
|
+
this.runBasicCompetition = options.runBasicCompetition;
|
|
40
|
+
this.variants = options.variants ?? [];
|
|
41
|
+
this.verbose = options.verbose ?? false;
|
|
42
|
+
this.workerCwd = options.workerCwd;
|
|
43
|
+
}
|
|
44
|
+
async run(context) {
|
|
45
|
+
const errors = [];
|
|
46
|
+
const warnings = [];
|
|
47
|
+
let candidatesCompleted = 0;
|
|
48
|
+
const candidates = context.candidates ?? [];
|
|
49
|
+
const candidatesAttempted = candidates.length;
|
|
50
|
+
for (const candidate of candidates) {
|
|
51
|
+
try {
|
|
52
|
+
const outcome = await this.runOneCandidate(context, candidate, warnings);
|
|
53
|
+
if (outcome.status === "completed") {
|
|
54
|
+
candidatesCompleted += 1;
|
|
55
|
+
} else {
|
|
56
|
+
errors.push(`candidate ${candidate.id}: all variants failed`);
|
|
57
|
+
}
|
|
58
|
+
} catch (err) {
|
|
59
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
60
|
+
errors.push(`candidate ${candidate.id}: ${message}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const allAttemptedCandidatesFailed = candidatesAttempted > 0 && candidatesCompleted === 0 && errors.length > 0;
|
|
64
|
+
return {
|
|
65
|
+
status: allAttemptedCandidatesFailed ? "failed" : "completed",
|
|
66
|
+
candidatesAttempted,
|
|
67
|
+
candidatesCompleted,
|
|
68
|
+
errors,
|
|
69
|
+
warnings
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
async runOneCandidate(context, candidate, warnings) {
|
|
73
|
+
const taskId = `${context.cycleId}_${candidate.id}`;
|
|
74
|
+
const promptContent = candidate.content;
|
|
75
|
+
const executionId = deterministicExecutionId(context.cycleId, candidate.id);
|
|
76
|
+
const tracker = context.executionTracker;
|
|
77
|
+
if (this.variants.length === 0) {
|
|
78
|
+
throw new Error("No optimization competition providers configured");
|
|
79
|
+
}
|
|
80
|
+
const existingExecution = tracker.getExecution(executionId);
|
|
81
|
+
if (existingExecution?.status === "completed") {
|
|
82
|
+
return {
|
|
83
|
+
status: "completed",
|
|
84
|
+
successRate: existingExecution.successRate ?? 0,
|
|
85
|
+
avgCompleteness: existingExecution.avgCompleteness ?? 0,
|
|
86
|
+
avgDuration: existingExecution.avgDuration ?? 0,
|
|
87
|
+
winnerName: existingExecution.winningVariantId ?? null
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
if (existingExecution?.status === "failed") {
|
|
91
|
+
throw new Error(`existing execution ${executionId} already failed`);
|
|
92
|
+
}
|
|
93
|
+
if (existingExecution?.status === "running") {
|
|
94
|
+
throw new Error(`existing execution ${executionId} is already running`);
|
|
95
|
+
}
|
|
96
|
+
const execution = await tracker.startExecution({
|
|
97
|
+
id: executionId,
|
|
98
|
+
promptId: context.promptId,
|
|
99
|
+
versionId: candidate.id,
|
|
100
|
+
executionMode: "compete",
|
|
101
|
+
variantCount: this.variants.length
|
|
102
|
+
});
|
|
103
|
+
let competitionResult;
|
|
104
|
+
try {
|
|
105
|
+
competitionResult = await this.runBasicCompetition(taskId, promptContent, this.variants, {
|
|
106
|
+
verbose: this.verbose,
|
|
107
|
+
workerCwd: this.workerCwd,
|
|
108
|
+
// Optimization consumes only variants/winner metrics; skip synthesis.
|
|
109
|
+
synthesize: false
|
|
110
|
+
});
|
|
111
|
+
} catch (error) {
|
|
112
|
+
await tracker.completeExecution(execution.id, { status: "failed" });
|
|
113
|
+
throw error;
|
|
114
|
+
}
|
|
115
|
+
const summary = summarizeBasicResult(competitionResult);
|
|
116
|
+
for (const variant of competitionResult.variants ?? []) {
|
|
117
|
+
try {
|
|
118
|
+
await tracker.recordVariant({
|
|
119
|
+
executionId: execution.id,
|
|
120
|
+
variantName: `${variant.provider}${variant.model ? `:${variant.model}` : ""}`,
|
|
121
|
+
provider: variant.provider,
|
|
122
|
+
model: variant.model,
|
|
123
|
+
success: variant.success === true,
|
|
124
|
+
completeness: variant.completeness,
|
|
125
|
+
durationSeconds: variant.duration,
|
|
126
|
+
isWinner: !!competitionResult.winner && variant.provider === competitionResult.winner.provider && (variant.model ?? null) === (competitionResult.winner.model ?? null)
|
|
127
|
+
});
|
|
128
|
+
} catch (err) {
|
|
129
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
130
|
+
const variantName = `${variant.provider}${variant.model ? `:${variant.model}` : ""}`;
|
|
131
|
+
warnings.push(
|
|
132
|
+
`candidate ${candidate.id}: failed to record variant ${variantName}: ${message}`
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
await tracker.completeExecution(execution.id, {
|
|
137
|
+
status: summary.status,
|
|
138
|
+
winningVariantId: summary.winnerName ?? void 0,
|
|
139
|
+
successRate: summary.successRate,
|
|
140
|
+
avgCompleteness: summary.avgCompleteness,
|
|
141
|
+
avgDuration: summary.avgDuration
|
|
142
|
+
});
|
|
143
|
+
return summary;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
function deterministicExecutionId(cycleId, candidateVersionId) {
|
|
147
|
+
const digest = crypto.createHash("sha256").update(`${cycleId}:${candidateVersionId}`).digest("hex").slice(0, 24);
|
|
148
|
+
return `opt_exec_${digest}`;
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
BasicOptimizationCompetitionRunner
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=BasicOptimizationCompetitionRunner-5H5TBYO4.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExecutionTracker
|
|
3
|
+
} from "./chunk-U45RTRGY.js";
|
|
4
|
+
import "./chunk-QVZMFDYG.js";
|
|
5
|
+
import "./chunk-S54MKU6V.js";
|
|
6
|
+
import "./chunk-UI2F6DJ5.js";
|
|
7
|
+
import "./chunk-L7JZLXQL.js";
|
|
8
|
+
import "./chunk-IZYIQQ7X.js";
|
|
9
|
+
import "./chunk-EJGCZGUF.js";
|
|
10
|
+
import "./chunk-LPITVM7M.js";
|
|
11
|
+
import "./chunk-5DLKYTQX.js";
|
|
12
|
+
import "./chunk-PZ5AY32C.js";
|
|
13
|
+
export {
|
|
14
|
+
ExecutionTracker
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=ExecutionTracker-UVONC4C6.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
OptimizationConfigManager
|
|
3
|
+
} from "./chunk-7FMJVYBS.js";
|
|
4
|
+
import "./chunk-QVZMFDYG.js";
|
|
5
|
+
import "./chunk-S54MKU6V.js";
|
|
6
|
+
import "./chunk-2VSQMRCB.js";
|
|
7
|
+
import "./chunk-UI2F6DJ5.js";
|
|
8
|
+
import "./chunk-L7JZLXQL.js";
|
|
9
|
+
import "./chunk-IZYIQQ7X.js";
|
|
10
|
+
import "./chunk-EJGCZGUF.js";
|
|
11
|
+
import "./chunk-LPITVM7M.js";
|
|
12
|
+
import "./chunk-5DLKYTQX.js";
|
|
13
|
+
import "./chunk-PZ5AY32C.js";
|
|
14
|
+
export {
|
|
15
|
+
OptimizationConfigManager
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=OptimizationConfig-7DFY2TST.js.map
|