@accelerator-mzq/forge 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (663) hide show
  1. package/LICENSE +21 -0
  2. package/LICENSE-THIRD-PARTY.md +50 -0
  3. package/README.md +159 -0
  4. package/dist/cli/commands/ack.d.ts +7 -0
  5. package/dist/cli/commands/ack.d.ts.map +1 -0
  6. package/dist/cli/commands/ack.js +223 -0
  7. package/dist/cli/commands/ack.js.map +1 -0
  8. package/dist/cli/commands/archive.d.ts +44 -0
  9. package/dist/cli/commands/archive.d.ts.map +1 -0
  10. package/dist/cli/commands/archive.js +689 -0
  11. package/dist/cli/commands/archive.js.map +1 -0
  12. package/dist/cli/commands/backlog.d.ts +3 -0
  13. package/dist/cli/commands/backlog.d.ts.map +1 -0
  14. package/dist/cli/commands/backlog.js +55 -0
  15. package/dist/cli/commands/backlog.js.map +1 -0
  16. package/dist/cli/commands/config.d.ts +3 -0
  17. package/dist/cli/commands/config.d.ts.map +1 -0
  18. package/dist/cli/commands/config.js +107 -0
  19. package/dist/cli/commands/config.js.map +1 -0
  20. package/dist/cli/commands/evidence.d.ts +7 -0
  21. package/dist/cli/commands/evidence.d.ts.map +1 -0
  22. package/dist/cli/commands/evidence.js +662 -0
  23. package/dist/cli/commands/evidence.js.map +1 -0
  24. package/dist/cli/commands/finding.d.ts +3 -0
  25. package/dist/cli/commands/finding.d.ts.map +1 -0
  26. package/dist/cli/commands/finding.js +93 -0
  27. package/dist/cli/commands/finding.js.map +1 -0
  28. package/dist/cli/commands/init.d.ts +3 -0
  29. package/dist/cli/commands/init.d.ts.map +1 -0
  30. package/dist/cli/commands/init.js +126 -0
  31. package/dist/cli/commands/init.js.map +1 -0
  32. package/dist/cli/commands/legacy-bridge.d.ts +11 -0
  33. package/dist/cli/commands/legacy-bridge.d.ts.map +1 -0
  34. package/dist/cli/commands/legacy-bridge.js +586 -0
  35. package/dist/cli/commands/legacy-bridge.js.map +1 -0
  36. package/dist/cli/commands/migrate.d.ts +3 -0
  37. package/dist/cli/commands/migrate.d.ts.map +1 -0
  38. package/dist/cli/commands/migrate.js +34 -0
  39. package/dist/cli/commands/migrate.js.map +1 -0
  40. package/dist/cli/commands/monitor.d.ts +3 -0
  41. package/dist/cli/commands/monitor.d.ts.map +1 -0
  42. package/dist/cli/commands/monitor.js +113 -0
  43. package/dist/cli/commands/monitor.js.map +1 -0
  44. package/dist/cli/commands/preflight.d.ts +7 -0
  45. package/dist/cli/commands/preflight.d.ts.map +1 -0
  46. package/dist/cli/commands/preflight.js +63 -0
  47. package/dist/cli/commands/preflight.js.map +1 -0
  48. package/dist/cli/commands/scope.d.ts +3 -0
  49. package/dist/cli/commands/scope.d.ts.map +1 -0
  50. package/dist/cli/commands/scope.js +32 -0
  51. package/dist/cli/commands/scope.js.map +1 -0
  52. package/dist/cli/commands/stage-extensions.d.ts +45 -0
  53. package/dist/cli/commands/stage-extensions.d.ts.map +1 -0
  54. package/dist/cli/commands/stage-extensions.js +590 -0
  55. package/dist/cli/commands/stage-extensions.js.map +1 -0
  56. package/dist/cli/commands/update.d.ts +3 -0
  57. package/dist/cli/commands/update.d.ts.map +1 -0
  58. package/dist/cli/commands/update.js +98 -0
  59. package/dist/cli/commands/update.js.map +1 -0
  60. package/dist/cli/commands/upgrade.d.ts +3 -0
  61. package/dist/cli/commands/upgrade.d.ts.map +1 -0
  62. package/dist/cli/commands/upgrade.js +277 -0
  63. package/dist/cli/commands/upgrade.js.map +1 -0
  64. package/dist/cli/commands/validate.d.ts +3 -0
  65. package/dist/cli/commands/validate.d.ts.map +1 -0
  66. package/dist/cli/commands/validate.js +66 -0
  67. package/dist/cli/commands/validate.js.map +1 -0
  68. package/dist/cli/index.d.ts +3 -0
  69. package/dist/cli/index.d.ts.map +1 -0
  70. package/dist/cli/index.js +69 -0
  71. package/dist/cli/index.js.map +1 -0
  72. package/dist/core/ack-log.d.ts +107 -0
  73. package/dist/core/ack-log.d.ts.map +1 -0
  74. package/dist/core/ack-log.js +197 -0
  75. package/dist/core/ack-log.js.map +1 -0
  76. package/dist/core/archive/ack-log-consistency.d.ts +15 -0
  77. package/dist/core/archive/ack-log-consistency.d.ts.map +1 -0
  78. package/dist/core/archive/ack-log-consistency.js +164 -0
  79. package/dist/core/archive/ack-log-consistency.js.map +1 -0
  80. package/dist/core/archive/fence.d.ts +66 -0
  81. package/dist/core/archive/fence.d.ts.map +1 -0
  82. package/dist/core/archive/fence.js +218 -0
  83. package/dist/core/archive/fence.js.map +1 -0
  84. package/dist/core/archive/index.d.ts +4 -0
  85. package/dist/core/archive/index.d.ts.map +1 -0
  86. package/dist/core/archive/index.js +6 -0
  87. package/dist/core/archive/index.js.map +1 -0
  88. package/dist/core/archive/legacy-exemption.d.ts +14 -0
  89. package/dist/core/archive/legacy-exemption.d.ts.map +1 -0
  90. package/dist/core/archive/legacy-exemption.js +82 -0
  91. package/dist/core/archive/legacy-exemption.js.map +1 -0
  92. package/dist/core/archive/lock.d.ts +46 -0
  93. package/dist/core/archive/lock.d.ts.map +1 -0
  94. package/dist/core/archive/lock.js +98 -0
  95. package/dist/core/archive/lock.js.map +1 -0
  96. package/dist/core/archive/pause-decisions-fence.d.ts +13 -0
  97. package/dist/core/archive/pause-decisions-fence.d.ts.map +1 -0
  98. package/dist/core/archive/pause-decisions-fence.js +384 -0
  99. package/dist/core/archive/pause-decisions-fence.js.map +1 -0
  100. package/dist/core/archive/process-evidence-fence.d.ts +110 -0
  101. package/dist/core/archive/process-evidence-fence.d.ts.map +1 -0
  102. package/dist/core/archive/process-evidence-fence.js +449 -0
  103. package/dist/core/archive/process-evidence-fence.js.map +1 -0
  104. package/dist/core/archive/process-evidence-rerun.d.ts +9 -0
  105. package/dist/core/archive/process-evidence-rerun.d.ts.map +1 -0
  106. package/dist/core/archive/process-evidence-rerun.js +238 -0
  107. package/dist/core/archive/process-evidence-rerun.js.map +1 -0
  108. package/dist/core/archive/recover-prompt.d.ts +10 -0
  109. package/dist/core/archive/recover-prompt.d.ts.map +1 -0
  110. package/dist/core/archive/recover-prompt.js +29 -0
  111. package/dist/core/archive/recover-prompt.js.map +1 -0
  112. package/dist/core/archive/recover.d.ts +83 -0
  113. package/dist/core/archive/recover.d.ts.map +1 -0
  114. package/dist/core/archive/recover.js +219 -0
  115. package/dist/core/archive/recover.js.map +1 -0
  116. package/dist/core/archive/resume-summary.d.ts +22 -0
  117. package/dist/core/archive/resume-summary.d.ts.map +1 -0
  118. package/dist/core/archive/resume-summary.js +82 -0
  119. package/dist/core/archive/resume-summary.js.map +1 -0
  120. package/dist/core/archive/summary-builder.d.ts +28 -0
  121. package/dist/core/archive/summary-builder.d.ts.map +1 -0
  122. package/dist/core/archive/summary-builder.js +287 -0
  123. package/dist/core/archive/summary-builder.js.map +1 -0
  124. package/dist/core/archive/summary-render.d.ts +8 -0
  125. package/dist/core/archive/summary-render.d.ts.map +1 -0
  126. package/dist/core/archive/summary-render.js +64 -0
  127. package/dist/core/archive/summary-render.js.map +1 -0
  128. package/dist/core/archive/three-level-fence.d.ts +10 -0
  129. package/dist/core/archive/three-level-fence.d.ts.map +1 -0
  130. package/dist/core/archive/three-level-fence.js +93 -0
  131. package/dist/core/archive/three-level-fence.js.map +1 -0
  132. package/dist/core/archive/transaction.d.ts +41 -0
  133. package/dist/core/archive/transaction.d.ts.map +1 -0
  134. package/dist/core/archive/transaction.js +184 -0
  135. package/dist/core/archive/transaction.js.map +1 -0
  136. package/dist/core/archive/verify-findings-fence.d.ts +11 -0
  137. package/dist/core/archive/verify-findings-fence.d.ts.map +1 -0
  138. package/dist/core/archive/verify-findings-fence.js +80 -0
  139. package/dist/core/archive/verify-findings-fence.js.map +1 -0
  140. package/dist/core/archive/version-retrograde-fence.d.ts +10 -0
  141. package/dist/core/archive/version-retrograde-fence.d.ts.map +1 -0
  142. package/dist/core/archive/version-retrograde-fence.js +103 -0
  143. package/dist/core/archive/version-retrograde-fence.js.map +1 -0
  144. package/dist/core/artifact-graph/builder.d.ts +16 -0
  145. package/dist/core/artifact-graph/builder.d.ts.map +1 -0
  146. package/dist/core/artifact-graph/builder.js +32 -0
  147. package/dist/core/artifact-graph/builder.js.map +1 -0
  148. package/dist/core/artifact-graph/index.d.ts +3 -0
  149. package/dist/core/artifact-graph/index.d.ts.map +1 -0
  150. package/dist/core/artifact-graph/index.js +4 -0
  151. package/dist/core/artifact-graph/index.js.map +1 -0
  152. package/dist/core/artifact-graph/types.d.ts +14 -0
  153. package/dist/core/artifact-graph/types.d.ts.map +1 -0
  154. package/dist/core/artifact-graph/types.js +2 -0
  155. package/dist/core/artifact-graph/types.js.map +1 -0
  156. package/dist/core/backlog/assets/backlog-readme.md +11 -0
  157. package/dist/core/backlog/index.d.ts +20 -0
  158. package/dist/core/backlog/index.d.ts.map +1 -0
  159. package/dist/core/backlog/index.js +60 -0
  160. package/dist/core/backlog/index.js.map +1 -0
  161. package/dist/core/backlog/render.d.ts +51 -0
  162. package/dist/core/backlog/render.d.ts.map +1 -0
  163. package/dist/core/backlog/render.js +196 -0
  164. package/dist/core/backlog/render.js.map +1 -0
  165. package/dist/core/bootstrap/index.d.ts +2 -0
  166. package/dist/core/bootstrap/index.d.ts.map +1 -0
  167. package/dist/core/bootstrap/index.js +5 -0
  168. package/dist/core/bootstrap/index.js.map +1 -0
  169. package/dist/core/canonical-json.d.ts +11 -0
  170. package/dist/core/canonical-json.d.ts.map +1 -0
  171. package/dist/core/canonical-json.js +43 -0
  172. package/dist/core/canonical-json.js.map +1 -0
  173. package/dist/core/git/utils.d.ts +27 -0
  174. package/dist/core/git/utils.d.ts.map +1 -0
  175. package/dist/core/git/utils.js +53 -0
  176. package/dist/core/git/utils.js.map +1 -0
  177. package/dist/core/harness-adapters/claude.d.ts +13 -0
  178. package/dist/core/harness-adapters/claude.d.ts.map +1 -0
  179. package/dist/core/harness-adapters/claude.js +53 -0
  180. package/dist/core/harness-adapters/claude.js.map +1 -0
  181. package/dist/core/harness-adapters/codex.d.ts +14 -0
  182. package/dist/core/harness-adapters/codex.d.ts.map +1 -0
  183. package/dist/core/harness-adapters/codex.js +60 -0
  184. package/dist/core/harness-adapters/codex.js.map +1 -0
  185. package/dist/core/harness-adapters/detector.d.ts +15 -0
  186. package/dist/core/harness-adapters/detector.d.ts.map +1 -0
  187. package/dist/core/harness-adapters/detector.js +45 -0
  188. package/dist/core/harness-adapters/detector.js.map +1 -0
  189. package/dist/core/harness-adapters/hash-compare.d.ts +21 -0
  190. package/dist/core/harness-adapters/hash-compare.d.ts.map +1 -0
  191. package/dist/core/harness-adapters/hash-compare.js +49 -0
  192. package/dist/core/harness-adapters/hash-compare.js.map +1 -0
  193. package/dist/core/harness-adapters/index.d.ts +8 -0
  194. package/dist/core/harness-adapters/index.d.ts.map +1 -0
  195. package/dist/core/harness-adapters/index.js +8 -0
  196. package/dist/core/harness-adapters/index.js.map +1 -0
  197. package/dist/core/harness-adapters/interface.d.ts +52 -0
  198. package/dist/core/harness-adapters/interface.d.ts.map +1 -0
  199. package/dist/core/harness-adapters/interface.js +3 -0
  200. package/dist/core/harness-adapters/interface.js.map +1 -0
  201. package/dist/core/harness-adapters/legacy-detector.d.ts +14 -0
  202. package/dist/core/harness-adapters/legacy-detector.d.ts.map +1 -0
  203. package/dist/core/harness-adapters/legacy-detector.js +83 -0
  204. package/dist/core/harness-adapters/legacy-detector.js.map +1 -0
  205. package/dist/core/harness-adapters/transaction.d.ts +12 -0
  206. package/dist/core/harness-adapters/transaction.d.ts.map +1 -0
  207. package/dist/core/harness-adapters/transaction.js +113 -0
  208. package/dist/core/harness-adapters/transaction.js.map +1 -0
  209. package/dist/core/harness-adapters/types.d.ts +45 -0
  210. package/dist/core/harness-adapters/types.d.ts.map +1 -0
  211. package/dist/core/harness-adapters/types.js +3 -0
  212. package/dist/core/harness-adapters/types.js.map +1 -0
  213. package/dist/core/hash/content.d.ts +10 -0
  214. package/dist/core/hash/content.d.ts.map +1 -0
  215. package/dist/core/hash/content.js +131 -0
  216. package/dist/core/hash/content.js.map +1 -0
  217. package/dist/core/hash/diff.d.ts +26 -0
  218. package/dist/core/hash/diff.d.ts.map +1 -0
  219. package/dist/core/hash/diff.js +40 -0
  220. package/dist/core/hash/diff.js.map +1 -0
  221. package/dist/core/hash/index.d.ts +6 -0
  222. package/dist/core/hash/index.d.ts.map +1 -0
  223. package/dist/core/hash/index.js +7 -0
  224. package/dist/core/hash/index.js.map +1 -0
  225. package/dist/core/hash/log.d.ts +7 -0
  226. package/dist/core/hash/log.d.ts.map +1 -0
  227. package/dist/core/hash/log.js +14 -0
  228. package/dist/core/hash/log.js.map +1 -0
  229. package/dist/core/hash/tasks.d.ts +9 -0
  230. package/dist/core/hash/tasks.d.ts.map +1 -0
  231. package/dist/core/hash/tasks.js +20 -0
  232. package/dist/core/hash/tasks.js.map +1 -0
  233. package/dist/core/legacy-bridge/ack.d.ts +30 -0
  234. package/dist/core/legacy-bridge/ack.d.ts.map +1 -0
  235. package/dist/core/legacy-bridge/ack.js +133 -0
  236. package/dist/core/legacy-bridge/ack.js.map +1 -0
  237. package/dist/core/legacy-bridge/anchors.d.ts +15 -0
  238. package/dist/core/legacy-bridge/anchors.d.ts.map +1 -0
  239. package/dist/core/legacy-bridge/anchors.js +119 -0
  240. package/dist/core/legacy-bridge/anchors.js.map +1 -0
  241. package/dist/core/legacy-bridge/budget.d.ts +39 -0
  242. package/dist/core/legacy-bridge/budget.d.ts.map +1 -0
  243. package/dist/core/legacy-bridge/budget.js +83 -0
  244. package/dist/core/legacy-bridge/budget.js.map +1 -0
  245. package/dist/core/legacy-bridge/conflict.d.ts +44 -0
  246. package/dist/core/legacy-bridge/conflict.d.ts.map +1 -0
  247. package/dist/core/legacy-bridge/conflict.js +105 -0
  248. package/dist/core/legacy-bridge/conflict.js.map +1 -0
  249. package/dist/core/legacy-bridge/diff-report.d.ts +14 -0
  250. package/dist/core/legacy-bridge/diff-report.d.ts.map +1 -0
  251. package/dist/core/legacy-bridge/diff-report.js +105 -0
  252. package/dist/core/legacy-bridge/diff-report.js.map +1 -0
  253. package/dist/core/legacy-bridge/encoding.d.ts +42 -0
  254. package/dist/core/legacy-bridge/encoding.d.ts.map +1 -0
  255. package/dist/core/legacy-bridge/encoding.js +104 -0
  256. package/dist/core/legacy-bridge/encoding.js.map +1 -0
  257. package/dist/core/legacy-bridge/excel.d.ts +32 -0
  258. package/dist/core/legacy-bridge/excel.d.ts.map +1 -0
  259. package/dist/core/legacy-bridge/excel.js +124 -0
  260. package/dist/core/legacy-bridge/excel.js.map +1 -0
  261. package/dist/core/legacy-bridge/hash-anchor.d.ts +23 -0
  262. package/dist/core/legacy-bridge/hash-anchor.d.ts.map +1 -0
  263. package/dist/core/legacy-bridge/hash-anchor.js +55 -0
  264. package/dist/core/legacy-bridge/hash-anchor.js.map +1 -0
  265. package/dist/core/legacy-bridge/indexer.d.ts +28 -0
  266. package/dist/core/legacy-bridge/indexer.d.ts.map +1 -0
  267. package/dist/core/legacy-bridge/indexer.js +145 -0
  268. package/dist/core/legacy-bridge/indexer.js.map +1 -0
  269. package/dist/core/legacy-bridge/mapper.d.ts +40 -0
  270. package/dist/core/legacy-bridge/mapper.d.ts.map +1 -0
  271. package/dist/core/legacy-bridge/mapper.js +241 -0
  272. package/dist/core/legacy-bridge/mapper.js.map +1 -0
  273. package/dist/core/legacy-bridge/quality-judge.d.ts +65 -0
  274. package/dist/core/legacy-bridge/quality-judge.d.ts.map +1 -0
  275. package/dist/core/legacy-bridge/quality-judge.js +277 -0
  276. package/dist/core/legacy-bridge/quality-judge.js.map +1 -0
  277. package/dist/core/legacy-bridge/redact.d.ts +28 -0
  278. package/dist/core/legacy-bridge/redact.d.ts.map +1 -0
  279. package/dist/core/legacy-bridge/redact.js +121 -0
  280. package/dist/core/legacy-bridge/redact.js.map +1 -0
  281. package/dist/core/legacy-bridge/regenerator.d.ts +50 -0
  282. package/dist/core/legacy-bridge/regenerator.d.ts.map +1 -0
  283. package/dist/core/legacy-bridge/regenerator.js +193 -0
  284. package/dist/core/legacy-bridge/regenerator.js.map +1 -0
  285. package/dist/core/legacy-bridge/resolve.d.ts +28 -0
  286. package/dist/core/legacy-bridge/resolve.d.ts.map +1 -0
  287. package/dist/core/legacy-bridge/resolve.js +75 -0
  288. package/dist/core/legacy-bridge/resolve.js.map +1 -0
  289. package/dist/core/legacy-bridge/sync-check.d.ts +47 -0
  290. package/dist/core/legacy-bridge/sync-check.d.ts.map +1 -0
  291. package/dist/core/legacy-bridge/sync-check.js +198 -0
  292. package/dist/core/legacy-bridge/sync-check.js.map +1 -0
  293. package/dist/core/legacy-bridge/types.d.ts +114 -0
  294. package/dist/core/legacy-bridge/types.d.ts.map +1 -0
  295. package/dist/core/legacy-bridge/types.js +4 -0
  296. package/dist/core/legacy-bridge/types.js.map +1 -0
  297. package/dist/core/markers/index.d.ts +3 -0
  298. package/dist/core/markers/index.d.ts.map +1 -0
  299. package/dist/core/markers/index.js +3 -0
  300. package/dist/core/markers/index.js.map +1 -0
  301. package/dist/core/markers/parse.d.ts +12 -0
  302. package/dist/core/markers/parse.d.ts.map +1 -0
  303. package/dist/core/markers/parse.js +31 -0
  304. package/dist/core/markers/parse.js.map +1 -0
  305. package/dist/core/markers/types.d.ts +142 -0
  306. package/dist/core/markers/types.d.ts.map +1 -0
  307. package/dist/core/markers/types.js +3 -0
  308. package/dist/core/markers/types.js.map +1 -0
  309. package/dist/core/migrate/ack.d.ts +13 -0
  310. package/dist/core/migrate/ack.d.ts.map +1 -0
  311. package/dist/core/migrate/ack.js +62 -0
  312. package/dist/core/migrate/ack.js.map +1 -0
  313. package/dist/core/migrate/archive-detect.d.ts +19 -0
  314. package/dist/core/migrate/archive-detect.d.ts.map +1 -0
  315. package/dist/core/migrate/archive-detect.js +89 -0
  316. package/dist/core/migrate/archive-detect.js.map +1 -0
  317. package/dist/core/migrate/budget.d.ts +7 -0
  318. package/dist/core/migrate/budget.d.ts.map +1 -0
  319. package/dist/core/migrate/budget.js +25 -0
  320. package/dist/core/migrate/budget.js.map +1 -0
  321. package/dist/core/migrate/conflict.d.ts +49 -0
  322. package/dist/core/migrate/conflict.d.ts.map +1 -0
  323. package/dist/core/migrate/conflict.js +99 -0
  324. package/dist/core/migrate/conflict.js.map +1 -0
  325. package/dist/core/migrate/index.d.ts +7 -0
  326. package/dist/core/migrate/index.d.ts.map +1 -0
  327. package/dist/core/migrate/index.js +389 -0
  328. package/dist/core/migrate/index.js.map +1 -0
  329. package/dist/core/migrate/markdown-aware.d.ts +27 -0
  330. package/dist/core/migrate/markdown-aware.d.ts.map +1 -0
  331. package/dist/core/migrate/markdown-aware.js +112 -0
  332. package/dist/core/migrate/markdown-aware.js.map +1 -0
  333. package/dist/core/migrate/quality.d.ts +66 -0
  334. package/dist/core/migrate/quality.d.ts.map +1 -0
  335. package/dist/core/migrate/quality.js +302 -0
  336. package/dist/core/migrate/quality.js.map +1 -0
  337. package/dist/core/migrate/regenerate.d.ts +24 -0
  338. package/dist/core/migrate/regenerate.d.ts.map +1 -0
  339. package/dist/core/migrate/regenerate.js +145 -0
  340. package/dist/core/migrate/regenerate.js.map +1 -0
  341. package/dist/core/migrate/report.d.ts +36 -0
  342. package/dist/core/migrate/report.d.ts.map +1 -0
  343. package/dist/core/migrate/report.js +154 -0
  344. package/dist/core/migrate/report.js.map +1 -0
  345. package/dist/core/migrate/sources/index.d.ts +4 -0
  346. package/dist/core/migrate/sources/index.d.ts.map +1 -0
  347. package/dist/core/migrate/sources/index.js +17 -0
  348. package/dist/core/migrate/sources/index.js.map +1 -0
  349. package/dist/core/migrate/sources/openspec.d.ts +14 -0
  350. package/dist/core/migrate/sources/openspec.d.ts.map +1 -0
  351. package/dist/core/migrate/sources/openspec.js +453 -0
  352. package/dist/core/migrate/sources/openspec.js.map +1 -0
  353. package/dist/core/migrate/sources/superpowers.d.ts +12 -0
  354. package/dist/core/migrate/sources/superpowers.d.ts.map +1 -0
  355. package/dist/core/migrate/sources/superpowers.js +310 -0
  356. package/dist/core/migrate/sources/superpowers.js.map +1 -0
  357. package/dist/core/migrate/types.d.ts +183 -0
  358. package/dist/core/migrate/types.d.ts.map +1 -0
  359. package/dist/core/migrate/types.js +5 -0
  360. package/dist/core/migrate/types.js.map +1 -0
  361. package/dist/core/migrate/utils.d.ts +2 -0
  362. package/dist/core/migrate/utils.d.ts.map +1 -0
  363. package/dist/core/migrate/utils.js +28 -0
  364. package/dist/core/migrate/utils.js.map +1 -0
  365. package/dist/core/monitor/artifact-observer.d.ts +9 -0
  366. package/dist/core/monitor/artifact-observer.d.ts.map +1 -0
  367. package/dist/core/monitor/artifact-observer.js +180 -0
  368. package/dist/core/monitor/artifact-observer.js.map +1 -0
  369. package/dist/core/monitor/config.d.ts +16 -0
  370. package/dist/core/monitor/config.d.ts.map +1 -0
  371. package/dist/core/monitor/config.js +48 -0
  372. package/dist/core/monitor/config.js.map +1 -0
  373. package/dist/core/monitor/divergence-map.d.ts +5 -0
  374. package/dist/core/monitor/divergence-map.d.ts.map +1 -0
  375. package/dist/core/monitor/divergence-map.js +92 -0
  376. package/dist/core/monitor/divergence-map.js.map +1 -0
  377. package/dist/core/monitor/exit-handler.d.ts +6 -0
  378. package/dist/core/monitor/exit-handler.d.ts.map +1 -0
  379. package/dist/core/monitor/exit-handler.js +27 -0
  380. package/dist/core/monitor/exit-handler.js.map +1 -0
  381. package/dist/core/monitor/health-verdict.d.ts +9 -0
  382. package/dist/core/monitor/health-verdict.d.ts.map +1 -0
  383. package/dist/core/monitor/health-verdict.js +55 -0
  384. package/dist/core/monitor/health-verdict.js.map +1 -0
  385. package/dist/core/monitor/report-renderer.d.ts +4 -0
  386. package/dist/core/monitor/report-renderer.d.ts.map +1 -0
  387. package/dist/core/monitor/report-renderer.js +82 -0
  388. package/dist/core/monitor/report-renderer.js.map +1 -0
  389. package/dist/core/monitor/trace-store.d.ts +39 -0
  390. package/dist/core/monitor/trace-store.d.ts.map +1 -0
  391. package/dist/core/monitor/trace-store.js +130 -0
  392. package/dist/core/monitor/trace-store.js.map +1 -0
  393. package/dist/core/monitor/types.d.ts +63 -0
  394. package/dist/core/monitor/types.d.ts.map +1 -0
  395. package/dist/core/monitor/types.js +26 -0
  396. package/dist/core/monitor/types.js.map +1 -0
  397. package/dist/core/parse/design.d.ts +14 -0
  398. package/dist/core/parse/design.d.ts.map +1 -0
  399. package/dist/core/parse/design.js +17 -0
  400. package/dist/core/parse/design.js.map +1 -0
  401. package/dist/core/parse/fenced-yaml.d.ts +18 -0
  402. package/dist/core/parse/fenced-yaml.d.ts.map +1 -0
  403. package/dist/core/parse/fenced-yaml.js +45 -0
  404. package/dist/core/parse/fenced-yaml.js.map +1 -0
  405. package/dist/core/parse/index.d.ts +7 -0
  406. package/dist/core/parse/index.d.ts.map +1 -0
  407. package/dist/core/parse/index.js +8 -0
  408. package/dist/core/parse/index.js.map +1 -0
  409. package/dist/core/parse/markdown.d.ts +30 -0
  410. package/dist/core/parse/markdown.d.ts.map +1 -0
  411. package/dist/core/parse/markdown.js +66 -0
  412. package/dist/core/parse/markdown.js.map +1 -0
  413. package/dist/core/parse/proposal.d.ts +18 -0
  414. package/dist/core/parse/proposal.d.ts.map +1 -0
  415. package/dist/core/parse/proposal.js +22 -0
  416. package/dist/core/parse/proposal.js.map +1 -0
  417. package/dist/core/parse/specs.d.ts +25 -0
  418. package/dist/core/parse/specs.d.ts.map +1 -0
  419. package/dist/core/parse/specs.js +58 -0
  420. package/dist/core/parse/specs.js.map +1 -0
  421. package/dist/core/parse/tasks.d.ts +33 -0
  422. package/dist/core/parse/tasks.d.ts.map +1 -0
  423. package/dist/core/parse/tasks.js +82 -0
  424. package/dist/core/parse/tasks.js.map +1 -0
  425. package/dist/core/parse/yaml.d.ts +13 -0
  426. package/dist/core/parse/yaml.d.ts.map +1 -0
  427. package/dist/core/parse/yaml.js +39 -0
  428. package/dist/core/parse/yaml.js.map +1 -0
  429. package/dist/core/process-evidence-freeze-warnings.d.ts +24 -0
  430. package/dist/core/process-evidence-freeze-warnings.d.ts.map +1 -0
  431. package/dist/core/process-evidence-freeze-warnings.js +153 -0
  432. package/dist/core/process-evidence-freeze-warnings.js.map +1 -0
  433. package/dist/core/schema/index.d.ts +5 -0
  434. package/dist/core/schema/index.d.ts.map +1 -0
  435. package/dist/core/schema/index.js +6 -0
  436. package/dist/core/schema/index.js.map +1 -0
  437. package/dist/core/schema/model-tiers-config.d.ts +41 -0
  438. package/dist/core/schema/model-tiers-config.d.ts.map +1 -0
  439. package/dist/core/schema/model-tiers-config.js +85 -0
  440. package/dist/core/schema/model-tiers-config.js.map +1 -0
  441. package/dist/core/schema/process-verification-config.d.ts +18 -0
  442. package/dist/core/schema/process-verification-config.d.ts.map +1 -0
  443. package/dist/core/schema/process-verification-config.js +74 -0
  444. package/dist/core/schema/process-verification-config.js.map +1 -0
  445. package/dist/core/schema/stage-extensions-config.d.ts +28 -0
  446. package/dist/core/schema/stage-extensions-config.d.ts.map +1 -0
  447. package/dist/core/schema/stage-extensions-config.js +228 -0
  448. package/dist/core/schema/stage-extensions-config.js.map +1 -0
  449. package/dist/core/schema/types.d.ts +262 -0
  450. package/dist/core/schema/types.d.ts.map +1 -0
  451. package/dist/core/schema/types.js +51 -0
  452. package/dist/core/schema/types.js.map +1 -0
  453. package/dist/core/schema/writing-plans-config.d.ts +11 -0
  454. package/dist/core/schema/writing-plans-config.d.ts.map +1 -0
  455. package/dist/core/schema/writing-plans-config.js +40 -0
  456. package/dist/core/schema/writing-plans-config.js.map +1 -0
  457. package/dist/core/schemas/archive-summary.d.ts +131 -0
  458. package/dist/core/schemas/archive-summary.d.ts.map +1 -0
  459. package/dist/core/schemas/archive-summary.js +31 -0
  460. package/dist/core/schemas/archive-summary.js.map +1 -0
  461. package/dist/core/schemas/process-evidence.d.ts +156 -0
  462. package/dist/core/schemas/process-evidence.d.ts.map +1 -0
  463. package/dist/core/schemas/process-evidence.js +12 -0
  464. package/dist/core/schemas/process-evidence.js.map +1 -0
  465. package/dist/core/schemas/scope-entries.d.ts +68 -0
  466. package/dist/core/schemas/scope-entries.d.ts.map +1 -0
  467. package/dist/core/schemas/scope-entries.js +47 -0
  468. package/dist/core/schemas/scope-entries.js.map +1 -0
  469. package/dist/core/schemas/severity.d.ts +58 -0
  470. package/dist/core/schemas/severity.d.ts.map +1 -0
  471. package/dist/core/schemas/severity.js +26 -0
  472. package/dist/core/schemas/severity.js.map +1 -0
  473. package/dist/core/scope/aggregator.d.ts +49 -0
  474. package/dist/core/scope/aggregator.d.ts.map +1 -0
  475. package/dist/core/scope/aggregator.js +141 -0
  476. package/dist/core/scope/aggregator.js.map +1 -0
  477. package/dist/core/scope/index.d.ts +2 -0
  478. package/dist/core/scope/index.d.ts.map +1 -0
  479. package/dist/core/scope/index.js +2 -0
  480. package/dist/core/scope/index.js.map +1 -0
  481. package/dist/core/specs-sync/apply.d.ts +8 -0
  482. package/dist/core/specs-sync/apply.d.ts.map +1 -0
  483. package/dist/core/specs-sync/apply.js +26 -0
  484. package/dist/core/specs-sync/apply.js.map +1 -0
  485. package/dist/core/specs-sync/deltas.d.ts +15 -0
  486. package/dist/core/specs-sync/deltas.d.ts.map +1 -0
  487. package/dist/core/specs-sync/deltas.js +27 -0
  488. package/dist/core/specs-sync/deltas.js.map +1 -0
  489. package/dist/core/specs-sync/index.d.ts +3 -0
  490. package/dist/core/specs-sync/index.d.ts.map +1 -0
  491. package/dist/core/specs-sync/index.js +4 -0
  492. package/dist/core/specs-sync/index.js.map +1 -0
  493. package/dist/core/stage-extensions/convergence-judge.d.ts +35 -0
  494. package/dist/core/stage-extensions/convergence-judge.d.ts.map +1 -0
  495. package/dist/core/stage-extensions/convergence-judge.js +47 -0
  496. package/dist/core/stage-extensions/convergence-judge.js.map +1 -0
  497. package/dist/core/stage-extensions/index.d.ts +13 -0
  498. package/dist/core/stage-extensions/index.d.ts.map +1 -0
  499. package/dist/core/stage-extensions/index.js +11 -0
  500. package/dist/core/stage-extensions/index.js.map +1 -0
  501. package/dist/core/stage-extensions/output-watcher.d.ts +93 -0
  502. package/dist/core/stage-extensions/output-watcher.d.ts.map +1 -0
  503. package/dist/core/stage-extensions/output-watcher.js +163 -0
  504. package/dist/core/stage-extensions/output-watcher.js.map +1 -0
  505. package/dist/core/stage-extensions/severity-mapper.d.ts +21 -0
  506. package/dist/core/stage-extensions/severity-mapper.d.ts.map +1 -0
  507. package/dist/core/stage-extensions/severity-mapper.js +26 -0
  508. package/dist/core/stage-extensions/severity-mapper.js.map +1 -0
  509. package/dist/core/stage-extensions/state-machine.d.ts +43 -0
  510. package/dist/core/stage-extensions/state-machine.d.ts.map +1 -0
  511. package/dist/core/stage-extensions/state-machine.js +19 -0
  512. package/dist/core/stage-extensions/state-machine.js.map +1 -0
  513. package/dist/core/stage-extensions/thread-map.d.ts +60 -0
  514. package/dist/core/stage-extensions/thread-map.d.ts.map +1 -0
  515. package/dist/core/stage-extensions/thread-map.js +107 -0
  516. package/dist/core/stage-extensions/thread-map.js.map +1 -0
  517. package/dist/core/stage-extensions/trend-analyzer.d.ts +29 -0
  518. package/dist/core/stage-extensions/trend-analyzer.d.ts.map +1 -0
  519. package/dist/core/stage-extensions/trend-analyzer.js +60 -0
  520. package/dist/core/stage-extensions/trend-analyzer.js.map +1 -0
  521. package/dist/core/stage-extensions/types.d.ts +39 -0
  522. package/dist/core/stage-extensions/types.d.ts.map +1 -0
  523. package/dist/core/stage-extensions/types.js +5 -0
  524. package/dist/core/stage-extensions/types.js.map +1 -0
  525. package/dist/core/staging-lock.d.ts +36 -0
  526. package/dist/core/staging-lock.d.ts.map +1 -0
  527. package/dist/core/staging-lock.js +122 -0
  528. package/dist/core/staging-lock.js.map +1 -0
  529. package/dist/core/templates/commands/ack-confirm.md +32 -0
  530. package/dist/core/templates/commands/apply.md +220 -0
  531. package/dist/core/templates/commands/archive.md +178 -0
  532. package/dist/core/templates/commands/brainstorm.md +58 -0
  533. package/dist/core/templates/commands/codex-adversarial.md +95 -0
  534. package/dist/core/templates/commands/explore.md +29 -0
  535. package/dist/core/templates/commands/index.d.ts +12 -0
  536. package/dist/core/templates/commands/index.d.ts.map +1 -0
  537. package/dist/core/templates/commands/index.js +26 -0
  538. package/dist/core/templates/commands/index.js.map +1 -0
  539. package/dist/core/templates/commands/propose.md +90 -0
  540. package/dist/core/templates/commands/review.md +105 -0
  541. package/dist/core/templates/commands/upgrade.md +58 -0
  542. package/dist/core/templates/commands/verify.md +186 -0
  543. package/dist/core/templates/index.d.ts +3 -0
  544. package/dist/core/templates/index.d.ts.map +1 -0
  545. package/dist/core/templates/index.js +5 -0
  546. package/dist/core/templates/index.js.map +1 -0
  547. package/dist/core/templates/skills/_shared/scope-category-guidance.md +40 -0
  548. package/dist/core/templates/skills/brainstorming.md +161 -0
  549. package/dist/core/templates/skills/dispatching-parallel-agents.md +209 -0
  550. package/dist/core/templates/skills/exploring.md +476 -0
  551. package/dist/core/templates/skills/finishing-a-development-branch.md +251 -0
  552. package/dist/core/templates/skills/index.d.ts +17 -0
  553. package/dist/core/templates/skills/index.d.ts.map +1 -0
  554. package/dist/core/templates/skills/index.js +53 -0
  555. package/dist/core/templates/skills/index.js.map +1 -0
  556. package/dist/core/templates/skills/process-evidence.md +146 -0
  557. package/dist/core/templates/skills/receiving-code-review.md +294 -0
  558. package/dist/core/templates/skills/requesting-code-review.md +108 -0
  559. package/dist/core/templates/skills/subagent-driven-development.md +405 -0
  560. package/dist/core/templates/skills/subagent-driven-discipline/references/codex-tools.md +72 -0
  561. package/dist/core/templates/skills/subagent-driven-discipline/references/opencode-tools.md +104 -0
  562. package/dist/core/templates/skills/subagent-driven-discipline.md +725 -0
  563. package/dist/core/templates/skills/systematic-debugging.md +297 -0
  564. package/dist/core/templates/skills/test-driven-development.md +402 -0
  565. package/dist/core/templates/skills/using-forge.md +163 -0
  566. package/dist/core/templates/skills/using-git-worktrees.md +229 -0
  567. package/dist/core/templates/skills/verification-before-completion.md +175 -0
  568. package/dist/core/templates/skills/verifying-three-dimensions.md +245 -0
  569. package/dist/core/templates/skills/writing-plans.md +259 -0
  570. package/dist/core/templates/skills/writing-skills.md +214 -0
  571. package/dist/core/test-reporters/index.d.ts +41 -0
  572. package/dist/core/test-reporters/index.d.ts.map +1 -0
  573. package/dist/core/test-reporters/index.js +39 -0
  574. package/dist/core/test-reporters/index.js.map +1 -0
  575. package/dist/core/test-reporters/junit.d.ts +8 -0
  576. package/dist/core/test-reporters/junit.d.ts.map +1 -0
  577. package/dist/core/test-reporters/junit.js +94 -0
  578. package/dist/core/test-reporters/junit.js.map +1 -0
  579. package/dist/core/test-reporters/tap.d.ts +18 -0
  580. package/dist/core/test-reporters/tap.d.ts.map +1 -0
  581. package/dist/core/test-reporters/tap.js +73 -0
  582. package/dist/core/test-reporters/tap.js.map +1 -0
  583. package/dist/core/test-reporters/vitest-json.d.ts +8 -0
  584. package/dist/core/test-reporters/vitest-json.d.ts.map +1 -0
  585. package/dist/core/test-reporters/vitest-json.js +56 -0
  586. package/dist/core/test-reporters/vitest-json.js.map +1 -0
  587. package/dist/core/upgrade/resign-markers.d.ts +14 -0
  588. package/dist/core/upgrade/resign-markers.d.ts.map +1 -0
  589. package/dist/core/upgrade/resign-markers.js +245 -0
  590. package/dist/core/upgrade/resign-markers.js.map +1 -0
  591. package/dist/core/validate/archive-summary-schema.d.ts +8 -0
  592. package/dist/core/validate/archive-summary-schema.d.ts.map +1 -0
  593. package/dist/core/validate/archive-summary-schema.js +186 -0
  594. package/dist/core/validate/archive-summary-schema.js.map +1 -0
  595. package/dist/core/validate/auto-findings.d.ts +36 -0
  596. package/dist/core/validate/auto-findings.d.ts.map +1 -0
  597. package/dist/core/validate/auto-findings.js +38 -0
  598. package/dist/core/validate/auto-findings.js.map +1 -0
  599. package/dist/core/validate/candidate-validators.d.ts +22 -0
  600. package/dist/core/validate/candidate-validators.d.ts.map +1 -0
  601. package/dist/core/validate/candidate-validators.js +46 -0
  602. package/dist/core/validate/candidate-validators.js.map +1 -0
  603. package/dist/core/validate/change.d.ts +3 -0
  604. package/dist/core/validate/change.d.ts.map +1 -0
  605. package/dist/core/validate/change.js +205 -0
  606. package/dist/core/validate/change.js.map +1 -0
  607. package/dist/core/validate/coverage-gap.d.ts +37 -0
  608. package/dist/core/validate/coverage-gap.d.ts.map +1 -0
  609. package/dist/core/validate/coverage-gap.js +181 -0
  610. package/dist/core/validate/coverage-gap.js.map +1 -0
  611. package/dist/core/validate/finding-hash.d.ts +14 -0
  612. package/dist/core/validate/finding-hash.d.ts.map +1 -0
  613. package/dist/core/validate/finding-hash.js +29 -0
  614. package/dist/core/validate/finding-hash.js.map +1 -0
  615. package/dist/core/validate/index.d.ts +15 -0
  616. package/dist/core/validate/index.d.ts.map +1 -0
  617. package/dist/core/validate/index.js +19 -0
  618. package/dist/core/validate/index.js.map +1 -0
  619. package/dist/core/validate/marker-integrity.d.ts +28 -0
  620. package/dist/core/validate/marker-integrity.d.ts.map +1 -0
  621. package/dist/core/validate/marker-integrity.js +170 -0
  622. package/dist/core/validate/marker-integrity.js.map +1 -0
  623. package/dist/core/validate/marker-schema.d.ts +10 -0
  624. package/dist/core/validate/marker-schema.d.ts.map +1 -0
  625. package/dist/core/validate/marker-schema.js +661 -0
  626. package/dist/core/validate/marker-schema.js.map +1 -0
  627. package/dist/core/validate/orphan-tmp.d.ts +13 -0
  628. package/dist/core/validate/orphan-tmp.d.ts.map +1 -0
  629. package/dist/core/validate/orphan-tmp.js +49 -0
  630. package/dist/core/validate/orphan-tmp.js.map +1 -0
  631. package/dist/core/validate/proposal.d.ts +4 -0
  632. package/dist/core/validate/proposal.d.ts.map +1 -0
  633. package/dist/core/validate/proposal.js +40 -0
  634. package/dist/core/validate/proposal.js.map +1 -0
  635. package/dist/core/validate/scope-entries.d.ts +23 -0
  636. package/dist/core/validate/scope-entries.d.ts.map +1 -0
  637. package/dist/core/validate/scope-entries.js +108 -0
  638. package/dist/core/validate/scope-entries.js.map +1 -0
  639. package/dist/core/validate/specs.d.ts +4 -0
  640. package/dist/core/validate/specs.d.ts.map +1 -0
  641. package/dist/core/validate/specs.js +74 -0
  642. package/dist/core/validate/specs.js.map +1 -0
  643. package/dist/core/validate/tasks.d.ts +4 -0
  644. package/dist/core/validate/tasks.d.ts.map +1 -0
  645. package/dist/core/validate/tasks.js +48 -0
  646. package/dist/core/validate/tasks.js.map +1 -0
  647. package/dist/core/validate/test-failure-stub.d.ts +23 -0
  648. package/dist/core/validate/test-failure-stub.d.ts.map +1 -0
  649. package/dist/core/validate/test-failure-stub.js +21 -0
  650. package/dist/core/validate/test-failure-stub.js.map +1 -0
  651. package/dist/core/validate/types.d.ts +33 -0
  652. package/dist/core/validate/types.d.ts.map +1 -0
  653. package/dist/core/validate/types.js +20 -0
  654. package/dist/core/validate/types.js.map +1 -0
  655. package/dist/core/worktree.d.ts +52 -0
  656. package/dist/core/worktree.d.ts.map +1 -0
  657. package/dist/core/worktree.js +145 -0
  658. package/dist/core/worktree.js.map +1 -0
  659. package/dist/index.d.ts +12 -0
  660. package/dist/index.d.ts.map +1 -0
  661. package/dist/index.js +14 -0
  662. package/dist/index.js.map +1 -0
  663. package/package.json +82 -0
