@hominis/fireforge 0.46.0 → 0.46.1

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 (606) hide show
  1. package/CHANGELOG.md +381 -498
  2. package/dist/bin/fireforge.d.ts +1 -1
  3. package/dist/bin/fireforge.js +17 -17
  4. package/dist/build-info.json +4 -4
  5. package/dist/src/cli-usage-error.d.ts +9 -9
  6. package/dist/src/cli-usage-error.js +12 -12
  7. package/dist/src/cli.d.ts +3 -2
  8. package/dist/src/cli.js +29 -28
  9. package/dist/src/commands/bootstrap-checks.js +2 -1
  10. package/dist/src/commands/bootstrap.js +2 -2
  11. package/dist/src/commands/build.js +12 -11
  12. package/dist/src/commands/config.js +9 -9
  13. package/dist/src/commands/destructive-decision.d.ts +4 -4
  14. package/dist/src/commands/destructive-decision.js +4 -4
  15. package/dist/src/commands/discard.js +5 -5
  16. package/dist/src/commands/doctor-check-core.d.ts +4 -4
  17. package/dist/src/commands/doctor-external-toolchains.js +2 -2
  18. package/dist/src/commands/doctor-furnace-config-sync.d.ts +2 -2
  19. package/dist/src/commands/doctor-furnace-config-sync.js +20 -20
  20. package/dist/src/commands/doctor-furnace-jar.d.ts +1 -1
  21. package/dist/src/commands/doctor-furnace-jar.js +1 -1
  22. package/dist/src/commands/doctor-furnace.js +22 -22
  23. package/dist/src/commands/doctor-orphaned-harness.d.ts +10 -11
  24. package/dist/src/commands/doctor-orphaned-harness.js +10 -11
  25. package/dist/src/commands/doctor-patch-manifest.d.ts +2 -1
  26. package/dist/src/commands/doctor-patch-manifest.js +7 -6
  27. package/dist/src/commands/doctor-post-rebase-audit.js +2 -2
  28. package/dist/src/commands/doctor-source-pin.d.ts +12 -12
  29. package/dist/src/commands/doctor-source-pin.js +14 -14
  30. package/dist/src/commands/doctor-working-tree.d.ts +3 -3
  31. package/dist/src/commands/doctor-working-tree.js +3 -3
  32. package/dist/src/commands/doctor.d.ts +2 -2
  33. package/dist/src/commands/doctor.js +9 -9
  34. package/dist/src/commands/download.js +15 -13
  35. package/dist/src/commands/export-all.js +8 -8
  36. package/dist/src/commands/export-flow.d.ts +5 -5
  37. package/dist/src/commands/export-flow.js +14 -14
  38. package/dist/src/commands/export-placement-conflicts.d.ts +3 -3
  39. package/dist/src/commands/export-placement-conflicts.js +9 -9
  40. package/dist/src/commands/export-placement-gate.d.ts +2 -2
  41. package/dist/src/commands/export-placement-gate.js +5 -5
  42. package/dist/src/commands/export-placement-policy.d.ts +1 -1
  43. package/dist/src/commands/export-placement-policy.js +1 -1
  44. package/dist/src/commands/export-shared.d.ts +10 -10
  45. package/dist/src/commands/export-shared.js +13 -13
  46. package/dist/src/commands/export.js +4 -4
  47. package/dist/src/commands/furnace/apply.js +16 -16
  48. package/dist/src/commands/furnace/chrome-doc-remove.d.ts +1 -1
  49. package/dist/src/commands/furnace/chrome-doc-remove.js +1 -1
  50. package/dist/src/commands/furnace/chrome-doc-templates.d.ts +14 -14
  51. package/dist/src/commands/furnace/chrome-doc-templates.js +17 -17
  52. package/dist/src/commands/furnace/chrome-doc-tests.d.ts +2 -2
  53. package/dist/src/commands/furnace/chrome-doc-tests.js +4 -4
  54. package/dist/src/commands/furnace/chrome-doc.d.ts +8 -8
  55. package/dist/src/commands/furnace/chrome-doc.js +18 -18
  56. package/dist/src/commands/furnace/create-browser-test.d.ts +1 -1
  57. package/dist/src/commands/furnace/create-browser-test.js +4 -4
  58. package/dist/src/commands/furnace/create-dry-run.d.ts +4 -4
  59. package/dist/src/commands/furnace/create-dry-run.js +4 -4
  60. package/dist/src/commands/furnace/create-features.d.ts +2 -2
  61. package/dist/src/commands/furnace/create-features.js +2 -2
  62. package/dist/src/commands/furnace/create-mochikit.d.ts +4 -4
  63. package/dist/src/commands/furnace/create-mochikit.js +7 -7
  64. package/dist/src/commands/furnace/create-templates.d.ts +14 -14
  65. package/dist/src/commands/furnace/create-templates.js +18 -18
  66. package/dist/src/commands/furnace/create-xpcshell.d.ts +5 -5
  67. package/dist/src/commands/furnace/create-xpcshell.js +8 -8
  68. package/dist/src/commands/furnace/create.d.ts +1 -1
  69. package/dist/src/commands/furnace/create.js +10 -10
  70. package/dist/src/commands/furnace/deploy.js +4 -4
  71. package/dist/src/commands/furnace/diff.js +7 -7
  72. package/dist/src/commands/furnace/index.js +1 -1
  73. package/dist/src/commands/furnace/init.js +15 -15
  74. package/dist/src/commands/furnace/list.js +2 -2
  75. package/dist/src/commands/furnace/override.d.ts +1 -1
  76. package/dist/src/commands/furnace/override.js +15 -15
  77. package/dist/src/commands/furnace/preview.js +17 -17
  78. package/dist/src/commands/furnace/refresh.js +6 -6
  79. package/dist/src/commands/furnace/remove-mutations.d.ts +3 -3
  80. package/dist/src/commands/furnace/remove-mutations.js +19 -18
  81. package/dist/src/commands/furnace/remove-state.d.ts +1 -1
  82. package/dist/src/commands/furnace/remove-state.js +1 -1
  83. package/dist/src/commands/furnace/remove.js +2 -2
  84. package/dist/src/commands/furnace/rename-browser-test.js +9 -8
  85. package/dist/src/commands/furnace/rename-xpcshell.d.ts +2 -2
  86. package/dist/src/commands/furnace/rename-xpcshell.js +3 -3
  87. package/dist/src/commands/furnace/rename.js +9 -9
  88. package/dist/src/commands/furnace/scan.js +3 -3
  89. package/dist/src/commands/furnace/status.js +7 -7
  90. package/dist/src/commands/furnace/sync.js +6 -6
  91. package/dist/src/commands/furnace/test-file-name.d.ts +2 -2
  92. package/dist/src/commands/furnace/test-file-name.js +2 -2
  93. package/dist/src/commands/furnace/validate.js +11 -12
  94. package/dist/src/commands/import.js +20 -20
  95. package/dist/src/commands/lint-per-patch.js +8 -8
  96. package/dist/src/commands/lint-per-run-checkjs.d.ts +12 -13
  97. package/dist/src/commands/lint-per-run-checkjs.js +14 -15
  98. package/dist/src/commands/lint-report.d.ts +3 -3
  99. package/dist/src/commands/lint-report.js +4 -4
  100. package/dist/src/commands/lint.d.ts +3 -3
  101. package/dist/src/commands/lint.js +35 -35
  102. package/dist/src/commands/manifest.d.ts +4 -4
  103. package/dist/src/commands/package.js +2 -2
  104. package/dist/src/commands/patch/compact.d.ts +2 -2
  105. package/dist/src/commands/patch/compact.js +8 -8
  106. package/dist/src/commands/patch/delete.d.ts +1 -1
  107. package/dist/src/commands/patch/delete.js +8 -8
  108. package/dist/src/commands/patch/lint-ignore.d.ts +3 -4
  109. package/dist/src/commands/patch/lint-ignore.js +14 -15
  110. package/dist/src/commands/patch/move-files-create.d.ts +2 -2
  111. package/dist/src/commands/patch/move-files-create.js +5 -5
  112. package/dist/src/commands/patch/move-files-into.d.ts +2 -2
  113. package/dist/src/commands/patch/move-files-into.js +3 -3
  114. package/dist/src/commands/patch/move-files.js +1 -1
  115. package/dist/src/commands/patch/patch-context.d.ts +1 -1
  116. package/dist/src/commands/patch/rename.d.ts +4 -4
  117. package/dist/src/commands/patch/rename.js +8 -8
  118. package/dist/src/commands/patch/reorder.js +10 -10
  119. package/dist/src/commands/patch/split-plan.d.ts +3 -3
  120. package/dist/src/commands/patch/split-plan.js +6 -5
  121. package/dist/src/commands/patch/split.d.ts +2 -2
  122. package/dist/src/commands/patch/split.js +5 -5
  123. package/dist/src/commands/patch/staged-dependency-validate.d.ts +1 -1
  124. package/dist/src/commands/patch/staged-dependency-validate.js +3 -3
  125. package/dist/src/commands/patch/staged-dependency.d.ts +1 -1
  126. package/dist/src/commands/patch/staged-dependency.js +6 -6
  127. package/dist/src/commands/patch/tier.d.ts +2 -2
  128. package/dist/src/commands/patch/tier.js +5 -5
  129. package/dist/src/commands/patch-rename-map.d.ts +1 -1
  130. package/dist/src/commands/patch-rename-map.js +1 -1
  131. package/dist/src/commands/pending-resolution.d.ts +5 -5
  132. package/dist/src/commands/pending-resolution.js +5 -5
  133. package/dist/src/commands/re-export-adjacent.d.ts +3 -3
  134. package/dist/src/commands/re-export-adjacent.js +8 -8
  135. package/dist/src/commands/re-export-bulk-scan.d.ts +3 -3
  136. package/dist/src/commands/re-export-bulk-scan.js +17 -17
  137. package/dist/src/commands/re-export-drift.d.ts +10 -10
  138. package/dist/src/commands/re-export-drift.js +29 -29
  139. package/dist/src/commands/re-export-files.js +14 -15
  140. package/dist/src/commands/re-export-lint.d.ts +26 -26
  141. package/dist/src/commands/re-export-lint.js +27 -27
  142. package/dist/src/commands/re-export-options.d.ts +1 -1
  143. package/dist/src/commands/re-export-options.js +1 -1
  144. package/dist/src/commands/re-export-register.d.ts +1 -1
  145. package/dist/src/commands/re-export-register.js +1 -1
  146. package/dist/src/commands/re-export-scan.d.ts +1 -1
  147. package/dist/src/commands/re-export-scan.js +7 -7
  148. package/dist/src/commands/re-export-single.d.ts +1 -1
  149. package/dist/src/commands/re-export-single.js +20 -20
  150. package/dist/src/commands/re-export.js +7 -6
  151. package/dist/src/commands/rebase/abort.js +6 -6
  152. package/dist/src/commands/rebase/continue.js +8 -7
  153. package/dist/src/commands/rebase/index.d.ts +1 -1
  154. package/dist/src/commands/rebase/index.js +3 -3
  155. package/dist/src/commands/rebase/patch-loop.js +18 -17
  156. package/dist/src/commands/register.js +5 -5
  157. package/dist/src/commands/reset.js +1 -1
  158. package/dist/src/commands/resolve.d.ts +2 -2
  159. package/dist/src/commands/resolve.js +3 -3
  160. package/dist/src/commands/run.js +26 -26
  161. package/dist/src/commands/setup-support.js +4 -4
  162. package/dist/src/commands/setup.js +1 -1
  163. package/dist/src/commands/source.js +1 -1
  164. package/dist/src/commands/status-check.d.ts +3 -3
  165. package/dist/src/commands/status-check.js +4 -4
  166. package/dist/src/commands/status-json.d.ts +14 -13
  167. package/dist/src/commands/status-json.js +9 -8
  168. package/dist/src/commands/status-output.d.ts +3 -3
  169. package/dist/src/commands/status-output.js +3 -3
  170. package/dist/src/commands/status-ownership.d.ts +3 -3
  171. package/dist/src/commands/status-ownership.js +3 -3
  172. package/dist/src/commands/status.js +22 -22
  173. package/dist/src/commands/test-build-phase.d.ts +1 -1
  174. package/dist/src/commands/test-build-phase.js +17 -17
  175. package/dist/src/commands/test-diagnose.d.ts +1 -1
  176. package/dist/src/commands/test-diagnose.js +20 -20
  177. package/dist/src/commands/test-modes.d.ts +2 -2
  178. package/dist/src/commands/test-modes.js +4 -4
  179. package/dist/src/commands/test-run.d.ts +11 -11
  180. package/dist/src/commands/test-run.js +15 -15
  181. package/dist/src/commands/test-stale-gate.d.ts +12 -12
  182. package/dist/src/commands/test-stale-gate.js +13 -13
  183. package/dist/src/commands/test-verdict.d.ts +6 -6
  184. package/dist/src/commands/test-verdict.js +11 -11
  185. package/dist/src/commands/test.d.ts +3 -3
  186. package/dist/src/commands/test.js +36 -36
  187. package/dist/src/commands/token-coverage.js +3 -3
  188. package/dist/src/commands/token-list.js +5 -5
  189. package/dist/src/commands/token.js +9 -9
  190. package/dist/src/commands/tree.js +19 -19
  191. package/dist/src/commands/typecheck.d.ts +6 -6
  192. package/dist/src/commands/typecheck.js +7 -7
  193. package/dist/src/commands/verify.d.ts +3 -3
  194. package/dist/src/commands/verify.js +10 -10
  195. package/dist/src/commands/watch.js +11 -11
  196. package/dist/src/commands/wire.js +13 -13
  197. package/dist/src/core/ast-utils.d.ts +7 -7
  198. package/dist/src/core/ast-utils.js +8 -8
  199. package/dist/src/core/branding.d.ts +5 -5
  200. package/dist/src/core/branding.js +3 -3
  201. package/dist/src/core/browser-wire.d.ts +1 -1
  202. package/dist/src/core/browser-wire.js +4 -4
  203. package/dist/src/core/build-audit-platform.d.ts +6 -6
  204. package/dist/src/core/build-audit-platform.js +26 -26
  205. package/dist/src/core/build-audit-registration.d.ts +5 -5
  206. package/dist/src/core/build-audit-registration.js +7 -7
  207. package/dist/src/core/build-audit-resolve.d.ts +5 -5
  208. package/dist/src/core/build-audit-resolve.js +6 -6
  209. package/dist/src/core/build-audit-skip.d.ts +8 -8
  210. package/dist/src/core/build-audit-skip.js +12 -12
  211. package/dist/src/core/build-audit-transforms.d.ts +2 -2
  212. package/dist/src/core/build-audit-transforms.js +3 -3
  213. package/dist/src/core/build-audit.d.ts +8 -8
  214. package/dist/src/core/build-audit.js +39 -37
  215. package/dist/src/core/build-baseline-types.d.ts +19 -18
  216. package/dist/src/core/build-baseline-types.js +1 -1
  217. package/dist/src/core/build-baseline.d.ts +8 -8
  218. package/dist/src/core/build-baseline.js +14 -14
  219. package/dist/src/core/build-jar-escalation.d.ts +8 -8
  220. package/dist/src/core/build-jar-escalation.js +15 -15
  221. package/dist/src/core/build-overwrite-guard.d.ts +4 -4
  222. package/dist/src/core/build-overwrite-guard.js +13 -13
  223. package/dist/src/core/build-prepare.d.ts +4 -4
  224. package/dist/src/core/build-prepare.js +16 -15
  225. package/dist/src/core/config-mutate.js +4 -4
  226. package/dist/src/core/config-state.js +2 -2
  227. package/dist/src/core/config-validate-build-audit.js +3 -3
  228. package/dist/src/core/config-validate-file-size.d.ts +1 -1
  229. package/dist/src/core/config-validate-file-size.js +2 -2
  230. package/dist/src/core/config-validate.js +8 -9
  231. package/dist/src/core/config.d.ts +10 -10
  232. package/dist/src/core/config.js +10 -10
  233. package/dist/src/core/coverage-extend.d.ts +16 -16
  234. package/dist/src/core/coverage-extend.js +16 -16
  235. package/dist/src/core/destructive.d.ts +14 -14
  236. package/dist/src/core/destructive.js +9 -9
  237. package/dist/src/core/diff-hunks.d.ts +2 -2
  238. package/dist/src/core/diff-hunks.js +7 -7
  239. package/dist/src/core/discard-baseline.d.ts +10 -10
  240. package/dist/src/core/discard-baseline.js +15 -16
  241. package/dist/src/core/display-state.d.ts +11 -11
  242. package/dist/src/core/display-state.js +12 -12
  243. package/dist/src/core/engine-changes.d.ts +2 -2
  244. package/dist/src/core/engine-changes.js +2 -2
  245. package/dist/src/core/engine-precondition.d.ts +4 -4
  246. package/dist/src/core/engine-precondition.js +2 -2
  247. package/dist/src/core/engine-session-lock.d.ts +18 -18
  248. package/dist/src/core/engine-session-lock.js +37 -37
  249. package/dist/src/core/export-moved-code-shape.d.ts +7 -7
  250. package/dist/src/core/export-moved-code-shape.js +8 -8
  251. package/dist/src/core/file-lock-owner.d.ts +11 -11
  252. package/dist/src/core/file-lock-owner.js +18 -18
  253. package/dist/src/core/file-lock.d.ts +12 -12
  254. package/dist/src/core/file-lock.js +52 -39
  255. package/dist/src/core/firefox-cache.d.ts +1 -1
  256. package/dist/src/core/firefox-cache.js +10 -10
  257. package/dist/src/core/firefox-download.d.ts +3 -3
  258. package/dist/src/core/firefox-download.js +6 -6
  259. package/dist/src/core/firefox-extract.d.ts +2 -2
  260. package/dist/src/core/firefox-extract.js +13 -13
  261. package/dist/src/core/firefox.d.ts +5 -5
  262. package/dist/src/core/firefox.js +8 -8
  263. package/dist/src/core/furnace-apply-dry-run.js +1 -1
  264. package/dist/src/core/furnace-apply-ftl.d.ts +5 -5
  265. package/dist/src/core/furnace-apply-ftl.js +8 -8
  266. package/dist/src/core/furnace-apply-helpers.d.ts +9 -9
  267. package/dist/src/core/furnace-apply-helpers.js +21 -21
  268. package/dist/src/core/furnace-apply-output.js +1 -1
  269. package/dist/src/core/furnace-apply-overwrite-warn.d.ts +9 -9
  270. package/dist/src/core/furnace-apply-overwrite-warn.js +9 -9
  271. package/dist/src/core/furnace-apply-undeploy-actions.d.ts +1 -1
  272. package/dist/src/core/furnace-apply-undeploy-actions.js +1 -1
  273. package/dist/src/core/furnace-apply.d.ts +3 -3
  274. package/dist/src/core/furnace-apply.js +22 -21
  275. package/dist/src/core/furnace-checksum-utils.d.ts +5 -5
  276. package/dist/src/core/furnace-checksum-utils.js +5 -5
  277. package/dist/src/core/furnace-config-custom.d.ts +1 -1
  278. package/dist/src/core/furnace-config-custom.js +2 -2
  279. package/dist/src/core/furnace-config-order.js +1 -1
  280. package/dist/src/core/furnace-config-tokens.d.ts +3 -3
  281. package/dist/src/core/furnace-config-tokens.js +3 -3
  282. package/dist/src/core/furnace-config-validate.js +2 -2
  283. package/dist/src/core/furnace-config.d.ts +4 -4
  284. package/dist/src/core/furnace-config.js +18 -18
  285. package/dist/src/core/furnace-constants.d.ts +6 -6
  286. package/dist/src/core/furnace-constants.js +6 -6
  287. package/dist/src/core/furnace-css-fragments.d.ts +6 -6
  288. package/dist/src/core/furnace-css-fragments.js +11 -11
  289. package/dist/src/core/furnace-dir-entry.d.ts +1 -1
  290. package/dist/src/core/furnace-dir-entry.js +1 -1
  291. package/dist/src/core/furnace-jsconfig.d.ts +7 -7
  292. package/dist/src/core/furnace-jsconfig.js +22 -20
  293. package/dist/src/core/furnace-operation.d.ts +21 -20
  294. package/dist/src/core/furnace-operation.js +36 -34
  295. package/dist/src/core/furnace-precondition.d.ts +10 -10
  296. package/dist/src/core/furnace-precondition.js +8 -8
  297. package/dist/src/core/furnace-refresh.js +2 -2
  298. package/dist/src/core/furnace-registration-ast.d.ts +2 -2
  299. package/dist/src/core/furnace-registration-ast.js +9 -9
  300. package/dist/src/core/furnace-registration-remove.d.ts +4 -4
  301. package/dist/src/core/furnace-registration-remove.js +6 -6
  302. package/dist/src/core/furnace-registration-validate.d.ts +2 -2
  303. package/dist/src/core/furnace-registration-validate.js +2 -2
  304. package/dist/src/core/furnace-registration.d.ts +5 -5
  305. package/dist/src/core/furnace-registration.js +7 -7
  306. package/dist/src/core/furnace-rollback.d.ts +1 -1
  307. package/dist/src/core/furnace-rollback.js +5 -5
  308. package/dist/src/core/furnace-stale-export.d.ts +17 -16
  309. package/dist/src/core/furnace-stale-export.js +16 -15
  310. package/dist/src/core/furnace-staleness.d.ts +2 -2
  311. package/dist/src/core/furnace-staleness.js +2 -2
  312. package/dist/src/core/furnace-state-persist.d.ts +10 -10
  313. package/dist/src/core/furnace-state-persist.js +10 -10
  314. package/dist/src/core/furnace-step-errors.d.ts +6 -6
  315. package/dist/src/core/furnace-step-errors.js +6 -6
  316. package/dist/src/core/furnace-validate-accessibility.js +14 -14
  317. package/dist/src/core/furnace-validate-compatibility.js +9 -9
  318. package/dist/src/core/furnace-validate-registration.d.ts +2 -2
  319. package/dist/src/core/furnace-validate-registration.js +13 -13
  320. package/dist/src/core/furnace-validate-structure.d.ts +1 -1
  321. package/dist/src/core/furnace-validate-structure.js +4 -4
  322. package/dist/src/core/furnace-validate.js +9 -9
  323. package/dist/src/core/furnace-version-drift.d.ts +5 -5
  324. package/dist/src/core/furnace-version-drift.js +5 -5
  325. package/dist/src/core/git-base.d.ts +4 -4
  326. package/dist/src/core/git-base.js +9 -9
  327. package/dist/src/core/git-diff-new-file.d.ts +4 -4
  328. package/dist/src/core/git-diff-new-file.js +8 -8
  329. package/dist/src/core/git-diff.d.ts +4 -4
  330. package/dist/src/core/git-diff.js +35 -34
  331. package/dist/src/core/git-file-ops.d.ts +6 -6
  332. package/dist/src/core/git-file-ops.js +7 -7
  333. package/dist/src/core/git-readonly-index.d.ts +12 -12
  334. package/dist/src/core/git-readonly-index.js +12 -12
  335. package/dist/src/core/git-status.d.ts +4 -4
  336. package/dist/src/core/git-status.js +4 -4
  337. package/dist/src/core/git.d.ts +3 -3
  338. package/dist/src/core/git.js +14 -14
  339. package/dist/src/core/harness-orphans.d.ts +17 -17
  340. package/dist/src/core/harness-orphans.js +20 -20
  341. package/dist/src/core/history-log.d.ts +3 -3
  342. package/dist/src/core/history-log.js +3 -3
  343. package/dist/src/core/license-headers.d.ts +19 -18
  344. package/dist/src/core/license-headers.js +29 -28
  345. package/dist/src/core/mach-build-artifacts.d.ts +21 -21
  346. package/dist/src/core/mach-build-artifacts.js +23 -23
  347. package/dist/src/core/mach-error-hints.d.ts +5 -5
  348. package/dist/src/core/mach-error-hints.js +13 -13
  349. package/dist/src/core/mach-known-noise-filter.d.ts +41 -38
  350. package/dist/src/core/mach-known-noise-filter.js +53 -50
  351. package/dist/src/core/mach-mozconfig.d.ts +6 -6
  352. package/dist/src/core/mach-mozconfig.js +15 -15
  353. package/dist/src/core/mach-python.d.ts +2 -1
  354. package/dist/src/core/mach-python.js +4 -3
  355. package/dist/src/core/mach-resource-shim.d.ts +12 -12
  356. package/dist/src/core/mach-resource-shim.js +20 -20
  357. package/dist/src/core/mach.d.ts +23 -23
  358. package/dist/src/core/mach.js +36 -36
  359. package/dist/src/core/marionette-port.d.ts +15 -13
  360. package/dist/src/core/marionette-port.js +34 -31
  361. package/dist/src/core/marionette-preflight.d.ts +6 -6
  362. package/dist/src/core/marionette-preflight.js +23 -23
  363. package/dist/src/core/markdown-table.d.ts +9 -9
  364. package/dist/src/core/markdown-table.js +14 -14
  365. package/dist/src/core/mochitest-server-port.d.ts +8 -8
  366. package/dist/src/core/mochitest-server-port.js +14 -14
  367. package/dist/src/core/module-resolution-preflight.d.ts +8 -8
  368. package/dist/src/core/module-resolution-preflight.js +11 -11
  369. package/dist/src/core/moz-manifest-helpers.d.ts +7 -7
  370. package/dist/src/core/moz-manifest-helpers.js +7 -7
  371. package/dist/src/core/moz-manifest-register.d.ts +1 -1
  372. package/dist/src/core/moz-manifest-register.js +2 -2
  373. package/dist/src/core/moz-manifest-rules.js +11 -11
  374. package/dist/src/core/moz-manifest-tokenizers.js +1 -1
  375. package/dist/src/core/ownership-table.d.ts +5 -5
  376. package/dist/src/core/ownership-table.js +7 -7
  377. package/dist/src/core/parser-fallback.d.ts +3 -3
  378. package/dist/src/core/parser-fallback.js +3 -3
  379. package/dist/src/core/patch-apply-fuzz.d.ts +5 -5
  380. package/dist/src/core/patch-apply-fuzz.js +9 -9
  381. package/dist/src/core/patch-apply.d.ts +9 -9
  382. package/dist/src/core/patch-apply.js +30 -30
  383. package/dist/src/core/patch-export-update.d.ts +4 -4
  384. package/dist/src/core/patch-export-update.js +3 -3
  385. package/dist/src/core/patch-export.d.ts +10 -10
  386. package/dist/src/core/patch-export.js +13 -13
  387. package/dist/src/core/patch-identifier-suggest.d.ts +1 -1
  388. package/dist/src/core/patch-identifier-suggest.js +4 -4
  389. package/dist/src/core/patch-lint-binary.d.ts +7 -7
  390. package/dist/src/core/patch-lint-cache.d.ts +2 -2
  391. package/dist/src/core/patch-lint-cache.js +13 -13
  392. package/dist/src/core/patch-lint-checkjs.d.ts +26 -26
  393. package/dist/src/core/patch-lint-checkjs.js +42 -41
  394. package/dist/src/core/patch-lint-chrome-jsdoc.d.ts +8 -9
  395. package/dist/src/core/patch-lint-chrome-jsdoc.js +10 -11
  396. package/dist/src/core/patch-lint-creators.d.ts +3 -3
  397. package/dist/src/core/patch-lint-creators.js +3 -3
  398. package/dist/src/core/patch-lint-cross.d.ts +13 -13
  399. package/dist/src/core/patch-lint-cross.js +21 -21
  400. package/dist/src/core/patch-lint-css.d.ts +1 -1
  401. package/dist/src/core/patch-lint-css.js +5 -5
  402. package/dist/src/core/patch-lint-diff-tag.d.ts +5 -5
  403. package/dist/src/core/patch-lint-diff-tag.js +5 -5
  404. package/dist/src/core/patch-lint-diff.d.ts +4 -4
  405. package/dist/src/core/patch-lint-diff.js +4 -4
  406. package/dist/src/core/patch-lint-file-size.d.ts +3 -3
  407. package/dist/src/core/patch-lint-file-size.js +3 -3
  408. package/dist/src/core/patch-lint-forward-registration.d.ts +4 -4
  409. package/dist/src/core/patch-lint-forward-registration.js +12 -12
  410. package/dist/src/core/patch-lint-jsdoc.d.ts +2 -2
  411. package/dist/src/core/patch-lint-jsdoc.js +11 -11
  412. package/dist/src/core/patch-lint-module-registration.d.ts +1 -1
  413. package/dist/src/core/patch-lint-module-registration.js +1 -1
  414. package/dist/src/core/patch-lint-mozbuild.d.ts +1 -1
  415. package/dist/src/core/patch-lint-mozbuild.js +10 -10
  416. package/dist/src/core/patch-lint-observer.d.ts +3 -3
  417. package/dist/src/core/patch-lint-observer.js +7 -7
  418. package/dist/src/core/patch-lint-ownership.d.ts +6 -6
  419. package/dist/src/core/patch-lint-ownership.js +6 -6
  420. package/dist/src/core/patch-lint-prettier.d.ts +6 -6
  421. package/dist/src/core/patch-lint-prettier.js +6 -6
  422. package/dist/src/core/patch-lint-queue-types.d.ts +1 -1
  423. package/dist/src/core/patch-lint-queue-types.js +1 -1
  424. package/dist/src/core/patch-lint-staged-registration.d.ts +2 -2
  425. package/dist/src/core/patch-lint-staged-registration.js +6 -6
  426. package/dist/src/core/patch-lint-unmanaged-companion.d.ts +23 -23
  427. package/dist/src/core/patch-lint-unmanaged-companion.js +26 -26
  428. package/dist/src/core/patch-lint.d.ts +27 -26
  429. package/dist/src/core/patch-lint.js +48 -46
  430. package/dist/src/core/patch-lock.d.ts +1 -1
  431. package/dist/src/core/patch-lock.js +8 -8
  432. package/dist/src/core/patch-manifest-consistency.d.ts +7 -7
  433. package/dist/src/core/patch-manifest-consistency.js +16 -17
  434. package/dist/src/core/patch-manifest-files-affected.d.ts +1 -1
  435. package/dist/src/core/patch-manifest-files-affected.js +3 -3
  436. package/dist/src/core/patch-manifest-io.d.ts +14 -14
  437. package/dist/src/core/patch-manifest-io.js +27 -27
  438. package/dist/src/core/patch-manifest-query.d.ts +1 -1
  439. package/dist/src/core/patch-manifest-query.js +4 -4
  440. package/dist/src/core/patch-manifest-resolve.d.ts +5 -5
  441. package/dist/src/core/patch-manifest-resolve.js +7 -7
  442. package/dist/src/core/patch-manifest-validate.js +3 -3
  443. package/dist/src/core/patch-manifest.d.ts +2 -2
  444. package/dist/src/core/patch-manifest.js +2 -2
  445. package/dist/src/core/patch-parse.d.ts +14 -14
  446. package/dist/src/core/patch-parse.js +16 -16
  447. package/dist/src/core/patch-registration-refs.d.ts +4 -4
  448. package/dist/src/core/patch-registration-refs.js +7 -7
  449. package/dist/src/core/patch-transform.d.ts +8 -8
  450. package/dist/src/core/patch-transform.js +13 -13
  451. package/dist/src/core/process-cpu-time.d.ts +1 -1
  452. package/dist/src/core/process-cpu-time.js +5 -5
  453. package/dist/src/core/rebase-session.d.ts +7 -7
  454. package/dist/src/core/rebase-session.js +8 -8
  455. package/dist/src/core/register-result.d.ts +1 -1
  456. package/dist/src/core/register-result.js +1 -1
  457. package/dist/src/core/register-scaffold.d.ts +2 -2
  458. package/dist/src/core/register-scaffold.js +3 -3
  459. package/dist/src/core/register-shared-css.d.ts +3 -3
  460. package/dist/src/core/register-shared-css.js +4 -4
  461. package/dist/src/core/register-xpcshell-test.d.ts +2 -2
  462. package/dist/src/core/register-xpcshell-test.js +2 -2
  463. package/dist/src/core/run-log-redact.d.ts +12 -12
  464. package/dist/src/core/run-log-redact.js +16 -16
  465. package/dist/src/core/run-log.d.ts +9 -9
  466. package/dist/src/core/run-log.js +14 -14
  467. package/dist/src/core/shared-ftl.d.ts +2 -2
  468. package/dist/src/core/shared-ftl.js +6 -6
  469. package/dist/src/core/signal-critical.d.ts +2 -2
  470. package/dist/src/core/signal-critical.js +2 -2
  471. package/dist/src/core/smoke-patterns.d.ts +5 -5
  472. package/dist/src/core/smoke-patterns.js +9 -9
  473. package/dist/src/core/state-file.d.ts +3 -3
  474. package/dist/src/core/status-binary.d.ts +8 -8
  475. package/dist/src/core/status-binary.js +12 -12
  476. package/dist/src/core/status-classify.d.ts +17 -17
  477. package/dist/src/core/status-classify.js +11 -11
  478. package/dist/src/core/test-changed-prefs.d.ts +12 -12
  479. package/dist/src/core/test-changed-prefs.js +15 -15
  480. package/dist/src/core/test-harness-crash.d.ts +39 -39
  481. package/dist/src/core/test-harness-crash.js +67 -67
  482. package/dist/src/core/test-harness-output.d.ts +7 -7
  483. package/dist/src/core/test-harness-output.js +7 -7
  484. package/dist/src/core/test-harness-verdict-notes.d.ts +13 -14
  485. package/dist/src/core/test-harness-verdict-notes.js +4 -4
  486. package/dist/src/core/test-path-scope.d.ts +8 -8
  487. package/dist/src/core/test-path-scope.js +11 -11
  488. package/dist/src/core/test-stale-check.d.ts +22 -21
  489. package/dist/src/core/test-stale-check.js +29 -28
  490. package/dist/src/core/test-stale-symlink.d.ts +1 -1
  491. package/dist/src/core/test-stale-symlink.js +1 -1
  492. package/dist/src/core/test-stall-triage.d.ts +9 -9
  493. package/dist/src/core/test-stall-triage.js +22 -22
  494. package/dist/src/core/token-category.d.ts +4 -4
  495. package/dist/src/core/token-category.js +13 -12
  496. package/dist/src/core/token-coverage.js +4 -5
  497. package/dist/src/core/token-dark-mode.d.ts +9 -9
  498. package/dist/src/core/token-dark-mode.js +11 -11
  499. package/dist/src/core/token-docs.d.ts +1 -1
  500. package/dist/src/core/token-inventory.d.ts +6 -6
  501. package/dist/src/core/token-inventory.js +7 -7
  502. package/dist/src/core/token-manager.d.ts +3 -3
  503. package/dist/src/core/token-manager.js +21 -21
  504. package/dist/src/core/token-scaffold.d.ts +4 -4
  505. package/dist/src/core/token-scaffold.js +4 -4
  506. package/dist/src/core/token-variant.d.ts +14 -14
  507. package/dist/src/core/token-variant.js +32 -32
  508. package/dist/src/core/toolchain-preflight.d.ts +15 -15
  509. package/dist/src/core/toolchain-preflight.js +22 -22
  510. package/dist/src/core/tree-cow.d.ts +3 -3
  511. package/dist/src/core/tree-cow.js +6 -6
  512. package/dist/src/core/tree-guard.d.ts +3 -3
  513. package/dist/src/core/tree-guard.js +23 -23
  514. package/dist/src/core/tree-store.d.ts +15 -15
  515. package/dist/src/core/tree-store.js +35 -33
  516. package/dist/src/core/typecheck-shim.d.ts +16 -15
  517. package/dist/src/core/typecheck-shim.js +26 -25
  518. package/dist/src/core/typecheck.d.ts +12 -12
  519. package/dist/src/core/typecheck.js +31 -31
  520. package/dist/src/core/wire-destroy.d.ts +2 -2
  521. package/dist/src/core/wire-destroy.js +5 -5
  522. package/dist/src/core/wire-dom-fragment.d.ts +3 -3
  523. package/dist/src/core/wire-dom-fragment.js +6 -6
  524. package/dist/src/core/wire-init.d.ts +2 -2
  525. package/dist/src/core/wire-init.js +7 -7
  526. package/dist/src/core/wire-subscript.d.ts +1 -1
  527. package/dist/src/core/wire-subscript.js +3 -3
  528. package/dist/src/core/wire-utils.d.ts +9 -9
  529. package/dist/src/core/wire-utils.js +11 -11
  530. package/dist/src/core/xpcshell-appdir.d.ts +20 -20
  531. package/dist/src/core/xpcshell-appdir.js +26 -26
  532. package/dist/src/core/xpcshell-profile-dir.d.ts +3 -3
  533. package/dist/src/core/xpcshell-profile-dir.js +7 -7
  534. package/dist/src/errors/base.d.ts +22 -21
  535. package/dist/src/errors/base.js +22 -21
  536. package/dist/src/errors/build.d.ts +6 -6
  537. package/dist/src/errors/build.js +6 -6
  538. package/dist/src/errors/codes.d.ts +10 -10
  539. package/dist/src/errors/codes.js +10 -10
  540. package/dist/src/errors/furnace.d.ts +2 -2
  541. package/dist/src/errors/git.d.ts +1 -1
  542. package/dist/src/errors/git.js +1 -1
  543. package/dist/src/errors/patch.d.ts +3 -3
  544. package/dist/src/errors/patch.js +3 -3
  545. package/dist/src/errors/rebase.d.ts +1 -1
  546. package/dist/src/errors/rebase.js +1 -1
  547. package/dist/src/errors/run.d.ts +1 -1
  548. package/dist/src/errors/run.js +1 -1
  549. package/dist/src/index.d.ts +4 -4
  550. package/dist/src/index.js +4 -4
  551. package/dist/src/types/commands/options.d.ts +86 -85
  552. package/dist/src/types/commands/patches.d.ts +19 -19
  553. package/dist/src/types/commands/project.d.ts +3 -3
  554. package/dist/src/types/config.d.ts +24 -23
  555. package/dist/src/types/furnace.d.ts +17 -17
  556. package/dist/src/types/json.d.ts +3 -3
  557. package/dist/src/types/json.js +2 -2
  558. package/dist/src/types/typecheck.d.ts +3 -3
  559. package/dist/src/utils/assert.d.ts +1 -1
  560. package/dist/src/utils/assert.js +6 -6
  561. package/dist/src/utils/build-info.d.ts +5 -5
  562. package/dist/src/utils/build-info.js +6 -6
  563. package/dist/src/utils/child-env.d.ts +5 -5
  564. package/dist/src/utils/child-env.js +5 -5
  565. package/dist/src/utils/concurrency.d.ts +2 -2
  566. package/dist/src/utils/concurrency.js +2 -2
  567. package/dist/src/utils/elapsed.js +1 -1
  568. package/dist/src/utils/errors.d.ts +8 -8
  569. package/dist/src/utils/errors.js +8 -8
  570. package/dist/src/utils/fs.d.ts +1 -1
  571. package/dist/src/utils/fs.js +8 -8
  572. package/dist/src/utils/line-dispatch.d.ts +3 -3
  573. package/dist/src/utils/line-dispatch.js +5 -5
  574. package/dist/src/utils/logger.d.ts +4 -4
  575. package/dist/src/utils/logger.js +11 -11
  576. package/dist/src/utils/machine-output.js +2 -2
  577. package/dist/src/utils/options.d.ts +13 -13
  578. package/dist/src/utils/options.js +20 -20
  579. package/dist/src/utils/package-root.js +2 -2
  580. package/dist/src/utils/paths.d.ts +4 -4
  581. package/dist/src/utils/paths.js +4 -4
  582. package/dist/src/utils/process-group.d.ts +8 -8
  583. package/dist/src/utils/process-group.js +19 -19
  584. package/dist/src/utils/process.d.ts +34 -33
  585. package/dist/src/utils/process.js +20 -19
  586. package/dist/src/utils/ps-duration.d.ts +4 -4
  587. package/dist/src/utils/ps-duration.js +6 -6
  588. package/dist/src/utils/regex.d.ts +4 -4
  589. package/dist/src/utils/regex.js +7 -7
  590. package/dist/src/utils/sleep.d.ts +7 -7
  591. package/dist/src/utils/sleep.js +7 -7
  592. package/dist/src/utils/stdio-drain.d.ts +7 -7
  593. package/dist/src/utils/stdio-drain.js +8 -8
  594. package/dist/src/utils/validation.d.ts +11 -12
  595. package/dist/src/utils/validation.js +20 -21
  596. package/docs/README.md +2 -2
  597. package/docs/configuration.md +120 -114
  598. package/docs/exit-codes.md +63 -58
  599. package/docs/furnace.md +20 -19
  600. package/docs/lifecycle-invariants.md +412 -251
  601. package/docs/machine-output.md +33 -32
  602. package/docs/patch-workflow.md +48 -45
  603. package/docs/run-logs.md +62 -58
  604. package/docs/testing.md +101 -101
  605. package/docs/verification-trees.md +23 -22
  606. package/package.json +2 -2
