@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.
Files changed (878) hide show
  1. package/.build-project/providers/catalog.json +13951 -0
  2. package/.build-project/providers/pricing.json +1978 -0
  3. package/.build-project/providers/registry.json +4103 -0
  4. package/.github/SECURITY.md +75 -0
  5. package/.nvmrc +1 -0
  6. package/CHANGELOG.md +661 -0
  7. package/CODE_OF_CONDUCT.md +44 -0
  8. package/CONTRIBUTING.md +24 -0
  9. package/INSTALL.md +623 -0
  10. package/LICENSE +21 -0
  11. package/README.md +118 -2
  12. package/THIRD_PARTY_NOTICES.txt +26 -0
  13. package/dist/ai-judge-UE5UOYOO.js +191 -0
  14. package/dist/allowlist-grounding-KPLN6NC5.js +16 -0
  15. package/dist/allowlist-utils-MZZKKXRD.js +31 -0
  16. package/dist/apply-completion-mode-EM37UZHB.js +110 -0
  17. package/dist/artifact-migrator-WPACNSEP.js +276 -0
  18. package/dist/ask-2OZ4JFQR.js +176 -0
  19. package/dist/auth-6UKBTJUQ.js +185 -0
  20. package/dist/auth-H5KJL6HL.js +165 -0
  21. package/dist/auth-LVJRJDMU.js +12 -0
  22. package/dist/auth-NHZOCNRR.js +94 -0
  23. package/dist/auth-PBXHWXGW.js +95 -0
  24. package/dist/auth-T7Y5DCAH.js +91 -0
  25. package/dist/auth-TVVKCHQW.js +13 -0
  26. package/dist/auth-UHB2UCSS.js +97 -0
  27. package/dist/auth-VACA3VUL.js +98 -0
  28. package/dist/auth-VVLC77S3.js +44 -0
  29. package/dist/auth-liveness-XO4AGDDD.js +53 -0
  30. package/dist/autoloop-cleanup-SI3VGAAR.js +106 -0
  31. package/dist/autoloop-evidence-gates-J5GG5YQB.js +39 -0
  32. package/dist/autoloop-gate-policy-SUNAEP6Q.js +169 -0
  33. package/dist/autoloop-helpers-VQGQNTT6.js +52 -0
  34. package/dist/autoloop-ledger-P6TIDP7C.js +96 -0
  35. package/dist/autoloop-ledger-subscriber-HFAGOZXH.js +161 -0
  36. package/dist/autoloop-run-defaults-GWGZBNT7.js +27 -0
  37. package/dist/autoloop-run-lock-GBWRM5A2.js +197 -0
  38. package/dist/autoloop-success-C32QVWOP.js +93 -0
  39. package/dist/autoloop-termination-summary-GI6IBQWD.js +58 -0
  40. package/dist/autoloop-trajectory-AMKSQISD.js +70 -0
  41. package/dist/autoloop-wall-clock-T7ZVIQOC.js +12 -0
  42. package/dist/automatic-branch-cleanup-R62X2C5O.js +49 -0
  43. package/dist/autonomous-loop-controller-2WL363LW.js +4386 -0
  44. package/dist/backend-YUTFDZXZ.js +30 -0
  45. package/dist/background-executor-Z3ODTMD7.js +260 -0
  46. package/dist/backlog-75QPEAMW.js +403 -0
  47. package/dist/backlog-execution-intent-GWUV5TUK.js +19 -0
  48. package/dist/backup-active-store-XHWLN34M.js +16 -0
  49. package/dist/backup-machine-stores-UI4LTJOY.js +251 -0
  50. package/dist/backup-telemetry-db-Z4ICYCNW.js +26 -0
  51. package/dist/branch-archive-manager-FMSQ7YJF.js +18 -0
  52. package/dist/branch-cleanup-manager-ST6FJGND.js +35 -0
  53. package/dist/build-gate-7NKWPY62.js +68 -0
  54. package/dist/build-root-S7DINODY.js +18 -0
  55. package/dist/change-summary-R6CB6VXJ.js +50 -0
  56. package/dist/chunk-24MNKKOM.js +173 -0
  57. package/dist/chunk-2H6VZFIO.js +235 -0
  58. package/dist/chunk-2JIX3EKV.js +39 -0
  59. package/dist/chunk-2KO7HVZM.js +106 -0
  60. package/dist/chunk-2L36U25O.js +100 -0
  61. package/dist/chunk-2NMNFUQA.js +475 -0
  62. package/dist/chunk-2OUAEH67.js +83 -0
  63. package/dist/chunk-2VLJUXJU.js +115 -0
  64. package/dist/chunk-2VUEDIUM.js +77 -0
  65. package/dist/chunk-2Y2IIHPI.js +430 -0
  66. package/dist/chunk-2YRG3LHZ.js +220 -0
  67. package/dist/chunk-2Z5Q3SUY.js +65 -0
  68. package/dist/chunk-32IYXIE5.js +873 -0
  69. package/dist/chunk-33IGPPUI.js +292 -0
  70. package/dist/chunk-352PCJLK.js +283 -0
  71. package/dist/chunk-35J4NE6S.js +226 -0
  72. package/dist/chunk-3C7WBIVK.js +1016 -0
  73. package/dist/chunk-3H3EY6U7.js +1225 -0
  74. package/dist/chunk-3H4MWYIC.js +198 -0
  75. package/dist/chunk-3HHWQR3N.js +2479 -0
  76. package/dist/chunk-3JKNRYEE.js +14 -0
  77. package/dist/chunk-3LECCYZY.js +128 -0
  78. package/dist/chunk-3LOY6YZI.js +852 -0
  79. package/dist/chunk-3M57DADF.js +44 -0
  80. package/dist/chunk-3NOTLVLG.js +3803 -0
  81. package/dist/chunk-3OPP2OZB.js +1480 -0
  82. package/dist/chunk-3P5IN5E7.js +9 -0
  83. package/dist/chunk-3PL22IYZ.js +20 -0
  84. package/dist/chunk-3REDAJUJ.js +14 -0
  85. package/dist/chunk-3S2R4XJI.js +203 -0
  86. package/dist/chunk-3UBZI5DW.js +61 -0
  87. package/dist/chunk-3VV5OBGG.js +308 -0
  88. package/dist/chunk-3WY5TU2O.js +823 -0
  89. package/dist/chunk-43OKHTW4.js +82 -0
  90. package/dist/chunk-45KUJBDI.js +112 -0
  91. package/dist/chunk-47X5LM7B.js +224 -0
  92. package/dist/chunk-4B6FQJ77.js +268 -0
  93. package/dist/chunk-4BTDUT2S.js +42 -0
  94. package/dist/chunk-4DJL2VXA.js +24 -0
  95. package/dist/chunk-4EBSXZ73.js +48 -0
  96. package/dist/chunk-4QKP6I4C.js +294 -0
  97. package/dist/chunk-4U6XK2DG.js +300 -0
  98. package/dist/chunk-4UMRUFBD.js +132 -0
  99. package/dist/chunk-4US4SYJ4.js +569 -0
  100. package/dist/chunk-4ZPLWEZO.js +154 -0
  101. package/dist/chunk-56WPYDJH.js +624 -0
  102. package/dist/chunk-57WRCJJW.js +50 -0
  103. package/dist/chunk-5AW4RMNG.js +24 -0
  104. package/dist/chunk-5EQN56OZ.js +155 -0
  105. package/dist/chunk-5F43TUIN.js +38 -0
  106. package/dist/chunk-5FKHIKTS.js +115 -0
  107. package/dist/chunk-5HDP7XZG.js +91 -0
  108. package/dist/chunk-5KQETTNS.js +152 -0
  109. package/dist/chunk-5PDVN2KO.js +498 -0
  110. package/dist/chunk-5UBIFVRD.js +509 -0
  111. package/dist/chunk-5YDE3Q62.js +46 -0
  112. package/dist/chunk-626AJVMU.js +302 -0
  113. package/dist/chunk-633XZ7UF.js +3583 -0
  114. package/dist/chunk-63DHNHGA.js +236 -0
  115. package/dist/chunk-666656AR.js +568 -0
  116. package/dist/chunk-67YRJPJO.js +19 -0
  117. package/dist/chunk-6CAU7VBA.js +20 -0
  118. package/dist/chunk-6CB3KJRY.js +21 -0
  119. package/dist/chunk-6DBMALXL.js +29 -0
  120. package/dist/chunk-6E25C4IA.js +269 -0
  121. package/dist/chunk-6FIBNIQU.js +73 -0
  122. package/dist/chunk-6G57FYBV.js +189 -0
  123. package/dist/chunk-6KZKRTG3.js +4885 -0
  124. package/dist/chunk-6LAH2UV2.js +525 -0
  125. package/dist/chunk-6PZY2TTU.js +921 -0
  126. package/dist/chunk-6T6NHXK4.js +230 -0
  127. package/dist/chunk-6TBEX4R4.js +432 -0
  128. package/dist/chunk-6TRD7TEE.js +911 -0
  129. package/dist/chunk-6XCP2RAI.js +47 -0
  130. package/dist/chunk-726G6WDL.js +351 -0
  131. package/dist/chunk-75EMT7BF.js +616 -0
  132. package/dist/chunk-762ACDZJ.js +4696 -0
  133. package/dist/chunk-77I6G4CO.js +1 -0
  134. package/dist/chunk-7DJ6SQH3.js +510 -0
  135. package/dist/chunk-7HPCIOMA.js +1383 -0
  136. package/dist/chunk-7HYBSRPZ.js +17503 -0
  137. package/dist/chunk-7KBEOPVB.js +73 -0
  138. package/dist/chunk-7LHJDJB3.js +2222 -0
  139. package/dist/chunk-7NVJMH52.js +306 -0
  140. package/dist/chunk-7RMARDVH.js +33 -0
  141. package/dist/chunk-7SEWU4QG.js +36 -0
  142. package/dist/chunk-7TUTZTI2.js +911 -0
  143. package/dist/chunk-7VBDFPUM.js +340 -0
  144. package/dist/chunk-7VRJHTGZ.js +6406 -0
  145. package/dist/chunk-7YAOUUKK.js +493 -0
  146. package/dist/chunk-AAAODV76.js +860 -0
  147. package/dist/chunk-AB4HUJVQ.js +339 -0
  148. package/dist/chunk-AEQWV746.js +611 -0
  149. package/dist/chunk-AHU3FKPA.js +11639 -0
  150. package/dist/chunk-AISTV5XU.js +226 -0
  151. package/dist/chunk-AJBTKGJZ.js +48 -0
  152. package/dist/chunk-AJJNW7XT.js +248 -0
  153. package/dist/chunk-AJN5Y5YZ.js +160 -0
  154. package/dist/chunk-ALDTFNZ3.js +150 -0
  155. package/dist/chunk-ARARVIZK.js +281 -0
  156. package/dist/chunk-ATBM6AW5.js +53 -0
  157. package/dist/chunk-ATKEKM3E.js +206 -0
  158. package/dist/chunk-AUJLW6JZ.js +92 -0
  159. package/dist/chunk-AY3MHEFM.js +24 -0
  160. package/dist/chunk-B7PYTV72.js +236 -0
  161. package/dist/chunk-B7YRSULE.js +1423 -0
  162. package/dist/chunk-BAWJNMWF.js +339 -0
  163. package/dist/chunk-BBPIILO2.js +88 -0
  164. package/dist/chunk-BD3PGW6A.js +957 -0
  165. package/dist/chunk-BDPYFAB4.js +44 -0
  166. package/dist/chunk-BIUV23HH.js +729 -0
  167. package/dist/chunk-BQ3VAGXH.js +243 -0
  168. package/dist/chunk-BQJOGAWT.js +31 -0
  169. package/dist/chunk-BT7EG7CO.js +68 -0
  170. package/dist/chunk-BV3XQQLU.js +27 -0
  171. package/dist/chunk-BY6ODHNZ.js +78 -0
  172. package/dist/chunk-BZRLSZNV.js +79 -0
  173. package/dist/chunk-C3DH3NCY.js +2773 -0
  174. package/dist/chunk-C3KCMAJP.js +756 -0
  175. package/dist/chunk-C7AGUJ5K.js +267 -0
  176. package/dist/chunk-CBSWKQCX.js +342 -0
  177. package/dist/chunk-CE5OZBYY.js +21 -0
  178. package/dist/chunk-CFCVYHSW.js +373 -0
  179. package/dist/chunk-CHA2HDE5.js +126 -0
  180. package/dist/chunk-CIHWPGS5.js +146 -0
  181. package/dist/chunk-CJBSZX3F.js +127 -0
  182. package/dist/chunk-CLA6QIJM.js +43 -0
  183. package/dist/chunk-CPSVQR2I.js +365 -0
  184. package/dist/chunk-CRPRVNQ4.js +254 -0
  185. package/dist/chunk-CSIE4Y7C.js +1093 -0
  186. package/dist/chunk-CSOPSYDY.js +142 -0
  187. package/dist/chunk-CSXLLEGB.js +205 -0
  188. package/dist/chunk-CTDLERWU.js +293 -0
  189. package/dist/chunk-CULBXMSK.js +110 -0
  190. package/dist/chunk-D2M2Y5ID.js +21 -0
  191. package/dist/chunk-D37WY7SH.js +1060 -0
  192. package/dist/chunk-D4VJFCGZ.js +89 -0
  193. package/dist/chunk-D6WTZMZB.js +48 -0
  194. package/dist/chunk-DBHOWDUH.js +976 -0
  195. package/dist/chunk-DCACX7BV.js +19364 -0
  196. package/dist/chunk-DFHX4XYA.js +128 -0
  197. package/dist/chunk-DIKBRRKE.js +176 -0
  198. package/dist/chunk-DJG5RIOR.js +9 -0
  199. package/dist/chunk-DNIOIISW.js +616 -0
  200. package/dist/chunk-DOA5G7IA.js +315 -0
  201. package/dist/chunk-DP7FKP6W.js +855 -0
  202. package/dist/chunk-DS2JZ677.js +79 -0
  203. package/dist/chunk-DSRLVYBS.js +82 -0
  204. package/dist/chunk-EAEVKNJA.js +209 -0
  205. package/dist/chunk-EEUESN3T.js +575 -0
  206. package/dist/chunk-EJ4LUU5Y.js +73 -0
  207. package/dist/chunk-EJIWTPSZ.js +1063 -0
  208. package/dist/chunk-EJVCDTAN.js +116 -0
  209. package/dist/chunk-EKLUBDBQ.js +627 -0
  210. package/dist/chunk-EN62WLFD.js +849 -0
  211. package/dist/chunk-ENYRCL43.js +26 -0
  212. package/dist/chunk-EP22ZMFO.js +273 -0
  213. package/dist/chunk-EP4SVAVI.js +87 -0
  214. package/dist/chunk-EPAMVGI3.js +1562 -0
  215. package/dist/chunk-EPRMH6HO.js +24 -0
  216. package/dist/chunk-ES6NWJ36.js +4057 -0
  217. package/dist/chunk-ETA2K4KI.js +30 -0
  218. package/dist/chunk-ETAD4NKD.js +31 -0
  219. package/dist/chunk-EUWIIDQ7.js +93 -0
  220. package/dist/chunk-EVE3OD2W.js +141 -0
  221. package/dist/chunk-EXA26FFC.js +459 -0
  222. package/dist/chunk-EXSPAA35.js +244 -0
  223. package/dist/chunk-F55YABKV.js +258 -0
  224. package/dist/chunk-F5DNGU5W.js +27 -0
  225. package/dist/chunk-F622MJYV.js +103 -0
  226. package/dist/chunk-F6NIQD74.js +5111 -0
  227. package/dist/chunk-FAWJTC34.js +43 -0
  228. package/dist/chunk-FAZBRHGG.js +47 -0
  229. package/dist/chunk-FIEUSGNJ.js +39 -0
  230. package/dist/chunk-FKCG7K6H.js +1146 -0
  231. package/dist/chunk-FOVVXV45.js +229 -0
  232. package/dist/chunk-FRBPKBFE.js +30 -0
  233. package/dist/chunk-FSA5BPFI.js +268 -0
  234. package/dist/chunk-FSJ5TTZ3.js +29 -0
  235. package/dist/chunk-FT7SGLXT.js +193 -0
  236. package/dist/chunk-FUUVZZUB.js +62 -0
  237. package/dist/chunk-FYMRVUNZ.js +1697 -0
  238. package/dist/chunk-FYTAA5FG.js +162 -0
  239. package/dist/chunk-G3VB2UCZ.js +3892 -0
  240. package/dist/chunk-G6OIMVXH.js +405 -0
  241. package/dist/chunk-G7PQCXVH.js +228 -0
  242. package/dist/chunk-GAB6UW52.js +1087 -0
  243. package/dist/chunk-GAFJEYLK.js +29 -0
  244. package/dist/chunk-GC4CRMTS.js +642 -0
  245. package/dist/chunk-GFHSIWHL.js +5297 -0
  246. package/dist/chunk-GI5M67YA.js +735 -0
  247. package/dist/chunk-GIJWHUWF.js +191 -0
  248. package/dist/chunk-GO6DRECI.js +1 -0
  249. package/dist/chunk-GOFVBTMN.js +314 -0
  250. package/dist/chunk-GQIP72ZJ.js +13 -0
  251. package/dist/chunk-GQXLXRFA.js +28 -0
  252. package/dist/chunk-GT6HFKJB.js +48 -0
  253. package/dist/chunk-GVJGSSKM.js +174 -0
  254. package/dist/chunk-GWHGTG37.js +36 -0
  255. package/dist/chunk-GZAJHLKO.js +18 -0
  256. package/dist/chunk-GZK62I3N.js +314 -0
  257. package/dist/chunk-H3HGMISG.js +483 -0
  258. package/dist/chunk-H3ISZJMJ.js +403 -0
  259. package/dist/chunk-H4HXVWEC.js +9 -0
  260. package/dist/chunk-H6MJGKAW.js +120 -0
  261. package/dist/chunk-HBTTGVR5.js +353 -0
  262. package/dist/chunk-HBZ322WZ.js +35 -0
  263. package/dist/chunk-HEP3ILP4.js +34 -0
  264. package/dist/chunk-HGFXODKO.js +106 -0
  265. package/dist/chunk-HHWDTB6S.js +59 -0
  266. package/dist/chunk-HKO45NLZ.js +286 -0
  267. package/dist/chunk-HLVTEA6A.js +89 -0
  268. package/dist/chunk-HS3SY6HN.js +160 -0
  269. package/dist/chunk-HT5OCGKN.js +899 -0
  270. package/dist/chunk-HXIIEMGF.js +78 -0
  271. package/dist/chunk-I56TH7VM.js +46 -0
  272. package/dist/chunk-I6FN3R5D.js +352 -0
  273. package/dist/chunk-I7SCBHJN.js +655 -0
  274. package/dist/chunk-IJM4GKAT.js +529 -0
  275. package/dist/chunk-IMEYU36R.js +344 -0
  276. package/dist/chunk-INJ3SS6A.js +936 -0
  277. package/dist/chunk-IUKOPCCE.js +441 -0
  278. package/dist/chunk-IVEPZQJO.js +33 -0
  279. package/dist/chunk-IVZEONFC.js +43 -0
  280. package/dist/chunk-IWBHRSG7.js +936 -0
  281. package/dist/chunk-IYY3HQAD.js +484 -0
  282. package/dist/chunk-J2ICMYDA.js +48 -0
  283. package/dist/chunk-J2QCFLUN.js +505 -0
  284. package/dist/chunk-J5HM6V5P.js +1039 -0
  285. package/dist/chunk-J6NZX6QH.js +398 -0
  286. package/dist/chunk-JBBB2Y47.js +432 -0
  287. package/dist/chunk-JDCZQZU7.js +42 -0
  288. package/dist/chunk-JEDNXGSS.js +169 -0
  289. package/dist/chunk-JHP7OT6K.js +89 -0
  290. package/dist/chunk-JLS65NUQ.js +14 -0
  291. package/dist/chunk-JNMWYMC6.js +38 -0
  292. package/dist/chunk-JNSTWNNW.js +25 -0
  293. package/dist/chunk-JOSK6GEU.js +9564 -0
  294. package/dist/chunk-JQUMSIGC.js +100 -0
  295. package/dist/chunk-JVHGMURQ.js +1106 -0
  296. package/dist/chunk-JYXS47FQ.js +951 -0
  297. package/dist/chunk-K2ZMW2Z5.js +2147 -0
  298. package/dist/chunk-K7FAFORM.js +14 -0
  299. package/dist/chunk-KBJXX3ON.js +333 -0
  300. package/dist/chunk-KHFKVQWY.js +486 -0
  301. package/dist/chunk-KHMEI3DQ.js +173 -0
  302. package/dist/chunk-KHW3UD7B.js +69 -0
  303. package/dist/chunk-KKQKWAMF.js +365 -0
  304. package/dist/chunk-KOKXJV2U.js +455 -0
  305. package/dist/chunk-KQ4NGOJI.js +14 -0
  306. package/dist/chunk-KQYQOXMS.js +342 -0
  307. package/dist/chunk-KTMW65UX.js +14 -0
  308. package/dist/chunk-KUEWV2JH.js +593 -0
  309. package/dist/chunk-KXYDV3HP.js +1523 -0
  310. package/dist/chunk-KZ4JMGZ5.js +96 -0
  311. package/dist/chunk-KZWGBUIO.js +2659 -0
  312. package/dist/chunk-L2CBG5IX.js +1892 -0
  313. package/dist/chunk-L2S235CU.js +314 -0
  314. package/dist/chunk-L32WD57F.js +98 -0
  315. package/dist/chunk-LDJCKAJP.js +123 -0
  316. package/dist/chunk-LDWNBEN7.js +541 -0
  317. package/dist/chunk-LJVH57G2.js +241 -0
  318. package/dist/chunk-LPQ7NZEN.js +209 -0
  319. package/dist/chunk-LRGH3CCV.js +148 -0
  320. package/dist/chunk-LULOGMMM.js +1133 -0
  321. package/dist/chunk-LWGKN2GY.js +8284 -0
  322. package/dist/chunk-LX4F24ZH.js +157 -0
  323. package/dist/chunk-M4BUEXXF.js +839 -0
  324. package/dist/chunk-M6UHOC4I.js +553 -0
  325. package/dist/chunk-MCBNWZNO.js +657 -0
  326. package/dist/chunk-MEMSY6VY.js +223 -0
  327. package/dist/chunk-MHLEZQQI.js +145 -0
  328. package/dist/chunk-MJ6WNSIX.js +192 -0
  329. package/dist/chunk-MKASIKWZ.js +442 -0
  330. package/dist/chunk-MNOVBYFU.js +60 -0
  331. package/dist/chunk-MO2BYAAF.js +2896 -0
  332. package/dist/chunk-MP6P7Y2A.js +180 -0
  333. package/dist/chunk-MQ4TFJAG.js +3365 -0
  334. package/dist/chunk-MT2WAIR3.js +131 -0
  335. package/dist/chunk-MTU7VTNN.js +1122 -0
  336. package/dist/chunk-MULMXX4V.js +150 -0
  337. package/dist/chunk-MW2DWWVA.js +147 -0
  338. package/dist/chunk-MY3ZPUN4.js +151 -0
  339. package/dist/chunk-MYLH2S4G.js +64 -0
  340. package/dist/chunk-MZ5WYKNA.js +28 -0
  341. package/dist/chunk-N3Q2JNPV.js +249 -0
  342. package/dist/chunk-N5DX4JAK.js +12 -0
  343. package/dist/chunk-NAINGKHF.js +35 -0
  344. package/dist/chunk-NEQUQHOX.js +223 -0
  345. package/dist/chunk-NHNPEZS4.js +1408 -0
  346. package/dist/chunk-NHTIXJCR.js +17 -0
  347. package/dist/chunk-NKLPMBNV.js +1154 -0
  348. package/dist/chunk-NMVZ5YES.js +199 -0
  349. package/dist/chunk-NRFRY3GE.js +256 -0
  350. package/dist/chunk-NTD6CSI6.js +1266 -0
  351. package/dist/chunk-NUO7B3SH.js +318 -0
  352. package/dist/chunk-NVOHIJKG.js +1319 -0
  353. package/dist/chunk-NXH3RX7O.js +523 -0
  354. package/dist/chunk-NXZ3DURF.js +257 -0
  355. package/dist/chunk-O26L6F7F.js +209 -0
  356. package/dist/chunk-O5RRIUEP.js +124 -0
  357. package/dist/chunk-O5X6BKAO.js +10 -0
  358. package/dist/chunk-O6ZQUVTR.js +31 -0
  359. package/dist/chunk-O7FE75QZ.js +306 -0
  360. package/dist/chunk-OC7Z6AJQ.js +81 -0
  361. package/dist/chunk-OH7IEZ63.js +307 -0
  362. package/dist/chunk-OI734GRS.js +115 -0
  363. package/dist/chunk-OJBH62DK.js +684 -0
  364. package/dist/chunk-OKJLVSTJ.js +247 -0
  365. package/dist/chunk-OMX5VL43.js +79 -0
  366. package/dist/chunk-ONHAMBN6.js +12 -0
  367. package/dist/chunk-ONYPLIVE.js +753 -0
  368. package/dist/chunk-OSK7QWPD.js +637 -0
  369. package/dist/chunk-OTXLMJKP.js +438 -0
  370. package/dist/chunk-OV5PKQMA.js +213 -0
  371. package/dist/chunk-OXK5HA4B.js +31 -0
  372. package/dist/chunk-OYDWFQA4.js +272 -0
  373. package/dist/chunk-OZAUKWHB.js +22 -0
  374. package/dist/chunk-P5P2EKGH.js +94 -0
  375. package/dist/chunk-P6SSWAKY.js +29 -0
  376. package/dist/chunk-P7CQGPLS.js +30 -0
  377. package/dist/chunk-P7RVCHQV.js +197 -0
  378. package/dist/chunk-PEBWDYIW.js +726 -0
  379. package/dist/chunk-PFCXFO7A.js +9193 -0
  380. package/dist/chunk-PFLDWMX6.js +168 -0
  381. package/dist/chunk-PHZGLQSK.js +15883 -0
  382. package/dist/chunk-PNFTPNSR.js +20 -0
  383. package/dist/chunk-PPHXX4W7.js +175 -0
  384. package/dist/chunk-PPZESPJT.js +262 -0
  385. package/dist/chunk-PRDHI2L5.js +296 -0
  386. package/dist/chunk-PSTKWHHN.js +32 -0
  387. package/dist/chunk-PV53ODOT.js +555 -0
  388. package/dist/chunk-PVJBTI7P.js +24 -0
  389. package/dist/chunk-PXKERBKX.js +100 -0
  390. package/dist/chunk-PZ5AY32C.js +10 -0
  391. package/dist/chunk-Q3DHEZA5.js +85 -0
  392. package/dist/chunk-Q5RZDVQK.js +204 -0
  393. package/dist/chunk-Q64IR2Z2.js +4933 -0
  394. package/dist/chunk-Q6Z5UGPL.js +398 -0
  395. package/dist/chunk-QAMAV4DT.js +627 -0
  396. package/dist/chunk-QBWF4444.js +112 -0
  397. package/dist/chunk-QDKYT4CI.js +22805 -0
  398. package/dist/chunk-QFLBRWCJ.js +126 -0
  399. package/dist/chunk-QILAQACE.js +107 -0
  400. package/dist/chunk-QJ6OEH4K.js +3683 -0
  401. package/dist/chunk-QK3NLYTV.js +320 -0
  402. package/dist/chunk-QOFLUS24.js +535 -0
  403. package/dist/chunk-QOIASNEJ.js +98 -0
  404. package/dist/chunk-QP4UTSOV.js +3587 -0
  405. package/dist/chunk-QP5ST7RI.js +904 -0
  406. package/dist/chunk-QS5AGRZN.js +167 -0
  407. package/dist/chunk-QTAOU53N.js +107 -0
  408. package/dist/chunk-QTCLJHLZ.js +351 -0
  409. package/dist/chunk-QTOLTG4L.js +119 -0
  410. package/dist/chunk-QWDV4OSL.js +142 -0
  411. package/dist/chunk-QWMQ74KD.js +508 -0
  412. package/dist/chunk-QX6LOMMH.js +158 -0
  413. package/dist/chunk-QXBKIHY7.js +238 -0
  414. package/dist/chunk-QXBKTJT6.js +270 -0
  415. package/dist/chunk-QYQOVOLR.js +196 -0
  416. package/dist/chunk-R2CKS6WT.js +73 -0
  417. package/dist/chunk-R2TIYG7U.js +68 -0
  418. package/dist/chunk-R2W3LESH.js +465 -0
  419. package/dist/chunk-R5EXHMUN.js +100 -0
  420. package/dist/chunk-RBBTBCHX.js +289 -0
  421. package/dist/chunk-RBKLOUXA.js +121 -0
  422. package/dist/chunk-RCP2Y6DQ.js +86 -0
  423. package/dist/chunk-RCYEJSD5.js +260 -0
  424. package/dist/chunk-RFDVSI4N.js +134 -0
  425. package/dist/chunk-RGJU63FV.js +1717 -0
  426. package/dist/chunk-RI4EX2QE.js +18 -0
  427. package/dist/chunk-RIMARPCF.js +152 -0
  428. package/dist/chunk-RJ6RSNT6.js +42 -0
  429. package/dist/chunk-RNI2GUIF.js +131 -0
  430. package/dist/chunk-RPHUWJ3K.js +264 -0
  431. package/dist/chunk-RPIMAMV7.js +361 -0
  432. package/dist/chunk-RQFX6YRN.js +49 -0
  433. package/dist/chunk-RRC5BL7B.js +285 -0
  434. package/dist/chunk-RSYTSBOO.js +79 -0
  435. package/dist/chunk-RWQQIKIC.js +35 -0
  436. package/dist/chunk-RZUBOZH2.js +373 -0
  437. package/dist/chunk-S2E632FQ.js +380 -0
  438. package/dist/chunk-S2VQCZO4.js +22 -0
  439. package/dist/chunk-S2XIMQJQ.js +681 -0
  440. package/dist/chunk-S47ISY27.js +183 -0
  441. package/dist/chunk-S6I4KISU.js +142 -0
  442. package/dist/chunk-S6TAFQI5.js +2403 -0
  443. package/dist/chunk-SBBNT5ZJ.js +27 -0
  444. package/dist/chunk-SDJV2DTQ.js +491 -0
  445. package/dist/chunk-SDPIFNLD.js +33 -0
  446. package/dist/chunk-SF6YK3JI.js +835 -0
  447. package/dist/chunk-SK3ZFONO.js +976 -0
  448. package/dist/chunk-SKTFRFQ7.js +1775 -0
  449. package/dist/chunk-SNGM452K.js +2002 -0
  450. package/dist/chunk-STW7OFOA.js +581 -0
  451. package/dist/chunk-SU6UFUQY.js +1351 -0
  452. package/dist/chunk-SVJM3LJA.js +27 -0
  453. package/dist/chunk-SVUNZOPG.js +129 -0
  454. package/dist/chunk-T5XLUYV3.js +34 -0
  455. package/dist/chunk-T7E5JS6N.js +57 -0
  456. package/dist/chunk-TA3N5MMO.js +450 -0
  457. package/dist/chunk-TAJPCXSB.js +13 -0
  458. package/dist/chunk-TDEMDRN2.js +1639 -0
  459. package/dist/chunk-TDSEX5CF.js +24 -0
  460. package/dist/chunk-TGCVL74Y.js +28 -0
  461. package/dist/chunk-TGXXYDL4.js +1012 -0
  462. package/dist/chunk-TIKTYUJO.js +296 -0
  463. package/dist/chunk-TIZAJD4M.js +6029 -0
  464. package/dist/chunk-TLSEZZCG.js +5549 -0
  465. package/dist/chunk-TMBDRHAX.js +19 -0
  466. package/dist/chunk-TRURQUBP.js +1217 -0
  467. package/dist/chunk-TSQ256N5.js +152 -0
  468. package/dist/chunk-TUQMMFEQ.js +2244 -0
  469. package/dist/chunk-U424MJLC.js +81 -0
  470. package/dist/chunk-U4DRS6ZW.js +11 -0
  471. package/dist/chunk-U5KS22IN.js +204 -0
  472. package/dist/chunk-UAPHFJPN.js +673 -0
  473. package/dist/chunk-UB7LQITD.js +1040 -0
  474. package/dist/chunk-UBVRHGAZ.js +237 -0
  475. package/dist/chunk-UDNNAQN5.js +98 -0
  476. package/dist/chunk-UJP3XM54.js +342 -0
  477. package/dist/chunk-UJYDH2MW.js +305 -0
  478. package/dist/chunk-UKMPASIC.js +399 -0
  479. package/dist/chunk-UKUL3EHK.js +763 -0
  480. package/dist/chunk-UPHU64NB.js +1327 -0
  481. package/dist/chunk-URMSZXAD.js +43 -0
  482. package/dist/chunk-US3RT6CY.js +525 -0
  483. package/dist/chunk-UTDEOPKV.js +30 -0
  484. package/dist/chunk-UUUDKV7N.js +13 -0
  485. package/dist/chunk-UVKWU3SM.js +39 -0
  486. package/dist/chunk-V2TVPO3X.js +521 -0
  487. package/dist/chunk-V3KLVK7B.js +398 -0
  488. package/dist/chunk-V3YFFHDR.js +17 -0
  489. package/dist/chunk-VAG6GUBR.js +1162 -0
  490. package/dist/chunk-VBENAHDA.js +1814 -0
  491. package/dist/chunk-VBNCKCCI.js +16 -0
  492. package/dist/chunk-VCGSWN5M.js +1300 -0
  493. package/dist/chunk-VE2O2I7M.js +115 -0
  494. package/dist/chunk-VIFHYTI5.js +31 -0
  495. package/dist/chunk-VJER3FUS.js +5080 -0
  496. package/dist/chunk-VLMDM56Q.js +268 -0
  497. package/dist/chunk-VMFZEVVX.js +99 -0
  498. package/dist/chunk-VNDPQVUZ.js +1853 -0
  499. package/dist/chunk-VSPJRLGA.js +4783 -0
  500. package/dist/chunk-VSWC5ZXI.js +103 -0
  501. package/dist/chunk-VYI4DSZP.js +2017 -0
  502. package/dist/chunk-W4BAIQ6L.js +1212 -0
  503. package/dist/chunk-W7VQAL2K.js +2203 -0
  504. package/dist/chunk-WEI3ZDZH.js +33 -0
  505. package/dist/chunk-WEIUS5NT.js +26 -0
  506. package/dist/chunk-WEW7UFWE.js +546 -0
  507. package/dist/chunk-WGQAXLNA.js +384 -0
  508. package/dist/chunk-WJAL4JL3.js +206 -0
  509. package/dist/chunk-WKFOJ5ZG.js +141 -0
  510. package/dist/chunk-WMWQEFLN.js +2177 -0
  511. package/dist/chunk-WNECKKO2.js +154 -0
  512. package/dist/chunk-WPKLYOAM.js +195 -0
  513. package/dist/chunk-WSH37YQN.js +243 -0
  514. package/dist/chunk-WV3KQDPE.js +84 -0
  515. package/dist/chunk-WZFC4V4U.js +389 -0
  516. package/dist/chunk-XCOIBNET.js +13 -0
  517. package/dist/chunk-XDM65LBX.js +53 -0
  518. package/dist/chunk-XGU6PBO5.js +645 -0
  519. package/dist/chunk-XHOI4V62.js +43 -0
  520. package/dist/chunk-XIBVFMLQ.js +6858 -0
  521. package/dist/chunk-XJ2E7YEJ.js +117 -0
  522. package/dist/chunk-XON4ZCYX.js +69 -0
  523. package/dist/chunk-XQPEWJPI.js +127 -0
  524. package/dist/chunk-XSJTIFUY.js +31 -0
  525. package/dist/chunk-XT7OVWM3.js +64 -0
  526. package/dist/chunk-XTXYIISX.js +1104 -0
  527. package/dist/chunk-XV7NZL4B.js +57 -0
  528. package/dist/chunk-XWIZ6B5S.js +109 -0
  529. package/dist/chunk-XWLIKOBX.js +240 -0
  530. package/dist/chunk-XZOXEIN4.js +156 -0
  531. package/dist/chunk-XZRS7I7W.js +3673 -0
  532. package/dist/chunk-Y4ZDDHB6.js +44 -0
  533. package/dist/chunk-Y733RB7T.js +194 -0
  534. package/dist/chunk-YBHUB4XR.js +14931 -0
  535. package/dist/chunk-YKC75XK4.js +147 -0
  536. package/dist/chunk-YKMXFVK7.js +27 -0
  537. package/dist/chunk-YO5BAJ55.js +225 -0
  538. package/dist/chunk-YPDCLXNZ.js +568 -0
  539. package/dist/chunk-YSQPGVFK.js +116 -0
  540. package/dist/chunk-YTVVTIWJ.js +716 -0
  541. package/dist/chunk-YVCMDVBB.js +698 -0
  542. package/dist/chunk-YYTOA6DP.js +114 -0
  543. package/dist/chunk-Z5WGNULV.js +88 -0
  544. package/dist/chunk-Z6NGVVXG.js +66 -0
  545. package/dist/chunk-Z7CDQNH3.js +20 -0
  546. package/dist/chunk-ZH4G3FU5.js +187 -0
  547. package/dist/chunk-ZJB6SQPA.js +257 -0
  548. package/dist/chunk-ZL6E4HMY.js +42 -0
  549. package/dist/chunk-ZMLOC3DW.js +62 -0
  550. package/dist/chunk-ZORW64QH.js +101 -0
  551. package/dist/chunk-ZVVD2XGV.js +1369 -0
  552. package/dist/cli-utils-ER33ODC5.js +31 -0
  553. package/dist/cli-validation-6CHPTANV.js +146 -0
  554. package/dist/commit-utils-3STAY7C7.js +49 -0
  555. package/dist/compatibility-notice-IHNXR2JR.js +21 -0
  556. package/dist/compete-config-resolver-V3GDNJMM.js +125 -0
  557. package/dist/compete-results-XUM3PJHS.js +318 -0
  558. package/dist/competition-outcome-tracker-NWSMVUPG.js +62 -0
  559. package/dist/config-4HHE4OIK.js +238 -0
  560. package/dist/config-D6YAZASH.js +10 -0
  561. package/dist/config-MIPRDYYV.js +46 -0
  562. package/dist/config-audit-GA5DCUAI.js +371 -0
  563. package/dist/config-explain-4LMO556H.js +71 -0
  564. package/dist/config-loader-RGP634PC.js +51 -0
  565. package/dist/config-manager-J2UTO635.js +114 -0
  566. package/dist/config-merger-TVUJBZTS.js +14 -0
  567. package/dist/config-validator-H4ZVIE56.js +122 -0
  568. package/dist/cost-HSIV5U2Y.js +85 -0
  569. package/dist/data-migration-state-OAUL2WPQ.js +35 -0
  570. package/dist/db-migrator-NUOW5NKR.js +34 -0
  571. package/dist/default-paths-UILB62BN.js +49 -0
  572. package/dist/discovery-V6GYUJUC.js +53 -0
  573. package/dist/doctor-BBSMCDWE.js +271 -0
  574. package/dist/doctor-context-blocks-LPY75VZA.js +231 -0
  575. package/dist/doctor-instructions-import-JXHDDOE5.js +70 -0
  576. package/dist/doctor-purpose-6YJOXPBE.js +30 -0
  577. package/dist/domain-analyzer-S35ABUNA.js +48 -0
  578. package/dist/ensure-initialized-Q6PEU55O.js +78 -0
  579. package/dist/entry.js +922 -0
  580. package/dist/error-parser-core-MZFMFANN.js +70 -0
  581. package/dist/evaluation-context-GQBYDAEV.js +63 -0
  582. package/dist/evidence-plan-resolver-5FUAP3SA.js +111 -0
  583. package/dist/execution-data-writer-YCG5UH37.js +72 -0
  584. package/dist/execution-policy-applier-PWZM5LNA.js +63 -0
  585. package/dist/execution-preflight-DASJWWQF.js +223 -0
  586. package/dist/execution-roles-KNSNNB2D.js +112 -0
  587. package/dist/exit-code-error-QIY5DOKF.js +18 -0
  588. package/dist/external-temp-cleanup-CAW7LQ6R.js +360 -0
  589. package/dist/factory-YCYCB7AE.js +209 -0
  590. package/dist/file-utils-ZQYNBQBW.js +45 -0
  591. package/dist/flywheel-allowlist-revert-H22HA6JE.js +21 -0
  592. package/dist/flywheel-autoloop-executor-PDOASJEZ.js +316 -0
  593. package/dist/flywheel-autoloop-unverified-TOKYFCDC.js +36 -0
  594. package/dist/flywheel-competition-executor-YJUMMEJO.js +320 -0
  595. package/dist/flywheel-executor-JWU43KAY.js +437 -0
  596. package/dist/flywheel-git-isolation-FQ2TRWMB.js +56 -0
  597. package/dist/flywheel-manifest-HDPNMWWF.js +114 -0
  598. package/dist/flywheel-model-defaults-UHAKTZT3.js +110 -0
  599. package/dist/flywheel-preflight-III2C7TH.js +163 -0
  600. package/dist/flywheel-resume-2O45MS7Y.js +31 -0
  601. package/dist/flywheel-resume-execution-lease-P2BK257J.js +59 -0
  602. package/dist/flywheel-safety-AVAVFXIJ.js +19 -0
  603. package/dist/flywheel-scope-decision-ALJUUNGG.js +14 -0
  604. package/dist/get-telemetry-logger-MPDVO2JA.js +155 -0
  605. package/dist/git-message-style-KCXGMTDT.js +104 -0
  606. package/dist/guidance-profile-config-G3K5YQOO.js +113 -0
  607. package/dist/guidance-profile-renderer-TX4TNDFL.js +23 -0
  608. package/dist/identity-XLQJ4YJF.js +25 -0
  609. package/dist/index-query-6NUY4FKX.js +37 -0
  610. package/dist/index.js +85588 -0
  611. package/dist/indexer-DL54CM3K.js +44 -0
  612. package/dist/init-OUZ72344.js +245 -0
  613. package/dist/instructions-import-offer-NSYXSITC.js +363 -0
  614. package/dist/instructions-run-NBII7W36.js +114 -0
  615. package/dist/interrupted-work-E4TLKJLE.js +43 -0
  616. package/dist/invoke-provider-auth-NEWEIHCI.js +38 -0
  617. package/dist/judge-scoring.json +64 -0
  618. package/dist/lab-mode-YXQ2Y3NG.js +44 -0
  619. package/dist/lab-utils-5QAMDJR5.js +29 -0
  620. package/dist/linux-host-class-YDWQX65O.js +31 -0
  621. package/dist/llm-judge-executor-OJSNCTFJ.js +179 -0
  622. package/dist/local-ci-config-VZ4WWDT5.js +48 -0
  623. package/dist/local-executor-DCMDDRX2.js +280 -0
  624. package/dist/logger-5KNKS3O4.js +154 -0
  625. package/dist/matrix-prompt-builder-4ZBOGZSB.js +527 -0
  626. package/dist/matrix-result-parser-EZJM4YXP.js +14 -0
  627. package/dist/merge-batch-RTEEMVDB.js +313 -0
  628. package/dist/merge-batch-members-VIWGVRHP.js +24 -0
  629. package/dist/merge-queue-TIIUSOY6.js +126 -0
  630. package/dist/merge-queue-trust-DUNZ4J65.js +21 -0
  631. package/dist/metadata-UKSMWM6J.js +29 -0
  632. package/dist/model-catalog-readiness-R5KJBP5M.js +202 -0
  633. package/dist/model-invocations-db-XTUPPQ34.js +70 -0
  634. package/dist/model-resolver-JFZ2MHOJ.js +39 -0
  635. package/dist/model-resolver-SCQ57KAQ.js +217 -0
  636. package/dist/model-roles-D3OR4NAH.js +110 -0
  637. package/dist/monitor-F4SIU5G2.js +96 -0
  638. package/dist/nested-worktrees-2WUWQ75N.js +23 -0
  639. package/dist/next-S3IRLVER.js +96 -0
  640. package/dist/next-UKPFRXOO.js +148 -0
  641. package/dist/opportunistic-TL4S26VX.js +86 -0
  642. package/dist/optimization-config-resolver-NAEIYU6A.js +148 -0
  643. package/dist/package-HJR4QJT4.js +10 -0
  644. package/dist/parse-git-status-7PIYFPS2.js +21 -0
  645. package/dist/path-security-5WJSY56G.js +41 -0
  646. package/dist/paths-JUI7C4KU.js +45 -0
  647. package/dist/plan-backlog-list-fast-SSTQL5XP.js +89 -0
  648. package/dist/plan-backlog-show-fast-PFRAQ3JB.js +114 -0
  649. package/dist/plan-sprint-list-fast-HD2KBZSY.js +110 -0
  650. package/dist/plan-sprint-status-fast-YFYH7WQF.js +116 -0
  651. package/dist/plan-task-status-fast-JU5PNLUU.js +114 -0
  652. package/dist/plan-to-flywheel-PY5MSY2H.js +529 -0
  653. package/dist/preflight-PJHGTJNZ.js +12 -0
  654. package/dist/process-registry-B4ZUCN7T.js +28 -0
  655. package/dist/process-scanner-TU3QHWVB.js +23 -0
  656. package/dist/processes-6FHVGT72.js +28 -0
  657. package/dist/processes-json-fast-YWTMUWXB.js +72 -0
  658. package/dist/profile-HWTC56SG.js +209 -0
  659. package/dist/project-runtime-paths-2UQNG5Y4.js +41 -0
  660. package/dist/protected-branches-N36LDBFY.js +71 -0
  661. package/dist/provider-aware-resource-manager-YTFAHNGJ.js +40 -0
  662. package/dist/provider-matrix-2KO2V5OM.js +214 -0
  663. package/dist/provider-matrix-renderer-MEC3PER7.js +139 -0
  664. package/dist/provider-output-forwarding-2AHL7YMA.js +26 -0
  665. package/dist/provider-registry-WCZ65QHC.js +136 -0
  666. package/dist/provider-temp-cleanup-IUNPJCZF.js +14 -0
  667. package/dist/prune-engine-EOQVWEP6.js +448 -0
  668. package/dist/publication-turn-S42RZTQF.js +44 -0
  669. package/dist/quality-gate-JQMVCKOO.js +72 -0
  670. package/dist/quickstart-3O6FRCFB.js +105 -0
  671. package/dist/readiness-GW6ABRHB.js +139 -0
  672. package/dist/readiness-KFZCXDTT.js +215 -0
  673. package/dist/registry-7XG376SY.js +217 -0
  674. package/dist/repair-helpers-TTV5FEF4.js +117 -0
  675. package/dist/repo-root-YG6MQZDW.js +28 -0
  676. package/dist/resolution-engine-FFEK7HQ2.js +187 -0
  677. package/dist/resolve-provider-cli-ZEXVZKET.js +44 -0
  678. package/dist/restore-telemetry-db-E7BR5PO7.js +459 -0
  679. package/dist/routing-events-AW6SRZ6G.js +13 -0
  680. package/dist/routing-history-store-FMDDQL6W.js +39 -0
  681. package/dist/routing-planner-C6OHO3EY.js +221 -0
  682. package/dist/runner-KHDNQ5KU.js +1194 -0
  683. package/dist/runner-PIS2BW7Y.js +1801 -0
  684. package/dist/safety-E3JJVSFL.js +67 -0
  685. package/dist/safety-stanza-HE6GXP4G.js +49 -0
  686. package/dist/sandbox-7LBZC5PE.js +72 -0
  687. package/dist/sandbox-ASWCDYZL.js +80 -0
  688. package/dist/schema-extensions.sql +234 -0
  689. package/dist/security-JI22TBEB.js +17 -0
  690. package/dist/setup-bb-plugin-FQXLA76Y.js +531 -0
  691. package/dist/setup-claude-code-NF4ZSHVE.js +197 -0
  692. package/dist/setup-temp-cleanup-2APZ4HMA.js +29 -0
  693. package/dist/shared-utils-34HJZ6JX.js +40 -0
  694. package/dist/simple-artifact-goal-MQLDDMMX.js +29 -0
  695. package/dist/sprint-N7JFTEGL.js +403 -0
  696. package/dist/sprint-bridge-KJXIBNRJ.js +117 -0
  697. package/dist/sprint-completion-dependents-34SR7JVL.js +43 -0
  698. package/dist/sprint-execution-service-A6JPUBWY.js +376 -0
  699. package/dist/sprint-manager-MU2ZUWN2.js +140 -0
  700. package/dist/sqlite-timeout-config-U2CT4LKU.js +13 -0
  701. package/dist/sqlite-wrapper-FSGJ2QEW.js +19 -0
  702. package/dist/stale-cleanup-orchestrator-4X6324VF.js +71 -0
  703. package/dist/storage-access-I3V5LER7.js +31 -0
  704. package/dist/store-XVG64ZR2.js +25 -0
  705. package/dist/task-classifier-MN2DYE5R.js +558 -0
  706. package/dist/task-list-fast-7AT6LTTA.js +112 -0
  707. package/dist/task-manager-LHPBBRRE.js +136 -0
  708. package/dist/task-report-OLPAWBTK.js +64 -0
  709. package/dist/task-type-detector-6RG3YNZF.js +27 -0
  710. package/dist/task-type-resolver-EQHOUIHT.js +64 -0
  711. package/dist/telemetry-5VYSK772.js +212 -0
  712. package/dist/telemetry-health-tracker-4GFW2EMP.js +12 -0
  713. package/dist/telemetry-path-resolver-H3NFHHQY.js +34 -0
  714. package/dist/telemetry-reliability-URJDTNPZ.js +76 -0
  715. package/dist/transports-NREZQTJK.js +106 -0
  716. package/dist/unified-cost-tracker-5MTBJ2CL.js +59 -0
  717. package/dist/unified-state-cleanup-GGAXLHXF.js +292 -0
  718. package/dist/universal-cost-calculator-JTFEJVWK.js +70 -0
  719. package/dist/user-agents-QLIGPLP2.js +30 -0
  720. package/dist/variant-execution-I4ZZUAWY.js +319 -0
  721. package/dist/variant-opt-parser-JHCXKY2K.js +251 -0
  722. package/dist/variant-request-input-PL37N3AN.js +11 -0
  723. package/dist/variant-state-cleanup-KHMXRBZN.js +287 -0
  724. package/dist/variant-worker-COB5YTJX.js +4517 -0
  725. package/dist/variant-worker.js +26 -0
  726. package/dist/variants-XGDSXYG3.js +267 -0
  727. package/dist/verification-command-YSPU4VBH.js +66 -0
  728. package/dist/verify-command-timeout-DQUYH33Z.js +11 -0
  729. package/dist/verify-commands-LOHMOFKC.js +65 -0
  730. package/dist/warning-JSKSFKBT.js +13 -0
  731. package/dist/work-edge-K65NHVWY.js +50 -0
  732. package/dist/work-item-writer-KY5ZWZWW.js +30 -0
  733. package/dist/worker-JNXXEIT6.js +1504 -0
  734. package/dist/worker.js +21 -0
  735. package/dist/workspace-tree-identity-JO5PSKTW.js +52 -0
  736. package/dist/worktree-environment-WTVABAQW.js +64 -0
  737. package/dist/worktree-metrics-VZRQI26T.js +66 -0
  738. package/dist/writeback-TQFQBJNU.js +50 -0
  739. package/docs/CLI_REFERENCE.md +8287 -0
  740. package/docs/PROVIDER_SETUP.md +1737 -0
  741. package/docs/README.md +96 -0
  742. package/docs/TROUBLESHOOTING.md +2209 -0
  743. package/docs/getting-started/QUICK_START.md +260 -0
  744. package/docs/getting-started/README.md +198 -0
  745. package/docs/getting-started/SETUP.md +25 -0
  746. package/docs/reference/AGENT_CONTEXT.md +84 -0
  747. package/docs/reference/DELIVERY_ONBOARDING.md +198 -0
  748. package/docs/reference/PROVIDER_RELEASE_TIERS.md +34 -0
  749. package/docs/reference/SECURITY.md +291 -0
  750. package/docs/reference/TELEMETRY_PRIVACY.md +259 -0
  751. package/integrations/bb-plugin-build/README.md +391 -0
  752. package/integrations/bb-plugin-build/app.css +431 -0
  753. package/integrations/bb-plugin-build/app.tsx +6210 -0
  754. package/integrations/bb-plugin-build/package.json +45 -0
  755. package/integrations/bb-plugin-build/server.ts +488 -0
  756. package/integrations/bb-plugin-build/src/adapter.ts +3672 -0
  757. package/integrations/bb-plugin-build/src/backlog-authoring-model.ts +150 -0
  758. package/integrations/bb-plugin-build/src/backlog-authoring-schema.ts +458 -0
  759. package/integrations/bb-plugin-build/src/backlog-authoring-service.ts +467 -0
  760. package/integrations/bb-plugin-build/src/backlog-authoring-view.ts +1025 -0
  761. package/integrations/bb-plugin-build/src/command-evidence-schema.ts +13 -0
  762. package/integrations/bb-plugin-build/src/competition-defaults-schema.ts +122 -0
  763. package/integrations/bb-plugin-build/src/competition-defaults-service.ts +105 -0
  764. package/integrations/bb-plugin-build/src/competition-defaults-view.ts +138 -0
  765. package/integrations/bb-plugin-build/src/contract.ts +718 -0
  766. package/integrations/bb-plugin-build/src/execution-activity-view.ts +98 -0
  767. package/integrations/bb-plugin-build/src/finalize-model.ts +205 -0
  768. package/integrations/bb-plugin-build/src/finalize-schema.ts +150 -0
  769. package/integrations/bb-plugin-build/src/finalize-service.ts +330 -0
  770. package/integrations/bb-plugin-build/src/finalize-view.ts +159 -0
  771. package/integrations/bb-plugin-build/src/judge-operations-readback.ts +303 -0
  772. package/integrations/bb-plugin-build/src/judge-operations-schema.ts +33 -0
  773. package/integrations/bb-plugin-build/src/judge-operations-view.ts +459 -0
  774. package/integrations/bb-plugin-build/src/model.ts +1318 -0
  775. package/integrations/bb-plugin-build/src/monitor-service.ts +233 -0
  776. package/integrations/bb-plugin-build/src/panel-read-ux.ts +97 -0
  777. package/integrations/bb-plugin-build/src/patch-preview-schema.ts +166 -0
  778. package/integrations/bb-plugin-build/src/patch-preview-service.ts +480 -0
  779. package/integrations/bb-plugin-build/src/patch-preview-view.ts +109 -0
  780. package/integrations/bb-plugin-build/src/planning-readback.ts +228 -0
  781. package/integrations/bb-plugin-build/src/planning-service.ts +647 -0
  782. package/integrations/bb-plugin-build/src/planning-sync-evidence.ts +37 -0
  783. package/integrations/bb-plugin-build/src/planning-workspace-readback.ts +33 -0
  784. package/integrations/bb-plugin-build/src/planning-workspace-schema.ts +131 -0
  785. package/integrations/bb-plugin-build/src/planning-workspace.ts +333 -0
  786. package/integrations/bb-plugin-build/src/poll-handoff.ts +136 -0
  787. package/integrations/bb-plugin-build/src/project-target-server.ts +21 -0
  788. package/integrations/bb-plugin-build/src/project-target.ts +45 -0
  789. package/integrations/bb-plugin-build/src/reference-index.ts +218 -0
  790. package/integrations/bb-plugin-build/src/repository-identity.ts +17 -0
  791. package/integrations/bb-plugin-build/src/repository-schema.ts +30 -0
  792. package/integrations/bb-plugin-build/src/result-explorer-view.ts +597 -0
  793. package/integrations/bb-plugin-build/src/result-readback-model.ts +163 -0
  794. package/integrations/bb-plugin-build/src/result-readback-schema.ts +319 -0
  795. package/integrations/bb-plugin-build/src/result-readback-service.ts +333 -0
  796. package/integrations/bb-plugin-build/src/run-page-view.ts +332 -0
  797. package/integrations/bb-plugin-build/src/setup-config-schema.ts +293 -0
  798. package/integrations/bb-plugin-build/src/setup-config-service.ts +620 -0
  799. package/integrations/bb-plugin-build/src/setup-config-view.ts +388 -0
  800. package/integrations/bb-plugin-build/src/sprint-close-model.ts +150 -0
  801. package/integrations/bb-plugin-build/src/sprint-close-schema.ts +128 -0
  802. package/integrations/bb-plugin-build/src/sprint-close-service.ts +293 -0
  803. package/integrations/bb-plugin-build/src/sprint-close-view.ts +116 -0
  804. package/integrations/bb-plugin-build/src/sprint-composition-model.ts +709 -0
  805. package/integrations/bb-plugin-build/src/sprint-composition-readback.ts +231 -0
  806. package/integrations/bb-plugin-build/src/sprint-composition-schema.ts +597 -0
  807. package/integrations/bb-plugin-build/src/sprint-composition-service.ts +773 -0
  808. package/integrations/bb-plugin-build/src/sprint-composition-view.ts +1221 -0
  809. package/integrations/bb-plugin-build/src/sprint-execution-schema.ts +188 -0
  810. package/integrations/bb-plugin-build/src/sprint-execution-service.ts +289 -0
  811. package/integrations/bb-plugin-build/src/sprint-execution-view.ts +54 -0
  812. package/integrations/bb-plugin-build/src/task-authoring-model.ts +563 -0
  813. package/integrations/bb-plugin-build/src/task-authoring-schema.ts +629 -0
  814. package/integrations/bb-plugin-build/src/task-authoring-service.ts +842 -0
  815. package/integrations/bb-plugin-build/src/task-authoring-view.ts +1227 -0
  816. package/integrations/bb-plugin-build/src/task-catalog-schema.ts +46 -0
  817. package/integrations/bb-plugin-build/src/task-catalog-service.ts +44 -0
  818. package/integrations/bb-plugin-build/src/task-detail-readback.ts +56 -0
  819. package/integrations/bb-plugin-build/src/task-detail-schema.ts +171 -0
  820. package/integrations/bb-plugin-build/src/task-navigation.ts +446 -0
  821. package/integrations/bb-plugin-build/src/workbench-route.ts +74 -0
  822. package/package.json +306 -4
  823. package/schemas/README.md +80 -0
  824. package/schemas/build.config.schema.json +2110 -0
  825. package/schemas/config-v1.schema.json +136 -0
  826. package/schemas/execution-config.schema.json +47 -0
  827. package/schemas/judge-scoring.schema.json +257 -0
  828. package/schemas/provider-config.schema.json +179 -0
  829. package/schemas/telemetry-config.schema.json +79 -0
  830. package/schemas/user-preferences.schema.json +141 -0
  831. package/scripts/assert-node-runtime.mjs +146 -0
  832. package/scripts/preflight-native.mjs +49 -0
  833. package/scripts/setup-git-hooks.mjs +39 -0
  834. package/scripts/sync.sh +2871 -0
  835. package/scripts/write-node-launcher.sh +138 -0
  836. package/src/resources/gemini/slash-packs/default/plan.toml +15 -0
  837. package/src/resources/gemini/slash-packs/default/summary.toml +16 -0
  838. package/src/resources/gemini/slash-packs/default/tests.toml +16 -0
  839. package/templates/.build-project/README.md +41 -0
  840. package/templates/.build-project/agents/README.md +50 -0
  841. package/templates/.build-project/agents/architect.md +10 -0
  842. package/templates/.build-project/agents/code-reviewer.md +10 -0
  843. package/templates/.build-project/agents/debugger.md +10 -0
  844. package/templates/.build-project/agents/documenter.md +10 -0
  845. package/templates/.build-project/agents/test-automator.md +10 -0
  846. package/templates/.build-project/config/build.config.jsonc +64 -0
  847. package/templates/.build-project/config/project-context.template.json +6 -0
  848. package/templates/.build-project/config/task-type-aliases.presets/kanban.yaml +14 -0
  849. package/templates/.build-project/config/task-type-aliases.presets/scrum.yaml +17 -0
  850. package/templates/.build-project/config/task-type-aliases.presets/xp.yaml +12 -0
  851. package/templates/.build-project/config/task-type-aliases.yaml +29 -0
  852. package/templates/.build-project/gitignore.template +70 -0
  853. package/templates/.build-project/task-types/analysis.yaml +38 -0
  854. package/templates/.build-project/task-types/architecture.yaml +35 -0
  855. package/templates/.build-project/task-types/doc.yaml +34 -0
  856. package/templates/.build-project/task-types/feature.yaml +22 -0
  857. package/templates/.build-project/task-types/general.yaml +4 -0
  858. package/templates/.build-project/task-types/security.yaml +38 -0
  859. package/templates/AGENTS.template.md +85 -0
  860. package/templates/CLAUDE.template.md +1 -0
  861. package/templates/GEMINI.template.md +1 -0
  862. package/templates/builtin-workflows/code-review.yaml +73 -0
  863. package/templates/builtin-workflows/skills/code-review/SKILL.md +61 -0
  864. package/templates/builtin-workflows/skills/execution-contract-analysis/SKILL.md +24 -0
  865. package/templates/builtin-workflows/skills/execution-contract-code/SKILL.md +19 -0
  866. package/templates/builtin-workflows/skills/execution-contract-structured/SKILL.md +17 -0
  867. package/templates/ci/incident-intake.mjs +787 -0
  868. package/templates/ci/incidents.yml.template +103 -0
  869. package/templates/ci/node.yml.template +17 -0
  870. package/templates/ci/python.yml.template +17 -0
  871. package/templates/guard-kit/GUARD_SETUP.md.template +258 -0
  872. package/templates/guard-kit/build-guard.yml.template +189 -0
  873. package/templates/guard-kit/check.mjs.template +932 -0
  874. package/templates/guard-kit/config.json.template +7 -0
  875. package/templates/guard-kit/policy.json.template +1 -0
  876. package/templates/profiles/README.md +57 -0
  877. package/templates/profiles/frontier-claude.json +23 -0
  878. 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.