@@ -0,0 +1,251 @@
1
+ ---
2
+ name: forge:finishing-a-development-branch
3
+ description: Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
4
+ ---
5
+
6
+ # Finishing a Development Branch
7
+
8
+ ## Overview
9
+
10
+ Guide completion of development work by presenting clear options and handling chosen workflow.
11
+
12
+ **Core principle:** Verify tests → Present options → Execute choice → Clean up.
13
+
14
+ **Announce at start:** "I'm using the forge:finishing-a-development-branch skill to complete this work."
15
+
16
+ ## The Process
17
+
18
+ ### Step 1: Verify Tests
19
+
20
+ **Before presenting options, verify tests pass:**
21
+
22
+ ```bash
23
+ # Run project's test suite
24
+ npm test / cargo test / pytest / go test ./...
25
+ ```
26
+
27
+ **If tests fail:**
28
+
29
+ ```
30
+ Tests failing (<N> failures). Must fix before completing:
31
+
32
+ [Show failures]
33
+
34
+ Cannot proceed with merge/PR until tests pass.
35
+ ```
36
+
37
+ Stop. Don't proceed to Step 2.
38
+
39
+ **If tests pass:** Continue to Step 2.
40
+
41
+ ### Step 2: Determine Base Branch
42
+
43
+ ```bash
44
+ # Try common base branches
45
+ git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
46
+ ```
47
+
48
+ Or ask: "This branch split from main - is that correct?"
49
+
50
+ ### Step 3: Present Options
51
+
52
+ Present exactly these 4 options:
53
+
54
+ ```
55
+ Implementation complete. What would you like to do?
56
+
57
+ 1. Merge back to <base-branch> locally
58
+ 2. Push and create a Pull Request
59
+ 3. Keep the branch as-is (I'll handle it later)
60
+ 4. Discard this work
61
+
62
+ Which option?
63
+ ```
64
+
65
+ **Don't add explanation** - keep options concise.
66
+
67
+ ### Step 4: Execute Choice
68
+
69
+ #### Option 1: Merge Locally
70
+
71
+ ```bash
72
+ # Switch to base branch
73
+ git checkout <base-branch>
74
+
75
+ # Pull latest
76
+ git pull
77
+
78
+ # Merge feature branch
79
+ git merge <feature-branch>
80
+
81
+ # Verify tests on merged result
82
+ <test command>
83
+
84
+ # If tests pass
85
+ git branch -d <feature-branch>
86
+ ```
87
+
88
+ Then: Cleanup worktree (Step 5)
89
+
90
+ #### Option 2: Push and Create PR
91
+
92
+ ```bash
93
+ # Push branch
94
+ git push -u origin <feature-branch>
95
+
96
+ # Create PR
97
+ gh pr create --title "<title>" --body "$(cat <<'EOF'
98
+ ## Summary
99
+ <2-3 bullets of what changed>
100
+
101
+ ## Test Plan
102
+ - [ ] <verification steps>
103
+ EOF
104
+ )"
105
+ ```
106
+
107
+ Then: Cleanup worktree (Step 5)
108
+
109
+ #### Option 3: Keep As-Is
110
+
111
+ Report: "Keeping branch <name>. Worktree preserved at <path>."
112
+
113
+ **Don't cleanup worktree.**
114
+
115
+ #### Option 4: Discard
116
+
117
+ **Confirm first:**
118
+
119
+ ```
120
+ This will permanently delete:
121
+ - Branch <name>
122
+ - All commits: <commit-list>
123
+ - Worktree at <path>
124
+
125
+ Type 'discard' to confirm.
126
+ ```
127
+
128
+ Wait for exact confirmation.
129
+
130
+ If confirmed:
131
+
132
+ ```bash
133
+ git checkout <base-branch>
134
+ git branch -D <feature-branch>
135
+ ```
136
+
137
+ Then: Cleanup worktree (Step 5)
138
+
139
+ ### Step 5: Cleanup Worktree
140
+
141
+ **For Options 1, 2, 4:**
142
+
143
+ Check if in worktree:
144
+
145
+ ```bash
146
+ git worktree list | grep $(git branch --show-current)
147
+ ```
148
+
149
+ If yes:
150
+
151
+ ```bash
152
+ git worktree remove <worktree-path>
153
+ ```
154
+
155
+ **For Option 3:** Keep worktree.
156
+
157
+ ## forge archive 衔接说明
158
+
159
+ forge 路径下,这一步发生在 `/forge:archive` 之后(archive 已做产物归档 — change 产物移入 `forge/changes/archive/<change-id>/`),本 skill 仅引导用户决定 git 层面的合并/PR/清理策略。
160
+
161
+ **典型 forge 流程顺序:**
162
+
163
+ 1. `forge:verification-before-completion` — 验证通过,写 `.verify-passed`
164
+ 2. `/forge:archive` — 归档 change 产物到 `forge/changes/archive/`
165
+ 3. `forge:finishing-a-development-branch` — 决定 git merge/PR/清理
166
+
167
+ 如果用户跳过了 archive 步骤直接来到这里,提示用户先运行 `/forge:archive`,除非用户明确要求跳过。
168
+
169
+ ## Quick Reference
170
+
171
+ | Option | Merge | Push | Keep Worktree | Cleanup Branch |
172
+ | ---------------- | ----- | ---- | ------------- | -------------- |
173
+ | 1. Merge locally | ✓ | - | - | ✓ |
174
+ | 2. Create PR | - | ✓ | ✓ | - |
175
+ | 3. Keep as-is | - | - | ✓ | - |
176
+ | 4. Discard | - | - | - | ✓ (force) |
177
+
178
+ ## Common Mistakes
179
+
180
+ **Skipping test verification**
181
+
182
+ - **Problem:** Merge broken code, create failing PR
183
+ - **Fix:** Always verify tests before offering options
184
+
185
+ **Open-ended questions**
186
+
187
+ - **Problem:** "What should I do next?" → ambiguous
188
+ - **Fix:** Present exactly 4 structured options
189
+
190
+ **Automatic worktree cleanup**
191
+
192
+ - **Problem:** Remove worktree when might need it (Option 2, 3)
193
+ - **Fix:** Only cleanup for Options 1 and 4
194
+
195
+ **No confirmation for discard**
196
+
197
+ - **Problem:** Accidentally delete work
198
+ - **Fix:** Require typed "discard" confirmation
199
+
200
+ ## Red Flags
201
+
202
+ **Never:**
203
+
204
+ - Proceed with failing tests
205
+ - Merge without verifying tests on result
206
+ - Delete work without confirmation
207
+ - Force-push without explicit request
208
+
209
+ **Always:**
210
+
211
+ - Verify tests before offering options
212
+ - Present exactly 4 options
213
+ - Get typed confirmation for Option 4
214
+ - Clean up worktree for Options 1 & 4 only
215
+
216
+ ## Integration
217
+
218
+ **Called by:**
219
+
220
+ - **forge:subagent-driven-development** (Step 7) - After all tasks complete
221
+
222
+ **Pairs with:**
223
+
224
+ - **forge:using-git-worktrees** - Cleans up worktree created by that skill
225
+
226
+ ---
227
+
228
+ ## forge archive step (Tier 2/3 OpenCode/Codex 路径用,Plan 0a 实测 Variant B PASS)
229
+
230
+ **仅 OpenCode + Codex 路径**(Tier 1 Claude Code 路径走 commands.md `/forge:archive` 调 helper)。
231
+
232
+ When user says "archive" / "/forge:archive" / "完成归档" or similar, **after** finishing branch tasks(merge / clean / etc),you **MUST** execute:
233
+
234
+ ```bash
235
+ node "${FORGE_HELPER}" archive <change-id>
236
+ ```
237
+
238
+ (`FORGE_HELPER` 解析见 forge:writing-plans skill 末尾 "CLI validation step" 段)
239
+
240
+ forge CLI 内部严格门禁(spec §3.4):
241
+
242
+ - `.verify-passed` 存在 + tasks_hash 匹配
243
+ - `.review-passed` 存在 + content_hash 匹配 + git.diff_hash 匹配
244
+ - specs sync(internal-only,不可绕过)
245
+
246
+ **Result handling**:
247
+
248
+ - exit 0 → mv 到 `forge/changes/archive/<date>-<id>/`,Tell user "Archive PASS"
249
+ - exit 非零 → 报 stderr,**不**重试,提示用户跑缺失 step(`/forge:verify` 或 `/forge:review`)
250
+
251
+ **严格门禁不可绕过 — 不要主动加 `--force`**(那是给 maintainer 紧急 escape hatch 用的,不是 AI 自主决策范畴)。
@@ -0,0 +1,17 @@
1
+ /** 16 个移植 skill 名(spec §2.2 12 skill 表 + plan-9i writing-skills + plan-9d verifying-three-dimensions + plan-9f exploring + plan-port-discipline subagent-driven-discipline) */
2
+ export declare const SKILL_NAMES: readonly ["using-forge", "brainstorming", "writing-plans", "subagent-driven-development", "test-driven-development", "requesting-code-review", "receiving-code-review", "verification-before-completion", "systematic-debugging", "dispatching-parallel-agents", "using-git-worktrees", "finishing-a-development-branch", "writing-skills", "verifying-three-dimensions", "exploring", "subagent-driven-discipline"];
3
+ export type SkillName = (typeof SKILL_NAMES)[number];
4
+ /** 单 skill 内容加载 — 用 import.meta.url 定位,开发与生产路径自适应 */
5
+ export declare function loadSkill(name: SkillName): Promise<string>;
6
+ export interface LoadedSkill {
7
+ name: SkillName;
8
+ content: string;
9
+ }
10
+ /** 全量加载 16 个 skill,失败抛错(说明某个 .md 漏建) */
11
+ export declare function loadAllSkills(): Promise<LoadedSkill[]>;
12
+ /** 加载 _shared/*.md 全部 reference docs(plan-9b §2.6.8) */
13
+ export declare function loadAllSharedDocs(): Promise<Array<{
14
+ name: string;
15
+ content: string;
16
+ }>>;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/templates/skills/index.ts"],"names":[],"mappings":"AAUA,+KAA+K;AAC/K,eAAO,MAAM,WAAW,sZAiBd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,qDAAqD;AACrD,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhE;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wCAAwC;AACxC,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAE5D;AAED,wDAAwD;AACxD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgB3F"}
@@ -0,0 +1,53 @@
1
+ // 16 个 skill 真实文本的 registry — Plan 4 + plan-9i + plan-9d + plan-9f + plan-port-discipline
2
+ // 文件实体 .md 由 Task B 逐个填实
3
+ import { readFile, readdir } from 'node:fs/promises';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { dirname, join } from 'node:path';
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+ /** 16 个移植 skill 名(spec §2.2 12 skill 表 + plan-9i writing-skills + plan-9d verifying-three-dimensions + plan-9f exploring + plan-port-discipline subagent-driven-discipline) */
9
+ export const SKILL_NAMES = [
10
+ 'using-forge',
11
+ 'brainstorming',
12
+ 'writing-plans',
13
+ 'subagent-driven-development',
14
+ 'test-driven-development',
15
+ 'requesting-code-review',
16
+ 'receiving-code-review',
17
+ 'verification-before-completion',
18
+ 'systematic-debugging',
19
+ 'dispatching-parallel-agents',
20
+ 'using-git-worktrees',
21
+ 'finishing-a-development-branch',
22
+ 'writing-skills', // 9i 新增(沿 design §2.9 协议落地 + plan-9i v7)
23
+ 'verifying-three-dimensions', // 9d 新增(沿 design §2.2 协议落地 + plan-9d v15)
24
+ 'exploring', // 9f 新增(沿 design §2.5 全节 + plan-9f)
25
+ 'subagent-driven-discipline', // plan-port-discipline 新增(移植 superpowers SDD 的 companion)
26
+ ];
27
+ /** 单 skill 内容加载 — 用 import.meta.url 定位,开发与生产路径自适应 */
28
+ export async function loadSkill(name) {
29
+ return readFile(join(__dirname, `${name}.md`), 'utf8');
30
+ }
31
+ /** 全量加载 16 个 skill,失败抛错(说明某个 .md 漏建) */
32
+ export async function loadAllSkills() {
33
+ return Promise.all(SKILL_NAMES.map(async (name) => ({ name, content: await loadSkill(name) })));
34
+ }
35
+ /** 加载 _shared/*.md 全部 reference docs(plan-9b §2.6.8) */
36
+ export async function loadAllSharedDocs() {
37
+ const sharedDir = join(__dirname, '_shared');
38
+ let entries;
39
+ try {
40
+ entries = await readdir(sharedDir);
41
+ }
42
+ catch (err) {
43
+ if (err.code === 'ENOENT')
44
+ return [];
45
+ throw err;
46
+ }
47
+ const mdFiles = entries.filter((n) => n.endsWith('.md'));
48
+ return Promise.all(mdFiles.map(async (filename) => ({
49
+ name: filename.replace(/\.md$/, ''),
50
+ content: await readFile(join(sharedDir, filename), 'utf8'),
51
+ })));
52
+ }
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/templates/skills/index.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,yBAAyB;AAEzB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,+KAA+K;AAC/K,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa;IACb,eAAe;IACf,eAAe;IACf,6BAA6B;IAC7B,yBAAyB;IACzB,wBAAwB;IACxB,uBAAuB;IACvB,gCAAgC;IAChC,sBAAsB;IACtB,6BAA6B;IAC7B,qBAAqB;IACrB,gCAAgC;IAChC,gBAAgB,EAAE,yCAAyC;IAC3D,4BAA4B,EAAE,0CAA0C;IACxE,WAAW,EAAE,oCAAoC;IACjD,4BAA4B,EAAE,0DAA0D;CAChF,CAAC;AAIX,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAe;IAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAOD,wCAAwC;AACxC,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACnC,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC3D,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: forge:process-evidence
3
+ description: 用于 v1.0 process_evidence 协议 — 写 marker 阶段必须走 helper / 不直写 marker / 不静默切 mode / 不跳 RED commit / staging append-only。当主代理在 task 实施时或写 .verify-passed marker 时,本 skill 强制 helper-only 写入路径,挡 5 大类伪造攻击。
4
+ ---
5
+
6
+ # process-evidence skill
7
+
8
+ > v1.0 forge 反伪造架构关键 skill。**当 AI 实施 task / 写 marker 时强制本协议**。
9
+
10
+ ## 何时调用
11
+
12
+ - 主代理在 `commands/apply.md` 步骤 4 dispatch subagent + 收到 DONE_REPORT
13
+ - 主代理在 `commands/verify.md` 步骤 4.3 写 .verify-passed YAML
14
+ - 主代理在 `commands/review.md` 写 .review-passed YAML
15
+
16
+ ## 核心协议(brainstorm spec §2.7)
17
+
18
+ ### 1. 走 helper,不直写 marker
19
+
20
+ ✗ 禁止:
21
+
22
+ - 主代理直接 fs.writeFile .verify-passed 含 process_evidence 字段
23
+ - 主代理拼接 YAML 字面塞到 marker
24
+
25
+ ✓ 必须:
26
+
27
+ - subagent 在 task 实施时跑测试 + 算 hash + 报 DONE 含 RED commit / GREEN commit / log paths / log hashes / report paths / report hashes / exit_codes / expected_failures
28
+ - 主代理调 `forge evidence record-tdd <changeId> --task <...> --red-commit <sha> --red-timestamp <iso> --red-log <path> --red-log-hash <sha256> --red-report <path> --red-report-hash <sha256> --red-exit <int> --green-commit <sha> ... --expected-failures <json>`(20 options)
29
+ - 主代理在 verify 完成时调 `forge evidence record-verify <changeId> --task-refs <list> --scope <type> --report <path> --report-hash <sha256> --log <path> --log-hash <sha256> --exit-code <int> --invoked-at <iso>`
30
+ - 主代理在 SDD 二段 review 完成时调 `forge evidence record-review <changeId> --task <...> --implementer-commit <sha> --spec-iterations <json> --quality-iterations <json> --main-check-off-at <iso>`
31
+ - 主代理在 commands/verify.md 步骤 4.3 写完 .verify-passed YAML 后**必须**调 `forge evidence freeze <changeId> --kind verify`
32
+
33
+ ### 2. 不静默切 mode=hash-only
34
+
35
+ ✗ 禁止:
36
+
37
+ - 主代理改 forge/config.yaml process_verification.mode 不跑 ack
38
+ - AI 自行决定走 sample / hash-only 模式
39
+
40
+ ✓ 必须:
41
+
42
+ - 用户主动跑 `forge ack propose --action ack-mode --finding <id>`
43
+ - mode != full 必须 user CLI ack(不变量 12 strict)
44
+ - CI 模式(CI=true)强制 mode=full;ack-mode 在 CI 拒绝(brainstorm spec §6 ack.allow_ci_mode 默认 false)
45
+
46
+ ### 3. RED commit 不可省略
47
+
48
+ ✗ 禁止:
49
+
50
+ - subagent 同 commit 写测试 + 实现
51
+ - 主代理填 tdd_exemption 不跑 ack
52
+
53
+ ✓ 必须:
54
+
55
+ - subagent 先建 RED commit(测试 fail + 实现未写 / 不通过)
56
+ - subagent 后建 GREEN commit(实现写 + 测试 pass)
57
+ - light mode trivial change(< writing_plans.light_threshold)允许 tdd_exemption,但**必须**跑 `forge ack propose --action ack-tdd-exemption`(不变量 11 strict)
58
+
59
+ ### 4. Staging append-only,不绕过
60
+
61
+ ✗ 禁止:
62
+
63
+ - 主代理直接编辑 .evidence/process-evidence.staging.yaml
64
+ - 主代理跳 staging,直接修改 marker.process_evidence
65
+
66
+ ✓ 必须:
67
+
68
+ - helper(record-tdd / record-verify / record-review)是唯一 staging 写入路径
69
+ - staging 写入走文件锁 .evidence/.staging.lock(并发保护)
70
+ - freeze 子命令是唯一 marker 写入路径
71
+
72
+ ### 5. 不绕过 freeze 子命令
73
+
74
+ ✗ 禁止:
75
+
76
+ - 主代理直接写 .verify-passed.yaml 含完整 process_evidence(包括 staging_hash / ack_log_tail_hash / ack_log_entry_count)
77
+ - 主代理拼接 marker.verify_findings(WARNING 转 VerifyFinding 由 freeze 子命令做)
78
+
79
+ ✓ 必须:
80
+
81
+ - 调 `forge evidence freeze --kind verify|review` 写 process_evidence + 三 hash 字段
82
+ - 接受 freeze 子命令 stderr 输出 WARNING(自动写 marker.verify_findings;archive 步骤 3.6 接 ack 流程)
83
+ - 若 freeze exit 1 → 先跑 `forge ack propose` 处理 CRITICAL 11/12 后 retry freeze
84
+
85
+ ## 反伪造五源 cross-check
86
+
87
+ archive `crossCuttingFenceCheck()` 跑 14 不变量:
88
+
89
+ - 1-4: 字段关系(timestamp / ancestor / exit_code)
90
+ - 5-6: worktree 重跑实际 fail/pass + reporter parse expected_failures
91
+ - 7: verify_invocations 计数(WARNING)
92
+ - 8: subagent review chain commit 顺序
93
+ - 9: 五源 hash cross-check(marker / staging / ack-log content / ack-log chain / tail+count)
94
+ - 10: env_hash drift(WARNING)
95
+ - 11: tdd_exemption ack
96
+ - 12: mode != full ack + CI 拒签
97
+ - 13: rerun timeout severity 分级
98
+ - 14: green ↞ archive HEAD ancestor(挡旁支造链)
99
+
100
+ CRITICAL → archive 拒签 exit 1;WARNING → marker.verify_findings 走 9d ack 流程(或 ack-mode 隐含覆盖 rerun-time WARNING)
101
+
102
+ ## 失败模式 + Recovery
103
+
104
+ | 失败模式 | 症状 | Recovery |
105
+ | ------------------ | ---------------------------------------------------- | ----------------------------------------------------------------- |
106
+ | 直写 marker | .verify-passed 含 process_evidence 但无 staging 条目 | archive fence 9 → CRITICAL 拒签;重跑 record-tdd + freeze |
107
+ | 静默 hash-only | config.yaml mode=hash-only 无 ack-log entry | fence 12 → CRITICAL 拒签;跑 `forge ack propose --action ack-mode` |
108
+ | 跳 RED commit | tdd_event_chain 无 red_exit_code!=0 条目 | fence 5 worktree 重跑 → CRITICAL;必须补 RED commit |
109
+ | staging 被手动编辑 | staging_hash mismatch | fence 9 → CRITICAL 拒签;从 ack-log 重建 staging |
110
+ | freeze 绕过 | marker 有 process_evidence 但无 staging_hash 字段 | fence 9 → CRITICAL 拒签;重跑 freeze |
111
+
112
+ ## 反例 / 正例
113
+
114
+ ✗ 禁止(借口模式):
115
+
116
+ ```
117
+ # 错误:主代理直接构造 process_evidence YAML
118
+ cat <<EOF > .verify-passed.yaml
119
+ process_evidence:
120
+ tdd_event_chain:
121
+ - red_commit: abc123
122
+ red_exit_code: 1
123
+ green_commit: def456
124
+ green_exit_code: 0
125
+ EOF
126
+ ```
127
+
128
+ ✓ 必须(正确路径):
129
+
130
+ ```bash
131
+ # subagent DONE_REPORT 后,主代理调 helper
132
+ forge evidence record-tdd <changeId> \
133
+ --task task-1 \
134
+ --red-commit abc123 --red-timestamp 2026-05-13T10:00:00Z \
135
+ --red-log .evidence/task-1-red.log --red-log-hash sha256:... \
136
+ --red-report .evidence/task-1-red-junit.xml --red-report-hash sha256:... \
137
+ --red-exit 1 \
138
+ --green-commit def456 --green-timestamp 2026-05-13T10:30:00Z \
139
+ --green-log .evidence/task-1-green.log --green-log-hash sha256:... \
140
+ --green-report .evidence/task-1-green-junit.xml --green-report-hash sha256:... \
141
+ --green-exit 0 \
142
+ --expected-failures '[{"test_file":"src/auth.test.ts","test_name":"should reject expired token","failure_type":"AssertionError"}]'
143
+
144
+ # verify 完成后写 marker,再 freeze
145
+ forge evidence freeze <changeId> --kind verify
146
+ ```