@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,2209 @@
|
|
|
1
|
+
# Troubleshooting Guide
|
|
2
|
+
|
|
3
|
+
> **Comprehensive troubleshooting guide for Build AI orchestration CLI**
|
|
4
|
+
>
|
|
5
|
+
> Common errors, solutions, and debugging techniques based on real-world issues
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Quick Reference](#quick-reference)
|
|
12
|
+
- [Disk Filled by Provider Temp Files](#disk-filled-by-provider-temp-files)
|
|
13
|
+
- [Recovering Competition Results](#recovering-competition-results)
|
|
14
|
+
- [Flywheel Operator Recovery](#flywheel-operator-recovery)
|
|
15
|
+
- [Common Errors & Solutions](#common-errors--solutions)
|
|
16
|
+
- [Error Codes & Meanings](#error-codes--meanings)
|
|
17
|
+
- [Provider-Specific Issues](#provider-specific-issues)
|
|
18
|
+
- [Installation & Setup Problems](#installation--setup-problems)
|
|
19
|
+
- [Debugging Tips](#debugging-tips)
|
|
20
|
+
- [Advanced Troubleshooting](#advanced-troubleshooting)
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quick Reference
|
|
25
|
+
|
|
26
|
+
| Issue Type | Quick Fix | Full Guide |
|
|
27
|
+
|------------|-----------|------------|
|
|
28
|
+
| **Disk pressure** | `build cleanup provider-temp --use-default-roots` | [Disk Filled by Provider Temp Files](#disk-filled-by-provider-temp-files) |
|
|
29
|
+
| **LaunchAgent stale** | `build cleanup temp-agent --status` | [LaunchAgent Stale After Repo Move](#launchagent-stale-after-repo-move) |
|
|
30
|
+
| **Stale CLI Build** | `./scripts/compile-dist.sh` | [Stale CLI Build](#stale-cli-build) |
|
|
31
|
+
| **Missing Dependencies** | `npm ci` | [Missing Runtime Dependencies](#missing-runtime-dependencies) |
|
|
32
|
+
| **Authentication** | Check API keys | [Provider-Specific Issues](#provider-specific-issues) |
|
|
33
|
+
| **Grok auth/readiness** | `grok login --device-auth` (or `grok login` / `grok`); optional `XAI_API_KEY` for CI/headless | [Grok Issues](#grok-issues) |
|
|
34
|
+
| **Installation** | Verify CLI tools | [Installation & Setup Problems](#installation--setup-problems) |
|
|
35
|
+
| **Execution** | Use `--verbose` flag | [Debugging Tips](#debugging-tips) |
|
|
36
|
+
| **Codex Timeout** | Check bot comments | [Codex Issues](#codex-issues) |
|
|
37
|
+
| **Parallel Failures** | Reduce concurrency | [Parallel Execution Problems](#parallel-execution-problems) |
|
|
38
|
+
| **Worktree cleaned up** | Use `build run competition apply` | [Recovering Competition Results](#recovering-competition-results) |
|
|
39
|
+
| **Autoloop stuck or unclear** | `build loop explain <taskId>` | [Autoloop Diagnosis](#autoloop-diagnosis) |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Disk Filled by Provider Temp Files
|
|
44
|
+
|
|
45
|
+
**Symptoms**: Disk full warnings on a development machine, or `df -h` shows `/` or `/private` near capacity. Common on always-on machines that run long Claude Code sessions.
|
|
46
|
+
|
|
47
|
+
**Cause**: provider CLIs write temp files during execution, and a run that is interrupted or killed leaves them behind. Two directories accumulate the most:
|
|
48
|
+
|
|
49
|
+
- `/private/tmp/claude-<UID>/` — Claude Code writes sandbox isolation files here during sessions
|
|
50
|
+
- `/private/tmp/claude-mcp-npm-cache` — npm package cache used by MCP server processes; redirected here intentionally to keep it out of `~/.npm`
|
|
51
|
+
|
|
52
|
+
> macOS may clear `/private/tmp` on its own schedule, but this is not reliable on always-on machines and should not be relied upon when disk pressure is active.
|
|
53
|
+
|
|
54
|
+
### Quick fix (one-time dry-run)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Preview what would be deleted (no changes made)
|
|
58
|
+
build cleanup provider-temp --use-default-roots
|
|
59
|
+
|
|
60
|
+
# Run the actual cleanup (files older than 24h by default)
|
|
61
|
+
build cleanup provider-temp --use-default-roots --execute
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Automated cleanup (recommended for long-running machines)
|
|
65
|
+
|
|
66
|
+
Install a macOS LaunchAgent that runs cleanup daily in the background by default:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
build cleanup temp-agent --install-launchagent --use-default-roots
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Logs are written to `~/.build/logs/temp-cleanup.log`. To check status:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
build cleanup temp-agent --status
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Configuration
|
|
79
|
+
|
|
80
|
+
Override the defaults in `.build-project/config/build.config.jsonc`:
|
|
81
|
+
|
|
82
|
+
```js
|
|
83
|
+
cleanup: {
|
|
84
|
+
providerTemp: {
|
|
85
|
+
roots: ['/private/tmp/claude-<UID>', '/private/tmp/claude-mcp-npm-cache'],
|
|
86
|
+
maxAgeHours: 24, // default: 24
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
When `cleanup.providerTemp.roots` is set in config, `build cleanup temp-agent --install-launchagent` uses those roots without requiring `--use-default-roots`.
|
|
92
|
+
|
|
93
|
+
### LaunchAgent stale after repo move
|
|
94
|
+
|
|
95
|
+
If you move or rebuild the Build repo, the LaunchAgent wrapper embeds the old binary path and silently skips cleanup. Check for staleness:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
build cleanup temp-agent --status
|
|
99
|
+
# Shows "MISSING" next to Binary or Node if the embedded paths are gone
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Fix:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
build cleanup temp-agent --install-launchagent --use-default-roots
|
|
106
|
+
# Reinstalls the wrapper with current binary and Node paths
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Recovering Competition Results
|
|
112
|
+
|
|
113
|
+
If the worktree was cleaned up before you could apply competition results (e.g. the output showed "Worktree cleaned up. Recover via: ..."):
|
|
114
|
+
|
|
115
|
+
Before applying, check out a delivery branch. Non-dry-run
|
|
116
|
+
`build run competition apply` is intentionally blocked on `run/*`, `validation/*`, and
|
|
117
|
+
generated `build/*` artifact branches. Use `fix/*` for product code, `docs/*`
|
|
118
|
+
for documentation-only patches, or `test/*` for test-only patches.
|
|
119
|
+
|
|
120
|
+
### Method 1: Use `build run competition apply` (Recommended)
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Apply winner's changes from most recent competition
|
|
124
|
+
build run competition apply
|
|
125
|
+
|
|
126
|
+
# Apply specific competition
|
|
127
|
+
build run competition apply <task-id>
|
|
128
|
+
|
|
129
|
+
# Preview without applying
|
|
130
|
+
build run competition apply <task-id> --dry-run
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
The command recovers the diff from telemetry (state/variants) when the worktree directory no longer exists.
|
|
134
|
+
|
|
135
|
+
### Method 2: Manual recovery from telemetry
|
|
136
|
+
|
|
137
|
+
If `build run competition apply` is unavailable or you need to inspect the raw diff:
|
|
138
|
+
|
|
139
|
+
1. Find the variant state file: `ls ~/.build/data/projects/<project-id>/telemetry/state/variants/ | grep <task-id>`
|
|
140
|
+
2. Extract the diff: `cat ~/.build/data/projects/<project-id>/telemetry/state/variants/<filename>.json | jq -r '.worktreeDiff' > changes.patch`
|
|
141
|
+
3. Apply the patch: `git apply changes.patch`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Autoloop Diagnosis
|
|
146
|
+
|
|
147
|
+
Use these commands when `build run --autoloop` stops unexpectedly, appears
|
|
148
|
+
stuck, or reports an unclear completion status:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
build run autoloop history --last 10
|
|
152
|
+
build run autoloop stats
|
|
153
|
+
build loop explain <taskId>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`build run autoloop history` lists recent CLI and Flywheel autoloop runs.
|
|
157
|
+
`build run autoloop stats` summarizes aggregate outcomes. `build loop explain`
|
|
158
|
+
shows a run's termination reason, completion summary, blocking issues, gate
|
|
159
|
+
state, semantic validation state, artifact paths, and worktree path when
|
|
160
|
+
available.
|
|
161
|
+
|
|
162
|
+
If durable run artifacts exist but `build run autoloop history` is incomplete,
|
|
163
|
+
rebuild the append-only ledger:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
build run autoloop backfill
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Timebox units differ by surface: `--autoloop-timebox` is whole minutes, while
|
|
170
|
+
`BUILD_AUTOLOOP_TIMEBOX_MS` is milliseconds. `BUILD_AUTOLOOP_TIMEBOX` remains
|
|
171
|
+
supported as a legacy millisecond alias. If an env value was intended as
|
|
172
|
+
minutes, convert it before retrying. When both environment variables are set,
|
|
173
|
+
the explicit `_MS` variable takes precedence.
|
|
174
|
+
|
|
175
|
+
Autoloop always runs in an isolated worktree. Use `--preserve-worktrees` before
|
|
176
|
+
retrying when you need to inspect failed or partial edits. `--autoloop
|
|
177
|
+
--in-place` is refused before any provider runs.
|
|
178
|
+
|
|
179
|
+
Only one CLI autoloop can hold the lock per checkout at a time (a linked
|
|
180
|
+
worktree has its own lock). If a new run reports an active lock after a crash,
|
|
181
|
+
inspect recent history and check that no owning process is still running. A
|
|
182
|
+
holder process that is dead on the same host is reclaimed automatically, and
|
|
183
|
+
any other stale lock is taken over once it is older than the 90-minute stale
|
|
184
|
+
window. The lock itself is the sidecar `.build-project/autoloop/.run.lock.lock`;
|
|
185
|
+
`.build-project/autoloop/.run.lock` is the holder record used for the automatic
|
|
186
|
+
reclaim. If manual removal is needed, remove the `.run.lock.lock` sidecar only
|
|
187
|
+
when the process is gone, and do not delete the holder record alone.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Flywheel Operator Recovery
|
|
192
|
+
|
|
193
|
+
Use this sequence when operating an independent Flywheel workflow or recovering
|
|
194
|
+
from an incomplete run:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Before provider execution
|
|
198
|
+
build run flywheel catalog
|
|
199
|
+
build run flywheel validate <workflow>
|
|
200
|
+
build run flywheel plan <workflow>
|
|
201
|
+
build run flywheel run <workflow> # preview only
|
|
202
|
+
build run flywheel run <workflow> --execute
|
|
203
|
+
|
|
204
|
+
# After the run prints a workflowId
|
|
205
|
+
build run flywheel status <workflow-id>
|
|
206
|
+
build run flywheel inspect <workflow-id>
|
|
207
|
+
|
|
208
|
+
# Review before integrating
|
|
209
|
+
git diff <baseSha>..build/workflow/<workflow-id> # build/sprint/<workflow-id> for a sprint
|
|
210
|
+
build run flywheel merge-result <workflow-id> --dry-run
|
|
211
|
+
build run flywheel merge-result <workflow-id>
|
|
212
|
+
|
|
213
|
+
# Cleanup is preview-only by default
|
|
214
|
+
build run flywheel cleanup <workflow-id>
|
|
215
|
+
build run flywheel cleanup <workflow-id> --execute
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
If a competition stage needs manual repair, fix the run branch and then re-run its
|
|
219
|
+
persisted quality gates with `build run flywheel reverify <workflow-id> <stage-id> --dry-run`.
|
|
220
|
+
After reviewing the commands, use `--yes` for non-interactive reverification.
|
|
221
|
+
`reverify` applies to competition stages only.
|
|
222
|
+
|
|
223
|
+
If a review gate stage shows `halted-awaiting-user` in `build run flywheel status <id>`,
|
|
224
|
+
the authorized repair loop could not clear a reviewer finding. Read the finding
|
|
225
|
+
(and its `evidence`, when the reviewer supplied one), then dispose it:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
build run flywheel gate <workflow-id> <stage-id> --reject F1 --reason "why it is a false positive" --dry-run
|
|
229
|
+
build run flywheel gate <workflow-id> <stage-id> --reject F1 --reason "..." --yes
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Use `--accept` instead when the defect is real but will be handled outside this
|
|
233
|
+
run. The gate re-runs with the disposed IDs excluded; if other stages never ran,
|
|
234
|
+
resume the workflow (`build run sprint --resume <id>` / `build run flywheel run --resume <id>`)
|
|
235
|
+
before `merge-result`. Do not reach for `merge-result --skip-verify`: it also
|
|
236
|
+
disables post-merge verification and the tree-fingerprint proof.
|
|
237
|
+
`flywheel gate` handles top-level gate stages; a gate nested under an orchestrator
|
|
238
|
+
seeded plan is reported as unsupported.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Common Errors & Solutions
|
|
243
|
+
|
|
244
|
+
### CLI Task Description Quoting Issues
|
|
245
|
+
|
|
246
|
+
**Error**: `Error: Too many arguments provided` when running `build run competition` or `build run`
|
|
247
|
+
|
|
248
|
+
**Symptoms**: Command fails immediately with "too many arguments" error message.
|
|
249
|
+
|
|
250
|
+
**Cause**: Task descriptions containing spaces must be quoted. Without quotes, the shell splits the description into multiple arguments.
|
|
251
|
+
|
|
252
|
+
**Resolution**:
|
|
253
|
+
```bash
|
|
254
|
+
# Wrong (unquoted task description):
|
|
255
|
+
build run competition Add error handling to auth.ts --variant claude:local
|
|
256
|
+
|
|
257
|
+
# Correct (quoted task description):
|
|
258
|
+
build run competition "Add error handling to auth.ts" --variant claude:local
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Improved Error Messages (v0.1.0+):**
|
|
262
|
+
The CLI now provides helpful guidance when this error occurs:
|
|
263
|
+
```
|
|
264
|
+
Error: Too many arguments provided
|
|
265
|
+
|
|
266
|
+
Tip: Task description must be quoted if it contains spaces:
|
|
267
|
+
Correct: build run competition "Task description here" --variant ...
|
|
268
|
+
Wrong: build run competition Task description here --variant ...
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Prevention:**
|
|
272
|
+
- Always quote task descriptions that contain spaces
|
|
273
|
+
- Use single quotes if description contains double quotes: `'Task with "quoted" text'`
|
|
274
|
+
- Use backslash escaping for complex cases: `"Task with \"nested\" quotes"`
|
|
275
|
+
- For long or multiline tasks, prefer `--task-file`:
|
|
276
|
+
- `build run --task-file task.txt`
|
|
277
|
+
- `build run competition --task-file task.txt --variant ...`
|
|
278
|
+
|
|
279
|
+
### Stale CLI Build
|
|
280
|
+
|
|
281
|
+
**Error**: `Failed to load CLI: Dynamic require of "fs" is not supported` or `Cannot find module './index.js'`
|
|
282
|
+
|
|
283
|
+
**Symptoms**:
|
|
284
|
+
- CLI commands fail immediately on startup
|
|
285
|
+
- Error message mentions "Dynamic require" or missing modules
|
|
286
|
+
- Occurs after `git pull`, `git checkout`, or editing source files
|
|
287
|
+
|
|
288
|
+
**Cause**: The compiled CLI in `dist/` is missing or outdated. This happens because:
|
|
289
|
+
- `dist/` is gitignored (not tracked in version control)
|
|
290
|
+
- Source files (`src/`) changed after your last build
|
|
291
|
+
- The `prepare` hook only runs during `npm install`, not after git operations
|
|
292
|
+
|
|
293
|
+
**Resolution**:
|
|
294
|
+
|
|
295
|
+
1. **Quick fix** - Rebuild and rewire the local CLI:
|
|
296
|
+
```bash
|
|
297
|
+
./scripts/compile-dist.sh
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
2. **Compilation-only alternative** - Rebuild `dist/` without relinking:
|
|
301
|
+
```bash
|
|
302
|
+
npm run build
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
3. **Verify the build**:
|
|
306
|
+
```bash
|
|
307
|
+
# Check that dist/ was created and is recent
|
|
308
|
+
ls -la dist/entry.js
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**When to rebuild**:
|
|
312
|
+
- After `git pull` or `git fetch && git merge`
|
|
313
|
+
- After `git checkout` to a different branch
|
|
314
|
+
- After editing any files in `src/` directory
|
|
315
|
+
- After `git cherry-pick`, `git rebase`, or similar operations
|
|
316
|
+
- NOT needed after `npm install` (automatic via `prepare` hook)
|
|
317
|
+
|
|
318
|
+
**Improved error message (v0.1.0+)**:
|
|
319
|
+
|
|
320
|
+
The CLI now detects stale builds and provides clear instructions:
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
CLI build is missing or outdated
|
|
324
|
+
|
|
325
|
+
How to fix:
|
|
326
|
+
1) Rebuild and rewire the CLI:
|
|
327
|
+
./scripts/compile-dist.sh
|
|
328
|
+
|
|
329
|
+
2) Or compile dist/ only:
|
|
330
|
+
npm run build
|
|
331
|
+
|
|
332
|
+
Common causes:
|
|
333
|
+
• git pull/checkout changed source files
|
|
334
|
+
• Local edits to src/ directory
|
|
335
|
+
• Deleted dist/ directory
|
|
336
|
+
|
|
337
|
+
For more help: docs/TROUBLESHOOTING.md#stale-cli-build
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Prevention**:
|
|
341
|
+
- Remember to run `./scripts/compile-dist.sh` after pulling source changes
|
|
342
|
+
- Add to your workflow: `git pull && ./scripts/compile-dist.sh`
|
|
343
|
+
- Consider setting up a git post-merge hook for automatic rebuilds
|
|
344
|
+
|
|
345
|
+
**Technical details**:
|
|
346
|
+
- The CLI uses ESM modules with dynamic imports for performance
|
|
347
|
+
- When `dist/` is stale, the import chain fails with cryptic Node.js module errors
|
|
348
|
+
- The build process (via tsup) bundles TypeScript source into optimized JavaScript
|
|
349
|
+
|
|
350
|
+
### Missing Runtime Dependencies
|
|
351
|
+
|
|
352
|
+
**Error**: `Missing runtime dependencies for Build CLI in /path/to/install: <package>, ...`
|
|
353
|
+
|
|
354
|
+
**Symptoms**:
|
|
355
|
+
- `build run competition` or `build run` fails immediately with a missing dependencies message
|
|
356
|
+
|
|
357
|
+
**Cause**: Node.js runtime dependencies declared in `package.json` are not installed. This typically happens after:
|
|
358
|
+
- Cloning the repo without running `npm ci`
|
|
359
|
+
- Switching branches where `package.json` changed
|
|
360
|
+
- Deleted or corrupt `node_modules/`
|
|
361
|
+
|
|
362
|
+
**Resolution**:
|
|
363
|
+
```bash
|
|
364
|
+
npm ci
|
|
365
|
+
npm run build
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**Bypass** (for test/mock environments):
|
|
369
|
+
|
|
370
|
+
| Variable | Effect |
|
|
371
|
+
|----------|--------|
|
|
372
|
+
| `BUILD_SKIP_RUNTIME_DEP_CHECKS=1` | Skip only the runtime dependency preflight |
|
|
373
|
+
| `BUILD_SKIP_TOOLING_CHECKS=1` | Skip all tooling preflight checks (includes dependency check) |
|
|
374
|
+
| `BUILD_E2E_TEST=1` | Skip preflight (end-to-end test harness) |
|
|
375
|
+
| `BUILD_MOCK_PROVIDERS=1` (with test runner or `BUILD_ALLOW_MOCK_PROVIDERS=1`) | Skip preflight when mock providers are actually permitted; outside tests, both flags are required or startup scrubs the mock flag |
|
|
376
|
+
|
|
377
|
+
These env vars are intended for CI, test harnesses, and environments where dependencies are lazily or externally provided. Do not use them to mask a broken local install.
|
|
378
|
+
|
|
379
|
+
### Quick-Mode Apply Conflicts (`build --quick`)
|
|
380
|
+
|
|
381
|
+
**Error**: `Failed to apply worktree diff to repo` or `Cannot apply patch - conflicts detected`
|
|
382
|
+
|
|
383
|
+
**Symptoms**:
|
|
384
|
+
- Quick-mode execution (`build --quick`) completes successfully in the isolated worktree
|
|
385
|
+
- Quality gates pass (if enabled)
|
|
386
|
+
- Apply step fails with conflict errors
|
|
387
|
+
- Worktree is preserved for inspection
|
|
388
|
+
- Patch file saved to `.build-project/tmp/do-apply-failures/`
|
|
389
|
+
|
|
390
|
+
**Cause**: The changes made in the isolated worktree conflict with the current state of your repository. This happens when:
|
|
391
|
+
- Repository HEAD moved during quick-mode execution (someone pushed changes)
|
|
392
|
+
- Working tree has uncommitted changes that conflict with worktree changes
|
|
393
|
+
- File was modified/deleted in repo since worktree was created
|
|
394
|
+
- Merge conflict between worktree patch and current repo state
|
|
395
|
+
|
|
396
|
+
**Resolution**:
|
|
397
|
+
|
|
398
|
+
The error output provides four recovery options:
|
|
399
|
+
|
|
400
|
+
**Option 1: Inspect Changes (Recommended first step)**
|
|
401
|
+
```bash
|
|
402
|
+
# Navigate to the preserved worktree
|
|
403
|
+
cd <preserved-worktree-path-from-output>
|
|
404
|
+
|
|
405
|
+
# View all changes made
|
|
406
|
+
git diff <baseline-sha>
|
|
407
|
+
|
|
408
|
+
# View specific file changes
|
|
409
|
+
git diff <baseline-sha> -- path/to/file.ts
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
**Option 2: Manual Apply with 3-Way Merge**
|
|
413
|
+
```bash
|
|
414
|
+
# Attempt manual apply with conflict resolution
|
|
415
|
+
git apply --3way .build-project/tmp/do-apply-failures/apply-failed-<timestamp>.patch
|
|
416
|
+
|
|
417
|
+
# If conflicts occur, you'll see markers in files:
|
|
418
|
+
# <<<<<<< ours (current repo state)
|
|
419
|
+
# =======
|
|
420
|
+
# >>>>>>> theirs (worktree changes)
|
|
421
|
+
|
|
422
|
+
# Fix conflicts manually, then:
|
|
423
|
+
git add <conflicted-files>
|
|
424
|
+
git status # Verify resolution
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
**Option 3: View Patch Content**
|
|
428
|
+
```bash
|
|
429
|
+
# Inspect what the patch would do
|
|
430
|
+
cat .build-project/tmp/do-apply-failures/apply-failed-<timestamp>.patch
|
|
431
|
+
|
|
432
|
+
# Or use less for large patches
|
|
433
|
+
less .build-project/tmp/do-apply-failures/apply-failed-<timestamp>.patch
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
**Option 4: Cherry-Pick from Worktree**
|
|
437
|
+
```bash
|
|
438
|
+
# Navigate to worktree
|
|
439
|
+
cd <preserved-worktree-path-from-output>
|
|
440
|
+
|
|
441
|
+
# Find the commit(s) made by the provider
|
|
442
|
+
git log --oneline -n 5
|
|
443
|
+
|
|
444
|
+
# Cherry-pick specific commit(s) into main repo
|
|
445
|
+
cd <back-to-main-repo>
|
|
446
|
+
git cherry-pick <commit-sha-from-worktree>
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
**After Recovery:**
|
|
450
|
+
```bash
|
|
451
|
+
# Clean up the preserved worktree
|
|
452
|
+
build cleanup stale --only worktrees --worktree-age 0 --execute
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**Prevention:**
|
|
456
|
+
|
|
457
|
+
1. **Keep repo clean** - Commit or stash changes before running `build --quick`:
|
|
458
|
+
```bash
|
|
459
|
+
git status # Check for uncommitted changes
|
|
460
|
+
git stash # Or commit them
|
|
461
|
+
build --quick "task"
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
2. **Use `--allow-dirty` carefully** - Only when you understand the risk:
|
|
465
|
+
```bash
|
|
466
|
+
build --quick "task" --allow-dirty
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
3. **Check for upstream changes** - Pull latest before long-running tasks:
|
|
470
|
+
```bash
|
|
471
|
+
git pull
|
|
472
|
+
build --quick "task"
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
4. **Use `--preserve-worktrees` for debugging** - Inspect without auto-cleanup:
|
|
476
|
+
```bash
|
|
477
|
+
build run "task" --preserve-worktrees --verbose
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
**Related:**
|
|
481
|
+
- [build](CLI_REFERENCE.md#build) command reference
|
|
482
|
+
- Worktree isolation behavior and its limits; isolation is not a comprehensive safety guarantee
|
|
483
|
+
|
|
484
|
+
### Authentication Failures
|
|
485
|
+
|
|
486
|
+
> **Info: Authentication at Runtime**
|
|
487
|
+
>
|
|
488
|
+
> Provider execution defers authentication to the underlying CLI. Auth errors surface at
|
|
489
|
+
> execution time with actionable guidance. Routing and dry-run may perform advisory
|
|
490
|
+
> pre-verification, but are not a universal gate. Use `build provider list` for readiness verification.
|
|
491
|
+
|
|
492
|
+
#### Claude Authentication Issues
|
|
493
|
+
|
|
494
|
+
**Error**: `Authentication failed` or CLI reports not authenticated
|
|
495
|
+
|
|
496
|
+
**Solutions**:
|
|
497
|
+
```bash
|
|
498
|
+
# 1. Re-authenticate via Claude CLI
|
|
499
|
+
claude auth logout
|
|
500
|
+
claude auth login
|
|
501
|
+
|
|
502
|
+
# 2. Verify CLI installation
|
|
503
|
+
which claude
|
|
504
|
+
claude --version
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
**Common Causes**:
|
|
508
|
+
- Claude CLI session expired
|
|
509
|
+
- Claude CLI not installed or not in PATH
|
|
510
|
+
- Wrong config directory
|
|
511
|
+
|
|
512
|
+
#### Gemini Authentication Issues
|
|
513
|
+
|
|
514
|
+
**Error**: `GEMINI_API_KEY not found` or `Authentication failed`
|
|
515
|
+
|
|
516
|
+
**Solutions**:
|
|
517
|
+
```bash
|
|
518
|
+
# 1. Set API key
|
|
519
|
+
export GEMINI_API_KEY='your-api-key-here'
|
|
520
|
+
|
|
521
|
+
# 2. Verify key format (should start with AIza...)
|
|
522
|
+
echo $GEMINI_API_KEY | head -c 10
|
|
523
|
+
|
|
524
|
+
# 3. Test with simple request
|
|
525
|
+
build run "test" --engine gemini --model gemini-2.5-flash
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
**Common Causes**:
|
|
529
|
+
- Missing `GEMINI_API_KEY` environment variable
|
|
530
|
+
- Invalid API key format
|
|
531
|
+
- Quota exceeded (check Google AI Studio)
|
|
532
|
+
|
|
533
|
+
#### Grok Authentication Issues
|
|
534
|
+
|
|
535
|
+
**Error**: `XAI_API_KEY not found`, Grok readiness is `unknown`, or browser auth is required
|
|
536
|
+
|
|
537
|
+
**Solutions**:
|
|
538
|
+
```bash
|
|
539
|
+
# 1. Install Grok through Build's guarded setup path
|
|
540
|
+
BUILD_ALLOW_CURL_BASH=1 build provider setup --providers grok
|
|
541
|
+
|
|
542
|
+
# 2. Primary for local use: cached OAuth / device login via the Grok CLI
|
|
543
|
+
grok login --device-auth
|
|
544
|
+
# or: grok login
|
|
545
|
+
# or first interactive launch: grok
|
|
546
|
+
|
|
547
|
+
# 3. Optional for CI/headless automation (official key)
|
|
548
|
+
export XAI_API_KEY='your-key-here'
|
|
549
|
+
# Deprecated Build compatibility alias (still accepted; not preferred):
|
|
550
|
+
# export GROK_CODE_XAI_API_KEY='your-key-here'
|
|
551
|
+
|
|
552
|
+
# 4. Inspect passive readiness (key presence remains unverified)
|
|
553
|
+
build provider list
|
|
554
|
+
build doctor --provider grok
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
**Common Causes**:
|
|
558
|
+
- Grok CLI is not installed or not on `PATH`
|
|
559
|
+
- Cached CLI OAuth / device login has not been completed (`~/.grok` auth missing)
|
|
560
|
+
- CI/headless runs have neither a usable CLI auth cache nor `XAI_API_KEY` (or the deprecated `GROK_CODE_XAI_API_KEY` alias)
|
|
561
|
+
- Sandboxed agent sessions cannot read Grok's CLI auth state
|
|
562
|
+
- `BUILD_GROK_ALLOW_BROWSER_AUTH=1` was not set when deliberately allowing browser auth probes (opt-in only; not safe by default in headless/CI)
|
|
563
|
+
|
|
564
|
+
#### Cursor Authentication Issues
|
|
565
|
+
|
|
566
|
+
**Error**: `ConnectError: [invalid_argument]` or `Cursor CLI not found`
|
|
567
|
+
|
|
568
|
+
**Solutions**:
|
|
569
|
+
```bash
|
|
570
|
+
# 1. Install Cursor Agent
|
|
571
|
+
curl https://cursor.com/install -fsS | bash
|
|
572
|
+
|
|
573
|
+
# 2. Verify installation
|
|
574
|
+
cursor-agent --version
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
**Common Causes**:
|
|
578
|
+
- Cursor CLI not installed
|
|
579
|
+
- Invalid API key
|
|
580
|
+
- Plan mode conflicts (try disabling)
|
|
581
|
+
|
|
582
|
+
#### Codex Authentication Issues
|
|
583
|
+
|
|
584
|
+
**Error**: `Invalid token` or `Command not found: codex`
|
|
585
|
+
|
|
586
|
+
**Solutions**:
|
|
587
|
+
```bash
|
|
588
|
+
# 1. Install Codex CLI
|
|
589
|
+
npm install -g @openai/codex
|
|
590
|
+
|
|
591
|
+
# 2. Verify installation
|
|
592
|
+
codex --version
|
|
593
|
+
|
|
594
|
+
# 3. Authenticate
|
|
595
|
+
codex login
|
|
596
|
+
|
|
597
|
+
# 4. Verify via Build
|
|
598
|
+
build doctor --provider codex
|
|
599
|
+
```
|
|
600
|
+
|
|
601
|
+
**Common Causes**:
|
|
602
|
+
- Codex CLI not installed
|
|
603
|
+
- Invalid or expired token
|
|
604
|
+
- Wrong environment variable name
|
|
605
|
+
|
|
606
|
+
### Installation Issues
|
|
607
|
+
|
|
608
|
+
#### Missing CLIs
|
|
609
|
+
|
|
610
|
+
**Error**: `'claude' is not available on this system` or similar
|
|
611
|
+
|
|
612
|
+
**Solutions**:
|
|
613
|
+
```bash
|
|
614
|
+
# 1. Install all required CLIs
|
|
615
|
+
npm install -g @anthropic-ai/claude-code
|
|
616
|
+
npm install -g @openai/codex
|
|
617
|
+
curl https://cursor.com/install -fsS | bash
|
|
618
|
+
|
|
619
|
+
# 2. Verify installations
|
|
620
|
+
claude --version
|
|
621
|
+
codex --version
|
|
622
|
+
cursor-agent --version
|
|
623
|
+
|
|
624
|
+
# 3. Add to PATH if needed
|
|
625
|
+
export PATH="$PATH:$(npm config get prefix)/bin"
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
#### PATH Problems
|
|
629
|
+
|
|
630
|
+
**Error**: `Command not found` despite installation
|
|
631
|
+
|
|
632
|
+
**Solutions**:
|
|
633
|
+
```bash
|
|
634
|
+
# 1. Find where npm installs global packages
|
|
635
|
+
npm config get prefix
|
|
636
|
+
|
|
637
|
+
# 2. Add to PATH
|
|
638
|
+
export PATH="$PATH:$(npm config get prefix)/bin"
|
|
639
|
+
|
|
640
|
+
# 3. Make permanent (add to ~/.bashrc or ~/.zshrc)
|
|
641
|
+
echo 'export PATH="$PATH:$(npm config get prefix)/bin"' >> ~/.bashrc
|
|
642
|
+
source ~/.bashrc
|
|
643
|
+
|
|
644
|
+
# 4. Verify PATH
|
|
645
|
+
which claude
|
|
646
|
+
which codex
|
|
647
|
+
which cursor-agent
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
#### Node.js Version Issues
|
|
651
|
+
|
|
652
|
+
**Error**: `Unsupported Node.js version` or `Module not found`
|
|
653
|
+
|
|
654
|
+
**Solutions**:
|
|
655
|
+
```bash
|
|
656
|
+
# 1. Check Node.js version
|
|
657
|
+
node --version
|
|
658
|
+
# Requires: Node.js 24.x or 26.x
|
|
659
|
+
|
|
660
|
+
# 2. Update Node.js (using nvm)
|
|
661
|
+
nvm install 24
|
|
662
|
+
nvm use 24
|
|
663
|
+
|
|
664
|
+
# 3. Clear npm cache
|
|
665
|
+
npm cache clean --force
|
|
666
|
+
|
|
667
|
+
# 4. Reinstall dependencies
|
|
668
|
+
rm -rf node_modules package-lock.json
|
|
669
|
+
npm install
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
### Execution Failures
|
|
673
|
+
|
|
674
|
+
#### Timeout Errors
|
|
675
|
+
|
|
676
|
+
**Error**: `Timeout waiting for task to complete`
|
|
677
|
+
|
|
678
|
+
**Solutions**:
|
|
679
|
+
```bash
|
|
680
|
+
# 1. Increase timeout
|
|
681
|
+
build run "task" --timeout 60
|
|
682
|
+
|
|
683
|
+
# 2. Use faster model
|
|
684
|
+
build run "task" --model gemini-2.5-flash
|
|
685
|
+
|
|
686
|
+
# 3. Check provider status
|
|
687
|
+
build provider
|
|
688
|
+
|
|
689
|
+
# 4. Use verbose mode for details
|
|
690
|
+
build run "task" --verbose
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
**Common Causes**:
|
|
694
|
+
- Task too complex for timeout limit
|
|
695
|
+
- Provider rate limiting
|
|
696
|
+
- Network connectivity issues
|
|
697
|
+
- Memory pressure (check system resources)
|
|
698
|
+
|
|
699
|
+
#### Memory Issues
|
|
700
|
+
|
|
701
|
+
**Error**: `Memory limit exceeded` or `Out of memory`
|
|
702
|
+
|
|
703
|
+
The periodic MemoryGuardian monitors the Node process where it is started:
|
|
704
|
+
heap occupancy relative to V8's limit, plus that process's RSS when explicitly
|
|
705
|
+
capped. It can terminate owned child work to reduce incoming load. Competition
|
|
706
|
+
parents use their process-limiter worker PIDs when no provider PIDs are tracked
|
|
707
|
+
directly; both critical and emergency handling use that same ownership rule.
|
|
708
|
+
Workers evaluate individual child RSS through the lifecycle manager separately,
|
|
709
|
+
even when their periodic guardian is not started. Without an explicit RSS cap,
|
|
710
|
+
that child evaluation only warns. Host pressure and validation pacing are
|
|
711
|
+
separate controls; the guardian percentage is not a host RAM utilization reading.
|
|
712
|
+
|
|
713
|
+
**Solutions**:
|
|
714
|
+
```bash
|
|
715
|
+
# 1. Check memory usage
|
|
716
|
+
build run "task" --verbose
|
|
717
|
+
# Look for: "Memory: XX% heap"
|
|
718
|
+
|
|
719
|
+
# 2. Reduce parallel execution
|
|
720
|
+
build run competition "task" --variant claude --max-concurrent 2
|
|
721
|
+
|
|
722
|
+
# 3. Configure guardian behavior
|
|
723
|
+
# - Log-only (observe without killing)
|
|
724
|
+
export BUILD_MEMORY_KILL=0
|
|
725
|
+
# - Aggressive kill mode (stress testing)
|
|
726
|
+
export BUILD_MEMORY_KILL=1
|
|
727
|
+
# - Explicit per-process RSS cap (e.g., 2GB; not a process-tree total)
|
|
728
|
+
export BUILD_RSS_LIMIT_MB=2048
|
|
729
|
+
|
|
730
|
+
# 4. Disable periodic monitoring and heap pacing (child RSS evaluation remains active)
|
|
731
|
+
export BUILD_MEMORY_GUARD=0
|
|
732
|
+
|
|
733
|
+
# 5. Increase Node.js memory limit
|
|
734
|
+
node --max-old-space-size=4096 build.js run "task"
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
**Common Causes**:
|
|
738
|
+
- Large codebase processing
|
|
739
|
+
- Too many parallel executions
|
|
740
|
+
- Memory leaks in provider code
|
|
741
|
+
- Insufficient system RAM
|
|
742
|
+
|
|
743
|
+
#### Crashes
|
|
744
|
+
|
|
745
|
+
**Error**: `Process exited with code 1` or `Segmentation fault`
|
|
746
|
+
|
|
747
|
+
**Solutions**:
|
|
748
|
+
```bash
|
|
749
|
+
# 1. Check system resources
|
|
750
|
+
free -h
|
|
751
|
+
df -h
|
|
752
|
+
|
|
753
|
+
# 2. Run with verbose logging
|
|
754
|
+
build run "task" --verbose
|
|
755
|
+
|
|
756
|
+
# 3. Check logs (resolved telemetry dir; `build doctor --verbose` prints it)
|
|
757
|
+
TELEMETRY_DIR=~/.build/data/telemetry
|
|
758
|
+
ls -la "$TELEMETRY_DIR"/logs/
|
|
759
|
+
|
|
760
|
+
# 4. Test with simple task
|
|
761
|
+
build run "Create hello.js" --engine claude
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
**Common Causes**:
|
|
765
|
+
- System resource exhaustion
|
|
766
|
+
- Provider-specific bugs
|
|
767
|
+
- Corrupted configuration
|
|
768
|
+
- Node.js version incompatibility
|
|
769
|
+
|
|
770
|
+
#### Run ends when the terminal closes (SIGHUP)
|
|
771
|
+
|
|
772
|
+
**Symptom**: a run started with `nohup build ... &` stops when the launching
|
|
773
|
+
terminal or ssh session ends. The log shows `Received SIGHUP, running cleanup
|
|
774
|
+
handlers` and the exit status is 129.
|
|
775
|
+
|
|
776
|
+
**Cause**: Build installs its own SIGHUP handler to clean up its child
|
|
777
|
+
processes. In one observed macOS probe (Node 24), `nohup node ...` was killed by
|
|
778
|
+
SIGHUP while `nohup sleep` survived, so `nohup` did not protect a Node process.
|
|
779
|
+
This was observed once; it is not established for every platform or Node version.
|
|
780
|
+
|
|
781
|
+
**Fix**: run work that must outlive the terminal inside `tmux` or `screen`, and
|
|
782
|
+
reattach to check on it. On Linux, `setsid` also detaches the run from the
|
|
783
|
+
terminal. For tool-managed shells, prefer `--background` as described in
|
|
784
|
+
[CLI_REFERENCE.md](./CLI_REFERENCE.md).
|
|
785
|
+
|
|
786
|
+
#### Project lint or format check fails on `.build-project/` files
|
|
787
|
+
|
|
788
|
+
**Symptom**: after `build init` or a run, the repository's own whole-tree check
|
|
789
|
+
(for example `biome check .`) reports format errors in JSON files under
|
|
790
|
+
`.build-project/state`, `.build-project/cache` or `.build-project/artifacts`.
|
|
791
|
+
|
|
792
|
+
**Cause**: these are Build runtime files and Git ignores them, either through
|
|
793
|
+
a `.build-project/.gitignore` or, in a repository that already tracks its own
|
|
794
|
+
`.build-project/.gitignore` (which Build leaves as it is), through `/.build-project/...`
|
|
795
|
+
lines in `.git/info/exclude`. A formatter or linter that does not read Git's
|
|
796
|
+
ignore rules (for example Biome without `vcs.useIgnoreFile`) scans the files
|
|
797
|
+
anyway.
|
|
798
|
+
|
|
799
|
+
**Fix**: exclude `.build-project/` in that tool's own configuration. For Biome 2, add
|
|
800
|
+
`"!**/.build-project"` to `files.includes` (checked against Biome 2.3.8; Biome 1 used
|
|
801
|
+
`files.ignore` instead). For tools with an ignore file (Prettier, ESLint, and
|
|
802
|
+
similar), add `.build-project/` to it.
|
|
803
|
+
|
|
804
|
+
### Git/GitHub Integration Errors
|
|
805
|
+
|
|
806
|
+
#### Git Conflicts
|
|
807
|
+
|
|
808
|
+
**Error**: `The following untracked working tree files would be overwritten by merge`
|
|
809
|
+
|
|
810
|
+
**Solutions**:
|
|
811
|
+
```bash
|
|
812
|
+
# 1. Inspect the working directory before changing it
|
|
813
|
+
git status
|
|
814
|
+
|
|
815
|
+
# 2. Preserve tracked and untracked changes
|
|
816
|
+
git stash push --include-untracked -m "pre-merge recovery"
|
|
817
|
+
|
|
818
|
+
# 3. Pull latest changes
|
|
819
|
+
git pull origin main
|
|
820
|
+
|
|
821
|
+
# 4. Apply stash
|
|
822
|
+
git stash pop
|
|
823
|
+
|
|
824
|
+
# 5. Retry task
|
|
825
|
+
build run "task"
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
**Common Causes**:
|
|
829
|
+
- Parallel executions creating overlapping files
|
|
830
|
+
- Uncommitted changes in working directory
|
|
831
|
+
- Git lock file conflicts
|
|
832
|
+
- Branch synchronization issues
|
|
833
|
+
|
|
834
|
+
#### GitHub API Errors
|
|
835
|
+
|
|
836
|
+
**Error**: `GitHub API rate limit exceeded` or `403 Forbidden`
|
|
837
|
+
|
|
838
|
+
**Solutions**:
|
|
839
|
+
```bash
|
|
840
|
+
# 1. Check GitHub token
|
|
841
|
+
echo $GITHUB_TOKEN
|
|
842
|
+
|
|
843
|
+
# 2. Wait for rate limit reset (usually 1 hour)
|
|
844
|
+
gh api rate_limit
|
|
845
|
+
|
|
846
|
+
# 3. Use personal access token
|
|
847
|
+
export GITHUB_TOKEN='your-token-here'
|
|
848
|
+
```
|
|
849
|
+
|
|
850
|
+
**Common Causes**:
|
|
851
|
+
- GitHub API rate limiting
|
|
852
|
+
- Invalid or expired token
|
|
853
|
+
- Insufficient token permissions
|
|
854
|
+
- Network connectivity issues
|
|
855
|
+
|
|
856
|
+
### Parallel Execution Problems
|
|
857
|
+
|
|
858
|
+
#### Concurrency Issues
|
|
859
|
+
|
|
860
|
+
**Error**: `Too many concurrent executions` or `Resource exhausted`
|
|
861
|
+
|
|
862
|
+
**Solutions**:
|
|
863
|
+
```bash
|
|
864
|
+
# 1. Reduce concurrency
|
|
865
|
+
build run competition "task" --variant claude --max-concurrent 2
|
|
866
|
+
|
|
867
|
+
# 2. Use sequential execution
|
|
868
|
+
build run "task"
|
|
869
|
+
|
|
870
|
+
# 3. Check system resources
|
|
871
|
+
htop
|
|
872
|
+
free -h
|
|
873
|
+
|
|
874
|
+
# 4. Cap per-provider concurrency
|
|
875
|
+
build run competition "task" --variant claude --provider-limit claude=2
|
|
876
|
+
```
|
|
877
|
+
|
|
878
|
+
**Common Causes**:
|
|
879
|
+
- System resource limits
|
|
880
|
+
- Provider rate limiting
|
|
881
|
+
- Memory pressure
|
|
882
|
+
- Network bandwidth constraints
|
|
883
|
+
|
|
884
|
+
#### Worktree Conflicts
|
|
885
|
+
|
|
886
|
+
**Error**: `Git worktree already exists` or `Branch already exists`
|
|
887
|
+
|
|
888
|
+
**Solutions**:
|
|
889
|
+
```bash
|
|
890
|
+
# 1. Clean up worktrees
|
|
891
|
+
git worktree prune
|
|
892
|
+
|
|
893
|
+
# 2. Remove specific worktree
|
|
894
|
+
git worktree remove <path>
|
|
895
|
+
|
|
896
|
+
# 3. Check for existing branches
|
|
897
|
+
git branch -a
|
|
898
|
+
|
|
899
|
+
# 4. Let Build choose a unique managed branch name for a new run
|
|
900
|
+
build run "task"
|
|
901
|
+
```
|
|
902
|
+
|
|
903
|
+
**Common Causes**:
|
|
904
|
+
- Previous execution didn't clean up properly
|
|
905
|
+
- Manual git operations interfering
|
|
906
|
+
- Concurrent executions using same branch names
|
|
907
|
+
- Git lock file issues
|
|
908
|
+
|
|
909
|
+
---
|
|
910
|
+
|
|
911
|
+
## Error Codes & Meanings
|
|
912
|
+
|
|
913
|
+
### Exit Codes
|
|
914
|
+
|
|
915
|
+
| Code | Meaning | Common Causes | Solutions |
|
|
916
|
+
|------|---------|---------------|-----------|
|
|
917
|
+
| `0` | Success | All tasks completed successfully | - |
|
|
918
|
+
| `1` | General failure | Task failed, quality gate failed | Check logs, use `--verbose` |
|
|
919
|
+
| `2` | Invalid arguments | Wrong CLI syntax | Check command format |
|
|
920
|
+
|
|
921
|
+
### Provider-Specific Error Messages
|
|
922
|
+
|
|
923
|
+
#### Claude Errors
|
|
924
|
+
|
|
925
|
+
| Error Message | Cause | Solution |
|
|
926
|
+
|---------------|-------|----------|
|
|
927
|
+
| `Authentication failed` | Invalid API key | Re-authenticate with `claude auth login` |
|
|
928
|
+
| `Rate limit exceeded` | Too many requests | Wait 60 seconds or upgrade plan |
|
|
929
|
+
| `Model not available` | Invalid model name | Use a model reported by `build provider show claude` or omit the model to use the configured default |
|
|
930
|
+
| `Context length exceeded` | Task too large | Split into smaller tasks |
|
|
931
|
+
|
|
932
|
+
#### Gemini Errors
|
|
933
|
+
|
|
934
|
+
| Error Message | Cause | Solution |
|
|
935
|
+
|---------------|-------|----------|
|
|
936
|
+
| `GEMINI_API_KEY not found` | Missing API key | Set `export GEMINI_API_KEY='key'` |
|
|
937
|
+
| `Quota exceeded` | API quota limit | Check Google AI Studio quotas |
|
|
938
|
+
| `Invalid model` | Wrong model name | Use `gemini-2.5-flash` or `gemini-2.5-pro` |
|
|
939
|
+
| `Permission denied` | API key permissions | Regenerate key with correct permissions |
|
|
940
|
+
|
|
941
|
+
#### Grok Errors
|
|
942
|
+
|
|
943
|
+
| Error Message | Cause | Solution |
|
|
944
|
+
|---------------|-------|----------|
|
|
945
|
+
| `Command not found: grok` | Grok CLI not installed or not on `PATH` | Run `BUILD_ALLOW_CURL_BASH=1 build provider setup --providers grok` or install with xAI's installer |
|
|
946
|
+
| `Authentication unknown` | Passive readiness cannot verify a configured key or cached CLI auth | Primary: `grok login --device-auth` (or `grok login` / `grok`). Optional for CI/headless: set `XAI_API_KEY`. Key presence remains unverified until requested execution or `build doctor --probe --provider grok` succeeds. |
|
|
947
|
+
| `XAI_API_KEY not found` / headless requires key | Headless path has no key and no usable CLI auth cache | Prefer CLI OAuth for local use; keys are optional only when a cache exists. For CI/headless without cache set `XAI_API_KEY` (deprecated alias `GROK_CODE_XAI_API_KEY` still accepted). Do not rely on browser auth unless you opt in |
|
|
948
|
+
| Requested Grok execution reports an auth failure | The Grok CLI could not authenticate the requested run | Re-run `grok login --device-auth` or `grok login`; for CI set optional `XAI_API_KEY`. Build does not run a separate auth preflight. |
|
|
949
|
+
| `Browser auth required` | The Grok CLI wants to start an interactive auth flow | Complete cached login in a terminal (`grok login --device-auth` / `grok`). Set `BUILD_GROK_ALLOW_BROWSER_AUTH=1` only when browser auth is acceptable (opt-in; not automatically safe in headless/CI) |
|
|
950
|
+
| `unsafe for Grok headless execution` | `BUILD_GROK_PERMISSION_MODE` is `acceptEdits` or `auto` | Unset the variable (omit `--permission-mode`) or use locked native read-only posture (`dontAsk` + allow rules + tool/MCP/subagent locks; CLI >= 0.2.93) / `bypassPermissions` only when policy permits |
|
|
951
|
+
| `reasoningEffort` rejected | The selected Grok model does not declare native effort support, or `auto` discovery could not establish it | Use `grok-4.6`, or leave effort unset. With `auto`, confirm `grok models` exposes an effort-capable default. |
|
|
952
|
+
| `max_turns exceeded` / early Cancelled | Explicit `--max-turns` too low, or transport death under a bad permission mode | Leave `BUILD_GROK_MAX_TURNS` unset for normal runs; do not use `acceptEdits`/`auto` headless. Auth/edit probes may set a low turn cap deliberately |
|
|
953
|
+
|
|
954
|
+
#### Cursor Errors
|
|
955
|
+
|
|
956
|
+
| Error Message | Cause | Solution |
|
|
957
|
+
|---------------|-------|----------|
|
|
958
|
+
| `ConnectError: [invalid_argument]` | Plan mode conflict | Disable plan mode or use different model |
|
|
959
|
+
| `Cursor CLI not found` | CLI not installed | Install with `curl https://cursor.com/install -fsS | bash` |
|
|
960
|
+
| `Workspace not found` | Wrong directory | Run from project root |
|
|
961
|
+
|
|
962
|
+
#### Codex Errors
|
|
963
|
+
|
|
964
|
+
| Error Message | Cause | Solution |
|
|
965
|
+
|---------------|-------|----------|
|
|
966
|
+
| `Command not found: codex` | CLI not installed | Install with `npm install -g @openai/codex` |
|
|
967
|
+
| `Authentication required` | Not logged in | Run `codex login`, then `build doctor --provider codex` |
|
|
968
|
+
| `Codex execution timed out` | Local CLI exceeded the execution deadline | Inspect the retained worktree/branch, then retry with a suitable executor timeout |
|
|
969
|
+
| `Codex CLI terminated without an exit code` | Local process or transport ended unexpectedly | Inspect stderr and retained git changes before retrying |
|
|
970
|
+
|
|
971
|
+
### File Compliance Failure Messages
|
|
972
|
+
|
|
973
|
+
| Error Message | Cause | Solution |
|
|
974
|
+
|---------------|-------|----------|
|
|
975
|
+
| `FILE: specification missing` | No FILE: in task | Add `FILE: path/to/file` to task description |
|
|
976
|
+
| `File not found: <path>` | Invalid file path | Check file exists and path is correct |
|
|
977
|
+
| `Compliance check failed` | Wrong file edited | Use exact FILE: specification |
|
|
978
|
+
| `Multiple files not supported` | Too many files | Use single file or split into multiple tasks |
|
|
979
|
+
|
|
980
|
+
### Timeout Error Patterns
|
|
981
|
+
|
|
982
|
+
| Pattern | Cause | Solution |
|
|
983
|
+
|---------|-------|----------|
|
|
984
|
+
| `Timeout after 30 minutes` | Provider execution timeout | Inspect retained local changes, then retry or simplify the task |
|
|
985
|
+
| `Timeout after 10 minutes` | Provider execution timeout | Use faster model or simpler task |
|
|
986
|
+
| `Timeout after 5 minutes` | Network connectivity | Check internet connection |
|
|
987
|
+
| `Timeout after 1 minute` | Provider rate limiting | Wait and retry |
|
|
988
|
+
|
|
989
|
+
---
|
|
990
|
+
|
|
991
|
+
## Provider-Specific Issues
|
|
992
|
+
|
|
993
|
+
### Grok Issues
|
|
994
|
+
|
|
995
|
+
Grok is a supported validated provider, but Build does
|
|
996
|
+
not manage Grok credentials. **Primary for local use:** cached OAuth / device
|
|
997
|
+
login via the Grok CLI (`grok login --device-auth`, `grok login`, or an initial
|
|
998
|
+
`grok`). Keys are **optional** and only needed when there is no usable CLI auth
|
|
999
|
+
cache (typical CI/headless): official `XAI_API_KEY`.
|
|
1000
|
+
`GROK_CODE_XAI_API_KEY` is a deprecated Build compatibility alias (still
|
|
1001
|
+
accepted; not preferred for new setup). Provider-scoped keys are accepted via
|
|
1002
|
+
Build's provider policy when present; they are not mandatory for local OAuth.
|
|
1003
|
+
|
|
1004
|
+
#### Authentication at execution
|
|
1005
|
+
|
|
1006
|
+
Build does not infer Grok authentication from keys or local auth files before a
|
|
1007
|
+
run. It starts the requested `grok --prompt-file` invocation and reports the
|
|
1008
|
+
CLI's actual authentication or transport error. This supports CLI-owned auth
|
|
1009
|
+
state without coupling execution to a particular cache-file layout.
|
|
1010
|
+
|
|
1011
|
+
Passive `build doctor --provider grok` never spawns `grok` and may report auth
|
|
1012
|
+
as unknown; that cold state is not a blocker. Use
|
|
1013
|
+
`build doctor --probe --provider grok` only when you intentionally want an
|
|
1014
|
+
active readiness probe. `BUILD_GROK_ALLOW_BROWSER_AUTH=1` remains an explicit
|
|
1015
|
+
opt-in when a requested execution or probe may open a browser.
|
|
1016
|
+
|
|
1017
|
+
Headless defaults (no operator action required): `--max-turns` is **not** set unless you opt in with `BUILD_GROK_MAX_TURNS`; output defaults to `streaming-json` when provider streaming is on; `--permission-mode` is omitted for normal edit runs. Do not set `BUILD_GROK_PERMISSION_MODE=acceptEdits` or `auto` for headless automation.
|
|
1018
|
+
|
|
1019
|
+
#### First-Task Check with Grok
|
|
1020
|
+
|
|
1021
|
+
This check uses `build run` for direct single-provider execution with an
|
|
1022
|
+
explicit provider. Use `build run competition` when you want judge
|
|
1023
|
+
scores/rationale or multi-variant comparison. Claude and Codex are primary
|
|
1024
|
+
validated providers; Grok is a supported validated alternative.
|
|
1025
|
+
|
|
1026
|
+
```bash
|
|
1027
|
+
build provider setup --providers grok
|
|
1028
|
+
grok login --device-auth
|
|
1029
|
+
# or: grok login / grok
|
|
1030
|
+
build provider list
|
|
1031
|
+
|
|
1032
|
+
git checkout -b run/my-task
|
|
1033
|
+
# Direct single-provider execution
|
|
1034
|
+
build run "Create a small marker file"
|
|
1035
|
+
# Delivery caveat: changes may stay in a worktree or patch under .build-project/
|
|
1036
|
+
|
|
1037
|
+
# Graded evaluation (AI judge default — omit --judge ai)
|
|
1038
|
+
build run competition "Create a small marker file" --variant grok
|
|
1039
|
+
git checkout -b fix/my-task
|
|
1040
|
+
build run competition apply <competition-id>
|
|
1041
|
+
git status
|
|
1042
|
+
```
|
|
1043
|
+
|
|
1044
|
+
If `build provider list` reports Grok auth as unknown, that is expected when
|
|
1045
|
+
Build can see the binary but cannot verify a usable CLI auth cache without an
|
|
1046
|
+
active probe. Complete cached CLI login for local use, or set optional
|
|
1047
|
+
`XAI_API_KEY` for non-interactive/CI runs. Set
|
|
1048
|
+
`BUILD_GROK_ALLOW_BROWSER_AUTH=1` only when you deliberately accept active Grok
|
|
1049
|
+
CLI auth probes that may open a browser (opt-in; not automatically safe in
|
|
1050
|
+
headless/CI).
|
|
1051
|
+
|
|
1052
|
+
If `build run` succeeds but your repository root is unchanged, inspect the
|
|
1053
|
+
printed worktree and/or patch paths (default isolation). If you used
|
|
1054
|
+
`build run competition` and stopped after the `run/*` execution branch, note the
|
|
1055
|
+
competition ID, create a `fix/*`, `docs/*`, or `test/*` branch, and run
|
|
1056
|
+
`build run competition apply <competition-id>`.
|
|
1057
|
+
|
|
1058
|
+
For validation-only checks from `main`, use:
|
|
1059
|
+
|
|
1060
|
+
```bash
|
|
1061
|
+
build run competition --validation-run "Validate first-task provider readiness" \
|
|
1062
|
+
--variant grok
|
|
1063
|
+
```
|
|
1064
|
+
|
|
1065
|
+
That creates a disposable `validation/<date>-<slug>` branch. Do not use that
|
|
1066
|
+
branch as the product apply target; move real fixes to a focused delivery
|
|
1067
|
+
branch first.
|
|
1068
|
+
|
|
1069
|
+
### Claude Issues
|
|
1070
|
+
|
|
1071
|
+
> **Info: Authentication at Runtime**
|
|
1072
|
+
>
|
|
1073
|
+
> Provider execution defers authentication to the Claude CLI. Auth errors surface at
|
|
1074
|
+
> execution time with actionable guidance. Use `build provider list` for readiness verification.
|
|
1075
|
+
> The manual verification commands below are useful for deeper troubleshooting.
|
|
1076
|
+
|
|
1077
|
+
#### Authentication Problems
|
|
1078
|
+
|
|
1079
|
+
**Symptoms**:
|
|
1080
|
+
- `Authentication failed` errors
|
|
1081
|
+
- CLI reports not authenticated
|
|
1082
|
+
- Tasks fail immediately
|
|
1083
|
+
|
|
1084
|
+
**Diagnosis**:
|
|
1085
|
+
```bash
|
|
1086
|
+
# Verify CLI installation
|
|
1087
|
+
which claude
|
|
1088
|
+
claude --version
|
|
1089
|
+
```
|
|
1090
|
+
|
|
1091
|
+
**Solutions**:
|
|
1092
|
+
```bash
|
|
1093
|
+
# 1. Re-authenticate via Claude CLI
|
|
1094
|
+
claude auth logout
|
|
1095
|
+
claude auth login
|
|
1096
|
+
|
|
1097
|
+
# 2. Test with simple task
|
|
1098
|
+
build run "Create hello.js" --engine claude
|
|
1099
|
+
```
|
|
1100
|
+
|
|
1101
|
+
#### Rate Limits
|
|
1102
|
+
|
|
1103
|
+
**Symptoms**:
|
|
1104
|
+
- `Rate limit exceeded` errors
|
|
1105
|
+
- Tasks fail after working initially
|
|
1106
|
+
- 429 HTTP status codes
|
|
1107
|
+
|
|
1108
|
+
**Solutions**:
|
|
1109
|
+
```bash
|
|
1110
|
+
# 1. Wait for rate limit reset (usually 60 seconds)
|
|
1111
|
+
sleep 60
|
|
1112
|
+
|
|
1113
|
+
# 2. Upgrade Anthropic plan for higher limits
|
|
1114
|
+
# Visit: https://console.anthropic.com/
|
|
1115
|
+
|
|
1116
|
+
# 4. Use different provider temporarily
|
|
1117
|
+
build run "task" --engine gemini
|
|
1118
|
+
```
|
|
1119
|
+
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
### Gemini Issues
|
|
1123
|
+
|
|
1124
|
+
> **Info: Authentication at Runtime**
|
|
1125
|
+
>
|
|
1126
|
+
> Provider execution defers authentication to the Gemini CLI. Auth errors surface at
|
|
1127
|
+
> execution time with actionable guidance. Use `build provider list` for readiness verification.
|
|
1128
|
+
> The manual verification commands below are useful for deeper troubleshooting.
|
|
1129
|
+
|
|
1130
|
+
#### Auth Flow Problems
|
|
1131
|
+
|
|
1132
|
+
**Symptoms**:
|
|
1133
|
+
- `GEMINI_API_KEY not found` errors
|
|
1134
|
+
- Authentication failures
|
|
1135
|
+
- Model not available errors
|
|
1136
|
+
|
|
1137
|
+
**Diagnosis**:
|
|
1138
|
+
```bash
|
|
1139
|
+
# Check API key format
|
|
1140
|
+
echo $GEMINI_API_KEY | head -c 10
|
|
1141
|
+
# Should start with "AIza"
|
|
1142
|
+
|
|
1143
|
+
# Test API key
|
|
1144
|
+
curl -H "Authorization: Bearer $GEMINI_API_KEY" \
|
|
1145
|
+
"https://generativelanguage.googleapis.com/v1/models"
|
|
1146
|
+
```
|
|
1147
|
+
|
|
1148
|
+
**Solutions**:
|
|
1149
|
+
```bash
|
|
1150
|
+
# 1. Get API key from Google AI Studio
|
|
1151
|
+
# https://aistudio.google.com/
|
|
1152
|
+
|
|
1153
|
+
# 2. Set environment variable
|
|
1154
|
+
export GEMINI_API_KEY='AIza...'
|
|
1155
|
+
|
|
1156
|
+
# 3. Test with simple request
|
|
1157
|
+
build run "test" --engine gemini --model gemini-2.5-flash
|
|
1158
|
+
|
|
1159
|
+
# 4. Check quotas in Google AI Studio
|
|
1160
|
+
```
|
|
1161
|
+
|
|
1162
|
+
#### Model Availability
|
|
1163
|
+
|
|
1164
|
+
**Symptoms**:
|
|
1165
|
+
- `Model not available` errors
|
|
1166
|
+
- `Invalid model` messages
|
|
1167
|
+
- Tasks fail with model-specific errors
|
|
1168
|
+
|
|
1169
|
+
**Solutions**:
|
|
1170
|
+
```bash
|
|
1171
|
+
# 1. Use supported models only
|
|
1172
|
+
build run "task" --model gemini-2.5-flash
|
|
1173
|
+
build run "task" --model gemini-2.5-pro
|
|
1174
|
+
|
|
1175
|
+
# 2. Check model availability
|
|
1176
|
+
build provider --json
|
|
1177
|
+
|
|
1178
|
+
# 3. Use auto-detection
|
|
1179
|
+
build run "task" --engine gemini
|
|
1180
|
+
```
|
|
1181
|
+
|
|
1182
|
+
#### Legacy command syntax errors
|
|
1183
|
+
|
|
1184
|
+
**Symptoms**:
|
|
1185
|
+
- `bash: gemini: command not found: code`
|
|
1186
|
+
- Shell prints `no matches found: --allowed-tools=[]`
|
|
1187
|
+
- Command succeeds manually but fails when invoked by Build
|
|
1188
|
+
|
|
1189
|
+
**Diagnosis**:
|
|
1190
|
+
```bash
|
|
1191
|
+
# Compare against Build's invocation
|
|
1192
|
+
build --verbose run "Say hello" --engine gemini
|
|
1193
|
+
|
|
1194
|
+
# Reproduce directly
|
|
1195
|
+
gemini --output-format json --model gemini-2.5-flash "Say hello"
|
|
1196
|
+
```
|
|
1197
|
+
|
|
1198
|
+
**Solutions**:
|
|
1199
|
+
```bash
|
|
1200
|
+
# 1. Drop removed flags and the legacy subcommand (v0.8+)
|
|
1201
|
+
gemini --output-format json --model gemini-2.5-flash "prompt"
|
|
1202
|
+
|
|
1203
|
+
# 2. Quote brackets if you must pass arrays (advanced usage only)
|
|
1204
|
+
gemini --output-format json --model gemini-2.5-flash --allowed-tools '[]' "prompt"
|
|
1205
|
+
|
|
1206
|
+
# 3. Prefer Build defaults unless a flag is officially documented
|
|
1207
|
+
```
|
|
1208
|
+
|
|
1209
|
+
#### Gemini CLI stderr handling
|
|
1210
|
+
|
|
1211
|
+
**Symptoms**:
|
|
1212
|
+
- Build reports `Loaded cached credentials.` as an error
|
|
1213
|
+
- CLI exits with code 1 when run from Build but succeeds directly
|
|
1214
|
+
- Retry loop runs 15 times without additional diagnostics
|
|
1215
|
+
|
|
1216
|
+
**Diagnosis**:
|
|
1217
|
+
```bash
|
|
1218
|
+
# Run with verbose logging to capture the exact command
|
|
1219
|
+
BUILD_DEBUG=1 build run "test" --engine gemini --verbose
|
|
1220
|
+
|
|
1221
|
+
# Check exit code from manual invocation
|
|
1222
|
+
gemini --output-format json --model gemini-2.5-flash "test"
|
|
1223
|
+
echo $? # Should be 0 on success
|
|
1224
|
+
```
|
|
1225
|
+
|
|
1226
|
+
**Solutions**:
|
|
1227
|
+
```bash
|
|
1228
|
+
# 1. Trust the exit code, not stderr noise
|
|
1229
|
+
# (Build filters the message internally; treat exitCode===0 as success)
|
|
1230
|
+
|
|
1231
|
+
# 2. Failures that look like retries: inspect verbose process I/O
|
|
1232
|
+
# (there is no live --max-retries CLI flag on build run)
|
|
1233
|
+
BUILD_DEBUG=1 build run "task" --engine gemini --verbose
|
|
1234
|
+
|
|
1235
|
+
# 3. Confirm the provider CLI succeeds outside Build
|
|
1236
|
+
gemini --output-format json --model gemini-2.5-flash "test"
|
|
1237
|
+
echo $?
|
|
1238
|
+
|
|
1239
|
+
# 4. See docs/GEMINI_BEST_PRACTICES.md § CLI Invocation Requirements for context
|
|
1240
|
+
```
|
|
1241
|
+
|
|
1242
|
+
### Cursor Issues
|
|
1243
|
+
|
|
1244
|
+
#### Agent Selection Problems
|
|
1245
|
+
|
|
1246
|
+
**Symptoms**:
|
|
1247
|
+
- Wrong agent selected for task
|
|
1248
|
+
- Poor task execution quality
|
|
1249
|
+
- Inconsistent results
|
|
1250
|
+
|
|
1251
|
+
**Diagnosis**:
|
|
1252
|
+
```bash
|
|
1253
|
+
# Agent selection is provider-native; there is no live --explain-agents flag.
|
|
1254
|
+
# Check run output for agent labels when present, then routing status:
|
|
1255
|
+
build routing status
|
|
1256
|
+
build routing status --provider cursor
|
|
1257
|
+
|
|
1258
|
+
# After competitions, inspect recorded outcomes:
|
|
1259
|
+
build run competition results <task-id>
|
|
1260
|
+
```
|
|
1261
|
+
|
|
1262
|
+
**Solutions**:
|
|
1263
|
+
```bash
|
|
1264
|
+
# 1. Pin provider/model when automatic selection is a poor fit
|
|
1265
|
+
build run "task" --engine cursor --model auto
|
|
1266
|
+
|
|
1267
|
+
# 2. Check agent/provider performance telemetry
|
|
1268
|
+
build telemetry leaderboard
|
|
1269
|
+
```
|
|
1270
|
+
|
|
1271
|
+
#### Workspace Issues
|
|
1272
|
+
|
|
1273
|
+
**Symptoms**:
|
|
1274
|
+
- `Workspace not found` errors
|
|
1275
|
+
- File not found errors
|
|
1276
|
+
- Context not loaded properly
|
|
1277
|
+
|
|
1278
|
+
**Solutions**:
|
|
1279
|
+
```bash
|
|
1280
|
+
# 1. Run from project root
|
|
1281
|
+
cd /path/to/your/project
|
|
1282
|
+
build run "task"
|
|
1283
|
+
|
|
1284
|
+
# 2. Check workspace structure
|
|
1285
|
+
ls -la
|
|
1286
|
+
ls -la .build-project/
|
|
1287
|
+
|
|
1288
|
+
# 3. Initialize if needed
|
|
1289
|
+
build init
|
|
1290
|
+
```
|
|
1291
|
+
|
|
1292
|
+
### Codex Issues
|
|
1293
|
+
|
|
1294
|
+
#### Local Result Recovery
|
|
1295
|
+
|
|
1296
|
+
Codex runs locally in the selected workspace or isolated worktree. There is no
|
|
1297
|
+
Codex cloud task to poll or apply.
|
|
1298
|
+
|
|
1299
|
+
```bash
|
|
1300
|
+
# Confirm CLI availability and authentication
|
|
1301
|
+
build doctor --provider codex
|
|
1302
|
+
|
|
1303
|
+
# Inspect durable local delivery after a timeout or interrupted process
|
|
1304
|
+
git status
|
|
1305
|
+
git diff
|
|
1306
|
+
git log --oneline --max-count=10
|
|
1307
|
+
```
|
|
1308
|
+
|
|
1309
|
+
For competition runs, inspect the retained variant branch/worktree reported by
|
|
1310
|
+
Build. Codex executors respect `--executor-timeout-minutes`; `--timeout`
|
|
1311
|
+
controls the overall competition deadline. Do not use `codex apply` recovery
|
|
1312
|
+
instructions from historical run records.
|
|
1313
|
+
|
|
1314
|
+
---
|
|
1315
|
+
|
|
1316
|
+
## Installation & Setup Problems
|
|
1317
|
+
|
|
1318
|
+
### Node.js Version Issues
|
|
1319
|
+
|
|
1320
|
+
#### Unsupported Version
|
|
1321
|
+
|
|
1322
|
+
**Error**: `Unsupported Node.js version` or `Module not found`
|
|
1323
|
+
|
|
1324
|
+
**Diagnosis**:
|
|
1325
|
+
```bash
|
|
1326
|
+
# Check current version
|
|
1327
|
+
node --version
|
|
1328
|
+
# Requires: Node.js 24.x or 26.x
|
|
1329
|
+
|
|
1330
|
+
# Check npm version
|
|
1331
|
+
npm --version
|
|
1332
|
+
```
|
|
1333
|
+
|
|
1334
|
+
**Solutions**:
|
|
1335
|
+
```bash
|
|
1336
|
+
# 1. Activate a supported Node with your installed version manager
|
|
1337
|
+
nvm install 24
|
|
1338
|
+
nvm use 24
|
|
1339
|
+
|
|
1340
|
+
# 2. Verify installation
|
|
1341
|
+
node --version
|
|
1342
|
+
npm --version
|
|
1343
|
+
|
|
1344
|
+
# 3. Repair the installed Build package
|
|
1345
|
+
npx --yes @ebrindley/build-install
|
|
1346
|
+
```
|
|
1347
|
+
|
|
1348
|
+
For a custom installation prefix, pass the same `-- --install-dir /absolute/prefix`
|
|
1349
|
+
to the bootstrap command. These steps repair Build itself. Do not delete the
|
|
1350
|
+
current project's `node_modules` or lockfile to repair a global Build install.
|
|
1351
|
+
|
|
1352
|
+
#### Version Conflicts
|
|
1353
|
+
|
|
1354
|
+
**Error**: `Module version mismatch` or `Incompatible versions`
|
|
1355
|
+
|
|
1356
|
+
**Solutions**:
|
|
1357
|
+
```bash
|
|
1358
|
+
# 1. Use Node.js 24 (the version Build is built and tested against)
|
|
1359
|
+
nvm install 24
|
|
1360
|
+
nvm use 24
|
|
1361
|
+
|
|
1362
|
+
# 2. Reinstall Build with the selected runtime
|
|
1363
|
+
npx --yes @ebrindley/build-install
|
|
1364
|
+
|
|
1365
|
+
# 3. Verify the installation
|
|
1366
|
+
build --version
|
|
1367
|
+
build doctor
|
|
1368
|
+
```
|
|
1369
|
+
|
|
1370
|
+
If you develop Build from source, run `npm ci` and `npm run build` only inside
|
|
1371
|
+
your Build source checkout. Keep its committed lockfile; unrelated consumer
|
|
1372
|
+
project dependencies do not need to change.
|
|
1373
|
+
|
|
1374
|
+
#### Replicate the Node 24 Fix on Another Computer
|
|
1375
|
+
|
|
1376
|
+
Pulling the repository propagates the runtime guards, installer, launcher generator,
|
|
1377
|
+
workflow checks, and documentation. It does not change that computer's shell `PATH`,
|
|
1378
|
+
installed Node executable, native modules, or generated `build` launcher.
|
|
1379
|
+
|
|
1380
|
+
On every development computer:
|
|
1381
|
+
|
|
1382
|
+
```bash
|
|
1383
|
+
git pull
|
|
1384
|
+
nvm install 24
|
|
1385
|
+
nvm use 24
|
|
1386
|
+
node --version
|
|
1387
|
+
node -p 'process.versions.modules'
|
|
1388
|
+
npm ci
|
|
1389
|
+
./scripts/compile-dist.sh
|
|
1390
|
+
build doctor --json
|
|
1391
|
+
build provider list --json
|
|
1392
|
+
```
|
|
1393
|
+
|
|
1394
|
+
`./scripts/compile-dist.sh` installs a launcher pinned to the verified Node 24 or 26
|
|
1395
|
+
executable into `~/.local/bin` (override with `BUILD_BIN_DIR`) and puts that
|
|
1396
|
+
executable first in child `PATH`. An existing launcher the script did not
|
|
1397
|
+
generate is left in place, so a hand-maintained wrapper is never overwritten.
|
|
1398
|
+
A Homebrew Node is recorded by its stable `opt` path, so `brew upgrade` keeps the
|
|
1399
|
+
launcher working. If that Node is otherwise moved or reinstalled, rerun the build.
|
|
1400
|
+
Package installations should be refreshed with `bash install.sh --force` for the
|
|
1401
|
+
same reason.
|
|
1402
|
+
|
|
1403
|
+
For a temporary override, point the launcher at another Node 24 or 26 executable:
|
|
1404
|
+
|
|
1405
|
+
```bash
|
|
1406
|
+
BUILD_NODE_BIN=/path/to/node build doctor --json
|
|
1407
|
+
```
|
|
1408
|
+
|
|
1409
|
+
The launcher validates that override on every invocation and rejects executables
|
|
1410
|
+
that are not Node 24 or 26. Set it in the service or editor environment as well when those
|
|
1411
|
+
processes do not inherit the interactive shell's `PATH`.
|
|
1412
|
+
|
|
1413
|
+
Claude readiness is the native Claude CLI (`build provider list` /
|
|
1414
|
+
`build doctor`), not a Build Claude Code plugin. Pre-1.42 installs that
|
|
1415
|
+
still have a leftover plugin registration can remove it with
|
|
1416
|
+
`build provider disconnect claude --scope user|project|local`. That cleanup does
|
|
1417
|
+
not sign out, revoke credentials, or disable Claude. Project and local scopes
|
|
1418
|
+
must be cleaned from each affected repository.
|
|
1419
|
+
|
|
1420
|
+
For Homebrew without `nvm`, put `/opt/homebrew/opt/node@24/bin` before other Node
|
|
1421
|
+
locations in the shell startup file, reopen the shell, then run the rebuild and
|
|
1422
|
+
verification commands above. Shell profile edits and generated launchers are
|
|
1423
|
+
machine-local and must be repeated on each computer.
|
|
1424
|
+
|
|
1425
|
+
### npm Install Failures
|
|
1426
|
+
|
|
1427
|
+
#### Network Issues
|
|
1428
|
+
|
|
1429
|
+
**Error**: `npm ERR! network timeout` or `npm ERR! fetch failed`
|
|
1430
|
+
|
|
1431
|
+
**Solutions**:
|
|
1432
|
+
```bash
|
|
1433
|
+
# 1. Check internet connection
|
|
1434
|
+
ping google.com
|
|
1435
|
+
|
|
1436
|
+
# 2. Clear npm cache
|
|
1437
|
+
npm cache clean --force
|
|
1438
|
+
|
|
1439
|
+
# 3. Use different registry
|
|
1440
|
+
npm config set registry https://registry.npmjs.org/
|
|
1441
|
+
|
|
1442
|
+
# 4. Increase timeout
|
|
1443
|
+
npm config set timeout 300000
|
|
1444
|
+
|
|
1445
|
+
# 5. Retry installation
|
|
1446
|
+
npm install
|
|
1447
|
+
```
|
|
1448
|
+
|
|
1449
|
+
#### Permission Issues
|
|
1450
|
+
|
|
1451
|
+
**Error**: `npm ERR! EACCES: permission denied` or `npm ERR! EPERM`
|
|
1452
|
+
|
|
1453
|
+
**Solutions**:
|
|
1454
|
+
```bash
|
|
1455
|
+
# 1. Fix npm permissions (recommended)
|
|
1456
|
+
mkdir ~/.npm-global
|
|
1457
|
+
npm config set prefix '~/.npm-global'
|
|
1458
|
+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
|
|
1459
|
+
source ~/.bashrc
|
|
1460
|
+
|
|
1461
|
+
# 2. Or use sudo (not recommended)
|
|
1462
|
+
sudo npm install -g @anthropic-ai/claude-code
|
|
1463
|
+
|
|
1464
|
+
# 3. Or use nvm with Node 24 (best practice)
|
|
1465
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
|
1466
|
+
source ~/.bashrc
|
|
1467
|
+
nvm install 24
|
|
1468
|
+
nvm use 24
|
|
1469
|
+
```
|
|
1470
|
+
|
|
1471
|
+
#### Dependency Conflicts
|
|
1472
|
+
|
|
1473
|
+
**Error**: `npm ERR! peer dep missing` or `npm ERR! conflict`
|
|
1474
|
+
|
|
1475
|
+
**Solutions**:
|
|
1476
|
+
```bash
|
|
1477
|
+
# 1. Check for conflicts
|
|
1478
|
+
npm ls
|
|
1479
|
+
|
|
1480
|
+
# 2. Install missing peer dependencies
|
|
1481
|
+
npm install --save-dev <missing-package>
|
|
1482
|
+
|
|
1483
|
+
# 3. Use --force to override conflicts
|
|
1484
|
+
npm install --force
|
|
1485
|
+
|
|
1486
|
+
# 4. Or use --legacy-peer-deps
|
|
1487
|
+
npm install --legacy-peer-deps
|
|
1488
|
+
```
|
|
1489
|
+
|
|
1490
|
+
### CLI Installation Verification
|
|
1491
|
+
|
|
1492
|
+
#### Claude CLI
|
|
1493
|
+
|
|
1494
|
+
**Verification**:
|
|
1495
|
+
```bash
|
|
1496
|
+
# Check installation
|
|
1497
|
+
which claude
|
|
1498
|
+
claude --version
|
|
1499
|
+
|
|
1500
|
+
# Test execution
|
|
1501
|
+
claude run "Create hello.js"
|
|
1502
|
+
```
|
|
1503
|
+
|
|
1504
|
+
**Common Issues**:
|
|
1505
|
+
- Not in PATH
|
|
1506
|
+
- Wrong version installed
|
|
1507
|
+
- Authentication not configured
|
|
1508
|
+
|
|
1509
|
+
#### Codex CLI
|
|
1510
|
+
|
|
1511
|
+
**Verification**:
|
|
1512
|
+
```bash
|
|
1513
|
+
# Check installation
|
|
1514
|
+
which codex
|
|
1515
|
+
codex --version
|
|
1516
|
+
|
|
1517
|
+
# Test authentication
|
|
1518
|
+
codex login
|
|
1519
|
+
|
|
1520
|
+
# Verify via Build
|
|
1521
|
+
build doctor --provider codex
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
**Common Issues**:
|
|
1525
|
+
- Not in PATH
|
|
1526
|
+
- Wrong package name
|
|
1527
|
+
- Authentication not configured
|
|
1528
|
+
|
|
1529
|
+
#### Cursor CLI
|
|
1530
|
+
|
|
1531
|
+
**Verification**:
|
|
1532
|
+
```bash
|
|
1533
|
+
# Check installation
|
|
1534
|
+
which cursor-agent
|
|
1535
|
+
cursor-agent --version
|
|
1536
|
+
```
|
|
1537
|
+
|
|
1538
|
+
**Common Issues**:
|
|
1539
|
+
- Not in PATH
|
|
1540
|
+
- Wrong package name
|
|
1541
|
+
- Authentication not configured
|
|
1542
|
+
|
|
1543
|
+
### Configuration File Errors
|
|
1544
|
+
|
|
1545
|
+
#### Invalid JSONC
|
|
1546
|
+
|
|
1547
|
+
**Error**: `JSONC parse error`, `SyntaxError: Unexpected token`, or `Invalid JSON`
|
|
1548
|
+
|
|
1549
|
+
**Diagnosis**:
|
|
1550
|
+
```bash
|
|
1551
|
+
# JSONC is JSON with comments and trailing commas.
|
|
1552
|
+
# Validate config with Build's JSONC-aware parser.
|
|
1553
|
+
build config validate
|
|
1554
|
+
build config diagnose
|
|
1555
|
+
```
|
|
1556
|
+
|
|
1557
|
+
**Solutions**:
|
|
1558
|
+
```bash
|
|
1559
|
+
# Repair fixable validation issues first
|
|
1560
|
+
build config validate --fix
|
|
1561
|
+
```
|
|
1562
|
+
|
|
1563
|
+
If the file remains unparseable, follow [Configuration Corruption](#configuration-corruption).
|
|
1564
|
+
That procedure preserves the original project configuration before regenerating it.
|
|
1565
|
+
|
|
1566
|
+
#### Missing Configuration
|
|
1567
|
+
|
|
1568
|
+
**Error**: `Configuration not found` or `Config file missing`
|
|
1569
|
+
|
|
1570
|
+
**Solutions**:
|
|
1571
|
+
```bash
|
|
1572
|
+
# 1. Initialize configuration
|
|
1573
|
+
build init
|
|
1574
|
+
|
|
1575
|
+
# 2. Check if .build-project directory exists
|
|
1576
|
+
ls -la .build-project/
|
|
1577
|
+
|
|
1578
|
+
# 3. Create manually if needed
|
|
1579
|
+
mkdir -p .build-project/config
|
|
1580
|
+
touch .build-project/config/build.config.jsonc
|
|
1581
|
+
```
|
|
1582
|
+
|
|
1583
|
+
#### Permission Issues
|
|
1584
|
+
|
|
1585
|
+
**Error**: `EACCES: permission denied` or `Cannot write to config`
|
|
1586
|
+
|
|
1587
|
+
**Solutions**:
|
|
1588
|
+
```bash
|
|
1589
|
+
# 1. Fix directory permissions
|
|
1590
|
+
chmod 755 .build-project/
|
|
1591
|
+
chmod 644 .build-project/config/build.config.jsonc
|
|
1592
|
+
|
|
1593
|
+
# 2. Check ownership
|
|
1594
|
+
ls -la .build-project/
|
|
1595
|
+
|
|
1596
|
+
# 3. Fix ownership if needed
|
|
1597
|
+
sudo chown -R $USER:$USER .build-project/
|
|
1598
|
+
```
|
|
1599
|
+
|
|
1600
|
+
---
|
|
1601
|
+
|
|
1602
|
+
## Debugging Tips
|
|
1603
|
+
|
|
1604
|
+
### Using --verbose Flag
|
|
1605
|
+
|
|
1606
|
+
**Enable detailed logging**:
|
|
1607
|
+
```bash
|
|
1608
|
+
# Basic verbose mode
|
|
1609
|
+
build run "task" --verbose
|
|
1610
|
+
|
|
1611
|
+
# Verbose with specific provider
|
|
1612
|
+
build run "task" --engine claude --verbose
|
|
1613
|
+
|
|
1614
|
+
# Verbose with a competition
|
|
1615
|
+
build run competition "task" --variant claude --verbose
|
|
1616
|
+
```
|
|
1617
|
+
|
|
1618
|
+
**What verbose mode shows**:
|
|
1619
|
+
- Provider selection reasoning
|
|
1620
|
+
- API request/response details
|
|
1621
|
+
- File operations and git commands
|
|
1622
|
+
- Error stack traces
|
|
1623
|
+
- Performance metrics
|
|
1624
|
+
|
|
1625
|
+
### Checking Telemetry Logs
|
|
1626
|
+
|
|
1627
|
+
**View execution logs**:
|
|
1628
|
+
```bash
|
|
1629
|
+
# Print the resolved telemetry directory (live DBs and the main JSONL stream)
|
|
1630
|
+
build doctor --verbose
|
|
1631
|
+
TELEMETRY_DIR=~/.build/data/telemetry # default; use the path doctor printed
|
|
1632
|
+
|
|
1633
|
+
# List log files (durable JSONL, organized by month)
|
|
1634
|
+
ls -la "$TELEMETRY_DIR"/logs/
|
|
1635
|
+
|
|
1636
|
+
# Follow today's events
|
|
1637
|
+
tail -f "$TELEMETRY_DIR"/logs/<YYYY-MM>/<YYYY-MM-DD>.jsonl
|
|
1638
|
+
|
|
1639
|
+
# Search for errors
|
|
1640
|
+
grep -i error "$TELEMETRY_DIR"/logs/*/*.jsonl
|
|
1641
|
+
|
|
1642
|
+
# View a specific day's events
|
|
1643
|
+
cat "$TELEMETRY_DIR"/logs/<YYYY-MM>/<YYYY-MM-DD>.jsonl | jq .
|
|
1644
|
+
```
|
|
1645
|
+
|
|
1646
|
+
**Log file locations**:
|
|
1647
|
+
- `{resolved}/logs/<YYYY-MM>/<YYYY-MM-DD>.jsonl` — durable execution event logs (not `*.log`)
|
|
1648
|
+
- `{resolved}/db/` — SQLite databases (`variants.db`, `validations.db`)
|
|
1649
|
+
- `{resolved}/invocations.db` — cost/token invocations
|
|
1650
|
+
- `~/.build/data/projects/<project-id>/telemetry/state/` — per-run state, outside the checkout
|
|
1651
|
+
- Checkout `.build-project/telemetry/logs/` — flywheel JSONL from older versions; flywheel now writes under `{resolved}/logs/`
|
|
1652
|
+
- Checkout `.build-project/telemetry/db/` — leftover/legacy default; the resolver ignores it
|
|
1653
|
+
|
|
1654
|
+
### Reviewing PR Comments
|
|
1655
|
+
|
|
1656
|
+
**For ordinary PR review or historical cloud-record recovery**:
|
|
1657
|
+
```bash
|
|
1658
|
+
# List recent PRs
|
|
1659
|
+
gh pr list --limit 10
|
|
1660
|
+
|
|
1661
|
+
# View specific PR
|
|
1662
|
+
gh pr view <PR_NUMBER>
|
|
1663
|
+
|
|
1664
|
+
# Check for bot comments
|
|
1665
|
+
gh pr view <PR_NUMBER> --json comments \
|
|
1666
|
+
--jq '.comments[] | select(.author.login | contains("bot"))'
|
|
1667
|
+
|
|
1668
|
+
# View PR diff
|
|
1669
|
+
gh pr diff <PR_NUMBER>
|
|
1670
|
+
```
|
|
1671
|
+
|
|
1672
|
+
**Common bot comment patterns** (including historical cloud records):
|
|
1673
|
+
- `chatgpt-codex-connector` - Codex bot (historical cloud comments)
|
|
1674
|
+
- `cursor-agent` - Cursor bot (historical cloud comments)
|
|
1675
|
+
- Look for `Summary:` sections
|
|
1676
|
+
- Extract historical task IDs from comments when recovering old records
|
|
1677
|
+
|
|
1678
|
+
### Using Evaluation Scripts
|
|
1679
|
+
|
|
1680
|
+
**Check if evaluation scripts exist**:
|
|
1681
|
+
```bash
|
|
1682
|
+
# Look for evaluation scripts
|
|
1683
|
+
find . -name "*evaluate*" -type f
|
|
1684
|
+
find . -name "*evaluation*" -type f
|
|
1685
|
+
|
|
1686
|
+
# Check scripts directory
|
|
1687
|
+
ls -la scripts/
|
|
1688
|
+
|
|
1689
|
+
# Run evaluation if available
|
|
1690
|
+
./scripts/evaluate-agent.sh <TASK_ID> <PROVIDER>
|
|
1691
|
+
```
|
|
1692
|
+
|
|
1693
|
+
**Manual evaluation process**:
|
|
1694
|
+
```bash
|
|
1695
|
+
# 1. Find agent's implementation commit
|
|
1696
|
+
git log --author="Cursor Agent" --grep="feat:\|Implement\|Refactor" --oneline
|
|
1697
|
+
|
|
1698
|
+
# 2. Show actual changes
|
|
1699
|
+
git show <commit_hash> --stat
|
|
1700
|
+
|
|
1701
|
+
# 3. Check if merged to main
|
|
1702
|
+
git branch --contains <commit_hash> | grep main
|
|
1703
|
+
|
|
1704
|
+
# 4. For Codex and other local providers, inspect the variant branch
|
|
1705
|
+
git log <variant_branch> --oneline --max-count=10
|
|
1706
|
+
git diff main...<variant_branch>
|
|
1707
|
+
```
|
|
1708
|
+
|
|
1709
|
+
### System Resource Monitoring
|
|
1710
|
+
|
|
1711
|
+
**Check system resources**:
|
|
1712
|
+
```bash
|
|
1713
|
+
# Memory usage
|
|
1714
|
+
free -h
|
|
1715
|
+
htop
|
|
1716
|
+
|
|
1717
|
+
# Disk space
|
|
1718
|
+
df -h
|
|
1719
|
+
|
|
1720
|
+
# CPU usage
|
|
1721
|
+
top
|
|
1722
|
+
htop
|
|
1723
|
+
|
|
1724
|
+
# Network connectivity
|
|
1725
|
+
ping google.com
|
|
1726
|
+
curl -I https://api.anthropic.com
|
|
1727
|
+
```
|
|
1728
|
+
|
|
1729
|
+
**Common resource issues**:
|
|
1730
|
+
- Low memory (causes crashes)
|
|
1731
|
+
- Full disk (prevents file operations)
|
|
1732
|
+
- High CPU usage (causes timeouts)
|
|
1733
|
+
- Network issues (causes API failures)
|
|
1734
|
+
|
|
1735
|
+
### Provider-Specific Debugging
|
|
1736
|
+
|
|
1737
|
+
#### Claude Debugging
|
|
1738
|
+
|
|
1739
|
+
```bash
|
|
1740
|
+
# Test with simple request
|
|
1741
|
+
claude run "Create hello.js"
|
|
1742
|
+
|
|
1743
|
+
# Check logs
|
|
1744
|
+
claude logs
|
|
1745
|
+
|
|
1746
|
+
# Verify API key (only for direct HTTP debugging; Build uses Claude CLI auth by default)
|
|
1747
|
+
curl -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
|
|
1748
|
+
"https://api.anthropic.com/v1/messages" \
|
|
1749
|
+
-d '{"model":"claude-3-sonnet-20240229","max_tokens":10,"messages":[{"role":"user","content":"test"}]}'
|
|
1750
|
+
```
|
|
1751
|
+
|
|
1752
|
+
#### Gemini Debugging
|
|
1753
|
+
|
|
1754
|
+
```bash
|
|
1755
|
+
# Test API key
|
|
1756
|
+
curl -H "Authorization: Bearer $GEMINI_API_KEY" \
|
|
1757
|
+
"https://generativelanguage.googleapis.com/v1/models"
|
|
1758
|
+
|
|
1759
|
+
# Check quotas
|
|
1760
|
+
curl -H "Authorization: Bearer $GEMINI_API_KEY" \
|
|
1761
|
+
"https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash"
|
|
1762
|
+
|
|
1763
|
+
# Test with simple request
|
|
1764
|
+
build run "test" --engine gemini --model gemini-2.5-flash
|
|
1765
|
+
```
|
|
1766
|
+
|
|
1767
|
+
#### Cursor Debugging
|
|
1768
|
+
|
|
1769
|
+
```bash
|
|
1770
|
+
# Verify Build can find Cursor Agent
|
|
1771
|
+
build doctor --provider cursor
|
|
1772
|
+
|
|
1773
|
+
# If you installed Cursor Agent somewhere non-standard, override the binary:
|
|
1774
|
+
export CURSOR_CLI_COMMAND=/path/to/cursor-agent
|
|
1775
|
+
```
|
|
1776
|
+
|
|
1777
|
+
#### Grok Debugging
|
|
1778
|
+
|
|
1779
|
+
```bash
|
|
1780
|
+
# Verify Build can find Grok and evaluate passive readiness
|
|
1781
|
+
build doctor --provider grok
|
|
1782
|
+
|
|
1783
|
+
# Local primary path: confirm CLI login / auth cache exists
|
|
1784
|
+
test -f "${HOME}/.grok/auth.json" && echo "Grok CLI auth cache present"
|
|
1785
|
+
|
|
1786
|
+
# Optional CI/headless path: confirm the official key is present without printing it
|
|
1787
|
+
test -n "$XAI_API_KEY" && echo "XAI_API_KEY is set"
|
|
1788
|
+
# Deprecated compatibility alias (still accepted):
|
|
1789
|
+
# test -n "$GROK_CODE_XAI_API_KEY" && echo "GROK_CODE_XAI_API_KEY is set"
|
|
1790
|
+
```
|
|
1791
|
+
|
|
1792
|
+
#### Codex Debugging
|
|
1793
|
+
|
|
1794
|
+
```bash
|
|
1795
|
+
# Verify Build can find Codex CLI + your login state
|
|
1796
|
+
build doctor --provider codex
|
|
1797
|
+
|
|
1798
|
+
# Inspect local delivery
|
|
1799
|
+
git status
|
|
1800
|
+
git diff
|
|
1801
|
+
git log --oneline --max-count=10
|
|
1802
|
+
```
|
|
1803
|
+
|
|
1804
|
+
---
|
|
1805
|
+
|
|
1806
|
+
## Advanced Troubleshooting
|
|
1807
|
+
|
|
1808
|
+
### Memory Guardian Issues
|
|
1809
|
+
|
|
1810
|
+
**Symptoms**:
|
|
1811
|
+
- `Memory: XX% heap` warnings
|
|
1812
|
+
- Process kills due to memory pressure
|
|
1813
|
+
- Performance degradation
|
|
1814
|
+
|
|
1815
|
+
**Diagnosis**:
|
|
1816
|
+
```bash
|
|
1817
|
+
# Check memory usage
|
|
1818
|
+
build run "task" --verbose
|
|
1819
|
+
# Look for: "Memory: XX% heap"
|
|
1820
|
+
|
|
1821
|
+
# Check memory guardian logs (resolved monthly JSONL; `build doctor --verbose`)
|
|
1822
|
+
TELEMETRY_DIR=~/.build/data/telemetry
|
|
1823
|
+
grep -i "memory" "$TELEMETRY_DIR"/logs/*/*.jsonl
|
|
1824
|
+
```
|
|
1825
|
+
|
|
1826
|
+
**Solutions**:
|
|
1827
|
+
```bash
|
|
1828
|
+
# 1. Reduce parallel execution
|
|
1829
|
+
build run competition "task" --variant claude --max-concurrent 2
|
|
1830
|
+
|
|
1831
|
+
# 2. Configure guardian behavior
|
|
1832
|
+
export BUILD_MEMORY_KILL=0 # Log-only
|
|
1833
|
+
export BUILD_MEMORY_KILL=1 # Aggressive kills
|
|
1834
|
+
export BUILD_RSS_LIMIT_MB=2048 # RSS cap (MB)
|
|
1835
|
+
export BUILD_RSS_LIMIT_PCT=75 # RSS cap (% of total RAM; ignored if BUILD_RSS_LIMIT_MB is set)
|
|
1836
|
+
|
|
1837
|
+
# 3. Disable memory guardian (development only)
|
|
1838
|
+
export BUILD_MEMORY_GUARD=0
|
|
1839
|
+
|
|
1840
|
+
# 4. Increase Node.js memory limit
|
|
1841
|
+
node --max-old-space-size=4096 build.js run "task"
|
|
1842
|
+
|
|
1843
|
+
# 5. Use faster model
|
|
1844
|
+
build run "task" --model gemini-2.5-flash
|
|
1845
|
+
```
|
|
1846
|
+
|
|
1847
|
+
#### Memory Guardian Stress Harness
|
|
1848
|
+
|
|
1849
|
+
Use the stress harness to reproduce memory pressure locally or during scheduled health checks:
|
|
1850
|
+
|
|
1851
|
+
```bash
|
|
1852
|
+
# Developer workstation
|
|
1853
|
+
npm run test:stress
|
|
1854
|
+
|
|
1855
|
+
# CI / cron job (uses gentler thresholds)
|
|
1856
|
+
npm run ci:stress
|
|
1857
|
+
```
|
|
1858
|
+
|
|
1859
|
+
The script streams heap usage as it allocates memory and exits automatically when the guardian intervenes or the target threshold is reached. Capture the console output when reporting memory regressions.
|
|
1860
|
+
|
|
1861
|
+
### Recursion Detection Issues
|
|
1862
|
+
|
|
1863
|
+
**Symptoms**:
|
|
1864
|
+
- `Recursion depth exceeded` errors
|
|
1865
|
+
- Infinite loops in parallel execution
|
|
1866
|
+
- Process hangs
|
|
1867
|
+
|
|
1868
|
+
**Diagnosis**:
|
|
1869
|
+
```bash
|
|
1870
|
+
# Check recursion depth
|
|
1871
|
+
echo $BUILD_MAX_RECURSION_DEPTH
|
|
1872
|
+
|
|
1873
|
+
# Look for recursion warnings (resolved monthly JSONL; `build doctor --verbose`)
|
|
1874
|
+
TELEMETRY_DIR=~/.build/data/telemetry
|
|
1875
|
+
grep -i "recursion" "$TELEMETRY_DIR"/logs/*/*.jsonl
|
|
1876
|
+
```
|
|
1877
|
+
|
|
1878
|
+
**Solutions**:
|
|
1879
|
+
```bash
|
|
1880
|
+
# 1. Increase recursion limit (careful!)
|
|
1881
|
+
export BUILD_MAX_RECURSION_DEPTH=3
|
|
1882
|
+
|
|
1883
|
+
# 2. Use sequential execution
|
|
1884
|
+
build run "task"
|
|
1885
|
+
|
|
1886
|
+
# 3. Check for recursive calls
|
|
1887
|
+
grep -r "build run" .build-project/
|
|
1888
|
+
```
|
|
1889
|
+
|
|
1890
|
+
### Git Lock Issues
|
|
1891
|
+
|
|
1892
|
+
**Symptoms**:
|
|
1893
|
+
- `fatal: Unable to create '.../index.lock'` errors
|
|
1894
|
+
- Git operations fail
|
|
1895
|
+
- Parallel execution conflicts
|
|
1896
|
+
|
|
1897
|
+
**Diagnosis**:
|
|
1898
|
+
```bash
|
|
1899
|
+
# Resolve the lock for this checkout, including linked worktrees
|
|
1900
|
+
git_dir="$(git rev-parse --path-format=absolute --git-dir)"
|
|
1901
|
+
lock_path="$git_dir/index.lock"
|
|
1902
|
+
ls -l "$lock_path"
|
|
1903
|
+
|
|
1904
|
+
# Check for active Git operations
|
|
1905
|
+
ps -axo pid=,command= | grep '[g]it'
|
|
1906
|
+
```
|
|
1907
|
+
|
|
1908
|
+
Do not move the lock while any Git process is active. If no Git process is active and the
|
|
1909
|
+
lock is older than the failed operation, quarantine only that exact lock, then verify the
|
|
1910
|
+
worktree:
|
|
1911
|
+
|
|
1912
|
+
```bash
|
|
1913
|
+
mv "$lock_path" "${lock_path}.stale.$(date +%Y%m%dT%H%M%S)"
|
|
1914
|
+
git status
|
|
1915
|
+
```
|
|
1916
|
+
|
|
1917
|
+
Build automatically removes only a stale `index.lock`, and it refuses recovery when any
|
|
1918
|
+
Git process is live. Moving the lock aside preserves it for inspection and avoids changing
|
|
1919
|
+
tracked or untracked work.
|
|
1920
|
+
|
|
1921
|
+
### Provider Rate Limiting
|
|
1922
|
+
|
|
1923
|
+
**Symptoms**:
|
|
1924
|
+
- `Rate limit exceeded` errors
|
|
1925
|
+
- 429 HTTP status codes
|
|
1926
|
+
- Tasks fail after working initially
|
|
1927
|
+
|
|
1928
|
+
**Solutions**:
|
|
1929
|
+
```bash
|
|
1930
|
+
# 1. Wait for rate limit reset
|
|
1931
|
+
sleep 60
|
|
1932
|
+
|
|
1933
|
+
# 2. Use different provider
|
|
1934
|
+
build run "task" --engine gemini
|
|
1935
|
+
|
|
1936
|
+
# 3. Reduce concurrency
|
|
1937
|
+
build run "task"
|
|
1938
|
+
|
|
1939
|
+
# 4. Check provider quotas
|
|
1940
|
+
# Claude: https://console.anthropic.com/
|
|
1941
|
+
# Gemini: https://aistudio.google.com/
|
|
1942
|
+
# Cursor: https://cursor.sh/settings
|
|
1943
|
+
```
|
|
1944
|
+
|
|
1945
|
+
### Network Connectivity Issues
|
|
1946
|
+
|
|
1947
|
+
**Symptoms**:
|
|
1948
|
+
- `Network timeout` errors
|
|
1949
|
+
- `Connection refused` errors
|
|
1950
|
+
- API requests fail
|
|
1951
|
+
|
|
1952
|
+
**Diagnosis**:
|
|
1953
|
+
```bash
|
|
1954
|
+
# Test basic connectivity
|
|
1955
|
+
ping google.com
|
|
1956
|
+
|
|
1957
|
+
# Test provider APIs
|
|
1958
|
+
curl -I https://api.anthropic.com
|
|
1959
|
+
curl -I https://generativelanguage.googleapis.com
|
|
1960
|
+
curl -I https://api.cursor.sh
|
|
1961
|
+
|
|
1962
|
+
# Check DNS resolution
|
|
1963
|
+
nslookup api.anthropic.com
|
|
1964
|
+
```
|
|
1965
|
+
|
|
1966
|
+
**Solutions**:
|
|
1967
|
+
```bash
|
|
1968
|
+
# 1. Check internet connection
|
|
1969
|
+
ping google.com
|
|
1970
|
+
|
|
1971
|
+
# 2. Check DNS settings
|
|
1972
|
+
cat /etc/resolv.conf
|
|
1973
|
+
|
|
1974
|
+
# 3. Use different DNS
|
|
1975
|
+
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
|
|
1976
|
+
|
|
1977
|
+
# 4. Check firewall settings
|
|
1978
|
+
sudo ufw status
|
|
1979
|
+
|
|
1980
|
+
# 5. Use proxy if needed
|
|
1981
|
+
export HTTP_PROXY=http://proxy:port
|
|
1982
|
+
export HTTPS_PROXY=http://proxy:port
|
|
1983
|
+
```
|
|
1984
|
+
|
|
1985
|
+
### Configuration Corruption
|
|
1986
|
+
|
|
1987
|
+
**Symptoms**:
|
|
1988
|
+
- `Invalid configuration` errors
|
|
1989
|
+
- Unexpected behavior
|
|
1990
|
+
- Settings not applied
|
|
1991
|
+
|
|
1992
|
+
**Diagnosis**:
|
|
1993
|
+
```bash
|
|
1994
|
+
build config validate
|
|
1995
|
+
build config diagnose
|
|
1996
|
+
```
|
|
1997
|
+
|
|
1998
|
+
First try the parser-aware repair:
|
|
1999
|
+
|
|
2000
|
+
```bash
|
|
2001
|
+
build config validate --fix
|
|
2002
|
+
build config validate
|
|
2003
|
+
```
|
|
2004
|
+
|
|
2005
|
+
If the project configuration is still unparseable, stop active Build runs and copy that
|
|
2006
|
+
exact file to a location outside the repository before resetting it:
|
|
2007
|
+
|
|
2008
|
+
```bash
|
|
2009
|
+
cp .build-project/config/build.config.jsonc /path/outside/repo/build.config.jsonc.saved
|
|
2010
|
+
build config reset --level project --backup
|
|
2011
|
+
build init --force
|
|
2012
|
+
build config validate
|
|
2013
|
+
```
|
|
2014
|
+
|
|
2015
|
+
`build config reset --backup` prints the name of a `build-config-backup-<timestamp>.json`
|
|
2016
|
+
file created in the current directory. Move that exact printed file outside the repository
|
|
2017
|
+
if you need to retain it. Restore individual custom settings only after validation passes.
|
|
2018
|
+
|
|
2019
|
+
### Telemetry Database Not Initialized
|
|
2020
|
+
|
|
2021
|
+
**Symptoms**:
|
|
2022
|
+
- `build run competition results` fails with "No evaluation found" or "Database not initialized"
|
|
2023
|
+
- AI Judge evaluation commands fail
|
|
2024
|
+
- SQLite error messages when querying results
|
|
2025
|
+
|
|
2026
|
+
**Cause**:
|
|
2027
|
+
The database may be missing, corrupt, or missing its schema. This can occur after an
|
|
2028
|
+
interrupted write, incomplete restore, or removal of ignored runtime state.
|
|
2029
|
+
|
|
2030
|
+
**Diagnosis**:
|
|
2031
|
+
```bash
|
|
2032
|
+
build doctor --json
|
|
2033
|
+
build telemetry checkpoint --verify --json
|
|
2034
|
+
```
|
|
2035
|
+
|
|
2036
|
+
`build telemetry checkpoint --repair` reports corruption but does not rebuild the database
|
|
2037
|
+
automatically.
|
|
2038
|
+
|
|
2039
|
+
If the database is missing, initialize it and verify the result:
|
|
2040
|
+
|
|
2041
|
+
```bash
|
|
2042
|
+
build init --db
|
|
2043
|
+
build telemetry checkpoint --verify --json
|
|
2044
|
+
```
|
|
2045
|
+
|
|
2046
|
+
If the database is corrupt and a Build backup exists, inspect the restore before applying
|
|
2047
|
+
it:
|
|
2048
|
+
|
|
2049
|
+
```bash
|
|
2050
|
+
build backup list
|
|
2051
|
+
build backup restore --latest --dry-run
|
|
2052
|
+
```
|
|
2053
|
+
|
|
2054
|
+
After reviewing the dry-run, stop active Build, provider, and agent processes, apply the
|
|
2055
|
+
restore, and verify:
|
|
2056
|
+
|
|
2057
|
+
```bash
|
|
2058
|
+
build backup restore --latest --force --offline
|
|
2059
|
+
build telemetry checkpoint --verify --json
|
|
2060
|
+
```
|
|
2061
|
+
|
|
2062
|
+
If no usable backup exists, stop all Build, provider, and agent activity before moving
|
|
2063
|
+
database files. Attempt a database backup first:
|
|
2064
|
+
|
|
2065
|
+
```bash
|
|
2066
|
+
build backup
|
|
2067
|
+
```
|
|
2068
|
+
|
|
2069
|
+
The backup command uses the external `sqlite3` executable. If it is unavailable or the
|
|
2070
|
+
corruption prevents a backup, copy the database and any SQLite sidecars together from
|
|
2071
|
+
the **resolved** telemetry directory (`build doctor --verbose` prints it; default
|
|
2072
|
+
`~/.build/data/telemetry/`) to a location outside the repository. Do not copy
|
|
2073
|
+
checkout `.build-project/telemetry/db/` — that is leftover, not the live store.
|
|
2074
|
+
|
|
2075
|
+
```bash
|
|
2076
|
+
build doctor --verbose
|
|
2077
|
+
TELEMETRY_DIR=~/.build/data/telemetry # use the path doctor printed
|
|
2078
|
+
mkdir -p /path/outside/repo/build-db-saved
|
|
2079
|
+
cp "$TELEMETRY_DIR"/db/variants.db* /path/outside/repo/build-db-saved/
|
|
2080
|
+
```
|
|
2081
|
+
|
|
2082
|
+
Only after activity has stopped and the snapshot or copy has completed, quarantine the
|
|
2083
|
+
database and any sidecars rather than deleting them. Do not delete the whole
|
|
2084
|
+
`.build-project/telemetry/` tree.
|
|
2085
|
+
|
|
2086
|
+
```bash
|
|
2087
|
+
TELEMETRY_DIR=~/.build/data/telemetry
|
|
2088
|
+
mkdir -p "$TELEMETRY_DIR"/db/quarantine
|
|
2089
|
+
mv "$TELEMETRY_DIR"/db/variants.db "$TELEMETRY_DIR"/db/quarantine/
|
|
2090
|
+
test ! -e "$TELEMETRY_DIR"/db/variants.db-wal || mv "$TELEMETRY_DIR"/db/variants.db-wal "$TELEMETRY_DIR"/db/quarantine/
|
|
2091
|
+
test ! -e "$TELEMETRY_DIR"/db/variants.db-shm || mv "$TELEMETRY_DIR"/db/variants.db-shm "$TELEMETRY_DIR"/db/quarantine/
|
|
2092
|
+
build init --db
|
|
2093
|
+
build telemetry checkpoint --verify --json
|
|
2094
|
+
```
|
|
2095
|
+
|
|
2096
|
+
Keep the quarantined files until you have confirmed that the rebuilt database is usable
|
|
2097
|
+
and decided whether historical telemetry needs recovery.
|
|
2098
|
+
|
|
2099
|
+
**Common causes**:
|
|
2100
|
+
- Force-cleaning ignored files with Git, which can remove the `.build-project/` directory
|
|
2101
|
+
- Insufficient disk space during database creation
|
|
2102
|
+
- File permission issues on `.build-project/` directory
|
|
2103
|
+
- Corrupted SQLite database file (rare)
|
|
2104
|
+
|
|
2105
|
+
---
|
|
2106
|
+
|
|
2107
|
+
## Implementation Artifacts (.build-project/implementations/)
|
|
2108
|
+
|
|
2109
|
+
### "Implementation files missing" Warning
|
|
2110
|
+
|
|
2111
|
+
**Status**: **This is normal and healthy**
|
|
2112
|
+
|
|
2113
|
+
Implementation artifacts are **ephemeral files** created only in variant worktrees during execution (including historical cloud-era runs). The main working directory should NOT contain `.build-project/implementations/*.md` files.
|
|
2114
|
+
|
|
2115
|
+
**Why you're seeing this**:
|
|
2116
|
+
- Empty `.build-project/implementations/` directory - **Normal**
|
|
2117
|
+
- Missing `.build-project/implementations/` directory - **Normal**
|
|
2118
|
+
- Old stale files - **Run `build cleanup prune`**
|
|
2119
|
+
|
|
2120
|
+
**What to do**:
|
|
2121
|
+
```bash
|
|
2122
|
+
# Check artifact status
|
|
2123
|
+
build doctor --verbose
|
|
2124
|
+
|
|
2125
|
+
# Clean up governed runtime artifacts
|
|
2126
|
+
build cleanup prune
|
|
2127
|
+
build cleanup prune --execute
|
|
2128
|
+
```
|
|
2129
|
+
|
|
2130
|
+
**See also**: Placeholder implementation files are ephemeral worktree artifacts and should not persist in the main working tree.
|
|
2131
|
+
|
|
2132
|
+
### CLI Load Failures ("Dynamic require" Errors)
|
|
2133
|
+
|
|
2134
|
+
**Error**: `Dynamic require of "fs" is not supported`
|
|
2135
|
+
|
|
2136
|
+
**Cause**: ESM/CommonJS incompatibility in bundled CLI
|
|
2137
|
+
|
|
2138
|
+
**Status**: **Fixed** (as of 2025-11-15)
|
|
2139
|
+
|
|
2140
|
+
For an installed npm package, use the Build bootstrap repair above. In a Build
|
|
2141
|
+
source checkout, rebuild and inspect its ESM output:
|
|
2142
|
+
```bash
|
|
2143
|
+
# Rebuild the CLI
|
|
2144
|
+
npm run build
|
|
2145
|
+
|
|
2146
|
+
# Verify ESM compliance
|
|
2147
|
+
npm run check:esm
|
|
2148
|
+
|
|
2149
|
+
# If error persists, report issue with:
|
|
2150
|
+
node --version # Node.js version
|
|
2151
|
+
npm list better-sqlite3 # Module versions
|
|
2152
|
+
```
|
|
2153
|
+
|
|
2154
|
+
**Check which installation is being launched**
|
|
2155
|
+
|
|
2156
|
+
```bash
|
|
2157
|
+
# 1) Inspect every build binary on PATH + global installs
|
|
2158
|
+
which -a build
|
|
2159
|
+
npm ls -g @ebrindley/build
|
|
2160
|
+
|
|
2161
|
+
# 2) Verify the selected installation
|
|
2162
|
+
build --version
|
|
2163
|
+
build doctor
|
|
2164
|
+
```
|
|
2165
|
+
|
|
2166
|
+
Choose the intended installation's `bin` directory on PATH. Do not uninstall
|
|
2167
|
+
other installations as a generic diagnostic step. Run work through the CLI:
|
|
2168
|
+
`build run competition "Task description"`.
|
|
2169
|
+
|
|
2170
|
+
---
|
|
2171
|
+
|
|
2172
|
+
## Getting Help
|
|
2173
|
+
|
|
2174
|
+
### Self-Service Resources
|
|
2175
|
+
|
|
2176
|
+
1. **Check this guide first** - Most common issues are covered
|
|
2177
|
+
2. **Use `--verbose` flag** - Get detailed error information
|
|
2178
|
+
3. **Check telemetry logs** - Review execution history
|
|
2179
|
+
4. **Test with simple tasks** - Isolate the problem
|
|
2180
|
+
|
|
2181
|
+
### Community Support
|
|
2182
|
+
|
|
2183
|
+
- **Documentation**: [Bundled documentation index](README.md)
|
|
2184
|
+
- **Examples**: [Quick Start](getting-started/QUICK_START.md)
|
|
2185
|
+
- **GitHub Issues**: [Report bugs and request features](https://github.com/ebrindley/build/issues)
|
|
2186
|
+
once the repository is public. Until then, this channel requires repository
|
|
2187
|
+
access; no public email intake is provided.
|
|
2188
|
+
|
|
2189
|
+
### Provider Support
|
|
2190
|
+
|
|
2191
|
+
- **Claude**: [Anthropic Support](https://support.anthropic.com/)
|
|
2192
|
+
- **Gemini**: [Google AI Studio Support](https://aistudio.google.com/)
|
|
2193
|
+
- **Cursor**: [Cursor Support](https://cursor.sh/support)
|
|
2194
|
+
- **Codex**: see the Codex CLI's own support channels
|
|
2195
|
+
|
|
2196
|
+
### Reporting Issues
|
|
2197
|
+
|
|
2198
|
+
When reporting issues, include:
|
|
2199
|
+
|
|
2200
|
+
1. **Error message** (exact text)
|
|
2201
|
+
2. **Command used** (with all flags)
|
|
2202
|
+
3. **Verbose output** (use `--verbose`)
|
|
2203
|
+
4. **System information** (OS, Node.js version)
|
|
2204
|
+
5. **Provider status** (authentication, quotas)
|
|
2205
|
+
6. **Log files** (relevant entries from the resolved monthly JSONL; `build doctor --verbose`)
|
|
2206
|
+
|
|
2207
|
+
Verbose output and log entries can include prompts, file contents, paths, and
|
|
2208
|
+
credentials. Paste only the relevant lines, and remove anything private before
|
|
2209
|
+
posting.
|