@ebrindley/build 0.0.0-stage → 1.42.1-rc28
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/.build-project/providers/catalog.json +13951 -0
- package/.build-project/providers/pricing.json +1978 -0
- package/.build-project/providers/registry.json +4103 -0
- package/.github/SECURITY.md +75 -0
- package/.nvmrc +1 -0
- package/CHANGELOG.md +661 -0
- package/CODE_OF_CONDUCT.md +44 -0
- package/CONTRIBUTING.md +24 -0
- package/INSTALL.md +623 -0
- package/LICENSE +21 -0
- package/README.md +118 -2
- package/THIRD_PARTY_NOTICES.txt +26 -0
- package/dist/ai-judge-UE5UOYOO.js +191 -0
- package/dist/allowlist-grounding-KPLN6NC5.js +16 -0
- package/dist/allowlist-utils-MZZKKXRD.js +31 -0
- package/dist/apply-completion-mode-EM37UZHB.js +110 -0
- package/dist/artifact-migrator-WPACNSEP.js +276 -0
- package/dist/ask-2OZ4JFQR.js +176 -0
- package/dist/auth-6UKBTJUQ.js +185 -0
- package/dist/auth-H5KJL6HL.js +165 -0
- package/dist/auth-LVJRJDMU.js +12 -0
- package/dist/auth-NHZOCNRR.js +94 -0
- package/dist/auth-PBXHWXGW.js +95 -0
- package/dist/auth-T7Y5DCAH.js +91 -0
- package/dist/auth-TVVKCHQW.js +13 -0
- package/dist/auth-UHB2UCSS.js +97 -0
- package/dist/auth-VACA3VUL.js +98 -0
- package/dist/auth-VVLC77S3.js +44 -0
- package/dist/auth-liveness-XO4AGDDD.js +53 -0
- package/dist/autoloop-cleanup-SI3VGAAR.js +106 -0
- package/dist/autoloop-evidence-gates-J5GG5YQB.js +39 -0
- package/dist/autoloop-gate-policy-SUNAEP6Q.js +169 -0
- package/dist/autoloop-helpers-VQGQNTT6.js +52 -0
- package/dist/autoloop-ledger-P6TIDP7C.js +96 -0
- package/dist/autoloop-ledger-subscriber-HFAGOZXH.js +161 -0
- package/dist/autoloop-run-defaults-GWGZBNT7.js +27 -0
- package/dist/autoloop-run-lock-GBWRM5A2.js +197 -0
- package/dist/autoloop-success-C32QVWOP.js +93 -0
- package/dist/autoloop-termination-summary-GI6IBQWD.js +58 -0
- package/dist/autoloop-trajectory-AMKSQISD.js +70 -0
- package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
- package/dist/automatic-branch-cleanup-R62X2C5O.js +49 -0
- package/dist/autonomous-loop-controller-2WL363LW.js +4386 -0
- package/dist/backend-YUTFDZXZ.js +30 -0
- package/dist/background-executor-Z3ODTMD7.js +260 -0
- package/dist/backlog-75QPEAMW.js +403 -0
- package/dist/backlog-execution-intent-GWUV5TUK.js +19 -0
- package/dist/backup-active-store-XHWLN34M.js +16 -0
- package/dist/backup-machine-stores-UI4LTJOY.js +251 -0
- package/dist/backup-telemetry-db-Z4ICYCNW.js +26 -0
- package/dist/branch-archive-manager-FMSQ7YJF.js +18 -0
- package/dist/branch-cleanup-manager-ST6FJGND.js +35 -0
- package/dist/build-gate-7NKWPY62.js +68 -0
- package/dist/build-root-S7DINODY.js +18 -0
- package/dist/change-summary-R6CB6VXJ.js +50 -0
- package/dist/chunk-24MNKKOM.js +173 -0
- package/dist/chunk-2H6VZFIO.js +235 -0
- package/dist/chunk-2JIX3EKV.js +39 -0
- package/dist/chunk-2KO7HVZM.js +106 -0
- package/dist/chunk-2L36U25O.js +100 -0
- package/dist/chunk-2NMNFUQA.js +475 -0
- package/dist/chunk-2OUAEH67.js +83 -0
- package/dist/chunk-2VLJUXJU.js +115 -0
- package/dist/chunk-2VUEDIUM.js +77 -0
- package/dist/chunk-2Y2IIHPI.js +430 -0
- package/dist/chunk-2YRG3LHZ.js +220 -0
- package/dist/chunk-2Z5Q3SUY.js +65 -0
- package/dist/chunk-32IYXIE5.js +873 -0
- package/dist/chunk-33IGPPUI.js +292 -0
- package/dist/chunk-352PCJLK.js +283 -0
- package/dist/chunk-35J4NE6S.js +226 -0
- package/dist/chunk-3C7WBIVK.js +1016 -0
- package/dist/chunk-3H3EY6U7.js +1225 -0
- package/dist/chunk-3H4MWYIC.js +198 -0
- package/dist/chunk-3HHWQR3N.js +2479 -0
- package/dist/chunk-3JKNRYEE.js +14 -0
- package/dist/chunk-3LECCYZY.js +128 -0
- package/dist/chunk-3LOY6YZI.js +852 -0
- package/dist/chunk-3M57DADF.js +44 -0
- package/dist/chunk-3NOTLVLG.js +3803 -0
- package/dist/chunk-3OPP2OZB.js +1480 -0
- package/dist/chunk-3P5IN5E7.js +9 -0
- package/dist/chunk-3PL22IYZ.js +20 -0
- package/dist/chunk-3REDAJUJ.js +14 -0
- package/dist/chunk-3S2R4XJI.js +203 -0
- package/dist/chunk-3UBZI5DW.js +61 -0
- package/dist/chunk-3VV5OBGG.js +308 -0
- package/dist/chunk-3WY5TU2O.js +823 -0
- package/dist/chunk-43OKHTW4.js +82 -0
- package/dist/chunk-45KUJBDI.js +112 -0
- package/dist/chunk-47X5LM7B.js +224 -0
- package/dist/chunk-4B6FQJ77.js +268 -0
- package/dist/chunk-4BTDUT2S.js +42 -0
- package/dist/chunk-4DJL2VXA.js +24 -0
- package/dist/chunk-4EBSXZ73.js +48 -0
- package/dist/chunk-4QKP6I4C.js +294 -0
- package/dist/chunk-4U6XK2DG.js +300 -0
- package/dist/chunk-4UMRUFBD.js +132 -0
- package/dist/chunk-4US4SYJ4.js +569 -0
- package/dist/chunk-4ZPLWEZO.js +154 -0
- package/dist/chunk-56WPYDJH.js +624 -0
- package/dist/chunk-57WRCJJW.js +50 -0
- package/dist/chunk-5AW4RMNG.js +24 -0
- package/dist/chunk-5EQN56OZ.js +155 -0
- package/dist/chunk-5F43TUIN.js +38 -0
- package/dist/chunk-5FKHIKTS.js +115 -0
- package/dist/chunk-5HDP7XZG.js +91 -0
- package/dist/chunk-5KQETTNS.js +152 -0
- package/dist/chunk-5PDVN2KO.js +498 -0
- package/dist/chunk-5UBIFVRD.js +509 -0
- package/dist/chunk-5YDE3Q62.js +46 -0
- package/dist/chunk-626AJVMU.js +302 -0
- package/dist/chunk-633XZ7UF.js +3583 -0
- package/dist/chunk-63DHNHGA.js +236 -0
- package/dist/chunk-666656AR.js +568 -0
- package/dist/chunk-67YRJPJO.js +19 -0
- package/dist/chunk-6CAU7VBA.js +20 -0
- package/dist/chunk-6CB3KJRY.js +21 -0
- package/dist/chunk-6DBMALXL.js +29 -0
- package/dist/chunk-6E25C4IA.js +269 -0
- package/dist/chunk-6FIBNIQU.js +73 -0
- package/dist/chunk-6G57FYBV.js +189 -0
- package/dist/chunk-6KZKRTG3.js +4885 -0
- package/dist/chunk-6LAH2UV2.js +525 -0
- package/dist/chunk-6PZY2TTU.js +921 -0
- package/dist/chunk-6T6NHXK4.js +230 -0
- package/dist/chunk-6TBEX4R4.js +432 -0
- package/dist/chunk-6TRD7TEE.js +911 -0
- package/dist/chunk-6XCP2RAI.js +47 -0
- package/dist/chunk-726G6WDL.js +351 -0
- package/dist/chunk-75EMT7BF.js +616 -0
- package/dist/chunk-762ACDZJ.js +4696 -0
- package/dist/chunk-77I6G4CO.js +1 -0
- package/dist/chunk-7DJ6SQH3.js +510 -0
- package/dist/chunk-7HPCIOMA.js +1383 -0
- package/dist/chunk-7HYBSRPZ.js +17503 -0
- package/dist/chunk-7KBEOPVB.js +73 -0
- package/dist/chunk-7LHJDJB3.js +2222 -0
- package/dist/chunk-7NVJMH52.js +306 -0
- package/dist/chunk-7RMARDVH.js +33 -0
- package/dist/chunk-7SEWU4QG.js +36 -0
- package/dist/chunk-7TUTZTI2.js +911 -0
- package/dist/chunk-7VBDFPUM.js +340 -0
- package/dist/chunk-7VRJHTGZ.js +6406 -0
- package/dist/chunk-7YAOUUKK.js +493 -0
- package/dist/chunk-AAAODV76.js +860 -0
- package/dist/chunk-AB4HUJVQ.js +339 -0
- package/dist/chunk-AEQWV746.js +611 -0
- package/dist/chunk-AHU3FKPA.js +11639 -0
- package/dist/chunk-AISTV5XU.js +226 -0
- package/dist/chunk-AJBTKGJZ.js +48 -0
- package/dist/chunk-AJJNW7XT.js +248 -0
- package/dist/chunk-AJN5Y5YZ.js +160 -0
- package/dist/chunk-ALDTFNZ3.js +150 -0
- package/dist/chunk-ARARVIZK.js +281 -0
- package/dist/chunk-ATBM6AW5.js +53 -0
- package/dist/chunk-ATKEKM3E.js +206 -0
- package/dist/chunk-AUJLW6JZ.js +92 -0
- package/dist/chunk-AY3MHEFM.js +24 -0
- package/dist/chunk-B7PYTV72.js +236 -0
- package/dist/chunk-B7YRSULE.js +1423 -0
- package/dist/chunk-BAWJNMWF.js +339 -0
- package/dist/chunk-BBPIILO2.js +88 -0
- package/dist/chunk-BD3PGW6A.js +957 -0
- package/dist/chunk-BDPYFAB4.js +44 -0
- package/dist/chunk-BIUV23HH.js +729 -0
- package/dist/chunk-BQ3VAGXH.js +243 -0
- package/dist/chunk-BQJOGAWT.js +31 -0
- package/dist/chunk-BT7EG7CO.js +68 -0
- package/dist/chunk-BV3XQQLU.js +27 -0
- package/dist/chunk-BY6ODHNZ.js +78 -0
- package/dist/chunk-BZRLSZNV.js +79 -0
- package/dist/chunk-C3DH3NCY.js +2773 -0
- package/dist/chunk-C3KCMAJP.js +756 -0
- package/dist/chunk-C7AGUJ5K.js +267 -0
- package/dist/chunk-CBSWKQCX.js +342 -0
- package/dist/chunk-CE5OZBYY.js +21 -0
- package/dist/chunk-CFCVYHSW.js +373 -0
- package/dist/chunk-CHA2HDE5.js +126 -0
- package/dist/chunk-CIHWPGS5.js +146 -0
- package/dist/chunk-CJBSZX3F.js +127 -0
- package/dist/chunk-CLA6QIJM.js +43 -0
- package/dist/chunk-CPSVQR2I.js +365 -0
- package/dist/chunk-CRPRVNQ4.js +254 -0
- package/dist/chunk-CSIE4Y7C.js +1093 -0
- package/dist/chunk-CSOPSYDY.js +142 -0
- package/dist/chunk-CSXLLEGB.js +205 -0
- package/dist/chunk-CTDLERWU.js +293 -0
- package/dist/chunk-CULBXMSK.js +110 -0
- package/dist/chunk-D2M2Y5ID.js +21 -0
- package/dist/chunk-D37WY7SH.js +1060 -0
- package/dist/chunk-D4VJFCGZ.js +89 -0
- package/dist/chunk-D6WTZMZB.js +48 -0
- package/dist/chunk-DBHOWDUH.js +976 -0
- package/dist/chunk-DCACX7BV.js +19364 -0
- package/dist/chunk-DFHX4XYA.js +128 -0
- package/dist/chunk-DIKBRRKE.js +176 -0
- package/dist/chunk-DJG5RIOR.js +9 -0
- package/dist/chunk-DNIOIISW.js +616 -0
- package/dist/chunk-DOA5G7IA.js +315 -0
- package/dist/chunk-DP7FKP6W.js +855 -0
- package/dist/chunk-DS2JZ677.js +79 -0
- package/dist/chunk-DSRLVYBS.js +82 -0
- package/dist/chunk-EAEVKNJA.js +209 -0
- package/dist/chunk-EEUESN3T.js +575 -0
- package/dist/chunk-EJ4LUU5Y.js +73 -0
- package/dist/chunk-EJIWTPSZ.js +1063 -0
- package/dist/chunk-EJVCDTAN.js +116 -0
- package/dist/chunk-EKLUBDBQ.js +627 -0
- package/dist/chunk-EN62WLFD.js +849 -0
- package/dist/chunk-ENYRCL43.js +26 -0
- package/dist/chunk-EP22ZMFO.js +273 -0
- package/dist/chunk-EP4SVAVI.js +87 -0
- package/dist/chunk-EPAMVGI3.js +1562 -0
- package/dist/chunk-EPRMH6HO.js +24 -0
- package/dist/chunk-ES6NWJ36.js +4057 -0
- package/dist/chunk-ETA2K4KI.js +30 -0
- package/dist/chunk-ETAD4NKD.js +31 -0
- package/dist/chunk-EUWIIDQ7.js +93 -0
- package/dist/chunk-EVE3OD2W.js +141 -0
- package/dist/chunk-EXA26FFC.js +459 -0
- package/dist/chunk-EXSPAA35.js +244 -0
- package/dist/chunk-F55YABKV.js +258 -0
- package/dist/chunk-F5DNGU5W.js +27 -0
- package/dist/chunk-F622MJYV.js +103 -0
- package/dist/chunk-F6NIQD74.js +5111 -0
- package/dist/chunk-FAWJTC34.js +43 -0
- package/dist/chunk-FAZBRHGG.js +47 -0
- package/dist/chunk-FIEUSGNJ.js +39 -0
- package/dist/chunk-FKCG7K6H.js +1146 -0
- package/dist/chunk-FOVVXV45.js +229 -0
- package/dist/chunk-FRBPKBFE.js +30 -0
- package/dist/chunk-FSA5BPFI.js +268 -0
- package/dist/chunk-FSJ5TTZ3.js +29 -0
- package/dist/chunk-FT7SGLXT.js +193 -0
- package/dist/chunk-FUUVZZUB.js +62 -0
- package/dist/chunk-FYMRVUNZ.js +1697 -0
- package/dist/chunk-FYTAA5FG.js +162 -0
- package/dist/chunk-G3VB2UCZ.js +3892 -0
- package/dist/chunk-G6OIMVXH.js +405 -0
- package/dist/chunk-G7PQCXVH.js +228 -0
- package/dist/chunk-GAB6UW52.js +1087 -0
- package/dist/chunk-GAFJEYLK.js +29 -0
- package/dist/chunk-GC4CRMTS.js +642 -0
- package/dist/chunk-GFHSIWHL.js +5297 -0
- package/dist/chunk-GI5M67YA.js +735 -0
- package/dist/chunk-GIJWHUWF.js +191 -0
- package/dist/chunk-GO6DRECI.js +1 -0
- package/dist/chunk-GOFVBTMN.js +314 -0
- package/dist/chunk-GQIP72ZJ.js +13 -0
- package/dist/chunk-GQXLXRFA.js +28 -0
- package/dist/chunk-GT6HFKJB.js +48 -0
- package/dist/chunk-GVJGSSKM.js +174 -0
- package/dist/chunk-GWHGTG37.js +36 -0
- package/dist/chunk-GZAJHLKO.js +18 -0
- package/dist/chunk-GZK62I3N.js +314 -0
- package/dist/chunk-H3HGMISG.js +483 -0
- package/dist/chunk-H3ISZJMJ.js +403 -0
- package/dist/chunk-H4HXVWEC.js +9 -0
- package/dist/chunk-H6MJGKAW.js +120 -0
- package/dist/chunk-HBTTGVR5.js +353 -0
- package/dist/chunk-HBZ322WZ.js +35 -0
- package/dist/chunk-HEP3ILP4.js +34 -0
- package/dist/chunk-HGFXODKO.js +106 -0
- package/dist/chunk-HHWDTB6S.js +59 -0
- package/dist/chunk-HKO45NLZ.js +286 -0
- package/dist/chunk-HLVTEA6A.js +89 -0
- package/dist/chunk-HS3SY6HN.js +160 -0
- package/dist/chunk-HT5OCGKN.js +899 -0
- package/dist/chunk-HXIIEMGF.js +78 -0
- package/dist/chunk-I56TH7VM.js +46 -0
- package/dist/chunk-I6FN3R5D.js +352 -0
- package/dist/chunk-I7SCBHJN.js +655 -0
- package/dist/chunk-IJM4GKAT.js +529 -0
- package/dist/chunk-IMEYU36R.js +344 -0
- package/dist/chunk-INJ3SS6A.js +936 -0
- package/dist/chunk-IUKOPCCE.js +441 -0
- package/dist/chunk-IVEPZQJO.js +33 -0
- package/dist/chunk-IVZEONFC.js +43 -0
- package/dist/chunk-IWBHRSG7.js +936 -0
- package/dist/chunk-IYY3HQAD.js +484 -0
- package/dist/chunk-J2ICMYDA.js +48 -0
- package/dist/chunk-J2QCFLUN.js +505 -0
- package/dist/chunk-J5HM6V5P.js +1039 -0
- package/dist/chunk-J6NZX6QH.js +398 -0
- package/dist/chunk-JBBB2Y47.js +432 -0
- package/dist/chunk-JDCZQZU7.js +42 -0
- package/dist/chunk-JEDNXGSS.js +169 -0
- package/dist/chunk-JHP7OT6K.js +89 -0
- package/dist/chunk-JLS65NUQ.js +14 -0
- package/dist/chunk-JNMWYMC6.js +38 -0
- package/dist/chunk-JNSTWNNW.js +25 -0
- package/dist/chunk-JOSK6GEU.js +9564 -0
- package/dist/chunk-JQUMSIGC.js +100 -0
- package/dist/chunk-JVHGMURQ.js +1106 -0
- package/dist/chunk-JYXS47FQ.js +951 -0
- package/dist/chunk-K2ZMW2Z5.js +2147 -0
- package/dist/chunk-K7FAFORM.js +14 -0
- package/dist/chunk-KBJXX3ON.js +333 -0
- package/dist/chunk-KHFKVQWY.js +486 -0
- package/dist/chunk-KHMEI3DQ.js +173 -0
- package/dist/chunk-KHW3UD7B.js +69 -0
- package/dist/chunk-KKQKWAMF.js +365 -0
- package/dist/chunk-KOKXJV2U.js +455 -0
- package/dist/chunk-KQ4NGOJI.js +14 -0
- package/dist/chunk-KQYQOXMS.js +342 -0
- package/dist/chunk-KTMW65UX.js +14 -0
- package/dist/chunk-KUEWV2JH.js +593 -0
- package/dist/chunk-KXYDV3HP.js +1523 -0
- package/dist/chunk-KZ4JMGZ5.js +96 -0
- package/dist/chunk-KZWGBUIO.js +2659 -0
- package/dist/chunk-L2CBG5IX.js +1892 -0
- package/dist/chunk-L2S235CU.js +314 -0
- package/dist/chunk-L32WD57F.js +98 -0
- package/dist/chunk-LDJCKAJP.js +123 -0
- package/dist/chunk-LDWNBEN7.js +541 -0
- package/dist/chunk-LJVH57G2.js +241 -0
- package/dist/chunk-LPQ7NZEN.js +209 -0
- package/dist/chunk-LRGH3CCV.js +148 -0
- package/dist/chunk-LULOGMMM.js +1133 -0
- package/dist/chunk-LWGKN2GY.js +8284 -0
- package/dist/chunk-LX4F24ZH.js +157 -0
- package/dist/chunk-M4BUEXXF.js +839 -0
- package/dist/chunk-M6UHOC4I.js +553 -0
- package/dist/chunk-MCBNWZNO.js +657 -0
- package/dist/chunk-MEMSY6VY.js +223 -0
- package/dist/chunk-MHLEZQQI.js +145 -0
- package/dist/chunk-MJ6WNSIX.js +192 -0
- package/dist/chunk-MKASIKWZ.js +442 -0
- package/dist/chunk-MNOVBYFU.js +60 -0
- package/dist/chunk-MO2BYAAF.js +2896 -0
- package/dist/chunk-MP6P7Y2A.js +180 -0
- package/dist/chunk-MQ4TFJAG.js +3365 -0
- package/dist/chunk-MT2WAIR3.js +131 -0
- package/dist/chunk-MTU7VTNN.js +1122 -0
- package/dist/chunk-MULMXX4V.js +150 -0
- package/dist/chunk-MW2DWWVA.js +147 -0
- package/dist/chunk-MY3ZPUN4.js +151 -0
- package/dist/chunk-MYLH2S4G.js +64 -0
- package/dist/chunk-MZ5WYKNA.js +28 -0
- package/dist/chunk-N3Q2JNPV.js +249 -0
- package/dist/chunk-N5DX4JAK.js +12 -0
- package/dist/chunk-NAINGKHF.js +35 -0
- package/dist/chunk-NEQUQHOX.js +223 -0
- package/dist/chunk-NHNPEZS4.js +1408 -0
- package/dist/chunk-NHTIXJCR.js +17 -0
- package/dist/chunk-NKLPMBNV.js +1154 -0
- package/dist/chunk-NMVZ5YES.js +199 -0
- package/dist/chunk-NRFRY3GE.js +256 -0
- package/dist/chunk-NTD6CSI6.js +1266 -0
- package/dist/chunk-NUO7B3SH.js +318 -0
- package/dist/chunk-NVOHIJKG.js +1319 -0
- package/dist/chunk-NXH3RX7O.js +523 -0
- package/dist/chunk-NXZ3DURF.js +257 -0
- package/dist/chunk-O26L6F7F.js +209 -0
- package/dist/chunk-O5RRIUEP.js +124 -0
- package/dist/chunk-O5X6BKAO.js +10 -0
- package/dist/chunk-O6ZQUVTR.js +31 -0
- package/dist/chunk-O7FE75QZ.js +306 -0
- package/dist/chunk-OC7Z6AJQ.js +81 -0
- package/dist/chunk-OH7IEZ63.js +307 -0
- package/dist/chunk-OI734GRS.js +115 -0
- package/dist/chunk-OJBH62DK.js +684 -0
- package/dist/chunk-OKJLVSTJ.js +247 -0
- package/dist/chunk-OMX5VL43.js +79 -0
- package/dist/chunk-ONHAMBN6.js +12 -0
- package/dist/chunk-ONYPLIVE.js +753 -0
- package/dist/chunk-OSK7QWPD.js +637 -0
- package/dist/chunk-OTXLMJKP.js +438 -0
- package/dist/chunk-OV5PKQMA.js +213 -0
- package/dist/chunk-OXK5HA4B.js +31 -0
- package/dist/chunk-OYDWFQA4.js +272 -0
- package/dist/chunk-OZAUKWHB.js +22 -0
- package/dist/chunk-P5P2EKGH.js +94 -0
- package/dist/chunk-P6SSWAKY.js +29 -0
- package/dist/chunk-P7CQGPLS.js +30 -0
- package/dist/chunk-P7RVCHQV.js +197 -0
- package/dist/chunk-PEBWDYIW.js +726 -0
- package/dist/chunk-PFCXFO7A.js +9193 -0
- package/dist/chunk-PFLDWMX6.js +168 -0
- package/dist/chunk-PHZGLQSK.js +15883 -0
- package/dist/chunk-PNFTPNSR.js +20 -0
- package/dist/chunk-PPHXX4W7.js +175 -0
- package/dist/chunk-PPZESPJT.js +262 -0
- package/dist/chunk-PRDHI2L5.js +296 -0
- package/dist/chunk-PSTKWHHN.js +32 -0
- package/dist/chunk-PV53ODOT.js +555 -0
- package/dist/chunk-PVJBTI7P.js +24 -0
- package/dist/chunk-PXKERBKX.js +100 -0
- package/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-Q3DHEZA5.js +85 -0
- package/dist/chunk-Q5RZDVQK.js +204 -0
- package/dist/chunk-Q64IR2Z2.js +4933 -0
- package/dist/chunk-Q6Z5UGPL.js +398 -0
- package/dist/chunk-QAMAV4DT.js +627 -0
- package/dist/chunk-QBWF4444.js +112 -0
- package/dist/chunk-QDKYT4CI.js +22805 -0
- package/dist/chunk-QFLBRWCJ.js +126 -0
- package/dist/chunk-QILAQACE.js +107 -0
- package/dist/chunk-QJ6OEH4K.js +3683 -0
- package/dist/chunk-QK3NLYTV.js +320 -0
- package/dist/chunk-QOFLUS24.js +535 -0
- package/dist/chunk-QOIASNEJ.js +98 -0
- package/dist/chunk-QP4UTSOV.js +3587 -0
- package/dist/chunk-QP5ST7RI.js +904 -0
- package/dist/chunk-QS5AGRZN.js +167 -0
- package/dist/chunk-QTAOU53N.js +107 -0
- package/dist/chunk-QTCLJHLZ.js +351 -0
- package/dist/chunk-QTOLTG4L.js +119 -0
- package/dist/chunk-QWDV4OSL.js +142 -0
- package/dist/chunk-QWMQ74KD.js +508 -0
- package/dist/chunk-QX6LOMMH.js +158 -0
- package/dist/chunk-QXBKIHY7.js +238 -0
- package/dist/chunk-QXBKTJT6.js +270 -0
- package/dist/chunk-QYQOVOLR.js +196 -0
- package/dist/chunk-R2CKS6WT.js +73 -0
- package/dist/chunk-R2TIYG7U.js +68 -0
- package/dist/chunk-R2W3LESH.js +465 -0
- package/dist/chunk-R5EXHMUN.js +100 -0
- package/dist/chunk-RBBTBCHX.js +289 -0
- package/dist/chunk-RBKLOUXA.js +121 -0
- package/dist/chunk-RCP2Y6DQ.js +86 -0
- package/dist/chunk-RCYEJSD5.js +260 -0
- package/dist/chunk-RFDVSI4N.js +134 -0
- package/dist/chunk-RGJU63FV.js +1717 -0
- package/dist/chunk-RI4EX2QE.js +18 -0
- package/dist/chunk-RIMARPCF.js +152 -0
- package/dist/chunk-RJ6RSNT6.js +42 -0
- package/dist/chunk-RNI2GUIF.js +131 -0
- package/dist/chunk-RPHUWJ3K.js +264 -0
- package/dist/chunk-RPIMAMV7.js +361 -0
- package/dist/chunk-RQFX6YRN.js +49 -0
- package/dist/chunk-RRC5BL7B.js +285 -0
- package/dist/chunk-RSYTSBOO.js +79 -0
- package/dist/chunk-RWQQIKIC.js +35 -0
- package/dist/chunk-RZUBOZH2.js +373 -0
- package/dist/chunk-S2E632FQ.js +380 -0
- package/dist/chunk-S2VQCZO4.js +22 -0
- package/dist/chunk-S2XIMQJQ.js +681 -0
- package/dist/chunk-S47ISY27.js +183 -0
- package/dist/chunk-S6I4KISU.js +142 -0
- package/dist/chunk-S6TAFQI5.js +2403 -0
- package/dist/chunk-SBBNT5ZJ.js +27 -0
- package/dist/chunk-SDJV2DTQ.js +491 -0
- package/dist/chunk-SDPIFNLD.js +33 -0
- package/dist/chunk-SF6YK3JI.js +835 -0
- package/dist/chunk-SK3ZFONO.js +976 -0
- package/dist/chunk-SKTFRFQ7.js +1775 -0
- package/dist/chunk-SNGM452K.js +2002 -0
- package/dist/chunk-STW7OFOA.js +581 -0
- package/dist/chunk-SU6UFUQY.js +1351 -0
- package/dist/chunk-SVJM3LJA.js +27 -0
- package/dist/chunk-SVUNZOPG.js +129 -0
- package/dist/chunk-T5XLUYV3.js +34 -0
- package/dist/chunk-T7E5JS6N.js +57 -0
- package/dist/chunk-TA3N5MMO.js +450 -0
- package/dist/chunk-TAJPCXSB.js +13 -0
- package/dist/chunk-TDEMDRN2.js +1639 -0
- package/dist/chunk-TDSEX5CF.js +24 -0
- package/dist/chunk-TGCVL74Y.js +28 -0
- package/dist/chunk-TGXXYDL4.js +1012 -0
- package/dist/chunk-TIKTYUJO.js +296 -0
- package/dist/chunk-TIZAJD4M.js +6029 -0
- package/dist/chunk-TLSEZZCG.js +5549 -0
- package/dist/chunk-TMBDRHAX.js +19 -0
- package/dist/chunk-TRURQUBP.js +1217 -0
- package/dist/chunk-TSQ256N5.js +152 -0
- package/dist/chunk-TUQMMFEQ.js +2244 -0
- package/dist/chunk-U424MJLC.js +81 -0
- package/dist/chunk-U4DRS6ZW.js +11 -0
- package/dist/chunk-U5KS22IN.js +204 -0
- package/dist/chunk-UAPHFJPN.js +673 -0
- package/dist/chunk-UB7LQITD.js +1040 -0
- package/dist/chunk-UBVRHGAZ.js +237 -0
- package/dist/chunk-UDNNAQN5.js +98 -0
- package/dist/chunk-UJP3XM54.js +342 -0
- package/dist/chunk-UJYDH2MW.js +305 -0
- package/dist/chunk-UKMPASIC.js +399 -0
- package/dist/chunk-UKUL3EHK.js +763 -0
- package/dist/chunk-UPHU64NB.js +1327 -0
- package/dist/chunk-URMSZXAD.js +43 -0
- package/dist/chunk-US3RT6CY.js +525 -0
- package/dist/chunk-UTDEOPKV.js +30 -0
- package/dist/chunk-UUUDKV7N.js +13 -0
- package/dist/chunk-UVKWU3SM.js +39 -0
- package/dist/chunk-V2TVPO3X.js +521 -0
- package/dist/chunk-V3KLVK7B.js +398 -0
- package/dist/chunk-V3YFFHDR.js +17 -0
- package/dist/chunk-VAG6GUBR.js +1162 -0
- package/dist/chunk-VBENAHDA.js +1814 -0
- package/dist/chunk-VBNCKCCI.js +16 -0
- package/dist/chunk-VCGSWN5M.js +1300 -0
- package/dist/chunk-VE2O2I7M.js +115 -0
- package/dist/chunk-VIFHYTI5.js +31 -0
- package/dist/chunk-VJER3FUS.js +5080 -0
- package/dist/chunk-VLMDM56Q.js +268 -0
- package/dist/chunk-VMFZEVVX.js +99 -0
- package/dist/chunk-VNDPQVUZ.js +1853 -0
- package/dist/chunk-VSPJRLGA.js +4783 -0
- package/dist/chunk-VSWC5ZXI.js +103 -0
- package/dist/chunk-VYI4DSZP.js +2017 -0
- package/dist/chunk-W4BAIQ6L.js +1212 -0
- package/dist/chunk-W7VQAL2K.js +2203 -0
- package/dist/chunk-WEI3ZDZH.js +33 -0
- package/dist/chunk-WEIUS5NT.js +26 -0
- package/dist/chunk-WEW7UFWE.js +546 -0
- package/dist/chunk-WGQAXLNA.js +384 -0
- package/dist/chunk-WJAL4JL3.js +206 -0
- package/dist/chunk-WKFOJ5ZG.js +141 -0
- package/dist/chunk-WMWQEFLN.js +2177 -0
- package/dist/chunk-WNECKKO2.js +154 -0
- package/dist/chunk-WPKLYOAM.js +195 -0
- package/dist/chunk-WSH37YQN.js +243 -0
- package/dist/chunk-WV3KQDPE.js +84 -0
- package/dist/chunk-WZFC4V4U.js +389 -0
- package/dist/chunk-XCOIBNET.js +13 -0
- package/dist/chunk-XDM65LBX.js +53 -0
- package/dist/chunk-XGU6PBO5.js +645 -0
- package/dist/chunk-XHOI4V62.js +43 -0
- package/dist/chunk-XIBVFMLQ.js +6858 -0
- package/dist/chunk-XJ2E7YEJ.js +117 -0
- package/dist/chunk-XON4ZCYX.js +69 -0
- package/dist/chunk-XQPEWJPI.js +127 -0
- package/dist/chunk-XSJTIFUY.js +31 -0
- package/dist/chunk-XT7OVWM3.js +64 -0
- package/dist/chunk-XTXYIISX.js +1104 -0
- package/dist/chunk-XV7NZL4B.js +57 -0
- package/dist/chunk-XWIZ6B5S.js +109 -0
- package/dist/chunk-XWLIKOBX.js +240 -0
- package/dist/chunk-XZOXEIN4.js +156 -0
- package/dist/chunk-XZRS7I7W.js +3673 -0
- package/dist/chunk-Y4ZDDHB6.js +44 -0
- package/dist/chunk-Y733RB7T.js +194 -0
- package/dist/chunk-YBHUB4XR.js +14931 -0
- package/dist/chunk-YKC75XK4.js +147 -0
- package/dist/chunk-YKMXFVK7.js +27 -0
- package/dist/chunk-YO5BAJ55.js +225 -0
- package/dist/chunk-YPDCLXNZ.js +568 -0
- package/dist/chunk-YSQPGVFK.js +116 -0
- package/dist/chunk-YTVVTIWJ.js +716 -0
- package/dist/chunk-YVCMDVBB.js +698 -0
- package/dist/chunk-YYTOA6DP.js +114 -0
- package/dist/chunk-Z5WGNULV.js +88 -0
- package/dist/chunk-Z6NGVVXG.js +66 -0
- package/dist/chunk-Z7CDQNH3.js +20 -0
- package/dist/chunk-ZH4G3FU5.js +187 -0
- package/dist/chunk-ZJB6SQPA.js +257 -0
- package/dist/chunk-ZL6E4HMY.js +42 -0
- package/dist/chunk-ZMLOC3DW.js +62 -0
- package/dist/chunk-ZORW64QH.js +101 -0
- package/dist/chunk-ZVVD2XGV.js +1369 -0
- package/dist/cli-utils-ER33ODC5.js +31 -0
- package/dist/cli-validation-6CHPTANV.js +146 -0
- package/dist/commit-utils-3STAY7C7.js +49 -0
- package/dist/compatibility-notice-IHNXR2JR.js +21 -0
- package/dist/compete-config-resolver-V3GDNJMM.js +125 -0
- package/dist/compete-results-XUM3PJHS.js +318 -0
- package/dist/competition-outcome-tracker-NWSMVUPG.js +62 -0
- package/dist/config-4HHE4OIK.js +238 -0
- package/dist/config-D6YAZASH.js +10 -0
- package/dist/config-MIPRDYYV.js +46 -0
- package/dist/config-audit-GA5DCUAI.js +371 -0
- package/dist/config-explain-4LMO556H.js +71 -0
- package/dist/config-loader-RGP634PC.js +51 -0
- package/dist/config-manager-J2UTO635.js +114 -0
- package/dist/config-merger-TVUJBZTS.js +14 -0
- package/dist/config-validator-H4ZVIE56.js +122 -0
- package/dist/cost-HSIV5U2Y.js +85 -0
- package/dist/data-migration-state-OAUL2WPQ.js +35 -0
- package/dist/db-migrator-NUOW5NKR.js +34 -0
- package/dist/default-paths-UILB62BN.js +49 -0
- package/dist/discovery-V6GYUJUC.js +53 -0
- package/dist/doctor-BBSMCDWE.js +271 -0
- package/dist/doctor-context-blocks-LPY75VZA.js +231 -0
- package/dist/doctor-instructions-import-JXHDDOE5.js +70 -0
- package/dist/doctor-purpose-6YJOXPBE.js +30 -0
- package/dist/domain-analyzer-S35ABUNA.js +48 -0
- package/dist/ensure-initialized-Q6PEU55O.js +78 -0
- package/dist/entry.js +922 -0
- package/dist/error-parser-core-MZFMFANN.js +70 -0
- package/dist/evaluation-context-GQBYDAEV.js +63 -0
- package/dist/evidence-plan-resolver-5FUAP3SA.js +111 -0
- package/dist/execution-data-writer-YCG5UH37.js +72 -0
- package/dist/execution-policy-applier-PWZM5LNA.js +63 -0
- package/dist/execution-preflight-DASJWWQF.js +223 -0
- package/dist/execution-roles-KNSNNB2D.js +112 -0
- package/dist/exit-code-error-QIY5DOKF.js +18 -0
- package/dist/external-temp-cleanup-CAW7LQ6R.js +360 -0
- package/dist/factory-YCYCB7AE.js +209 -0
- package/dist/file-utils-ZQYNBQBW.js +45 -0
- package/dist/flywheel-allowlist-revert-H22HA6JE.js +21 -0
- package/dist/flywheel-autoloop-executor-PDOASJEZ.js +316 -0
- package/dist/flywheel-autoloop-unverified-TOKYFCDC.js +36 -0
- package/dist/flywheel-competition-executor-YJUMMEJO.js +320 -0
- package/dist/flywheel-executor-JWU43KAY.js +437 -0
- package/dist/flywheel-git-isolation-FQ2TRWMB.js +56 -0
- package/dist/flywheel-manifest-HDPNMWWF.js +114 -0
- package/dist/flywheel-model-defaults-UHAKTZT3.js +110 -0
- package/dist/flywheel-preflight-III2C7TH.js +163 -0
- package/dist/flywheel-resume-2O45MS7Y.js +31 -0
- package/dist/flywheel-resume-execution-lease-P2BK257J.js +59 -0
- package/dist/flywheel-safety-AVAVFXIJ.js +19 -0
- package/dist/flywheel-scope-decision-ALJUUNGG.js +14 -0
- package/dist/get-telemetry-logger-MPDVO2JA.js +155 -0
- package/dist/git-message-style-KCXGMTDT.js +104 -0
- package/dist/guidance-profile-config-G3K5YQOO.js +113 -0
- package/dist/guidance-profile-renderer-TX4TNDFL.js +23 -0
- package/dist/identity-XLQJ4YJF.js +25 -0
- package/dist/index-query-6NUY4FKX.js +37 -0
- package/dist/index.js +85588 -0
- package/dist/indexer-DL54CM3K.js +44 -0
- package/dist/init-OUZ72344.js +245 -0
- package/dist/instructions-import-offer-NSYXSITC.js +363 -0
- package/dist/instructions-run-NBII7W36.js +114 -0
- package/dist/interrupted-work-E4TLKJLE.js +43 -0
- package/dist/invoke-provider-auth-NEWEIHCI.js +38 -0
- package/dist/judge-scoring.json +64 -0
- package/dist/lab-mode-YXQ2Y3NG.js +44 -0
- package/dist/lab-utils-5QAMDJR5.js +29 -0
- package/dist/linux-host-class-YDWQX65O.js +31 -0
- package/dist/llm-judge-executor-OJSNCTFJ.js +179 -0
- package/dist/local-ci-config-VZ4WWDT5.js +48 -0
- package/dist/local-executor-DCMDDRX2.js +280 -0
- package/dist/logger-5KNKS3O4.js +154 -0
- package/dist/matrix-prompt-builder-4ZBOGZSB.js +527 -0
- package/dist/matrix-result-parser-EZJM4YXP.js +14 -0
- package/dist/merge-batch-RTEEMVDB.js +313 -0
- package/dist/merge-batch-members-VIWGVRHP.js +24 -0
- package/dist/merge-queue-TIIUSOY6.js +126 -0
- package/dist/merge-queue-trust-DUNZ4J65.js +21 -0
- package/dist/metadata-UKSMWM6J.js +29 -0
- package/dist/model-catalog-readiness-R5KJBP5M.js +202 -0
- package/dist/model-invocations-db-XTUPPQ34.js +70 -0
- package/dist/model-resolver-JFZ2MHOJ.js +39 -0
- package/dist/model-resolver-SCQ57KAQ.js +217 -0
- package/dist/model-roles-D3OR4NAH.js +110 -0
- package/dist/monitor-F4SIU5G2.js +96 -0
- package/dist/nested-worktrees-2WUWQ75N.js +23 -0
- package/dist/next-S3IRLVER.js +96 -0
- package/dist/next-UKPFRXOO.js +148 -0
- package/dist/opportunistic-TL4S26VX.js +86 -0
- package/dist/optimization-config-resolver-NAEIYU6A.js +148 -0
- package/dist/package-HJR4QJT4.js +10 -0
- package/dist/parse-git-status-7PIYFPS2.js +21 -0
- package/dist/path-security-5WJSY56G.js +41 -0
- package/dist/paths-JUI7C4KU.js +45 -0
- package/dist/plan-backlog-list-fast-SSTQL5XP.js +89 -0
- package/dist/plan-backlog-show-fast-PFRAQ3JB.js +114 -0
- package/dist/plan-sprint-list-fast-HD2KBZSY.js +110 -0
- package/dist/plan-sprint-status-fast-YFYH7WQF.js +116 -0
- package/dist/plan-task-status-fast-JU5PNLUU.js +114 -0
- package/dist/plan-to-flywheel-PY5MSY2H.js +529 -0
- package/dist/preflight-PJHGTJNZ.js +12 -0
- package/dist/process-registry-B4ZUCN7T.js +28 -0
- package/dist/process-scanner-TU3QHWVB.js +23 -0
- package/dist/processes-6FHVGT72.js +28 -0
- package/dist/processes-json-fast-YWTMUWXB.js +72 -0
- package/dist/profile-HWTC56SG.js +209 -0
- package/dist/project-runtime-paths-2UQNG5Y4.js +41 -0
- package/dist/protected-branches-N36LDBFY.js +71 -0
- package/dist/provider-aware-resource-manager-YTFAHNGJ.js +40 -0
- package/dist/provider-matrix-2KO2V5OM.js +214 -0
- package/dist/provider-matrix-renderer-MEC3PER7.js +139 -0
- package/dist/provider-output-forwarding-2AHL7YMA.js +26 -0
- package/dist/provider-registry-WCZ65QHC.js +136 -0
- package/dist/provider-temp-cleanup-IUNPJCZF.js +14 -0
- package/dist/prune-engine-EOQVWEP6.js +448 -0
- package/dist/publication-turn-S42RZTQF.js +44 -0
- package/dist/quality-gate-JQMVCKOO.js +72 -0
- package/dist/quickstart-3O6FRCFB.js +105 -0
- package/dist/readiness-GW6ABRHB.js +139 -0
- package/dist/readiness-KFZCXDTT.js +215 -0
- package/dist/registry-7XG376SY.js +217 -0
- package/dist/repair-helpers-TTV5FEF4.js +117 -0
- package/dist/repo-root-YG6MQZDW.js +28 -0
- package/dist/resolution-engine-FFEK7HQ2.js +187 -0
- package/dist/resolve-provider-cli-ZEXVZKET.js +44 -0
- package/dist/restore-telemetry-db-E7BR5PO7.js +459 -0
- package/dist/routing-events-AW6SRZ6G.js +13 -0
- package/dist/routing-history-store-FMDDQL6W.js +39 -0
- package/dist/routing-planner-C6OHO3EY.js +221 -0
- package/dist/runner-KHDNQ5KU.js +1194 -0
- package/dist/runner-PIS2BW7Y.js +1801 -0
- package/dist/safety-E3JJVSFL.js +67 -0
- package/dist/safety-stanza-HE6GXP4G.js +49 -0
- package/dist/sandbox-7LBZC5PE.js +72 -0
- package/dist/sandbox-ASWCDYZL.js +80 -0
- package/dist/schema-extensions.sql +234 -0
- package/dist/security-JI22TBEB.js +17 -0
- package/dist/setup-bb-plugin-FQXLA76Y.js +531 -0
- package/dist/setup-claude-code-NF4ZSHVE.js +197 -0
- package/dist/setup-temp-cleanup-2APZ4HMA.js +29 -0
- package/dist/shared-utils-34HJZ6JX.js +40 -0
- package/dist/simple-artifact-goal-MQLDDMMX.js +29 -0
- package/dist/sprint-N7JFTEGL.js +403 -0
- package/dist/sprint-bridge-KJXIBNRJ.js +117 -0
- package/dist/sprint-completion-dependents-34SR7JVL.js +43 -0
- package/dist/sprint-execution-service-A6JPUBWY.js +376 -0
- package/dist/sprint-manager-MU2ZUWN2.js +140 -0
- package/dist/sqlite-timeout-config-U2CT4LKU.js +13 -0
- package/dist/sqlite-wrapper-FSGJ2QEW.js +19 -0
- package/dist/stale-cleanup-orchestrator-4X6324VF.js +71 -0
- package/dist/storage-access-I3V5LER7.js +31 -0
- package/dist/store-XVG64ZR2.js +25 -0
- package/dist/task-classifier-MN2DYE5R.js +558 -0
- package/dist/task-list-fast-7AT6LTTA.js +112 -0
- package/dist/task-manager-LHPBBRRE.js +136 -0
- package/dist/task-report-OLPAWBTK.js +64 -0
- package/dist/task-type-detector-6RG3YNZF.js +27 -0
- package/dist/task-type-resolver-EQHOUIHT.js +64 -0
- package/dist/telemetry-5VYSK772.js +212 -0
- package/dist/telemetry-health-tracker-4GFW2EMP.js +12 -0
- package/dist/telemetry-path-resolver-H3NFHHQY.js +34 -0
- package/dist/telemetry-reliability-URJDTNPZ.js +76 -0
- package/dist/transports-NREZQTJK.js +106 -0
- package/dist/unified-cost-tracker-5MTBJ2CL.js +59 -0
- package/dist/unified-state-cleanup-GGAXLHXF.js +292 -0
- package/dist/universal-cost-calculator-JTFEJVWK.js +70 -0
- package/dist/user-agents-QLIGPLP2.js +30 -0
- package/dist/variant-execution-I4ZZUAWY.js +319 -0
- package/dist/variant-opt-parser-JHCXKY2K.js +251 -0
- package/dist/variant-request-input-PL37N3AN.js +11 -0
- package/dist/variant-state-cleanup-KHMXRBZN.js +287 -0
- package/dist/variant-worker-COB5YTJX.js +4517 -0
- package/dist/variant-worker.js +26 -0
- package/dist/variants-XGDSXYG3.js +267 -0
- package/dist/verification-command-YSPU4VBH.js +66 -0
- package/dist/verify-command-timeout-DQUYH33Z.js +11 -0
- package/dist/verify-commands-LOHMOFKC.js +65 -0
- package/dist/warning-JSKSFKBT.js +13 -0
- package/dist/work-edge-K65NHVWY.js +50 -0
- package/dist/work-item-writer-KY5ZWZWW.js +30 -0
- package/dist/worker-JNXXEIT6.js +1504 -0
- package/dist/worker.js +21 -0
- package/dist/workspace-tree-identity-JO5PSKTW.js +52 -0
- package/dist/worktree-environment-WTVABAQW.js +64 -0
- package/dist/worktree-metrics-VZRQI26T.js +66 -0
- package/dist/writeback-TQFQBJNU.js +50 -0
- package/docs/CLI_REFERENCE.md +8287 -0
- package/docs/PROVIDER_SETUP.md +1737 -0
- package/docs/README.md +96 -0
- package/docs/TROUBLESHOOTING.md +2209 -0
- package/docs/getting-started/QUICK_START.md +260 -0
- package/docs/getting-started/README.md +198 -0
- package/docs/getting-started/SETUP.md +25 -0
- package/docs/reference/AGENT_CONTEXT.md +84 -0
- package/docs/reference/DELIVERY_ONBOARDING.md +198 -0
- package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
- package/docs/reference/SECURITY.md +291 -0
- package/docs/reference/TELEMETRY_PRIVACY.md +259 -0
- package/integrations/bb-plugin-build/README.md +391 -0
- package/integrations/bb-plugin-build/app.css +431 -0
- package/integrations/bb-plugin-build/app.tsx +6210 -0
- package/integrations/bb-plugin-build/package.json +45 -0
- package/integrations/bb-plugin-build/server.ts +488 -0
- package/integrations/bb-plugin-build/src/adapter.ts +3672 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-model.ts +150 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-schema.ts +458 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-service.ts +467 -0
- package/integrations/bb-plugin-build/src/backlog-authoring-view.ts +1025 -0
- package/integrations/bb-plugin-build/src/command-evidence-schema.ts +13 -0
- package/integrations/bb-plugin-build/src/competition-defaults-schema.ts +122 -0
- package/integrations/bb-plugin-build/src/competition-defaults-service.ts +105 -0
- package/integrations/bb-plugin-build/src/competition-defaults-view.ts +138 -0
- package/integrations/bb-plugin-build/src/contract.ts +718 -0
- package/integrations/bb-plugin-build/src/execution-activity-view.ts +98 -0
- package/integrations/bb-plugin-build/src/finalize-model.ts +205 -0
- package/integrations/bb-plugin-build/src/finalize-schema.ts +150 -0
- package/integrations/bb-plugin-build/src/finalize-service.ts +330 -0
- package/integrations/bb-plugin-build/src/finalize-view.ts +159 -0
- package/integrations/bb-plugin-build/src/judge-operations-readback.ts +303 -0
- package/integrations/bb-plugin-build/src/judge-operations-schema.ts +33 -0
- package/integrations/bb-plugin-build/src/judge-operations-view.ts +459 -0
- package/integrations/bb-plugin-build/src/model.ts +1318 -0
- package/integrations/bb-plugin-build/src/monitor-service.ts +233 -0
- package/integrations/bb-plugin-build/src/panel-read-ux.ts +97 -0
- package/integrations/bb-plugin-build/src/patch-preview-schema.ts +166 -0
- package/integrations/bb-plugin-build/src/patch-preview-service.ts +480 -0
- package/integrations/bb-plugin-build/src/patch-preview-view.ts +109 -0
- package/integrations/bb-plugin-build/src/planning-readback.ts +228 -0
- package/integrations/bb-plugin-build/src/planning-service.ts +647 -0
- package/integrations/bb-plugin-build/src/planning-sync-evidence.ts +37 -0
- package/integrations/bb-plugin-build/src/planning-workspace-readback.ts +33 -0
- package/integrations/bb-plugin-build/src/planning-workspace-schema.ts +131 -0
- package/integrations/bb-plugin-build/src/planning-workspace.ts +333 -0
- package/integrations/bb-plugin-build/src/poll-handoff.ts +136 -0
- package/integrations/bb-plugin-build/src/project-target-server.ts +21 -0
- package/integrations/bb-plugin-build/src/project-target.ts +45 -0
- package/integrations/bb-plugin-build/src/reference-index.ts +218 -0
- package/integrations/bb-plugin-build/src/repository-identity.ts +17 -0
- package/integrations/bb-plugin-build/src/repository-schema.ts +30 -0
- package/integrations/bb-plugin-build/src/result-explorer-view.ts +597 -0
- package/integrations/bb-plugin-build/src/result-readback-model.ts +163 -0
- package/integrations/bb-plugin-build/src/result-readback-schema.ts +319 -0
- package/integrations/bb-plugin-build/src/result-readback-service.ts +333 -0
- package/integrations/bb-plugin-build/src/run-page-view.ts +332 -0
- package/integrations/bb-plugin-build/src/setup-config-schema.ts +293 -0
- package/integrations/bb-plugin-build/src/setup-config-service.ts +620 -0
- package/integrations/bb-plugin-build/src/setup-config-view.ts +388 -0
- package/integrations/bb-plugin-build/src/sprint-close-model.ts +150 -0
- package/integrations/bb-plugin-build/src/sprint-close-schema.ts +128 -0
- package/integrations/bb-plugin-build/src/sprint-close-service.ts +293 -0
- package/integrations/bb-plugin-build/src/sprint-close-view.ts +116 -0
- package/integrations/bb-plugin-build/src/sprint-composition-model.ts +709 -0
- package/integrations/bb-plugin-build/src/sprint-composition-readback.ts +231 -0
- package/integrations/bb-plugin-build/src/sprint-composition-schema.ts +597 -0
- package/integrations/bb-plugin-build/src/sprint-composition-service.ts +773 -0
- package/integrations/bb-plugin-build/src/sprint-composition-view.ts +1221 -0
- package/integrations/bb-plugin-build/src/sprint-execution-schema.ts +188 -0
- package/integrations/bb-plugin-build/src/sprint-execution-service.ts +289 -0
- package/integrations/bb-plugin-build/src/sprint-execution-view.ts +54 -0
- package/integrations/bb-plugin-build/src/task-authoring-model.ts +563 -0
- package/integrations/bb-plugin-build/src/task-authoring-schema.ts +629 -0
- package/integrations/bb-plugin-build/src/task-authoring-service.ts +842 -0
- package/integrations/bb-plugin-build/src/task-authoring-view.ts +1227 -0
- package/integrations/bb-plugin-build/src/task-catalog-schema.ts +46 -0
- package/integrations/bb-plugin-build/src/task-catalog-service.ts +44 -0
- package/integrations/bb-plugin-build/src/task-detail-readback.ts +56 -0
- package/integrations/bb-plugin-build/src/task-detail-schema.ts +171 -0
- package/integrations/bb-plugin-build/src/task-navigation.ts +446 -0
- package/integrations/bb-plugin-build/src/workbench-route.ts +74 -0
- package/package.json +306 -4
- package/schemas/README.md +80 -0
- package/schemas/build.config.schema.json +2110 -0
- package/schemas/config-v1.schema.json +136 -0
- package/schemas/execution-config.schema.json +47 -0
- package/schemas/judge-scoring.schema.json +257 -0
- package/schemas/provider-config.schema.json +179 -0
- package/schemas/telemetry-config.schema.json +79 -0
- package/schemas/user-preferences.schema.json +141 -0
- package/scripts/assert-node-runtime.mjs +146 -0
- package/scripts/preflight-native.mjs +49 -0
- package/scripts/setup-git-hooks.mjs +39 -0
- package/scripts/sync.sh +2871 -0
- package/scripts/write-node-launcher.sh +138 -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/.build-project/README.md +41 -0
- package/templates/.build-project/agents/README.md +50 -0
- package/templates/.build-project/agents/architect.md +10 -0
- package/templates/.build-project/agents/code-reviewer.md +10 -0
- package/templates/.build-project/agents/debugger.md +10 -0
- package/templates/.build-project/agents/documenter.md +10 -0
- package/templates/.build-project/agents/test-automator.md +10 -0
- package/templates/.build-project/config/build.config.jsonc +64 -0
- package/templates/.build-project/config/project-context.template.json +6 -0
- package/templates/.build-project/config/task-type-aliases.presets/kanban.yaml +14 -0
- package/templates/.build-project/config/task-type-aliases.presets/scrum.yaml +17 -0
- package/templates/.build-project/config/task-type-aliases.presets/xp.yaml +12 -0
- package/templates/.build-project/config/task-type-aliases.yaml +29 -0
- package/templates/.build-project/gitignore.template +70 -0
- package/templates/.build-project/task-types/analysis.yaml +38 -0
- package/templates/.build-project/task-types/architecture.yaml +35 -0
- package/templates/.build-project/task-types/doc.yaml +34 -0
- package/templates/.build-project/task-types/feature.yaml +22 -0
- package/templates/.build-project/task-types/general.yaml +4 -0
- package/templates/.build-project/task-types/security.yaml +38 -0
- package/templates/AGENTS.template.md +85 -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/skills/code-review/SKILL.md +61 -0
- package/templates/builtin-workflows/skills/execution-contract-analysis/SKILL.md +24 -0
- package/templates/builtin-workflows/skills/execution-contract-code/SKILL.md +19 -0
- package/templates/builtin-workflows/skills/execution-contract-structured/SKILL.md +17 -0
- package/templates/ci/incident-intake.mjs +787 -0
- package/templates/ci/incidents.yml.template +103 -0
- package/templates/ci/node.yml.template +17 -0
- package/templates/ci/python.yml.template +17 -0
- package/templates/guard-kit/GUARD_SETUP.md.template +258 -0
- package/templates/guard-kit/build-guard.yml.template +189 -0
- package/templates/guard-kit/check.mjs.template +932 -0
- package/templates/guard-kit/config.json.template +7 -0
- package/templates/guard-kit/policy.json.template +1 -0
- package/templates/profiles/README.md +57 -0
- package/templates/profiles/frontier-claude.json +23 -0
- package/templates/profiles/frontier-codex.json +23 -0
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# Telemetry And Privacy Reference
|
|
2
|
+
|
|
3
|
+
Build telemetry is local-first, and there is one place it is written: the shared
|
|
4
|
+
telemetry directory under the Build data root, `~/.build/data/telemetry/` by
|
|
5
|
+
default. The SQLite databases live in its `db/` subdirectory (`variants.db`,
|
|
6
|
+
`validations.db`), `invocations.db` sits beside that directory, and JSONL logs go
|
|
7
|
+
under `logs/`. An ordinary run writes no database inside the repository, and the main
|
|
8
|
+
JSONL log stream follows the resolved database directory, so deleting a clone or a
|
|
9
|
+
worktree never deletes that execution history, and two checkouts of one repository
|
|
10
|
+
share one store (rows carry `project_id`, `builder_id`, `lab_id`). `builder_id` is
|
|
11
|
+
`local-` plus the first 16 hex characters of a SHA-256 over the repository path and
|
|
12
|
+
your `git config user.email`; the email itself is not stored, and without a
|
|
13
|
+
configured email the value is `local-unknown`.
|
|
14
|
+
|
|
15
|
+
Two things still live in the checkout. Per-run state — competition handoffs, variant
|
|
16
|
+
state, and event streams — is written under `.build-project/telemetry/state/` in the checkout that ran
|
|
17
|
+
them, because `build monitor`, `build find`, orphan detection, and the reliability
|
|
18
|
+
commands read those files directly from the working tree. That state is reproducible
|
|
19
|
+
working data, not execution history. Flywheel workflow telemetry follows the same
|
|
20
|
+
resolved telemetry directory as the main stream (`logs/<month>/` under it).
|
|
21
|
+
|
|
22
|
+
A lab run is the second. `--lab-id`/`--run-id` keeps everything inside a throwaway
|
|
23
|
+
run tree that is never mixed into the shared store. Before a data-migration marker
|
|
24
|
+
exists, that tree is
|
|
25
|
+
`.build-project/labs/{labId}/runs/{runId}/` in the checkout (`telemetry/db/` and `logs/`
|
|
26
|
+
under it). After a marker exists, `resolveProjectRuntimeDir` relocates `labs/` to
|
|
27
|
+
`{projectDataDir}/labs/` (typically under the Build data root). Discarding the
|
|
28
|
+
resolved lab tree is how a lab run is meant to end. `build doctor --verbose`
|
|
29
|
+
prints the resolved telemetry directory; `build data status` names the project
|
|
30
|
+
data directory.
|
|
31
|
+
|
|
32
|
+
The write location resolves in this order, highest first:
|
|
33
|
+
|
|
34
|
+
1. `BUILD_TELEMETRY_DB` — explicit override, used by tests and CI.
|
|
35
|
+
2. A lab run (`--lab-id`/`--run-id`), which writes into its own throwaway run tree
|
|
36
|
+
under `.build-project/labs/{lab}/runs/{run}/telemetry`.
|
|
37
|
+
3. `telemetry.database` in `build.config.jsonc`. DEPRECATED: set it only to
|
|
38
|
+
relocate telemetry outside the repository. A value equal to the old repo-local
|
|
39
|
+
default (`.build-project/telemetry/db/variants.db`) is ignored, and any other value is
|
|
40
|
+
honored with a one-time deprecation warning.
|
|
41
|
+
4. The data root.
|
|
42
|
+
|
|
43
|
+
`BUILD_DATA_DIR`, `BUILD_HOME`, and `XDG_DATA_HOME` move the data root itself.
|
|
44
|
+
|
|
45
|
+
Older versions wrote databases into the repository's `.build-project/telemetry/db/`
|
|
46
|
+
tree. That `db/` path is never read or written now; `build doctor --verbose`
|
|
47
|
+
reports leftover checkout `db/` as an advisory, and `build data migrate execute`
|
|
48
|
+
merges those databases into the data root. Checkout `state/` (per-run) is still
|
|
49
|
+
live, as described above; checkout `logs/` holds only flywheel JSONL from older
|
|
50
|
+
versions. Advanced-workflow
|
|
51
|
+
synthesis artifacts write under the resolved telemetry directory
|
|
52
|
+
(`~/.build/data/telemetry/synthesis/` by default; `build doctor --verbose`
|
|
53
|
+
prints the resolved path), not under checkout `.build-project/telemetry/synthesis/`.
|
|
54
|
+
|
|
55
|
+
Build does not send telemetry to a Build-hosted service. Provider CLIs still
|
|
56
|
+
make their own network calls and may have their own telemetry, logging, and
|
|
57
|
+
retention behavior.
|
|
58
|
+
|
|
59
|
+
Portable `.ptel` bundles are local files created by `build telemetry bundle export` or the
|
|
60
|
+
default-on ephemeral wrapper `build telemetry replicate`. They contain only allowlisted structured fields and omit local
|
|
61
|
+
diagnostic text, prompts, commands, paths, rationales, arbitrary JSON, and provider output.
|
|
62
|
+
Creating a bundle does not upload it. An external VM launcher may retrieve a bundle through its
|
|
63
|
+
configured artifact channel when ephemeral replication is enabled. Import writes to a separate portability database. Imported
|
|
64
|
+
execution evidence is included by cost read models through a deduplicated projection; it does not
|
|
65
|
+
rewrite live execution rows or feed routing/calibration.
|
|
66
|
+
|
|
67
|
+
## Usage And Cost Evidence
|
|
68
|
+
|
|
69
|
+
Usage telemetry contains structured numeric evidence only. Prompt text, responses, tool arguments,
|
|
70
|
+
credentials, and arbitrary provider payloads are not usage evidence.
|
|
71
|
+
|
|
72
|
+
Input, output, cache-read, cache-creation/write, reasoning, and tool-token dimensions are retained
|
|
73
|
+
independently when a provider emits them. Each provider declares structured usage as supported,
|
|
74
|
+
best-effort, or unsupported. Kiro currently declares it unsupported. Antigravity reports
|
|
75
|
+
input, output, thinking, and cache-read usage in authenticated `agy` stream-JSON runs; it does
|
|
76
|
+
not currently report cache-creation tokens or monetary cost.
|
|
77
|
+
|
|
78
|
+
Build stores API-equivalent list-price cost separately from cost explicitly reported by a
|
|
79
|
+
provider. API-equivalent cost is not actual subscription spend. When both amounts exist, Build
|
|
80
|
+
retains the comparison delta. Pricing snapshots are immutable and include cache and long-context
|
|
81
|
+
rules in their content identity.
|
|
82
|
+
|
|
83
|
+
Portable format v2 includes invocation attempts, usage evidence, pricing snapshots, and cost
|
|
84
|
+
evaluations. Repeated import is content-addressed and idempotent.
|
|
85
|
+
|
|
86
|
+
## What Build Stores Locally
|
|
87
|
+
|
|
88
|
+
Build can store:
|
|
89
|
+
|
|
90
|
+
- Prompts and prompt metadata: competition state JSON can include the original
|
|
91
|
+
prompt text; SQLite rows can include prompt versions, prompt hashes or
|
|
92
|
+
fingerprints, prompt lengths, prompt token counts, and prompt file paths.
|
|
93
|
+
- Repository and path data: project identifiers, task IDs, competition IDs,
|
|
94
|
+
worktree paths, changed-file counts, file target paths, file touch paths,
|
|
95
|
+
directory paths, and git commit SHAs before or after execution.
|
|
96
|
+
- Provider metadata: provider, requested provider, model, requested model,
|
|
97
|
+
resolved model, strategy, execution mode, workspace mode, guidance profile,
|
|
98
|
+
reasoning effort, provider readiness failover details, cloud compatibility
|
|
99
|
+
fields for older records, and provider status or error codes.
|
|
100
|
+
- Execution outcomes: timestamps, duration, verdict, completeness, success or
|
|
101
|
+
failure, termination reason, PR number or URL when applicable, validation
|
|
102
|
+
command names, validation exit codes, and bounded validation output tails.
|
|
103
|
+
- Output and error excerpts: telemetry state and provider-history records may
|
|
104
|
+
contain output tails, error messages, raw excerpts, judge failure excerpts,
|
|
105
|
+
and summarized provider stream events. These are for debugging and should be
|
|
106
|
+
treated as potentially sensitive.
|
|
107
|
+
- Judge and synthesis metadata: judge model, rubric version, scores,
|
|
108
|
+
confidence, rationale, winner selection metadata, attribution warnings,
|
|
109
|
+
synthesis status, and calibration fields.
|
|
110
|
+
- Cost and usage data: input tokens, output tokens, cached-token fields when
|
|
111
|
+
reported, request sizes, time to first token, total time, pricing snapshots,
|
|
112
|
+
computed costs, daily cost aggregates, and advisory cost forecasts.
|
|
113
|
+
|
|
114
|
+
Do not put secrets in prompts. The macOS sandbox does not prevent provider
|
|
115
|
+
CLIs from reading every broadly-readable file, and provider CLIs have outbound
|
|
116
|
+
network access.
|
|
117
|
+
|
|
118
|
+
## Retention Defaults
|
|
119
|
+
|
|
120
|
+
The current compiled defaults come from `src/telemetry/retention-config.ts`:
|
|
121
|
+
|
|
122
|
+
| Data | Default retention |
|
|
123
|
+
| --- | --- |
|
|
124
|
+
| JSONL telemetry logs | 90 days |
|
|
125
|
+
| Root signal JSONL files (`signals-*.jsonl`) | 90 days |
|
|
126
|
+
| Run records in `variants.db`, soft pruning | 180 days |
|
|
127
|
+
| Run records in `variants.db`, warning/aggressive pruning | 90 days |
|
|
128
|
+
| Invocation history (`invocations.db`) | not pruned |
|
|
129
|
+
| Backup archives | 30 days |
|
|
130
|
+
| Monthly backup archives beyond normal backup retention | 3 monthly archives |
|
|
131
|
+
| Maximum retained telemetry backups | 1 GiB |
|
|
132
|
+
| Cleanup log files | 7 days |
|
|
133
|
+
| VACUUM after cleanup | enabled |
|
|
134
|
+
|
|
135
|
+
The automatic SQLite pruning windows apply only to the variant execution, judge, and
|
|
136
|
+
verification tables in `variants.db` (with their child rows), and only when that
|
|
137
|
+
database grows past a size threshold: 1.5 GiB triggers the 180-day pass and 2 GiB
|
|
138
|
+
triggers the 90-day pass (`BUILD_DB_SOFT_LIMIT` and `BUILD_DB_WARNING_LIMIT`
|
|
139
|
+
change these). A smaller database is not pruned by age, and at the hard limit
|
|
140
|
+
(5 GiB, `BUILD_DB_HARD_LIMIT`) startup cleanup stops with an error instead of
|
|
141
|
+
pruning. Invocation history in
|
|
142
|
+
`invocations.db`, which records every provider execution attempt, has no
|
|
143
|
+
retention window: cleanup only compacts it (VACUUM), and it is kept until you
|
|
144
|
+
delete it. The supported way is to remove the shared telemetry directory, as
|
|
145
|
+
described under Delete Or Prune Local Data.
|
|
146
|
+
|
|
147
|
+
Environment variables can override the JSONL and SQLite retention windows:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
BUILD_TELEMETRY_RETENTION_DAYS=30 build telemetry health
|
|
151
|
+
BUILD_TELEMETRY_SIGNALS_RETENTION_DAYS=30 build telemetry health
|
|
152
|
+
BUILD_DB_SOFT_RETENTION_DAYS=90 build telemetry health
|
|
153
|
+
BUILD_DB_WARNING_RETENTION_DAYS=30 build telemetry health
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Project config can override backup and cleanup-log retention under
|
|
157
|
+
`telemetry.retention` in `.build-project/config/build.config.jsonc`:
|
|
158
|
+
|
|
159
|
+
```jsonc
|
|
160
|
+
{
|
|
161
|
+
"telemetry": {
|
|
162
|
+
"retention": {
|
|
163
|
+
"backups_days": 14,
|
|
164
|
+
"backups_monthly_count": 1,
|
|
165
|
+
"backups_max_bytes": 536870912,
|
|
166
|
+
"logs_days": 7,
|
|
167
|
+
"vacuum_on_cleanup": true
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Disable Telemetry
|
|
174
|
+
|
|
175
|
+
Build recognizes `BUILD_TELEMETRY_ENABLED=0` in its configuration layer.
|
|
176
|
+
Use it when you want commands to resolve telemetry as disabled:
|
|
177
|
+
|
|
178
|
+
For one command:
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
BUILD_TELEMETRY_ENABLED=0 build run "Your task" --provider grok
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
For the current shell:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
export BUILD_TELEMETRY_ENABLED=0
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
This is not a confidentiality control and does not disable telemetry owned by
|
|
191
|
+
provider CLIs. Some operational state may still be written by command paths
|
|
192
|
+
that need local recovery data. For runs where you do not want retained project
|
|
193
|
+
telemetry, redirect Build telemetry to a temporary location and delete it when
|
|
194
|
+
the run finishes:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
tmpdir="$(mktemp -d)"
|
|
198
|
+
BUILD_TELEMETRY_DIR="$tmpdir/.build-project" \
|
|
199
|
+
BUILD_TELEMETRY_DB="$tmpdir/telemetry.db" \
|
|
200
|
+
build run "Your task" --provider grok
|
|
201
|
+
rm -rf "$tmpdir"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Delete Or Prune Local Data
|
|
205
|
+
|
|
206
|
+
Preview stale telemetry cleanup:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
build cleanup stale --only telemetry
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Execute stale telemetry cleanup:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
build cleanup stale --only telemetry --execute
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Preview governed TTL cleanup, including telemetry artifacts and database
|
|
219
|
+
backups covered by cleanup prune policies:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
build cleanup prune
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Execute governed TTL cleanup:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
build cleanup prune --execute
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
To delete telemetry, stop running Build processes first, then remove the shared
|
|
232
|
+
telemetry directory under the data root:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
rm -rf ~/.build/data/telemetry
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
This is shared by every project on the machine. `build doctor --verbose` prints the
|
|
239
|
+
resolved directory; check it before deleting, because `BUILD_TELEMETRY_DB`,
|
|
240
|
+
`telemetry.database`, `BUILD_DATA_DIR`, `BUILD_HOME`, and `XDG_DATA_HOME` all move
|
|
241
|
+
it. When `BUILD_HOME` is set and no explicit data root is configured, telemetry is
|
|
242
|
+
under `$BUILD_HOME/data/telemetry/`. Live synthesis artifacts live in `synthesis/`
|
|
243
|
+
under that same resolved directory.
|
|
244
|
+
|
|
245
|
+
A repository that was used with an older Build version may still hold
|
|
246
|
+
`.build-project/telemetry/`. Do not delete that whole directory: as described above, `state/`
|
|
247
|
+
holds live per-run data that is still read. Checkout `db/` is leftover SQLite only,
|
|
248
|
+
and checkout `logs/` holds flywheel JSONL from older versions. Run `build data migrate execute` to
|
|
249
|
+
merge those databases into the data root, then you may remove just `db/`:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
rm -rf .build-project/telemetry/db
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Do not delete checkout `.build-project/telemetry/synthesis/`. It is not a migrate source,
|
|
256
|
+
and `build data migrate execute` can delete checkout JSONL shards whose destination
|
|
257
|
+
already exists (including old flywheel shards that share `YYYY-MM/YYYY-MM-DD.jsonl`
|
|
258
|
+
names with the data-root stream). `build doctor --verbose` reports leftover checkout `db/` and leftover
|
|
259
|
+
checkout `synthesis/` and stays silent when neither is present.
|
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
# Build for BB (local development)
|
|
2
|
+
|
|
3
|
+
This optional, full-trust BB plugin presents Build planning state, searchable task, sprint, and
|
|
4
|
+
backlog work, task/sprint execution, local Fusion and judged competition runs, and tracked backlog
|
|
5
|
+
execution. Build remains the planning,
|
|
6
|
+
orchestration, provider, judge, and result authority. The plugin keeps no backlog database, provider credentials, run
|
|
7
|
+
ledger, daemon, or independent provider execution path.
|
|
8
|
+
|
|
9
|
+
## Installation and enablement
|
|
10
|
+
|
|
11
|
+
Prerequisites: a running BB server with plugin SDK `0.4.x`, Build `1.x` or a calendar release (`YYYY.M.D`), and one BB project
|
|
12
|
+
whose local source is the root of an initialized Build Git repository.
|
|
13
|
+
|
|
14
|
+
Build alone is the default. The optional visual path reuses the existing
|
|
15
|
+
provider setup surface (no new Build command family) and BB's native plugin
|
|
16
|
+
installer:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
build provider setup --bb
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
That command prints the Build plugin version, detected BB version, plugin SDK
|
|
23
|
+
range, and full-trust permission implications before enablement. Missing BB, an
|
|
24
|
+
incompatible BB version, a missing plugin package, or install failure leaves
|
|
25
|
+
standalone Build unchanged and prints a recovery path. Provider credentials
|
|
26
|
+
and auth files are never read or copied.
|
|
27
|
+
|
|
28
|
+
An older local-path registration is not replaced implicitly. After reviewing
|
|
29
|
+
the disclosure, rerun with `--bb --reinstall` to replace it. Reinstalling the
|
|
30
|
+
same path is idempotent. To move the plugin, Build asks BB to install the new
|
|
31
|
+
path directly so BB can preserve the plugin's settings, secrets, and schedules.
|
|
32
|
+
A failed explicit replacement reports BB's observed installed state and leaves
|
|
33
|
+
the existing registration in place. A failed first-time registration is removed
|
|
34
|
+
automatically when Build can prove it created it.
|
|
35
|
+
|
|
36
|
+
When the panel sees exactly one local BB project source it selects it
|
|
37
|
+
automatically; zero or multiple sources require an explicit user choice.
|
|
38
|
+
|
|
39
|
+
## SDK compatibility and host-test contract
|
|
40
|
+
|
|
41
|
+
The committed declaration files are development inputs for editors, TypeScript,
|
|
42
|
+
and CI. They are excluded from Build's published npm package and are not read
|
|
43
|
+
or regenerated during end-user setup. `types/PROVENANCE.json` records their BB
|
|
44
|
+
source commit, SDK version, generation method, digests, and byte lengths.
|
|
45
|
+
|
|
46
|
+
Regenerate declarations for development from a BB checkout with the recorded
|
|
47
|
+
`generation.command`, then update `upstream.sourceCommit`, `sha256`, and
|
|
48
|
+
`byteLength` in `types/PROVENANCE.json`.
|
|
49
|
+
|
|
50
|
+
The focused backend/RPC test loads the real `server.ts` factory directly into
|
|
51
|
+
BB's official `@bb/plugin-sdk/testing` `createFakePluginHost`. Point
|
|
52
|
+
`BB_SOURCE_ROOT` at a checkout of the recorded source commit and run:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
BB_SOURCE_ROOT=/path/to/bb npx vitest run \
|
|
56
|
+
--config integrations/bb-plugin-build/vitest.host.config.ts
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
This exercises BB's actual contract registration and strict runtime validation
|
|
60
|
+
without copying its test-host implementation into Build. The test-only runtime
|
|
61
|
+
is resolved from the supplied checkout; standalone Build and its ordinary test
|
|
62
|
+
suite do not import BB or require BB to be installed.
|
|
63
|
+
|
|
64
|
+
### Local development
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cd /absolute/path/to/build/integrations/bb-plugin-build
|
|
68
|
+
npm install
|
|
69
|
+
bb plugin install /absolute/path/to/build/integrations/bb-plugin-build
|
|
70
|
+
bb plugin dev /absolute/path/to/build/integrations/bb-plugin-build
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Open the `Build` navigation panel and select the BB project source when
|
|
74
|
+
auto-association does not apply. The workbench nav is Overview, Plan, Run, and
|
|
75
|
+
Settings. Backlog list and detail live under Plan (`plan/backlog`); run list and
|
|
76
|
+
detail live under Run (`run`); Settings remounts the former setup workspace
|
|
77
|
+
(`settings`, with `setup` as an alias). Older `backlog` and `runs` paths parse
|
|
78
|
+
to the same kinds. If the BB server does not inherit the shell
|
|
79
|
+
path that contains `build`, set the plugin's `Build executable` setting to an
|
|
80
|
+
absolute path and reload the plugin.
|
|
81
|
+
|
|
82
|
+
Run contains one client-side work browser with Tasks, Sprints, and Backlog tabs. Tasks and sprints
|
|
83
|
+
include active and archived Build records and can be searched, filtered, and sorted without
|
|
84
|
+
adding server-side query state or a BB planning mirror. A task opens its existing Plan detail or
|
|
85
|
+
runs through its owning sprint; a sprint can be inspected or run. Backlog items retain the
|
|
86
|
+
existing Run, Compete, and Fusion actions.
|
|
87
|
+
|
|
88
|
+
## Trust and effects
|
|
89
|
+
|
|
90
|
+
BB plugins execute with full host trust. Every launch confirmation discloses
|
|
91
|
+
that this backend starts the installed `build` executable as the current host
|
|
92
|
+
user with the selected canonical repository as `cwd`. It passes an argv array
|
|
93
|
+
with `shell: false`; the RPC contract exposes no arbitrary executable, argv,
|
|
94
|
+
environment, cwd, or file-read method.
|
|
95
|
+
|
|
96
|
+
Fusion launches `build run fusion --backlog-item <id> --json`. Build resolves the
|
|
97
|
+
canonical backlog body; BB does not copy task content into process arguments. That action
|
|
98
|
+
may use the user's native provider authentication and create local worktrees,
|
|
99
|
+
logs, or artifacts. It does not mutate/synchronize Build's managed planning
|
|
100
|
+
files and does not push Git changes. The plugin never adds `--allow-main` or
|
|
101
|
+
changes Build's consent policy. Protected branches are disclosed; detached
|
|
102
|
+
HEAD, a non-root/wrong repository, an uninitialized Build repository, and
|
|
103
|
+
incompatible Build or snapshot major versions are blocked explicitly.
|
|
104
|
+
|
|
105
|
+
Competition launch has its own consent and starts only
|
|
106
|
+
`build run competition --backlog-item <id> --judge ai --configured-defaults --json`.
|
|
107
|
+
Build resolves the configured variants and models, owns judging, and publishes
|
|
108
|
+
the versioned start envelope before BB begins its existing competition-results
|
|
109
|
+
polling. BB adds no provider picker, judge implementation, retry loop, or run
|
|
110
|
+
store. Competition cards take lifecycle, phase, candidate status, and compatibility
|
|
111
|
+
from Build's canonical `operationalReadbackV1`, without combining it with legacy
|
|
112
|
+
result fields. After BB loses its exact child-process handle, the run remains observable
|
|
113
|
+
from Build but is not cancellable or automatically restarted.
|
|
114
|
+
|
|
115
|
+
Tracked execution has a separate RPC and consent schema. It launches only
|
|
116
|
+
`build plan backlog execute <id>` with no bypass flags. Build owns repository-readiness checks.
|
|
117
|
+
The disclosure states that canonical Build may create or switch branches,
|
|
118
|
+
synchronize managed planning state, invoke native provider authentication,
|
|
119
|
+
create commits, push changes, and open a PR. BB does not implement any of those
|
|
120
|
+
steps. Finalization wraps the exact
|
|
121
|
+
`build plan backlog finalize <id> --pr <n> --commit <sha>` argv under high
|
|
122
|
+
consent; Build still owns the lifecycle. BB never invents the PR number or
|
|
123
|
+
commit SHA and never implements `--auto` finalize.
|
|
124
|
+
|
|
125
|
+
Task and sprint execution use the same typed surface over `build run sprint`. BB first displays
|
|
126
|
+
Build's canonical preflight task, stage, warning, and error projection. BB separately discloses the
|
|
127
|
+
fixed repository effects of the selected launch. Review
|
|
128
|
+
offers **Use default**, **Off**, **Block**, and **Repair**, with full Critical, High, Medium, and Low
|
|
129
|
+
levels for Block and Repair. Use default omits `--review`; BB displays the effective policy and a
|
|
130
|
+
friendly source such as `Set by user environment`, `Set by project configuration`, or `Set by
|
|
131
|
+
Build default`. An explicit choice applies only to that run. Launch re-runs preflight immediately
|
|
132
|
+
and invokes only the fixed `--apply --detach --json` command, without a retry after an ambiguous
|
|
133
|
+
result.
|
|
134
|
+
|
|
135
|
+
## Planning authoring and sprint composition
|
|
136
|
+
|
|
137
|
+
BB provides bounded forms over Build's existing planning authority. Backlog
|
|
138
|
+
authoring can capture and edit items, mark them reviewed, and set priority;
|
|
139
|
+
custom-task authoring can create or edit an operator-authored task, add or remove
|
|
140
|
+
task dependencies, and link a task to a backlog item. Sprint composition can
|
|
141
|
+
create or rename a sprint, add backlog work as a new task, detach a task without
|
|
142
|
+
deleting it, and migrate a task between sprints while preserving its id and
|
|
143
|
+
resetting its status to `todo`.
|
|
144
|
+
|
|
145
|
+
Each confirmed action runs once against the selected repository and branch.
|
|
146
|
+
Build mints identities, applies mutations, and remains authoritative for
|
|
147
|
+
status, membership, capacity, integrity, and sync evidence; BB displays changed
|
|
148
|
+
facts only after authoritative rereads. The confirmation discloses that
|
|
149
|
+
Build's built-in managed sync may commit and push planning changes, and BB does
|
|
150
|
+
not suppress or replace that sync. Backlog bodies are sent over stdin and are not
|
|
151
|
+
placed in reported process arguments. BB verifies that the selected branch did
|
|
152
|
+
not move, but Build decides whether each planning command is valid on that branch.
|
|
153
|
+
|
|
154
|
+
This surface wraps one-item finalize and single-sprint close under high consent.
|
|
155
|
+
It still does not defer or archive-backlog, `--force` close, refine
|
|
156
|
+
items, or select providers or models. Those remaining concerns stay in their
|
|
157
|
+
existing Build-owned workflows.
|
|
158
|
+
|
|
159
|
+
## Read and polling contract
|
|
160
|
+
|
|
161
|
+
- The planning workspace reads the versioned projection carried by
|
|
162
|
+
`build plan sprint status --json` when the panel selects a repository. It
|
|
163
|
+
presents Build's sprint, task, dependency, blocker, ownership, active-work,
|
|
164
|
+
and advisory sync evidence without keeping a planning mirror. Older Build
|
|
165
|
+
versions and malformed or unavailable evidence render as unavailable rather
|
|
166
|
+
than as an empty or healthy workspace.
|
|
167
|
+
- Planning state is not attached to run polling, the background service, or the
|
|
168
|
+
30-second watchdog. Selecting or reopening a repository performs one fresh
|
|
169
|
+
planning read; when a tracked execute card first becomes terminal the panel
|
|
170
|
+
issues one additional `planningWorkspace` refetch. The adapter does not.
|
|
171
|
+
No planning poller, cache, heartbeat, or daemon is added.
|
|
172
|
+
- Backlog list/detail comes from `build plan backlog list/show --json` on each
|
|
173
|
+
request. No BB task store is used.
|
|
174
|
+
- The work browser's complete task catalog comes from fixed argv `build plan task list --all
|
|
175
|
+
--json`; sprint rows come from `build plan sprint list --json`. Search, filters, and sorting are
|
|
176
|
+
transient panel state and never change either command.
|
|
177
|
+
- Detached task/sprint cards poll fixed argv `build run flywheel status <workflow-id> --json` and
|
|
178
|
+
consume only Build's versioned `operationalReadbackV1`. The card shows canonical task/stage,
|
|
179
|
+
execution, apply, branch, and commit state. When it first becomes terminal, BB refreshes the
|
|
180
|
+
planning workspace and work-browser lists once.
|
|
181
|
+
- Tracked-execution cards also come from that item-specific, kind-tagged
|
|
182
|
+
operational readback. Branch, workflow, commit, verification, PR, blocker,
|
|
183
|
+
and finalization evidence is rendered only when Build publishes it.
|
|
184
|
+
- Fusion's versioned `build.run.started` line supplies the run ID. The plugin
|
|
185
|
+
never guesses it from directories or prose.
|
|
186
|
+
- BB's background service owns the authoritative cadence: it polls
|
|
187
|
+
`build run fusion results <run-id> --json` server-side every 2.5 seconds while any
|
|
188
|
+
run is non-terminal, and every 30 seconds otherwise. The response carries
|
|
189
|
+
`RunSnapshotV1` and Build's deterministic `runProgressV1` projection. A
|
|
190
|
+
repository is polled only while a panel has asked about it in the last five
|
|
191
|
+
minutes; the service's own reads do not extend that window.
|
|
192
|
+
- The frontend keeps connection/watchdog behavior only. It refetches on an
|
|
193
|
+
ephemeral realtime signal, after the shared connection returns from
|
|
194
|
+
`reconnecting`, and on a 30-second watchdog floor.
|
|
195
|
+
- Realtime is ephemeral invalidation, not Build run-event authority. The signal
|
|
196
|
+
names the repository to refetch plus advisory counts; it carries no status,
|
|
197
|
+
phase, progress, verdict, or evidence, and it is published only after the
|
|
198
|
+
server's authoritative read completes. A dropped signal costs a refresh, never
|
|
199
|
+
correctness.
|
|
200
|
+
- The same response optionally carries Build's read-only `judgeOperationsV1`
|
|
201
|
+
projection, which the card renders as the judge operations cockpit (see below).
|
|
202
|
+
- Operation handles are bounded, plugin-process-local startup supervision. Kind-specific run state
|
|
203
|
+
remains inspectable from Build; a detached sprint card intentionally has no standalone command
|
|
204
|
+
because its complete supported status is already presented in BB.
|
|
205
|
+
- Evidence entries retain the run ID and canonical repository so commits,
|
|
206
|
+
branches, changed files, verification, synthesis, and artifacts cannot cross
|
|
207
|
+
between concurrent cards.
|
|
208
|
+
|
|
209
|
+
## Judge operations cockpit
|
|
210
|
+
|
|
211
|
+
Build decides every judge outcome; the cockpit only presents what Build already
|
|
212
|
+
recorded. A competition launched from a reviewed backlog item or adopted by entering
|
|
213
|
+
a known run ID reuses the existing run-card polling path. BB persists no run state,
|
|
214
|
+
and the standalone authority remains `build run competition results <run-id> --json`. It adds
|
|
215
|
+
no polling mechanism, persistence, command, or gate, and it never
|
|
216
|
+
recomputes a score, selects or overrides a winner, reruns a judge, adjudicates on
|
|
217
|
+
the host, or approves anything.
|
|
218
|
+
|
|
219
|
+
- The field is optional. A record that carries no `judgeOperationsV1` — including
|
|
220
|
+
every record written before the projection existed — renders an unavailable
|
|
221
|
+
cockpit, and the run card stays valid. A payload with an incompatible major
|
|
222
|
+
version or another run's id is rejected: unusable evidence is never presented.
|
|
223
|
+
- Evidence Build did not publish renders as an explicit `unavailable`. A published
|
|
224
|
+
empty list renders as `none`; the two are never conflated, and no field is
|
|
225
|
+
defaulted, clamped, or back-filled.
|
|
226
|
+
- The immutable judge winner has its own row, separate from the synthesized and
|
|
227
|
+
delivered artifact rows, even when all three agree. When a synthesized or
|
|
228
|
+
delivered artifact diverges from the winner, that divergence is disclosed and the
|
|
229
|
+
judge winner is left unchanged.
|
|
230
|
+
- Matrix escalation is presented as an escalated judge verdict with Build's own
|
|
231
|
+
escalation reasons, recorded per-profile disagreements, and human checks labelled
|
|
232
|
+
`blocking` or `advisory` as Build recorded them. It does not change which winner
|
|
233
|
+
the cockpit shows.
|
|
234
|
+
- Fusion reports `No judge by design` — a complete state, not a pending, degraded,
|
|
235
|
+
broken, or empty one. Fusion's synthesized and delivered artifacts are still
|
|
236
|
+
shown, because they are not judge concepts.
|
|
237
|
+
- Tracked backlog execution renders no cockpit: its kind-tagged readback carries no
|
|
238
|
+
judge, variant, or verdict fields at all. An unreadable observation also renders
|
|
239
|
+
none rather than replaying stale judge evidence.
|
|
240
|
+
|
|
241
|
+
## Results explorer, patch preview, defaults, and setup
|
|
242
|
+
|
|
243
|
+
Build remains the execution and result authority. BB only presents and navigates
|
|
244
|
+
what Build already published. Competition, Fusion, and tracked backlog execution
|
|
245
|
+
stay kind-specific; sections, references, and standalone commands do not cross kinds.
|
|
246
|
+
Fusion has no Judge winner by design.
|
|
247
|
+
|
|
248
|
+
- **Results explorer** — one read-only view per run via `readResult`. It reuses
|
|
249
|
+
Build's canonical result readback and adds no winner, score, or verification
|
|
250
|
+
recomputation. Canonical standalone commands: `build run competition results <run-id>
|
|
251
|
+
--json`, `build run fusion results <run-id> --json`, and
|
|
252
|
+
`build plan backlog show <id> --json` for tracked execution.
|
|
253
|
+
- **Patch preview** — bounded and patch-only. Only a freshly rebound canonical
|
|
254
|
+
repository-relative `patch` reference may open content, and only up to a fixed byte ceiling; truncated
|
|
255
|
+
previews are labelled partial. Non-patch kinds, cross-run or cross-repository
|
|
256
|
+
identity, unsafe paths, symlinks, binaries, compressed, and missing files are
|
|
257
|
+
explicit refusals. There is no apply, write, or merge control.
|
|
258
|
+
- **Competition configured-defaults disclosure** — read-only presentation of
|
|
259
|
+
`build config resolved --compete --json` with source attribution. The existing
|
|
260
|
+
PBB-20 launch remains
|
|
261
|
+
`build run competition --backlog-item <id> --judge ai --configured-defaults --json`;
|
|
262
|
+
disclosure does not change that argv.
|
|
263
|
+
- **Setup and configuration workspace** — read-only status for install readiness,
|
|
264
|
+
resolved defaults, providers, and copyable guidance. Setup, auth, and config
|
|
265
|
+
commands are guidance only and are never executed by BB. BB displays Build's
|
|
266
|
+
normalized provider-readiness state and label; authentication needed and installed
|
|
267
|
+
but unverified remain distinct, while deferred or unobserved authentication is
|
|
268
|
+
`unknown` / normal, not a fault or launch gate.
|
|
269
|
+
Canonical guidance includes `build --version`,
|
|
270
|
+
`build config resolved --summary --json`,
|
|
271
|
+
`build config resolved --compete --json`,
|
|
272
|
+
`build config validate --json`, `build provider list --json`,
|
|
273
|
+
`build init`, and `build provider setup --first-run` (all run outside BB).
|
|
274
|
+
|
|
275
|
+
## Optional narrated progress
|
|
276
|
+
|
|
277
|
+
Narration is advisory and requires an active UI subscriber: `pollRuns` schedules a
|
|
278
|
+
model call only when a visible panel sets `narrate`. The background service polls
|
|
279
|
+
with narration off, so the authoritative cadence never issues a model call on its
|
|
280
|
+
own. An already-cached fresh narration still renders, because it costs nothing.
|
|
281
|
+
|
|
282
|
+
Narration is disabled by default. Enable it in user or project
|
|
283
|
+
`build.config.jsonc` with an explicit provider; omit `model` to use that
|
|
284
|
+
provider CLI's configured default:
|
|
285
|
+
|
|
286
|
+
```jsonc
|
|
287
|
+
{
|
|
288
|
+
"progressNarration": {
|
|
289
|
+
"enabled": true,
|
|
290
|
+
"provider": "codex",
|
|
291
|
+
"minIntervalMs": 15000,
|
|
292
|
+
"maxAgeMs": 60000,
|
|
293
|
+
},
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Build publishes only a bounded structured-facts envelope alongside
|
|
298
|
+
`runProgressV1`. The plugin invokes the existing `build ask --json` surface,
|
|
299
|
+
so it reuses Build's provider resolution and the installed CLI's native
|
|
300
|
+
authentication. One request covers all active variants for a run. The plugin
|
|
301
|
+
coalesces overlapping polls, rate-limits requests, keeps its cache in memory,
|
|
302
|
+
and immediately falls back to the deterministic progress line when narration
|
|
303
|
+
is disabled, stale, invalid, terminal, or unavailable. Narration and its
|
|
304
|
+
advisory latency never change run state, cancellation, judging, verification,
|
|
305
|
+
or result evidence.
|
|
306
|
+
|
|
307
|
+
## Cancel and reconnect
|
|
308
|
+
|
|
309
|
+
The launch and cancel controls are plugin RPC actions over Build's existing behavior. They add
|
|
310
|
+
no public Build command, scheduler, retry path, or persistence mechanism.
|
|
311
|
+
|
|
312
|
+
- `cancelRun` names exactly one operation. It sends the same interrupt a
|
|
313
|
+
standalone operator would to the exact process this plugin launched. For
|
|
314
|
+
Fusion it also runs `build processes --kill <run-id> --force` for anything
|
|
315
|
+
Build spawned for that run. Sibling runs are untouched.
|
|
316
|
+
- A cancelled card reports `cancelRequested`, but its status and terminal flag
|
|
317
|
+
stay whatever Build reports. The plugin never asserts a terminal state Build
|
|
318
|
+
has not confirmed. Runs that already reached a final state, unknown
|
|
319
|
+
operations, and operations from another repository are refused explicitly.
|
|
320
|
+
- What could not be cancelled is reported verbatim on the card: an unsignalable
|
|
321
|
+
process, a Build cancel command that failed, Build reporting no live
|
|
322
|
+
processes for the run, or cancellation requested before a run ID existed.
|
|
323
|
+
- Detached task/sprint runs are never cancellable from BB. Build owns the detached worker and does
|
|
324
|
+
not publish an exact workflow-scoped cancellation control, so BB hides Cancel rather than risk
|
|
325
|
+
terminating unrelated or newer work.
|
|
326
|
+
- `pollRuns` with no `operationIds` is the reconnect path. It combines bounded
|
|
327
|
+
plugin-local history with task IDs from `build processes --json`, accepting a
|
|
328
|
+
discovered ID only when its Fusion snapshot belongs to the selected repository. BB-launched
|
|
329
|
+
sprint references reconnect by workflow ID and are accepted only when the typed readback matches
|
|
330
|
+
the repository, sprint, and selected task identity.
|
|
331
|
+
Cards are merged without duplication. `Refresh runs` triggers the same poll.
|
|
332
|
+
- Fusion registers its top-level CLI process under the authoritative run ID before
|
|
333
|
+
publishing the run-start envelope and refreshes that entry for the active
|
|
334
|
+
lifecycle. A fresh adapter therefore re-adopts active queued, provider, and
|
|
335
|
+
synthesis work without importing Build internals or keeping a second ledger.
|
|
336
|
+
|
|
337
|
+
### Duplicate-launch refusal
|
|
338
|
+
|
|
339
|
+
`plan backlog show --json` carries Build's kind-tagged tracked-execution
|
|
340
|
+
readback. BB admits at most one tracked launch per repository checkout; the
|
|
341
|
+
reservation is repository-scoped, while Fusion and other repositories remain
|
|
342
|
+
independent. A launch is also refused while readback proves an active execution:
|
|
343
|
+
a non-terminal, non-stale record whose status is `running` or `queued` **and**
|
|
344
|
+
whose recorded process Build observed `alive`. Everything weaker
|
|
345
|
+
allows the launch — `gone`, `unobserved`, `stale`, `unknown`, and a missing record
|
|
346
|
+
are not evidence of activity, and `.build-project/provenance` is local-only, so absence
|
|
347
|
+
never proves nothing is running. The evidence is read fresh on every request and
|
|
348
|
+
is never stored in BB, so BB state can neither manufacture a block nor grant
|
|
349
|
+
permission.
|
|
350
|
+
|
|
351
|
+
### Bounded reference index (BB-launched history only)
|
|
352
|
+
|
|
353
|
+
Runs this plugin launched get one bounded BB KV row holding **discovery identity
|
|
354
|
+
only**: repository, kind, run id, typed task/sprint subject when applicable, backlog item id,
|
|
355
|
+
operation id, and launch time.
|
|
356
|
+
There is deliberately no status, progress, phase, terminal verdict, provider
|
|
357
|
+
output, evidence, or Git result, so a stale reference cannot override Build's
|
|
358
|
+
readback — every card is rehydrated from Build. The index caps at 50 references
|
|
359
|
+
(oldest launches evicted) and expires entries after 7 days; unparsable,
|
|
360
|
+
foreign-schema, and expired rows are deleted on read. It is BB-launched history,
|
|
361
|
+
not a run ledger or a second store.
|
|
362
|
+
|
|
363
|
+
### Loss of the local process handle (safe, not seamless)
|
|
364
|
+
|
|
365
|
+
Fusion is launched as a plain child of the BB server process with
|
|
366
|
+
`stdio: ['ignore', 'pipe', 'pipe']` — not detached, and not `unref`ed. This slice
|
|
367
|
+
does not promise restart recovery; it promises safe behavior when the handle is
|
|
368
|
+
gone.
|
|
369
|
+
|
|
370
|
+
- Reloading the BB **panel** keeps runs alive and reconnects to them; operation
|
|
371
|
+
handles live in the plugin's server-side adapter, not in the web view.
|
|
372
|
+
- Restarting the BB **server** or reloading the plugin ends the plugin's direct
|
|
373
|
+
child supervision. Cards then report `processHandle: 'lost'` and disclose it in
|
|
374
|
+
plain text. A fresh adapter re-reads Build — from its process registry and from
|
|
375
|
+
the bounded reference index — and reports a supported terminal or live state, or
|
|
376
|
+
an honest, non-cancellable `unknown`. The identity remains visible so a later
|
|
377
|
+
Build read can recover it without restarting or reconstructing the run.
|
|
378
|
+
- Nothing is automatically restarted, resumed, replayed, or reconstructed. There
|
|
379
|
+
is no daemon, event journal, general crash-recovery subsystem, or
|
|
380
|
+
machine-reboot guarantee.
|
|
381
|
+
- Cancellation requires `controlEvidence`: either a `local-process` handle this
|
|
382
|
+
plugin still owns, or a `build-live-process` — a healthy top-level Fusion
|
|
383
|
+
process Build reports for that run in that repository. With neither, the
|
|
384
|
+
control is disabled and the RPC refuses, rather than claiming control the
|
|
385
|
+
plugin does not have. Live-process evidence is recomputed on every reconnect, so
|
|
386
|
+
a run that leaves the registry loses cancellability.
|
|
387
|
+
|
|
388
|
+
A public Build API family, remote repositories, retry/relaunch, seamless process
|
|
389
|
+
reattachment, live-output restoration, live provider-session steering, and
|
|
390
|
+
imperative artifact opening are not part of this slice. Optional enablement is
|
|
391
|
+
available via `build provider setup --bb`.
|