@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,39 @@
|
|
|
1
|
+
id: security
|
|
2
|
+
version: 1
|
|
3
|
+
extends: general
|
|
4
|
+
match:
|
|
5
|
+
priority: 20
|
|
6
|
+
keywords:
|
|
7
|
+
- security
|
|
8
|
+
- auth
|
|
9
|
+
- authentication
|
|
10
|
+
- authorization
|
|
11
|
+
- token
|
|
12
|
+
- jwt
|
|
13
|
+
- oauth
|
|
14
|
+
- csrf
|
|
15
|
+
- xss
|
|
16
|
+
- vuln
|
|
17
|
+
- vulnerability
|
|
18
|
+
policy:
|
|
19
|
+
routing:
|
|
20
|
+
defaultStrategy: conservative
|
|
21
|
+
preferCompetition: true
|
|
22
|
+
decomposition:
|
|
23
|
+
requiredStageTypes:
|
|
24
|
+
- verify
|
|
25
|
+
maxParallelGroups: 1
|
|
26
|
+
guidance:
|
|
27
|
+
hints:
|
|
28
|
+
- Keep allowlists tight and explicit
|
|
29
|
+
- Add deterministic verify commands (tests/typecheck)
|
|
30
|
+
antiPatterns:
|
|
31
|
+
- Do not broaden allowlists to "make it work"
|
|
32
|
+
- Avoid parallel changes to auth/security surfaces
|
|
33
|
+
judging:
|
|
34
|
+
framework: hybrid
|
|
35
|
+
defaultScore: 80
|
|
36
|
+
minimumScore: 70
|
|
37
|
+
allowlist:
|
|
38
|
+
requireNonEmpty: true
|
|
39
|
+
mode: strict
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# {{PROJECT_NAME}} - AI Agent Guide
|
|
2
|
+
|
|
3
|
+
> Poetic config: `.poetic/` | Language: {{LANGUAGE}} | Framework: {{FRAMEWORK}}
|
|
4
|
+
|
|
5
|
+
## Poetic Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
poetic plan next # Show actionable work items
|
|
9
|
+
poetic plan sprint status # Current sprint progress
|
|
10
|
+
poetic plan task list # Tasks in the active sprint
|
|
11
|
+
poetic run "task description" # Run a task with the default provider
|
|
12
|
+
poetic compete "task description" # Run across providers with AI judge
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Managed Directories
|
|
16
|
+
|
|
17
|
+
Never edit these directly. They are owned by the Poetic CLI.
|
|
18
|
+
|
|
19
|
+
| Directory | Purpose |
|
|
20
|
+
|------------|---------------------------|
|
|
21
|
+
| `backlog/` | Prioritized work items |
|
|
22
|
+
| `sprint/` | Sprint plans and capacity |
|
|
23
|
+
| `task/` | Task execution artifacts |
|
|
24
|
+
|
|
25
|
+
For any operation in a managed directory:
|
|
26
|
+
|
|
27
|
+
1. Run `poetic <subcommand> --help` to see available operations.
|
|
28
|
+
2. If a CLI command covers the operation, use it.
|
|
29
|
+
3. If no CLI command covers it, stop and ask. Do not edit the file directly.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
poetic plan backlog add "description"
|
|
33
|
+
poetic plan backlog list
|
|
34
|
+
poetic plan sprint status
|
|
35
|
+
poetic plan task list
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
When `poetic plan backlog add` reports completeness warnings or leaves
|
|
39
|
+
`<<<FILL>>>` markers, finish the item with
|
|
40
|
+
`poetic plan backlog refine <id>` (or `poetic plan backlog update <id>`) before
|
|
41
|
+
moving on, unless you intend to defer it.
|
|
42
|
+
|
|
43
|
+
## Running Work Through Poetic
|
|
44
|
+
|
|
45
|
+
When the task is to execute work, invoke the Poetic pipeline rather than
|
|
46
|
+
hand-editing managed files or simulating a run yourself:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
poetic run "task description" # single provider
|
|
50
|
+
poetic compete "task description" # multiple providers + AI judge
|
|
51
|
+
poetic build --planned "intent" # plan -> sprint -> execution
|
|
52
|
+
poetic plan backlog execute <id> # canonical ship path for a backlog item
|
|
53
|
+
poetic plan backlog finalize <id> --pr <n> --commit <sha>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`poetic build --planned` and `poetic sprint run` refuse to run on a protected
|
|
57
|
+
branch (`main`/`master`) without `--allow-main`. Create a run branch first:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git checkout -b run/<short-slug>
|
|
61
|
+
poetic build --planned "intent"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Model Selection
|
|
65
|
+
|
|
66
|
+
Trust the defaults. Prefer logical variants such as `claude:conservative` over
|
|
67
|
+
pinned model versions; the resolved defaults are maintained for you.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
poetic config resolved # show the provider/model defaults in effect
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Project Context
|
|
74
|
+
|
|
75
|
+
**Language**: {{LANGUAGE}}
|
|
76
|
+
**Framework**: {{FRAMEWORK}}
|
|
77
|
+
|
|
78
|
+
Record the target project's real build, test, and contribution instructions
|
|
79
|
+
below. Keep examples specific to this repository rather than copying Poetic's
|
|
80
|
+
maintainer rules into the consumer project.
|
|
81
|
+
|
|
82
|
+
Add project-specific guidance below this line.
|
|
83
|
+
|
|
84
|
+
### Test Commands
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
{{TEST_COMMAND}}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Build Commands
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
{{BUILD_COMMAND}}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## References
|
|
97
|
+
|
|
98
|
+
- `.poetic/config/providers.yaml` - AI provider configuration
|
|
99
|
+
- `.poetic/config/poetic.config.jsonc` - Project-specific Poetic config
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@./AGENTS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@./AGENTS.md
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: code-review
|
|
2
|
+
description: Cross-provider read-only review — collects diff, runs analysis stage, verifies findings JSON
|
|
3
|
+
# Template variable: baseRef (default HEAD~1).
|
|
4
|
+
# When invoking via 'poetic review --flywheel', the CLI generates a per-run YAML with the
|
|
5
|
+
# resolved base SHA substituted into the collect-diff command before flywheel run.
|
|
6
|
+
#
|
|
7
|
+
# LOAD-BEARING LITERALS — two exact strings in this file are matched by regexes in
|
|
8
|
+
# src/cli/commands/review.ts. Changing their text or indentation shape breaks the
|
|
9
|
+
# per-run YAML generation for 'poetic review --flywheel':
|
|
10
|
+
# 1. the collect-diff git diff command -> substituteCodeReviewCollectDiff
|
|
11
|
+
# 2. the reviewer modelRole line, text AND leading whitespace shape
|
|
12
|
+
# -> injectReviewerProviderAndModel
|
|
13
|
+
# Both are marked with a LOAD-BEARING comment at their site. Those regexes match the
|
|
14
|
+
# FIRST occurrence in the file, so never repeat either literal in a comment either.
|
|
15
|
+
stages:
|
|
16
|
+
- id: collect-diff
|
|
17
|
+
name: Collect Diff
|
|
18
|
+
type: verify
|
|
19
|
+
deps: []
|
|
20
|
+
outputs:
|
|
21
|
+
"verify-stdout": text
|
|
22
|
+
verify:
|
|
23
|
+
commands:
|
|
24
|
+
# LOAD-BEARING: exact text matched by substituteCodeReviewCollectDiff
|
|
25
|
+
# (src/cli/commands/review.ts). Do not reword.
|
|
26
|
+
- git diff --unified=3 HEAD~1...HEAD
|
|
27
|
+
|
|
28
|
+
- id: review
|
|
29
|
+
name: Code Review
|
|
30
|
+
type: standard
|
|
31
|
+
deps: [collect-diff]
|
|
32
|
+
inputs:
|
|
33
|
+
- collect-diff.verify-stdout
|
|
34
|
+
promptRef:
|
|
35
|
+
id: code-review
|
|
36
|
+
capabilities:
|
|
37
|
+
modifiesFiles: false
|
|
38
|
+
executionIntent: analysis
|
|
39
|
+
# LOAD-BEARING: injectReviewerProviderAndModel (src/cli/commands/review.ts)
|
|
40
|
+
# matches this line's exact text and leading-whitespace shape to insert
|
|
41
|
+
# provider/model above it. Do not reword or reindent.
|
|
42
|
+
modelRole: reviewer
|
|
43
|
+
outputs:
|
|
44
|
+
findings: text
|
|
45
|
+
|
|
46
|
+
- id: verify-findings
|
|
47
|
+
name: Verify Findings JSON
|
|
48
|
+
type: verify
|
|
49
|
+
deps: [review]
|
|
50
|
+
inputs:
|
|
51
|
+
- review.findings
|
|
52
|
+
# This gate is this workflow's ONLY validation when it runs via
|
|
53
|
+
# 'poetic flywheel run code-review' (nothing downstream parses the artifact),
|
|
54
|
+
# so it validates against the authoritative contract directly rather than
|
|
55
|
+
# approximating it: 'internal findings-schema' runs agentOutputSchema from
|
|
56
|
+
# src/planning/agent-ingest.ts over the artifact, per finding.
|
|
57
|
+
#
|
|
58
|
+
# This replaced seven independent 'grep -qzE' whole-buffer scans. Because each
|
|
59
|
+
# scan was separate, together they proved only that every required field
|
|
60
|
+
# appeared SOMEWHERE in the artifact — a payload whose fields were spread
|
|
61
|
+
# across two individually invalid findings passed while agentOutputSchema
|
|
62
|
+
# rejected both. Being the same schema, this gate cannot drift from
|
|
63
|
+
# 'poetic review --flywheel', which Zod-validates the same shape downstream.
|
|
64
|
+
#
|
|
65
|
+
# An empty findings array is valid: a clean review must pass.
|
|
66
|
+
#
|
|
67
|
+
# 'poetic' resolved from PATH, NOT 'node dist/entry.js': verify commands run
|
|
68
|
+
# with the STAGE WORKTREE as cwd, where a repo-relative dist/ path does not
|
|
69
|
+
# resolve. This mirrors 'poetic internal review-gate', the existing generated
|
|
70
|
+
# gate, and is allowlisted by the same validatePoeticInternalArgv path.
|
|
71
|
+
verify:
|
|
72
|
+
commands:
|
|
73
|
+
- poetic internal findings-schema --findings .poetic-stage-inputs/review.findings.txt
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
name: compete-streak
|
|
2
|
+
description: Built-in proof — multi-judge + matrix advisory validation; verify asserts candidates evidence block
|
|
3
|
+
stages:
|
|
4
|
+
- id: compete-streak-competition
|
|
5
|
+
name: Compete Streak Competition
|
|
6
|
+
type: competition
|
|
7
|
+
deps: []
|
|
8
|
+
prompt: |
|
|
9
|
+
Analyze this repository for one concrete low-risk improvement. Do not edit files; return a concise evidence-backed recommendation grounded in files that actually exist in the current repository.
|
|
10
|
+
capabilities:
|
|
11
|
+
modifiesFiles: false
|
|
12
|
+
executionIntent: analysis
|
|
13
|
+
validation:
|
|
14
|
+
enabled: true
|
|
15
|
+
requireChanges: false
|
|
16
|
+
outputs:
|
|
17
|
+
candidates: json
|
|
18
|
+
competition:
|
|
19
|
+
# KNOWN [B7] DEVIATION (unresolved): these provider ids are hardcoded literals
|
|
20
|
+
# and are NOT config-overridable. The proof only needs TWO DISTINCT enabled
|
|
21
|
+
# providers — any two would do — but StageConfig.competition.variants[].provider
|
|
22
|
+
# (VariantSpec in src/automation/flywheel-types.ts) is a required literal string
|
|
23
|
+
# with no resolver indirection: unlike a standard stage's `provider`, it is never
|
|
24
|
+
# routed through the config resolution engine or ProviderRegistry, and no config
|
|
25
|
+
# layer can redirect it. De-pinning requires a schema change (a way to request
|
|
26
|
+
# "any N distinct enabled providers"). Same deviation as judge-regression.yaml.
|
|
27
|
+
variants:
|
|
28
|
+
- provider: opencode
|
|
29
|
+
strategy: conservative
|
|
30
|
+
- provider: claude
|
|
31
|
+
strategy: conservative
|
|
32
|
+
judgeConfig:
|
|
33
|
+
judgeRun: [ai, multi-lens]
|
|
34
|
+
judgePrimary: ai
|
|
35
|
+
matrixAuthority: advisory
|
|
36
|
+
type: ai
|
|
37
|
+
applyWinner: false
|
|
38
|
+
preserveCandidates: true
|
|
39
|
+
tieBreaker:
|
|
40
|
+
mode: prefer-first-ranked
|
|
41
|
+
|
|
42
|
+
- id: verify-compete-streak-evidence
|
|
43
|
+
name: Verify multi-judge evidence
|
|
44
|
+
type: verify
|
|
45
|
+
deps: [compete-streak-competition]
|
|
46
|
+
inputs:
|
|
47
|
+
- compete-streak-competition.candidates
|
|
48
|
+
# Assert the evidence VALUES, and do it without coupling to the serializer's
|
|
49
|
+
# pretty-print spacing. Every pattern uses -z (whole file as one buffer) plus
|
|
50
|
+
# [[:space:]]* around the colon, so a compact-JSON or indent-width change cannot
|
|
51
|
+
# turn this proof red; values are delimited so an incidental substring cannot make
|
|
52
|
+
# it pass. Previously '"variantCount": 2' hardcoded one space after the colon and
|
|
53
|
+
# would also have accepted variantCount 20, 21, ...
|
|
54
|
+
# Artifact shape: src/automation/flywheel-competition-executor.ts (candidates save).
|
|
55
|
+
#
|
|
56
|
+
# NO BACKSLASHES in these patterns: parseVerifyCommand strips backslash escapes, so
|
|
57
|
+
# a `\[` would reach grep as a bare `[` and fail with "brackets not balanced".
|
|
58
|
+
# Metacharacters use bracket expressions instead: [[] for '[', [{] for '{', [}] for '}'.
|
|
59
|
+
verify:
|
|
60
|
+
commands:
|
|
61
|
+
- 'grep -qzE ''"winner"[[:space:]]*:'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
62
|
+
# rankings is a non-empty array of objects.
|
|
63
|
+
- 'grep -qzE ''"rankings"[[:space:]]*:[[:space:]]*[[][[:space:]]*[{]'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
64
|
+
# Exactly the two configured variants ran — the trailing delimiter stops
|
|
65
|
+
# variantCount 20+ from satisfying a "2" match.
|
|
66
|
+
- 'grep -qzE ''"variantCount"[[:space:]]*:[[:space:]]*2[[:space:]]*(,|[}]|$)'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
67
|
+
- 'grep -qzE ''"multiJudgeEvidence"[[:space:]]*:'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
68
|
+
# Multi-judge evidence carries real values, not just the keys.
|
|
69
|
+
- 'grep -qzE ''"selectedJudge"[[:space:]]*:[[:space:]]*"[^"]+"'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
70
|
+
- 'grep -qzE ''"judgeRunRequested"[[:space:]]*:[[:space:]]*[[]'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
71
|
+
- 'grep -qzE ''"allJudgesAgree"[[:space:]]*:[[:space:]]*(true|false)'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
72
|
+
# matrixAuthority stayed advisory (this workflow's whole point).
|
|
73
|
+
- 'grep -qzE ''"matrixAuthority"[[:space:]]*:[[:space:]]*"advisory"'' .poetic-stage-inputs/compete-streak-competition.candidates.json'
|
|
74
|
+
|
|
75
|
+
git:
|
|
76
|
+
historyCleanup: keep-all
|
|
77
|
+
commitStrategy: each-attempt
|
|
78
|
+
skipHooksOnIntermediate: true
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# TypeScript-target demo: this built-in proof workflow writes a TypeScript file
|
|
2
|
+
# (tests/flywheel-demo/judge-regression-retry.ts) into the repo it runs in.
|
|
3
|
+
# Run it only against a JavaScript/TypeScript target (or a disposable repo).
|
|
4
|
+
#
|
|
5
|
+
# Scope: this is a self-contained JUDGE proof, not target-facing verification logic.
|
|
6
|
+
# What it proves is that the default AI judge is invoked and emits the candidates
|
|
7
|
+
# evidence contract asserted below; the TypeScript file it asks for is only the
|
|
8
|
+
# workload that gives the judge two candidates to rank. It runs no target-project
|
|
9
|
+
# toolchain command (no package manager, compiler, or test runner), so it does not
|
|
10
|
+
# infer or hardcode the target's tooling. The .ts path is intentionally fixed —
|
|
11
|
+
# parameterizing the language would make the workload, and therefore the judge
|
|
12
|
+
# comparison, non-reproducible across runs without making the proof any broader.
|
|
13
|
+
# Prefer a disposable repo; the single file it writes is confined to the allowlist.
|
|
14
|
+
name: judge-regression
|
|
15
|
+
description: Built-in proof — default AI judge invocation; verify asserts candidates artifact contract
|
|
16
|
+
stages:
|
|
17
|
+
- id: competition-judge-regression
|
|
18
|
+
name: Judge Regression Competition
|
|
19
|
+
type: competition
|
|
20
|
+
deps: []
|
|
21
|
+
prompt: |
|
|
22
|
+
Implement an exponential backoff retry utility with the following requirements:
|
|
23
|
+
|
|
24
|
+
FILE: tests/flywheel-demo/judge-regression-retry.ts (new)
|
|
25
|
+
|
|
26
|
+
Requirements:
|
|
27
|
+
1. Export a function `retry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>`
|
|
28
|
+
2. Export interface `RetryOptions` with:
|
|
29
|
+
- maxAttempts: number (default: 3)
|
|
30
|
+
- initialDelayMs: number (default: 100)
|
|
31
|
+
- maxDelayMs: number (default: 5000)
|
|
32
|
+
- backoffMultiplier: number (default: 2)
|
|
33
|
+
- jitter: boolean (default: true)
|
|
34
|
+
3. Implement exponential backoff: delay = min(initialDelay * (multiplier ^ attempt), maxDelay)
|
|
35
|
+
4. Add jitter: when enabled, randomize delay ±25%
|
|
36
|
+
5. Include in-code comments explaining the backoff formula
|
|
37
|
+
6. Handle edge cases:
|
|
38
|
+
- maxAttempts = 0 should throw immediately without retrying
|
|
39
|
+
- Negative delays should be treated as 0
|
|
40
|
+
- Should preserve the original error if all retries fail
|
|
41
|
+
capabilities:
|
|
42
|
+
modifiesFiles: true
|
|
43
|
+
executionIntent: edit
|
|
44
|
+
validation:
|
|
45
|
+
enabled: true
|
|
46
|
+
requireChanges: true
|
|
47
|
+
checks:
|
|
48
|
+
- type: file-exists
|
|
49
|
+
path: tests/flywheel-demo/judge-regression-retry.ts
|
|
50
|
+
- type: file-contains
|
|
51
|
+
path: tests/flywheel-demo/judge-regression-retry.ts
|
|
52
|
+
content: export function retry
|
|
53
|
+
- type: file-contains
|
|
54
|
+
path: tests/flywheel-demo/judge-regression-retry.ts
|
|
55
|
+
content: RetryOptions
|
|
56
|
+
allowlist:
|
|
57
|
+
- tests/flywheel-demo/judge-regression-retry.ts
|
|
58
|
+
outputs:
|
|
59
|
+
candidates: json
|
|
60
|
+
competition:
|
|
61
|
+
# KNOWN [B7] DEVIATION (unresolved): these provider ids are hardcoded literals
|
|
62
|
+
# and are NOT config-overridable. The proof only needs TWO DISTINCT enabled
|
|
63
|
+
# providers — any two would do — but StageConfig.competition.variants[].provider
|
|
64
|
+
# (VariantSpec in src/automation/flywheel-types.ts) is a required literal string
|
|
65
|
+
# with no resolver indirection: unlike a standard stage's `provider`, it is never
|
|
66
|
+
# routed through the config resolution engine or ProviderRegistry, and no config
|
|
67
|
+
# layer can redirect it. Omitting or emptying it passes validateWorkflowConfig
|
|
68
|
+
# and then fails deeper with an unhelpful error, so the literals are the only
|
|
69
|
+
# currently expressible form. De-pinning requires a schema change (a way to
|
|
70
|
+
# request "any N distinct enabled providers"); until then this is disclosed
|
|
71
|
+
# rather than hidden.
|
|
72
|
+
variants:
|
|
73
|
+
- provider: claude
|
|
74
|
+
strategy: conservative
|
|
75
|
+
- provider: gemini
|
|
76
|
+
strategy: innovative
|
|
77
|
+
judgeConfig:
|
|
78
|
+
type: multi-lens
|
|
79
|
+
applyWinner: true
|
|
80
|
+
preserveCandidates: true
|
|
81
|
+
tieBreaker:
|
|
82
|
+
mode: prefer-first-ranked
|
|
83
|
+
|
|
84
|
+
- id: verify-judge-evidence
|
|
85
|
+
name: Verify judge evidence artifact
|
|
86
|
+
type: verify
|
|
87
|
+
deps: [competition-judge-regression]
|
|
88
|
+
inputs:
|
|
89
|
+
- competition-judge-regression.candidates
|
|
90
|
+
# Assert the judge evidence VALUES, not just that the keys exist. Each pattern is
|
|
91
|
+
# whitespace-tolerant (-z reads the file as one buffer, [[:space:]]* absorbs the
|
|
92
|
+
# serializer's indent) so a JSON formatting change cannot turn this proof red, and
|
|
93
|
+
# each value is delimited so an incidental substring cannot make it pass —
|
|
94
|
+
# 'grep -q ai-judge' used to match "not-ai-judge" and any other occurrence.
|
|
95
|
+
# Artifact shape: src/automation/flywheel-competition-executor.ts (candidates save).
|
|
96
|
+
#
|
|
97
|
+
# NO BACKSLASHES in these patterns: parseVerifyCommand strips backslash escapes, so
|
|
98
|
+
# a `\[` would reach grep as a bare `[` and fail with "brackets not balanced".
|
|
99
|
+
# Metacharacters use bracket expressions instead: [[] for '[', [{] for '{', [}] for '}'.
|
|
100
|
+
verify:
|
|
101
|
+
commands:
|
|
102
|
+
# The AI judge actually ran (not merely that the key is present).
|
|
103
|
+
- 'grep -qzE ''"aiJudgeInvoked"[[:space:]]*:[[:space:]]*true'' .poetic-stage-inputs/competition-judge-regression.candidates.json'
|
|
104
|
+
# ...and it, not the deterministic path, decided the ranking.
|
|
105
|
+
- 'grep -qzE ''"scoringMode"[[:space:]]*:[[:space:]]*"ai-judge"'' .poetic-stage-inputs/competition-judge-regression.candidates.json'
|
|
106
|
+
# rankings is a non-empty array of objects.
|
|
107
|
+
- 'grep -qzE ''"rankings"[[:space:]]*:[[:space:]]*[[][[:space:]]*[{]'' .poetic-stage-inputs/competition-judge-regression.candidates.json'
|
|
108
|
+
# Both variants succeeded, so the judge had a real comparison to make.
|
|
109
|
+
- 'grep -qzE ''"successCount"[[:space:]]*:[[:space:]]*[2-9][0-9]*'' .poetic-stage-inputs/competition-judge-regression.candidates.json'
|
|
110
|
+
|
|
111
|
+
git:
|
|
112
|
+
historyCleanup: keep-all
|
|
113
|
+
commitStrategy: each-attempt
|
|
114
|
+
skipHooksOnIntermediate: true
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Cross-provider read-only code review — emit structured findings in the agent finding schema
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
You are performing a read-only code review. You have been given a unified diff artifact to analyze.
|
|
7
|
+
|
|
8
|
+
## Instructions
|
|
9
|
+
|
|
10
|
+
1. Read the unified diff provided in the **Input Artifacts** section of your prompt (artifact `collect-diff.verify-stdout` from the collect-diff stage).
|
|
11
|
+
2. Analyze the changes for the following categories:
|
|
12
|
+
- **correctness** — logic errors, off-by-one errors, incorrect assumptions, broken contracts
|
|
13
|
+
- **security** — injection, path traversal, credential leakage, unsafe deserialization, privilege escalation
|
|
14
|
+
- **performance** — unnecessary allocation, N+1 patterns, blocking calls, algorithmic regressions
|
|
15
|
+
- **bug** — null/undefined dereferences, race conditions, missing error handling, exception swallowing
|
|
16
|
+
3. Only report findings with confidence ≥ 0.6. Do not invent issues.
|
|
17
|
+
4. You MUST NOT modify any files. This is a read-only analysis.
|
|
18
|
+
|
|
19
|
+
## Output Format
|
|
20
|
+
|
|
21
|
+
After your analysis, emit a single ```json code block containing a JSON object that matches the agent finding schema exactly.
|
|
22
|
+
|
|
23
|
+
Required schema for each finding:
|
|
24
|
+
- `title` (string, ≤200 chars) — short description of the issue
|
|
25
|
+
- `category` (one of: `"bug"`, `"performance"`, `"security"`, `"correctness"`, `"style"`)
|
|
26
|
+
- `severity` (one of: `"critical"`, `"high"`, `"medium"`, `"low"`, or omit/null if unknown)
|
|
27
|
+
- `confidence` (number 0.0–1.0)
|
|
28
|
+
- `ruleId` (string) — stable identifier for this class of issue, e.g. `"null-deref"`, `"sql-injection"`
|
|
29
|
+
- `file` (string) — repo-relative file path
|
|
30
|
+
- `startLine` (integer > 0, or omit/null) — first affected line
|
|
31
|
+
- `endLine` (integer > 0, or omit/null) — last affected line
|
|
32
|
+
- `snippet` (string, or omit/null) — relevant code snippet (≤200 chars)
|
|
33
|
+
- `symbolName` (string, or omit/null) — affected function or variable name
|
|
34
|
+
- `reasoning` (string) — explanation of the issue and its impact
|
|
35
|
+
|
|
36
|
+
The output object must have a top-level `findings` array. If no issues are found, emit an empty array.
|
|
37
|
+
|
|
38
|
+
Example output:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"findings": [
|
|
43
|
+
{
|
|
44
|
+
"title": "Unhandled promise rejection in retry loop",
|
|
45
|
+
"category": "bug",
|
|
46
|
+
"severity": "high",
|
|
47
|
+
"confidence": 0.85,
|
|
48
|
+
"ruleId": "unhandled-rejection",
|
|
49
|
+
"file": "src/utils/retry.ts",
|
|
50
|
+
"startLine": 42,
|
|
51
|
+
"endLine": 44,
|
|
52
|
+
"snippet": "await doWork().catch(() => {})",
|
|
53
|
+
"symbolName": "retryWithBackoff",
|
|
54
|
+
"reasoning": "The catch handler silently discards errors, making failures invisible to callers."
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Emit ONLY findings from code that appears in the diff. Do not report pre-existing issues in unchanged context lines.
|