@@ -2,21 +2,21 @@
2
2
  * Foreign-drift preview + `--refuse-foreign-drift` gate for `re-export`.
3
3
  *
4
4
  * A scan-less re-export rebuilds each patch body as a whole-file
5
- * `git diff HEAD` over the owned files — so a CONCURRENT session's
5
+ * `git diff HEAD` over the owned files, so a concurrent session's
6
6
  * uncommitted lines inside a file the patch already owns are silently
7
7
  * absorbed into the refreshed body. The adjacency advisory
8
- * (`re-export-adjacent.ts`) warns about unmanaged NEIGHBOUR files but is
8
+ * (`re-export-adjacent.ts`) warns about unmanaged neighbour files but is
9
9
  * structurally blind to drift inside owned files. This module compares
10
10
  * the old body against the refreshed body per file and reports the
11
- * payload lines that are about to ENTER the body; under
11
+ * payload lines that are about to enter the body. Under
12
12
  * `--refuse-foreign-drift` the patch is skipped and the run exits
13
13
  * non-zero, mirroring `--refuse-adjacent-unmanaged`.
14
14
  *
15
15
  * "Foreign" is decided by content, not authorship: re-export's legitimate
16
16
  * job is capturing intentional engine edits, so the preview always prints
17
17
  * and the hard stop is an explicit opt-in for multi-session checkouts.
18
- * The comparison is offset-insensitive — per-file MULTISETS of `+`/`-`
19
- * payload lines — because a refresh legitimately shifts hunk offsets and
18
+ * The comparison is offset-insensitive, using per-file multisets of `+`/`-`
19
+ * payload lines, because a refresh legitimately shifts hunk offsets and
20
20
  * context without changing what the patch does.
21
21
  */
22
22
  import type { PatchMetadata } from '../types/commands/index.js';
@@ -55,14 +55,14 @@ export interface FileForeignDrift {
55
55
  }
56
56
  /**
57
57
  * Pure comparison: per owned file, which `+`/`-` payload lines the
58
- * refreshed body carries that the old body did not. Files NOT in
59
- * `previousFilesAffected` are skipped — those are intentional adoptions
60
- * (`--scan`), not drift.
58
+ * refreshed body carries that the old body did not. Files not in
59
+ * `previousFilesAffected` are skipped, since those are intentional
60
+ * adoptions (`--scan`) rather than drift.
61
61
  */
62
62
  export declare function computeForeignDrift(oldBody: string, newBody: string, previousFilesAffected: readonly string[]): FileForeignDrift[];
63
63
  /**
64
64
  * Reads the old body, prints the always-on drift preview (including under
65
- * dry-run and `--scan`), and — when `ctx.refuseForeignDrift` is set —
65
+ * dry-run and `--scan`), and, when `ctx.refuseForeignDrift` is set,
66
66
  * records a refusal and returns `true` so the caller skips the write.
67
67
  */
68
68
  export declare function reportForeignDrift(args: {
@@ -75,7 +75,7 @@ export declare function reportForeignDrift(args: {
75
75
  /**
76
76
  * Names `--expect` paths that never drifted this run. A typo'd
77
77
  * `--expect` path silently degrades the flag back to refusing the slice it
78
- * was meant to admit, so surface the mismatch — but only as a warning: an
78
+ * was meant to admit, so surface the mismatch, but only as a warning: an
79
79
  * expected file legitimately shows no drift in several shapes, all named
80
80
  * below.
81
81
  */
@@ -3,21 +3,21 @@
3
3
  * Foreign-drift preview + `--refuse-foreign-drift` gate for `re-export`.
4
4
  *
5
5
  * A scan-less re-export rebuilds each patch body as a whole-file
6
- * `git diff HEAD` over the owned files — so a CONCURRENT session's
6
+ * `git diff HEAD` over the owned files, so a concurrent session's
7
7
  * uncommitted lines inside a file the patch already owns are silently
8
8
  * absorbed into the refreshed body. The adjacency advisory
9
- * (`re-export-adjacent.ts`) warns about unmanaged NEIGHBOUR files but is
9
+ * (`re-export-adjacent.ts`) warns about unmanaged neighbour files but is
10
10
  * structurally blind to drift inside owned files. This module compares
11
11
  * the old body against the refreshed body per file and reports the
12
- * payload lines that are about to ENTER the body; under
12
+ * payload lines that are about to enter the body. Under
13
13
  * `--refuse-foreign-drift` the patch is skipped and the run exits
14
14
  * non-zero, mirroring `--refuse-adjacent-unmanaged`.
15
15
  *
16
16
  * "Foreign" is decided by content, not authorship: re-export's legitimate
17
17
  * job is capturing intentional engine edits, so the preview always prints
18
18
  * and the hard stop is an explicit opt-in for multi-session checkouts.
19
- * The comparison is offset-insensitive — per-file MULTISETS of `+`/`-`
20
- * payload lines — because a refresh legitimately shifts hunk offsets and
19
+ * The comparison is offset-insensitive, using per-file multisets of `+`/`-`
20
+ * payload lines, because a refresh legitimately shifts hunk offsets and
21
21
  * context without changing what the patch does.
22
22
  */
23
23
  import { stat } from 'node:fs/promises';
@@ -115,9 +115,9 @@ function countExcess(excess) {
115
115
  }
116
116
  /**
117
117
  * Pure comparison: per owned file, which `+`/`-` payload lines the
118
- * refreshed body carries that the old body did not. Files NOT in
119
- * `previousFilesAffected` are skipped — those are intentional adoptions
120
- * (`--scan`), not drift.
118
+ * refreshed body carries that the old body did not. Files not in
119
+ * `previousFilesAffected` are skipped, since those are intentional
120
+ * adoptions (`--scan`) rather than drift.
121
121
  */
122
122
  export function computeForeignDrift(oldBody, newBody, previousFilesAffected) {
123
123
  const owned = new Set(previousFilesAffected);
@@ -156,7 +156,7 @@ export function computeForeignDrift(oldBody, newBody, previousFilesAffected) {
156
156
  }
157
157
  /**
158
158
  * Reads the old body, prints the always-on drift preview (including under
159
- * dry-run and `--scan`), and — when `ctx.refuseForeignDrift` is set —
159
+ * dry-run and `--scan`), and, when `ctx.refuseForeignDrift` is set,
160
160
  * records a refusal and returns `true` so the caller skips the write.
161
161
  */
162
162
  export async function reportForeignDrift(args) {
@@ -225,13 +225,13 @@ export async function reportForeignDrift(args) {
225
225
  /**
226
226
  * Splits the drifting files into "you probably wrote this" and "this predates
227
227
  * your last export". `--refuse-foreign-drift` calls every absorbed line
228
- * "foreign" — including the operator's OWN additions from the same session —
229
- * and "foreign" reads as "another session's", which is precisely the case
230
- * where proceeding would be wrong. Authorship is unknowable, but RECENCY is
231
- * not: a file whose mtime is newer than the patch body this run is refreshing
228
+ * "foreign", including the operator's own additions from the same session,
229
+ * and "foreign" reads as "another session's", which is the case where
230
+ * proceeding would be wrong. Authorship is unknowable, but recency is not:
231
+ * a file whose mtime is newer than the patch body this run is refreshing
232
232
  * changed after the last export, which on a single-operator slice is the
233
- * operator's own edit. Returns the subset of `files` that qualifies; an
234
- * unstattable path is reported as NOT recently edited, so the cautious
233
+ * operator's own edit. Returns the subset of `files` that qualifies. An
234
+ * unstattable path is reported as not recently edited, so the cautious
235
235
  * wording is the fallback.
236
236
  */
237
237
  async function findFilesEditedSinceLastExport(engineDir, patchBodyPath, files) {
@@ -257,7 +257,7 @@ async function findFilesEditedSinceLastExport(engineDir, patchBodyPath, files) {
257
257
  }
258
258
  /**
259
259
  * Fail-closed baseline handling: a missing or unreadable old
260
- * patch body means the drift comparison CANNOT run, so under
260
+ * patch body means the drift comparison cannot run, so under
261
261
  * `--refuse-foreign-drift` the patch is refused rather than written on the
262
262
  * strength of a check that never happened. Without the flag this stays the
263
263
  * historical advisory skip (the preview is best-effort there).
@@ -272,28 +272,28 @@ function refuseUnreadableBaseline(ctx, patchFilename, detail) {
272
272
  return true;
273
273
  }
274
274
  /**
275
- * States, verbatim in the notice, WHAT the `--expect` whitelist is compared
276
- * against and WHEN. This notice is the only feedback an operator gets that
275
+ * States, verbatim in the notice, what the `--expect` whitelist is compared
276
+ * against and when. This notice is the only feedback an operator gets that
277
277
  * the drift belt looked at the files they named, and a downstream report
278
278
  * showed the previous copy actively misleading: it warned "showed no drift"
279
- * over an edit that WAS captured correctly, and none of the causes it named
279
+ * over an edit that was captured correctly, and none of the causes it named
280
280
  * held, so the operator's only recourse was `grep -c` on the written body.
281
281
  *
282
282
  * The measurement, stated exactly:
283
283
  *
284
- * - COMPARED: for each file already in the patch's `filesAffected`, the
285
- * `+`/`-` payload lines the REFRESHED body carries that the OLD patch
284
+ * - Compared: for each file already in the patch's `filesAffected`, the
285
+ * `+`/`-` payload lines the refreshed body carries that the old patch
286
286
  * body did not (`computeForeignDrift`). It is a content comparison, and
287
- * it is ONE-DIRECTIONAL: excess in the new body only.
288
- * - WHEN: per patch, on the body about to be written, BEFORE the write —
289
- * never against post-write state.
287
+ * it is one-directional: excess in the new body only.
288
+ * - When: per patch, on the body about to be written, before the write.
289
+ * Never against post-write state.
290
290
  *
291
291
  * The one-directional half is what the earlier copy hid, and it is the
292
292
  * cause the report's first shape actually hit: deleting a line from an
293
- * engine file makes the refreshed body DROP that file's `+` line. Nothing
294
- * is absorbed, so by design there is no drift to see — the belt exists to
295
- * catch a concurrent session's edits being silently swallowed INTO a body,
296
- * not every difference between two bodies. Naming it is the fix; widening
293
+ * engine file makes the refreshed body drop that file's `+` line. Nothing
294
+ * is absorbed, so there is no drift to see. The belt exists to catch a
295
+ * concurrent session's edits being silently swallowed into a body, not
296
+ * every difference between two bodies. Stating that is the fix. Widening
297
297
  * the comparison would turn every ordinary line removal into a refusal.
298
298
  */
299
299
  const EXPECT_MEASUREMENT_NOTE = '--expect is evaluated against CONTENT, before the write: for each file already in the ' +
@@ -302,7 +302,7 @@ const EXPECT_MEASUREMENT_NOTE = '--expect is evaluated against CONTENT, before t
302
302
  /**
303
303
  * Names `--expect` paths that never drifted this run. A typo'd
304
304
  * `--expect` path silently degrades the flag back to refusing the slice it
305
- * was meant to admit, so surface the mismatch — but only as a warning: an
305
+ * was meant to admit, so surface the mismatch, but only as a warning: an
306
306
  * expected file legitimately shows no drift in several shapes, all named
307
307
  * below.
308
308
  */
@@ -19,9 +19,9 @@ import { projectEntryBody } from './patch/entry-projection.js';
19
19
  * Computes the effective `tier` and `lintIgnore` carrying both the patch's
20
20
  * existing values and the CLI flag overrides.
21
21
  *
22
- * Tier resolution: the CLI flag takes precedence; the patch's existing tier
22
+ * Tier resolution: the CLI flag takes precedence. The patch's existing tier
23
23
  * is the fallback. Lint-ignore resolution: union of the patch's existing list
24
- * and the CLI flag values, de-duplicated; an empty result returns `undefined`
24
+ * and the CLI flag values, de-duplicated. An empty result returns `undefined`
25
25
  * so the caller can drop the field rather than write an empty array.
26
26
  */
27
27
  function resolveEffectiveTierAndLintIgnore(target, options) {
@@ -110,7 +110,7 @@ async function confirmFilesModeProjection(args) {
110
110
  title: `Re-export ${target.filename} with --files`,
111
111
  summary,
112
112
  // A captured deletion still needs the confirmation: the patch will now
113
- // REMOVE those files wherever it is applied, which is the same class of
113
+ // remove those files wherever it is applied, which is the same class of
114
114
  // consequence as shrinking the scope.
115
115
  yes: removed.length === 0 && deletedFiles.length === 0 ? true : options.yes === true,
116
116
  dryRun: isDryRun,
@@ -122,13 +122,13 @@ async function confirmFilesModeProjection(args) {
122
122
  * Splits the requested paths into what can be diffed and what is a deletion.
123
123
  *
124
124
  * A path absent from disk is one of two very different things, and
125
- * collapsing them is what made a DELETION impossible to capture.
125
+ * collapsing them is what made a deletion impossible to capture.
126
126
  *
127
127
  * Tracked in HEAD: a deletion. `git diff HEAD -- <path>` renders it as a
128
- * proper `deleted file mode` section, so it STAYS in the diff scope. (The
129
- * comment this replaces claimed the diff "would fail" on any missing path —
130
- * true only for the never-tracked case.) Dropping these produced the
131
- * dangerous shape: a re-export that reported success while writing a patch
128
+ * proper `deleted file mode` section, so it stays in the diff scope. (The
129
+ * comment this replaces claimed the diff "would fail" on any missing path,
130
+ * which is true only for the never-tracked case.) Dropping these produced
131
+ * the dangerous shape: a re-export that reported success while writing a patch
132
132
  * whose own file list claimed a path it did not restore, so a fresh clone
133
133
  * would apply it and resurrect exactly what the change meant to remove.
134
134
  *
@@ -185,8 +185,8 @@ export async function reExportFilesInPlace(paths, selectedPatches, options, conf
185
185
  throw new InvalidArgumentError('reExportFilesInPlace called with no --files.', '--files');
186
186
  }
187
187
  const requested = [...new Set(filesOption)].sort();
188
- // Stale-furnace-source gate: same refusal as the generic re-export path —
189
- // the projected diff would capture stale deployed copies.
188
+ // Stale-furnace-source gate: same refusal as the generic re-export path,
189
+ // since the projected diff would capture stale deployed copies.
190
190
  await enforceFreshFurnaceSources(paths.root, requested, options.allowStaleFurnace === true, 're-export');
191
191
  const removed = target.filesAffected.filter((f) => !requested.includes(f));
192
192
  const added = requested.filter((f) => !target.filesAffected.includes(f));
@@ -203,12 +203,11 @@ export async function reExportFilesInPlace(paths, selectedPatches, options, conf
203
203
  }
204
204
  const actualProjectedFiles = extractAffectedFiles(projectedDiff);
205
205
  const actualProjectedSet = new Set(actualProjectedFiles);
206
- // Domain is the FULL requested list, not the diffable subset. When the
206
+ // Domain is the full requested list, not the diffable subset. When the
207
207
  // subset was used, any path filtered out upstream was invisible to this
208
- // check by construction — which is exactly how a dropped deletion slipped
209
- // through while the run reported success. A patch that does not do what
210
- // its own file list claims is the one property a manifest must never get
211
- // wrong, so an explicitly named path that produced no hunk is a refusal.
208
+ // check, which is how a dropped deletion slipped through while the run
209
+ // reported success. A patch must do what its own file list claims, so an
210
+ // explicitly named path that produced no hunk is a refusal.
212
211
  const noDiffFiles = requested.filter((file) => !actualProjectedSet.has(file));
213
212
  if (noDiffFiles.length > 0) {
214
213
  throw new InvalidArgumentError(`Refusing to re-export ${target.filename} with --files because ${noDiffFiles.length} requested path${noDiffFiles.length === 1 ? '' : 's'} produced no diff hunks (${noDiffFiles.join(', ')}). ` +
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Hoisted + cached lint context for `re-export`.
3
3
  *
4
- * Rebuilding the whole patch-queue context AND a fresh queue-wide checkJs
4
+ * Rebuilding the whole patch-queue context and a fresh queue-wide checkJs
5
5
  * TypeScript program for every patch costs tens of seconds of fixed setup
6
6
  * per patch, so an N-patch re-export pays it N times. This module:
7
7
  *
8
- * - builds the queue context and the {@link PerRunCheckJs} program
9
- * controller ONCE per invocation (`buildReExportLintContext`) and slices
10
- * per-patch findings out of it;
11
- * - reuses the existing per-patch lint RESULT cache
12
- * (`.fireforge/lint-cache/per-patch-v1.json`) across invocations —
8
+ * - Builds the queue context and the {@link PerRunCheckJs} program
9
+ * controller once per invocation (`buildReExportLintContext`) and slices
10
+ * per-patch findings out of it.
11
+ * - Reuses the existing per-patch lint result cache
12
+ * (`.fireforge/lint-cache/per-patch-v1.json`) across invocations, since
13
13
  * re-export lints the identical input `lint --per-patch` does (the fresh
14
14
  * `git diff HEAD` of the owned files), and the key already hashes engine
15
15
  * HEAD, per-file content, patch body, config, shims, and ownership, so a
16
- * repeat single re-export is a warm hit. `--no-cache` opts out; run-level
17
- * checkJs globals are never cached and are emitted once per invocation;
18
- * - keeps the in-memory queue context honest after each write
16
+ * repeat single re-export is a warm hit. `--no-cache` opts out. Run-level
17
+ * checkJs globals are never cached and are emitted once per invocation.
18
+ * - Keeps the in-memory queue context honest after each write
19
19
  * (`refreshQueueCtxEntry`), so later iterations of an `--all` run lint
20
20
  * against the just-refreshed body instead of the stale one.
21
21
  */
@@ -29,12 +29,12 @@ export interface ReExportLintContext {
29
29
  projectRoot: string;
30
30
  paths: ProjectPaths;
31
31
  config: FireForgeConfig;
32
- /** Whole-queue context, built WITH config so the forward-import hints
33
- * match `lint --per-patch`; undefined when no patches dir. */
32
+ /** Whole-queue context, built with config so the forward-import hints
33
+ * match `lint --per-patch`. Undefined when no patches dir. */
34
34
  patchQueueCtx: PatchQueueContext | undefined;
35
- /** Queue-wide checkJs controller; undefined when checkJs is off. */
35
+ /** Queue-wide checkJs controller. Undefined when checkJs is off. */
36
36
  checkJs: PerRunCheckJs | undefined;
37
- /** Per-patch result cache; undefined under `--no-cache`. */
37
+ /** Per-patch result cache. Undefined under `--no-cache`. */
38
38
  cache: PerPatchLintCacheFile | undefined;
39
39
  engineHeadSha: string | undefined;
40
40
  cacheDirty: boolean;
@@ -53,20 +53,20 @@ export interface ReExportLintResult {
53
53
  lintIgnore: string[];
54
54
  }
55
55
  /**
56
- * Lints one re-exported patch body using the hoisted context: cache hit →
57
- * replay the stored issues through the shared reporter (returns `null`);
58
- * miss → lint with the queue-wide program's pre-attributed slices (or a
56
+ * Lints one re-exported patch body using the hoisted context. A cache hit
57
+ * replays the stored issues through the shared reporter and returns `null`.
58
+ * A miss lints with the queue-wide program's pre-attributed slices (or a
59
59
  * per-patch build when the fresh diff creates files the hoisted program
60
- * never saw — the `--scan` adoption case) and return the payload for
60
+ * never saw, the `--scan` adoption case) and returns the payload for
61
61
  * {@link storeReExportLintResult}. Throws exactly like `runPatchLint` on
62
62
  * errors (unless `skipLint`).
63
63
  *
64
- * The cache key is built over the PROJECTED metadata (current
64
+ * The cache key is built over the projected metadata (current
65
65
  * filesAffected, merged lintIgnore, effective tier) so `--tier` /
66
- * `--lint-ignore` flags change the key. The entry itself is stored AFTER
67
- * the body write (the key hashes the on-disk `.patch` file, which this
68
- * very run is about to rewrite — a pre-write store could never match a
69
- * later run).
66
+ * `--lint-ignore` flags change the key. The entry itself is stored after
67
+ * the body write, because the key hashes the on-disk `.patch` file that
68
+ * this very run is about to rewrite, so a pre-write store could never
69
+ * match a later run.
70
70
  */
71
71
  export declare function lintReExportedPatch(args: {
72
72
  lintCtx: ReExportLintContext;
@@ -79,16 +79,16 @@ export declare function lintReExportedPatch(args: {
79
79
  patchTier?: 'branding';
80
80
  }): Promise<ReExportLintResult | null>;
81
81
  /**
82
- * Stores a fresh lint result AFTER the body write, keying against the
83
- * just-written `.patch` file and the refreshed queue context — the state
84
- * a later identical invocation will observe (call
82
+ * Stores a fresh lint result after the body write, keying against the
83
+ * just-written `.patch` file and the refreshed queue context, which is the
84
+ * state a later identical invocation will observe (call
85
85
  * {@link refreshQueueCtxEntry} first).
86
86
  */
87
87
  export declare function storeReExportLintResult(lintCtx: ReExportLintContext, patchFilename: string, projectedMetadata: PatchMetadata, existingFiles: string[], result: ReExportLintResult): Promise<void>;
88
88
  /**
89
89
  * Refreshes the in-memory queue entry for a just-rewritten patch so later
90
90
  * iterations (and later cache keys) lint against the new body instead of
91
- * the stale one. The on-disk write is the authority; this mirrors it.
91
+ * the stale one. The on-disk write is the authority. This mirrors it.
92
92
  */
93
93
  export declare function refreshQueueCtxEntry(lintCtx: ReExportLintContext, patchFilename: string, diffContent: string): void;
94
94
  /** Persists cache writes and reports reuse, once after the loop. */
@@ -2,21 +2,21 @@
2
2
  /**
3
3
  * Hoisted + cached lint context for `re-export`.
4
4
  *
5
- * Rebuilding the whole patch-queue context AND a fresh queue-wide checkJs
5
+ * Rebuilding the whole patch-queue context and a fresh queue-wide checkJs
6
6
  * TypeScript program for every patch costs tens of seconds of fixed setup
7
7
  * per patch, so an N-patch re-export pays it N times. This module:
8
8
  *
9
- * - builds the queue context and the {@link PerRunCheckJs} program
10
- * controller ONCE per invocation (`buildReExportLintContext`) and slices
11
- * per-patch findings out of it;
12
- * - reuses the existing per-patch lint RESULT cache
13
- * (`.fireforge/lint-cache/per-patch-v1.json`) across invocations —
9
+ * - Builds the queue context and the {@link PerRunCheckJs} program
10
+ * controller once per invocation (`buildReExportLintContext`) and slices
11
+ * per-patch findings out of it.
12
+ * - Reuses the existing per-patch lint result cache
13
+ * (`.fireforge/lint-cache/per-patch-v1.json`) across invocations, since
14
14
  * re-export lints the identical input `lint --per-patch` does (the fresh
15
15
  * `git diff HEAD` of the owned files), and the key already hashes engine
16
16
  * HEAD, per-file content, patch body, config, shims, and ownership, so a
17
- * repeat single re-export is a warm hit. `--no-cache` opts out; run-level
18
- * checkJs globals are never cached and are emitted once per invocation;
19
- * - keeps the in-memory queue context honest after each write
17
+ * repeat single re-export is a warm hit. `--no-cache` opts out. Run-level
18
+ * checkJs globals are never cached and are emitted once per invocation.
19
+ * - Keeps the in-memory queue context honest after each write
20
20
  * (`refreshQueueCtxEntry`), so later iterations of an `--all` run lint
21
21
  * against the just-refreshed body instead of the stale one.
22
22
  */
@@ -62,26 +62,26 @@ function checkJsFilesInDiff(diffContent, checkJs) {
62
62
  return files;
63
63
  }
64
64
  /**
65
- * Lints one re-exported patch body using the hoisted context: cache hit →
66
- * replay the stored issues through the shared reporter (returns `null`);
67
- * miss → lint with the queue-wide program's pre-attributed slices (or a
65
+ * Lints one re-exported patch body using the hoisted context. A cache hit
66
+ * replays the stored issues through the shared reporter and returns `null`.
67
+ * A miss lints with the queue-wide program's pre-attributed slices (or a
68
68
  * per-patch build when the fresh diff creates files the hoisted program
69
- * never saw — the `--scan` adoption case) and return the payload for
69
+ * never saw, the `--scan` adoption case) and returns the payload for
70
70
  * {@link storeReExportLintResult}. Throws exactly like `runPatchLint` on
71
71
  * errors (unless `skipLint`).
72
72
  *
73
- * The cache key is built over the PROJECTED metadata (current
73
+ * The cache key is built over the projected metadata (current
74
74
  * filesAffected, merged lintIgnore, effective tier) so `--tier` /
75
- * `--lint-ignore` flags change the key. The entry itself is stored AFTER
76
- * the body write (the key hashes the on-disk `.patch` file, which this
77
- * very run is about to rewrite — a pre-write store could never match a
78
- * later run).
75
+ * `--lint-ignore` flags change the key. The entry itself is stored after
76
+ * the body write, because the key hashes the on-disk `.patch` file that
77
+ * this very run is about to rewrite, so a pre-write store could never
78
+ * match a later run.
79
79
  */
80
80
  export async function lintReExportedPatch(args) {
81
81
  const { lintCtx, patch, projectedMetadata, existingFiles, diffContent } = args;
82
82
  const { paths, config, patchQueueCtx, checkJs, cache } = lintCtx;
83
- // Tier notice, identical to runPatchLint's head — surfaced on both the
84
- // cached and fresh paths so the governing tier is never silent.
83
+ // Tier notice, identical to runPatchLint's head. It is surfaced on both
84
+ // the cached and fresh paths so the governing tier is never silent.
85
85
  const tierDecision = resolvePatchSizeTier(existingFiles, args.patchTier);
86
86
  if (tierDecision.tier === 'branding') {
87
87
  info(tierDecision.source === 'explicit'
@@ -126,8 +126,8 @@ export async function lintReExportedPatch(args) {
126
126
  }
127
127
  else {
128
128
  // Fresh `--scan` adoption created checkJs-relevant files the hoisted
129
- // program has never seen — fall back to a per-patch build with the
130
- // usual report scope so nothing is silently unchecked.
129
+ // program has never seen, so fall back to a per-patch build with the
130
+ // usual report scope and nothing is silently unchecked.
131
131
  lintOptions.checkJsReportScope = resolvePatchOwnedSysMjs(detectNewFilesInDiff(diffContent));
132
132
  }
133
133
  }
@@ -149,9 +149,9 @@ export async function lintReExportedPatch(args) {
149
149
  };
150
150
  }
151
151
  /**
152
- * Stores a fresh lint result AFTER the body write, keying against the
153
- * just-written `.patch` file and the refreshed queue context — the state
154
- * a later identical invocation will observe (call
152
+ * Stores a fresh lint result after the body write, keying against the
153
+ * just-written `.patch` file and the refreshed queue context, which is the
154
+ * state a later identical invocation will observe (call
155
155
  * {@link refreshQueueCtxEntry} first).
156
156
  */
157
157
  export async function storeReExportLintResult(lintCtx, patchFilename, projectedMetadata, existingFiles, result) {
@@ -182,7 +182,7 @@ export async function storeReExportLintResult(lintCtx, patchFilename, projectedM
182
182
  /**
183
183
  * Refreshes the in-memory queue entry for a just-rewritten patch so later
184
184
  * iterations (and later cache keys) lint against the new body instead of
185
- * the stale one. The on-disk write is the authority; this mirrors it.
185
+ * the stale one. The on-disk write is the authority. This mirrors it.
186
186
  */
187
187
  export function refreshQueueCtxEntry(lintCtx, patchFilename, diffContent) {
188
188
  const ctx = lintCtx.patchQueueCtx;
@@ -198,7 +198,7 @@ export function refreshQueueCtxEntry(lintCtx, patchFilename, diffContent) {
198
198
  const modifiedFileAdditions = new Map();
199
199
  for (const [file, lines] of addedLinesByFile) {
200
200
  if (newFilePaths.has(file)) {
201
- // A created file's content IS its added lines.
201
+ // A created file's content is its added lines.
202
202
  newFiles.set(file, lines.join('\n'));
203
203
  }
204
204
  else {
@@ -11,7 +11,7 @@ export interface NormalizedReExportArguments {
11
11
  * `re-export <patch> --files`. Commander's `--files <paths>` consumes one
12
12
  * comma-separated value, so `re-export 006-x --files a/b.js c/d.js` parks
13
13
  * `c/d.js` in the positional patches and fails with "--files operates on
14
- * exactly one target patch" — pointing at the wrong argument. When every
14
+ * exactly one target patch", pointing at the wrong argument. When every
15
15
  * positional beyond the first looks like a file path, fold them into the
16
16
  * file list.
17
17
  */
@@ -14,7 +14,7 @@ function looksLikeFilePath(value) {
14
14
  * `re-export <patch> --files`. Commander's `--files <paths>` consumes one
15
15
  * comma-separated value, so `re-export 006-x --files a/b.js c/d.js` parks
16
16
  * `c/d.js` in the positional patches and fails with "--files operates on
17
- * exactly one target patch" — pointing at the wrong argument. When every
17
+ * exactly one target patch", pointing at the wrong argument. When every
18
18
  * positional beyond the first looks like a file path, fold them into the
19
19
  * file list.
20
20
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Split out of `re-export.ts`, which was otherwise over the per-file line
5
5
  * cap. The split direction matches the existing `re-export-scan.ts` /
6
- * `re-export-options.ts` boundary; folding `re-export-files.ts` back into
6
+ * `re-export-options.ts` boundary. Folding `re-export-files.ts` back into
7
7
  * the orchestrator would go the wrong way.
8
8
  */
9
9
  import { Command } from 'commander';
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Split out of `re-export.ts`, which was otherwise over the per-file line
6
6
  * cap. The split direction matches the existing `re-export-scan.ts` /
7
- * `re-export-options.ts` boundary; folding `re-export-files.ts` back into
7
+ * `re-export-options.ts` boundary. Folding `re-export-files.ts` back into
8
8
  * the orchestrator would go the wrong way.
9
9
  */
10
10
  import { Command, Option } from 'commander';
@@ -30,7 +30,7 @@ export declare function confirmBroadScanAdditions(args: {
30
30
  }): Promise<boolean>;
31
31
  /**
32
32
  * Refuses scan adoptions whose candidate files import modules created by
33
- * LATER patches. Modeled on the `re-export --files` cross-patch
33
+ * later patches. Modeled on the `re-export --files` cross-patch
34
34
  * projection: the candidates' diffs are projected into the adopting
35
35
  * patch's queue entry, the queue lint runs baseline vs projection, and
36
36
  * only forward-import regressions attributable to the candidates block.
@@ -57,10 +57,10 @@ async function scanPatchFiles(args) {
57
57
  discoveredFiles.add(f);
58
58
  }
59
59
  // Git pathspecs recurse, so a claimed file in a shallow directory would
60
- // sweep entire subtrees into the candidate set — with several patches
60
+ // sweep entire subtrees into the candidate set: with several patches
61
61
  // sharing a parent directory, every unmanaged file in the tree gets
62
62
  // offered to whichever patch is scanned first. Constrain the broad scan
63
- // to the patch's exact directory footprint; deeper paths need an
63
+ // to the patch's exact directory footprint. Deeper paths need an
64
64
  // explicit --scan-file / --scan-files assignment.
65
65
  const parentDirSet = new Set(parentDirs);
66
66
  const currentSet = new Set(currentFilesAffected);
@@ -78,7 +78,7 @@ async function scanPatchFilesTargeted(args) {
78
78
  // Phase-split for bounded concurrency: the sync claimed-by-others check
79
79
  // first (first offender in argument order, as before), then pooled
80
80
  // existence probes with the refusal chosen by ordered iteration so the
81
- // FIRST missing file in argument order is named deterministically.
81
+ // first missing file in argument order is named deterministically.
82
82
  for (const file of scanFiles) {
83
83
  if (claimedByOthers.has(file)) {
84
84
  throw new InvalidArgumentError(`--scan-file path is already claimed by another patch: ${file}`, '--scan-file');
@@ -99,12 +99,12 @@ async function scanPatchFilesTargeted(args) {
99
99
  return reportScanResult(currentFilesAffected, patchFilename, isDryRun, added.sort(), removed);
100
100
  }
101
101
  /**
102
- * Paths that have genuinely left the patch's ownership: absent from disk AND
102
+ * Paths that have genuinely left the patch's ownership: absent from disk and
103
103
  * untracked in engine HEAD.
104
104
  *
105
- * An absent path that IS tracked in HEAD is a DELETION, not a de-ownership.
105
+ * An absent path that is tracked in HEAD is a deletion, not a de-ownership.
106
106
  * The diff carries it as a `deleted file mode` section, so it must stay in
107
- * `filesAffected` — pruning it desynchronises the manifest from the patch
107
+ * `filesAffected`. Pruning it desynchronises the manifest from the patch
108
108
  * body in the direction that hurts: the body says "delete this file", the
109
109
  * file list says the patch has nothing to do with it.
110
110
  */
@@ -161,7 +161,7 @@ function scanAdditionsNeedConfirmation(added) {
161
161
  }
162
162
  /**
163
163
  * Refuses scan adoptions whose candidate files import modules created by
164
- * LATER patches. Modeled on the `re-export --files` cross-patch
164
+ * later patches. Modeled on the `re-export --files` cross-patch
165
165
  * projection: the candidates' diffs are projected into the adopting
166
166
  * patch's queue entry, the queue lint runs baseline vs projection, and
167
167
  * only forward-import regressions attributable to the candidates block.
@@ -33,7 +33,7 @@ export interface ReExportSinglePatchArgs {
33
33
  * Retries a single patch re-export exactly once when the failure is
34
34
  * transient git `index.lock` contention (an external git process holding
35
35
  * the engine repo's index). The retry re-enters `reExportSinglePatch`
36
- * from the top, so it re-reads clean state; a second lock failure
36
+ * from the top, so it re-reads clean state. A second lock failure
37
37
  * propagates to the loop's honest "N of M" accounting.
38
38
  */
39
39
  export declare function reExportSinglePatchWithIndexLockRetry(args: ReExportSinglePatchArgs): Promise<boolean>;