rafcode 2.5.1 → 3.2.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 (585) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/CLAUDE.md +7 -345
  3. package/RAF/{aaaabn-dependencies-watchdog/plans/02-update-planning-prompts.md → 13-dependencies-watchdog/plans/2-update-planning-prompts.md} +1 -1
  4. package/RAF/{aaaabn-dependencies-watchdog/plans/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/plans/3-parse-dependencies-update-state.md} +1 -1
  5. package/RAF/{aaaabn-dependencies-watchdog/plans/04-implement-dependency-checking-in-do.md → 13-dependencies-watchdog/plans/4-implement-dependency-checking-in-do.md} +1 -1
  6. package/RAF/{aaaabn-dependencies-watchdog/plans/05-update-execution-prompts.md → 13-dependencies-watchdog/plans/5-update-execution-prompts.md} +1 -1
  7. package/RAF/{aaaabn-dependencies-watchdog/plans/06-add-tests.md → 13-dependencies-watchdog/plans/6-add-tests.md} +1 -1
  8. package/RAF/{aaaabr-decision-vault/plans/02-integrate-commit-into-plan.md → 17-decision-vault/plans/2-integrate-commit-into-plan.md} +1 -1
  9. package/RAF/{aaaabr-decision-vault/plans/03-add-tests-for-planning-commit.md → 17-decision-vault/plans/3-add-tests-for-planning-commit.md} +1 -1
  10. package/RAF/{aaaabt-verbose-chronicle/plans/04-commit-verification-before-halt.md → 19-verbose-chronicle/plans/4-commit-verification-before-halt.md} +1 -1
  11. package/RAF/{aaaacu-worktree-weaver/plans/02-worktree-plan-command.md → 20-worktree-weaver/plans/2-worktree-plan-command.md} +1 -1
  12. package/RAF/{aaaacu-worktree-weaver/plans/03-worktree-do-command.md → 20-worktree-weaver/plans/3-worktree-do-command.md} +1 -1
  13. package/RAF/{aaaacu-worktree-weaver/plans/04-auto-merge-and-cleanup.md → 20-worktree-weaver/plans/4-auto-merge-and-cleanup.md} +1 -1
  14. package/RAF/{aaaacu-worktree-weaver/plans/05-worktree-tests.md → 20-worktree-weaver/plans/5-worktree-tests.md} +1 -1
  15. package/RAF/{aaaacu-worktree-weaver/plans/06-update-documentation.md → 20-worktree-weaver/plans/6-update-documentation.md} +1 -1
  16. package/RAF/{aaaacv-trim-the-fat/plans/03-commit-artifacts-on-amend.md → 21-trim-the-fat/plans/3-commit-artifacts-on-amend.md} +1 -1
  17. package/RAF/{aaaacv-trim-the-fat/plans/04-worktree-aware-exit-messages.md → 21-trim-the-fat/plans/4-worktree-aware-exit-messages.md} +1 -1
  18. package/RAF/{aaaacw-prune-cycle/plans/02-cleanup-worktree-on-success.md → 22-prune-cycle/plans/2-cleanup-worktree-on-success.md} +1 -1
  19. package/RAF/{aaaacw-prune-cycle/plans/03-amend-recreate-worktree.md → 22-prune-cycle/plans/3-amend-recreate-worktree.md} +1 -1
  20. package/RAF/{aaaacx-epoch-shift/plans/02-update-pattern-matching.md → 23-epoch-shift/plans/2-update-pattern-matching.md} +1 -1
  21. package/RAF/{aaaacx-epoch-shift/plans/03-update-tests.md → 23-epoch-shift/plans/3-update-tests.md} +1 -1
  22. package/RAF/{aaaacx-epoch-shift/plans/04-update-documentation.md → 23-epoch-shift/plans/4-update-documentation.md} +1 -1
  23. package/RAF/{ahmpro-merge-guardian/plans/003-worktree-pr-creation.md → 24-merge-guardian/plans/3-worktree-pr-creation.md} +1 -1
  24. package/RAF/{ahmpro-merge-guardian/plans/004-post-execution-picker.md → 24-merge-guardian/plans/4-post-execution-picker.md} +1 -1
  25. package/RAF/{ahnbcu-letterjam/plans/02-update-tests.md → 25-letterjam/plans/2-update-tests.md} +1 -1
  26. package/RAF/{ahnbcu-letterjam/plans/03-migrate-command.md → 25-letterjam/plans/3-migrate-command.md} +1 -1
  27. package/RAF/{ahnbcu-letterjam/plans/04-update-documentation.md → 25-letterjam/plans/4-update-documentation.md} +1 -1
  28. package/RAF/{ahnwrk-worktree-weaver/plans/04-fix-pr-description.md → 26-worktree-weaver/plans/4-fix-pr-description.md} +1 -1
  29. package/RAF/{ahrren-turbo-finder/plans/02-medium-effort-do.md → 27-turbo-finder/plans/2-medium-effort-do.md} +1 -1
  30. package/RAF/{ahslfe-config-wizard/plans/02-refactor-codebase-to-use-config.md → 28-config-wizard/plans/2-refactor-codebase-to-use-config.md} +1 -1
  31. package/RAF/{ahslfe-config-wizard/plans/03-create-config-documentation.md → 28-config-wizard/plans/3-create-config-documentation.md} +1 -1
  32. package/RAF/{ahslfe-config-wizard/plans/04-implement-raf-config-command.md → 28-config-wizard/plans/4-implement-raf-config-command.md} +1 -1
  33. package/RAF/{ahslfe-config-wizard/plans/05-update-claude-md.md → 28-config-wizard/plans/5-update-claude-md.md} +1 -1
  34. package/RAF/{ahstvo-token-tracker/plans/03-unify-stream-json-execution.md → 29-token-tracker/plans/3-unify-stream-json-execution.md} +1 -1
  35. package/RAF/{ahstvo-token-tracker/plans/04-token-tracking-cost-calculation.md → 29-token-tracker/plans/4-token-tracking-cost-calculation.md} +1 -1
  36. package/RAF/{ahstvo-token-tracker/plans/05-token-cost-console-reporting.md → 29-token-tracker/plans/5-token-cost-console-reporting.md} +1 -1
  37. package/RAF/{ahstvo-token-tracker/plans/06-runtime-verbose-toggle.md → 29-token-tracker/plans/6-runtime-verbose-toggle.md} +1 -1
  38. package/RAF/{ahtahs-token-reaper/plans/02-accumulate-usage-in-retry-loop.md → 30-token-reaper/plans/2-accumulate-usage-in-retry-loop.md} +1 -1
  39. package/RAF/{ahtahs-token-reaper/plans/03-per-attempt-display-formatting.md → 30-token-reaper/plans/3-per-attempt-display-formatting.md} +1 -1
  40. package/RAF/{ahvrih-rate-forge/plans/03-rate-limit-estimation.md → 31-rate-forge/plans/3-rate-limit-estimation.md} +1 -1
  41. package/RAF/{ahvrih-rate-forge/plans/06-sync-readme-with-codebase.md → 31-rate-forge/plans/6-sync-readme-with-codebase.md} +1 -1
  42. package/RAF/{ahvrih-rate-forge/plans/08-plan-execution-metadata.md → 31-rate-forge/plans/8-plan-execution-metadata.md} +1 -1
  43. package/RAF/{ahwidh-quick-fix-gremlin/plans/06-sync-worktree-branch-before-execution.md → 32-quick-fix-gremlin/plans/6-sync-worktree-branch-before-execution.md} +1 -1
  44. package/RAF/{ahwqwq-model-whisperer/plans/03-add-plan-resume-flag.md → 33-model-whisperer/plans/3-add-plan-resume-flag.md} +1 -1
  45. package/RAF/{ahwvrz-legacy-sunset/plans/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/plans/2-fix-resume-worktree-resolution.md} +1 -1
  46. package/RAF/{ahwzmc-echo-forge/plans/03-update-readme.md → 35-echo-forge/plans/3-update-readme.md} +1 -1
  47. package/RAF/37-flux-weave/decisions.md +22 -0
  48. package/RAF/37-flux-weave/input.md +4 -0
  49. package/RAF/37-flux-weave/outcomes/1-numeric-project-ids.md +32 -0
  50. package/RAF/37-flux-weave/outcomes/2-numeric-task-ids.md +34 -0
  51. package/RAF/37-flux-weave/outcomes/3-amend-commit-without-new-plans.md +23 -0
  52. package/RAF/37-flux-weave/outcomes/4-auto-detect-existing-project.md +30 -0
  53. package/RAF/37-flux-weave/plans/1-numeric-project-ids.md +75 -0
  54. package/RAF/37-flux-weave/plans/2-numeric-task-ids.md +65 -0
  55. package/RAF/37-flux-weave/plans/3-amend-commit-without-new-plans.md +54 -0
  56. package/RAF/37-flux-weave/plans/4-auto-detect-existing-project.md +52 -0
  57. package/RAF/38-dual-wielder/decisions.md +44 -0
  58. package/RAF/38-dual-wielder/input.md +13 -0
  59. package/RAF/38-dual-wielder/outcomes/1-config-schema-provider-types.md +47 -0
  60. package/RAF/38-dual-wielder/outcomes/2-abstract-cli-runner.md +33 -0
  61. package/RAF/38-dual-wielder/outcomes/3-implement-codex-runner.md +38 -0
  62. package/RAF/38-dual-wielder/outcomes/4-update-prompts-llm-agnostic.md +50 -0
  63. package/RAF/38-dual-wielder/outcomes/5-update-readme-docs.md +33 -0
  64. package/RAF/38-dual-wielder/outcomes/6-do-unified-project-scanning.md +25 -0
  65. package/RAF/38-dual-wielder/outcomes/7-fix-plan-amend-automode.md +28 -0
  66. package/RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md +139 -0
  67. package/RAF/38-dual-wielder/plans/1-config-schema-provider-types.md +90 -0
  68. package/RAF/38-dual-wielder/plans/2-abstract-cli-runner.md +76 -0
  69. package/RAF/38-dual-wielder/plans/3-implement-codex-runner.md +94 -0
  70. package/RAF/38-dual-wielder/plans/4-update-prompts-llm-agnostic.md +70 -0
  71. package/RAF/38-dual-wielder/plans/5-update-readme-docs.md +52 -0
  72. package/RAF/38-dual-wielder/plans/6-do-unified-project-scanning.md +40 -0
  73. package/RAF/38-dual-wielder/plans/7-fix-plan-amend-automode.md +51 -0
  74. package/RAF/38-dual-wielder/plans/8-e2e-test-codex-provider.md +95 -0
  75. package/RAF/39-pathless-rover/decisions.md +16 -0
  76. package/RAF/39-pathless-rover/input.md +2 -0
  77. package/RAF/39-pathless-rover/outcomes/1-fix-codex-stream-renderer.md +21 -0
  78. package/RAF/39-pathless-rover/outcomes/2-wire-provider-flag.md +28 -0
  79. package/RAF/39-pathless-rover/outcomes/3-remove-worktree-flag-do.md +41 -0
  80. package/RAF/39-pathless-rover/outcomes/4-remove-worktree-flag-plan-amend.md +30 -0
  81. package/RAF/39-pathless-rover/outcomes/5-update-prompts-and-docs.md +26 -0
  82. package/RAF/39-pathless-rover/plans/1-fix-codex-stream-renderer.md +43 -0
  83. package/RAF/39-pathless-rover/plans/2-wire-provider-flag.md +48 -0
  84. package/RAF/39-pathless-rover/plans/3-remove-worktree-flag-do.md +41 -0
  85. package/RAF/39-pathless-rover/plans/4-remove-worktree-flag-plan-amend.md +43 -0
  86. package/RAF/39-pathless-rover/plans/5-update-prompts-and-docs.md +31 -0
  87. package/RAF/40-numeric-order-fix/decisions.md +7 -0
  88. package/RAF/40-numeric-order-fix/input.md +19 -0
  89. package/RAF/40-numeric-order-fix/outcomes/1-fix-numeric-sort-order.md +18 -0
  90. package/RAF/40-numeric-order-fix/outcomes/2-add-npm-keywords.md +10 -0
  91. package/RAF/40-numeric-order-fix/plans/1-fix-numeric-sort-order.md +48 -0
  92. package/RAF/40-numeric-order-fix/plans/2-add-npm-keywords.md +23 -0
  93. package/README.md +62 -18
  94. package/dist/commands/config.js +7 -7
  95. package/dist/commands/config.js.map +1 -1
  96. package/dist/commands/do.d.ts.map +1 -1
  97. package/dist/commands/do.js +51 -230
  98. package/dist/commands/do.js.map +1 -1
  99. package/dist/commands/plan.d.ts.map +1 -1
  100. package/dist/commands/plan.js +96 -147
  101. package/dist/commands/plan.js.map +1 -1
  102. package/dist/commands/status.js +1 -1
  103. package/dist/commands/status.js.map +1 -1
  104. package/dist/core/claude-runner.d.ts +19 -116
  105. package/dist/core/claude-runner.d.ts.map +1 -1
  106. package/dist/core/claude-runner.js +20 -173
  107. package/dist/core/claude-runner.js.map +1 -1
  108. package/dist/core/codex-runner.d.ts +41 -0
  109. package/dist/core/codex-runner.d.ts.map +1 -0
  110. package/dist/core/codex-runner.js +271 -0
  111. package/dist/core/codex-runner.js.map +1 -0
  112. package/dist/core/completion-detector.d.ts +47 -0
  113. package/dist/core/completion-detector.d.ts.map +1 -0
  114. package/dist/core/completion-detector.js +143 -0
  115. package/dist/core/completion-detector.js.map +1 -0
  116. package/dist/core/failure-analyzer.d.ts +1 -1
  117. package/dist/core/failure-analyzer.js +10 -10
  118. package/dist/core/failure-analyzer.js.map +1 -1
  119. package/dist/core/project-manager.d.ts.map +1 -1
  120. package/dist/core/project-manager.js +2 -2
  121. package/dist/core/project-manager.js.map +1 -1
  122. package/dist/core/pull-request.d.ts +4 -4
  123. package/dist/core/pull-request.js +13 -13
  124. package/dist/core/pull-request.js.map +1 -1
  125. package/dist/core/runner-factory.d.ts +12 -0
  126. package/dist/core/runner-factory.d.ts.map +1 -0
  127. package/dist/core/runner-factory.js +30 -0
  128. package/dist/core/runner-factory.js.map +1 -0
  129. package/dist/core/runner-interface.d.ts +14 -0
  130. package/dist/core/runner-interface.d.ts.map +1 -0
  131. package/dist/core/runner-interface.js +2 -0
  132. package/dist/core/runner-interface.js.map +1 -0
  133. package/dist/core/runner-types.d.ts +73 -0
  134. package/dist/core/runner-types.d.ts.map +1 -0
  135. package/dist/core/runner-types.js +2 -0
  136. package/dist/core/runner-types.js.map +1 -0
  137. package/dist/core/shutdown-handler.d.ts +8 -4
  138. package/dist/core/shutdown-handler.d.ts.map +1 -1
  139. package/dist/core/shutdown-handler.js +14 -8
  140. package/dist/core/shutdown-handler.js.map +1 -1
  141. package/dist/core/state-derivation.d.ts +2 -2
  142. package/dist/core/state-derivation.d.ts.map +1 -1
  143. package/dist/core/state-derivation.js +12 -15
  144. package/dist/core/state-derivation.js.map +1 -1
  145. package/dist/core/worktree.d.ts +1 -1
  146. package/dist/core/worktree.d.ts.map +1 -1
  147. package/dist/core/worktree.js +14 -16
  148. package/dist/core/worktree.js.map +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/parsers/codex-stream-renderer.d.ts +48 -0
  152. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -0
  153. package/dist/parsers/codex-stream-renderer.js +158 -0
  154. package/dist/parsers/codex-stream-renderer.js.map +1 -0
  155. package/dist/parsers/output-parser.d.ts +2 -2
  156. package/dist/parsers/output-parser.js +2 -2
  157. package/dist/parsers/stream-renderer.d.ts +1 -1
  158. package/dist/parsers/stream-renderer.js +1 -1
  159. package/dist/prompts/amend.d.ts +1 -2
  160. package/dist/prompts/amend.d.ts.map +1 -1
  161. package/dist/prompts/amend.js +8 -9
  162. package/dist/prompts/amend.js.map +1 -1
  163. package/dist/prompts/execution.js +2 -2
  164. package/dist/prompts/execution.js.map +1 -1
  165. package/dist/prompts/planning.d.ts +1 -1
  166. package/dist/prompts/planning.d.ts.map +1 -1
  167. package/dist/prompts/planning.js +14 -15
  168. package/dist/prompts/planning.js.map +1 -1
  169. package/dist/types/config.d.ts +21 -1
  170. package/dist/types/config.d.ts.map +1 -1
  171. package/dist/types/config.js +16 -0
  172. package/dist/types/config.js.map +1 -1
  173. package/dist/ui/project-picker.d.ts.map +1 -1
  174. package/dist/ui/project-picker.js.map +1 -1
  175. package/dist/utils/config.d.ts +24 -6
  176. package/dist/utils/config.d.ts.map +1 -1
  177. package/dist/utils/config.js +155 -15
  178. package/dist/utils/config.js.map +1 -1
  179. package/dist/utils/name-generator.d.ts +2 -2
  180. package/dist/utils/name-generator.js +9 -9
  181. package/dist/utils/name-generator.js.map +1 -1
  182. package/dist/utils/paths.d.ts +32 -51
  183. package/dist/utils/paths.d.ts.map +1 -1
  184. package/dist/utils/paths.js +121 -150
  185. package/dist/utils/paths.js.map +1 -1
  186. package/dist/utils/token-tracker.d.ts +2 -2
  187. package/dist/utils/token-tracker.js +4 -4
  188. package/dist/utils/token-tracker.js.map +1 -1
  189. package/dist/utils/validation.d.ts.map +1 -1
  190. package/dist/utils/validation.js +7 -10
  191. package/dist/utils/validation.js.map +1 -1
  192. package/package.json +7 -2
  193. package/src/commands/config.ts +7 -7
  194. package/src/commands/do.ts +53 -265
  195. package/src/commands/plan.ts +102 -155
  196. package/src/commands/status.ts +1 -1
  197. package/src/core/claude-runner.ts +33 -277
  198. package/src/core/codex-runner.ts +326 -0
  199. package/src/core/completion-detector.ts +177 -0
  200. package/src/core/failure-analyzer.ts +10 -10
  201. package/src/core/project-manager.ts +2 -1
  202. package/src/core/pull-request.ts +13 -13
  203. package/src/core/runner-factory.ts +35 -0
  204. package/src/core/runner-interface.ts +14 -0
  205. package/src/core/runner-types.ts +75 -0
  206. package/src/core/shutdown-handler.ts +17 -10
  207. package/src/core/state-derivation.ts +12 -15
  208. package/src/core/worktree.ts +14 -16
  209. package/src/index.ts +1 -1
  210. package/src/parsers/codex-stream-renderer.ts +210 -0
  211. package/src/parsers/output-parser.ts +2 -2
  212. package/src/parsers/stream-renderer.ts +1 -1
  213. package/src/prompts/amend.ts +7 -10
  214. package/src/prompts/config-docs.md +8 -8
  215. package/src/prompts/execution.ts +2 -2
  216. package/src/prompts/planning.ts +14 -16
  217. package/src/types/config.ts +39 -1
  218. package/src/ui/project-picker.ts +1 -0
  219. package/src/utils/config.ts +170 -14
  220. package/src/utils/name-generator.ts +9 -9
  221. package/src/utils/paths.ts +123 -159
  222. package/src/utils/token-tracker.ts +4 -4
  223. package/src/utils/validation.ts +7 -10
  224. package/tests/unit/commit-planning-artifacts-worktree.test.ts +14 -14
  225. package/tests/unit/commit-planning-artifacts.test.ts +40 -40
  226. package/tests/unit/config.test.ts +8 -8
  227. package/tests/unit/dependency-integration.test.ts +96 -96
  228. package/tests/unit/do-blocked-tasks.test.ts +1 -1
  229. package/tests/unit/do-command.test.ts +36 -36
  230. package/tests/unit/do-rerun.test.ts +1 -1
  231. package/tests/unit/execution-prompt.test.ts +62 -62
  232. package/tests/unit/git-stash.test.ts +4 -4
  233. package/tests/unit/paths.test.ts +135 -249
  234. package/tests/unit/plan-command.test.ts +103 -103
  235. package/tests/unit/planning-prompt.test.ts +3 -3
  236. package/tests/unit/project-manager.test.ts +9 -10
  237. package/tests/unit/project-picker.test.ts +74 -74
  238. package/tests/unit/pull-request.test.ts +3 -3
  239. package/tests/unit/state-derivation.test.ts +144 -144
  240. package/tests/unit/status-command.test.ts +71 -103
  241. package/tests/unit/worktree.test.ts +32 -33
  242. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/input.md +0 -0
  243. /package/RAF/{aaaaab-raf-task-improvements/outcomes/01-add-decisions-folder.md → 1-raf-task-improvements/outcomes/1-add-decisions-folder.md} +0 -0
  244. /package/RAF/{aaaaab-raf-task-improvements/outcomes/02-fix-write-error-on-shutdown.md → 1-raf-task-improvements/outcomes/2-fix-write-error-on-shutdown.md} +0 -0
  245. /package/RAF/{aaaaab-raf-task-improvements/outcomes/03-stash-changes-on-failure.md → 1-raf-task-improvements/outcomes/3-stash-changes-on-failure.md} +0 -0
  246. /package/RAF/{aaaaab-raf-task-improvements/outcomes/04-add-project-name-to-commits.md → 1-raf-task-improvements/outcomes/4-add-project-name-to-commits.md} +0 -0
  247. /package/RAF/{aaaaab-raf-task-improvements/outcomes/05-add-running-time-display.md → 1-raf-task-improvements/outcomes/5-add-running-time-display.md} +0 -0
  248. /package/RAF/{aaaaab-raf-task-improvements/outcomes/06-add-task-name-to-logs.md → 1-raf-task-improvements/outcomes/6-add-task-name-to-logs.md} +0 -0
  249. /package/RAF/{aaaaab-raf-task-improvements/outcomes/07-show-model-at-task-start.md → 1-raf-task-improvements/outcomes/7-show-model-at-task-start.md} +0 -0
  250. /package/RAF/{aaaaab-raf-task-improvements/outcomes/09-remove-editor-placeholder-text.md → 1-raf-task-improvements/outcomes/9-remove-editor-placeholder-text.md} +0 -0
  251. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/outcomes/SUMMARY.md +0 -0
  252. /package/RAF/{aaaaab-raf-task-improvements/plans/01-add-decisions-folder.md → 1-raf-task-improvements/plans/1-add-decisions-folder.md} +0 -0
  253. /package/RAF/{aaaaab-raf-task-improvements/plans/02-fix-write-error-on-shutdown.md → 1-raf-task-improvements/plans/2-fix-write-error-on-shutdown.md} +0 -0
  254. /package/RAF/{aaaaab-raf-task-improvements/plans/03-stash-changes-on-failure.md → 1-raf-task-improvements/plans/3-stash-changes-on-failure.md} +0 -0
  255. /package/RAF/{aaaaab-raf-task-improvements/plans/04-add-project-name-to-commits.md → 1-raf-task-improvements/plans/4-add-project-name-to-commits.md} +0 -0
  256. /package/RAF/{aaaaab-raf-task-improvements/plans/05-add-running-time-display.md → 1-raf-task-improvements/plans/5-add-running-time-display.md} +0 -0
  257. /package/RAF/{aaaaab-raf-task-improvements/plans/06-add-task-name-to-logs.md → 1-raf-task-improvements/plans/6-add-task-name-to-logs.md} +0 -0
  258. /package/RAF/{aaaaab-raf-task-improvements/plans/09-remove-editor-placeholder-text.md → 1-raf-task-improvements/plans/9-remove-editor-placeholder-text.md} +0 -0
  259. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/decisions.md +0 -0
  260. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/input.md +0 -0
  261. /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/01-outcome-file-marker-fallback.md → 10-outcome-marker-fallback/outcomes/1-outcome-file-marker-fallback.md} +0 -0
  262. /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/02-creative-project-naming.md → 10-outcome-marker-fallback/outcomes/2-creative-project-naming.md} +0 -0
  263. /package/RAF/{aaaabk-outcome-marker-fallback/plans/01-outcome-file-marker-fallback.md → 10-outcome-marker-fallback/plans/1-outcome-file-marker-fallback.md} +0 -0
  264. /package/RAF/{aaaabk-outcome-marker-fallback/plans/02-creative-project-naming.md → 10-outcome-marker-fallback/plans/2-creative-project-naming.md} +0 -0
  265. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/decisions.md +0 -0
  266. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/input.md +0 -0
  267. /package/RAF/{aaaabl-do-task-in-commit/outcomes/01-update-execution-prompt.md → 11-do-task-in-commit/outcomes/1-update-execution-prompt.md} +0 -0
  268. /package/RAF/{aaaabl-do-task-in-commit/outcomes/02-update-tests.md → 11-do-task-in-commit/outcomes/2-update-tests.md} +0 -0
  269. /package/RAF/{aaaabl-do-task-in-commit/outcomes/03-update-documentation.md → 11-do-task-in-commit/outcomes/3-update-documentation.md} +0 -0
  270. /package/RAF/{aaaabl-do-task-in-commit/plans/01-update-execution-prompt.md → 11-do-task-in-commit/plans/1-update-execution-prompt.md} +0 -0
  271. /package/RAF/{aaaabl-do-task-in-commit/plans/02-update-tests.md → 11-do-task-in-commit/plans/2-update-tests.md} +0 -0
  272. /package/RAF/{aaaabl-do-task-in-commit/plans/03-update-documentation.md → 11-do-task-in-commit/plans/3-update-documentation.md} +0 -0
  273. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/decisions.md +0 -0
  274. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/input.md +0 -0
  275. /package/RAF/{aaaabm-name-picker-buffet/outcomes/01-name-picker-for-raf-plan.md → 12-name-picker-buffet/outcomes/1-name-picker-for-raf-plan.md} +0 -0
  276. /package/RAF/{aaaabm-name-picker-buffet/outcomes/02-interactive-project-picker-for-raf-do.md → 12-name-picker-buffet/outcomes/2-interactive-project-picker-for-raf-do.md} +0 -0
  277. /package/RAF/{aaaabm-name-picker-buffet/outcomes/03-raf-status-truncation.md → 12-name-picker-buffet/outcomes/3-raf-status-truncation.md} +0 -0
  278. /package/RAF/{aaaabm-name-picker-buffet/outcomes/04-failure-reason-details.md → 12-name-picker-buffet/outcomes/4-failure-reason-details.md} +0 -0
  279. /package/RAF/{aaaabm-name-picker-buffet/outcomes/05-remove-raf-commits.md → 12-name-picker-buffet/outcomes/5-remove-raf-commits.md} +0 -0
  280. /package/RAF/{aaaabm-name-picker-buffet/outcomes/06-update-execution-prompt-for-commits.md → 12-name-picker-buffet/outcomes/6-update-execution-prompt-for-commits.md} +0 -0
  281. /package/RAF/{aaaabm-name-picker-buffet/outcomes/07-fix-plan-mode-user-prompt.md → 12-name-picker-buffet/outcomes/7-fix-plan-mode-user-prompt.md} +0 -0
  282. /package/RAF/{aaaabm-name-picker-buffet/outcomes/08-add-auto-flag-for-plan-mode.md → 12-name-picker-buffet/outcomes/8-add-auto-flag-for-plan-mode.md} +0 -0
  283. /package/RAF/{aaaabm-name-picker-buffet/plans/01-name-picker-for-raf-plan.md → 12-name-picker-buffet/plans/1-name-picker-for-raf-plan.md} +0 -0
  284. /package/RAF/{aaaabm-name-picker-buffet/plans/02-interactive-project-picker-for-raf-do.md → 12-name-picker-buffet/plans/2-interactive-project-picker-for-raf-do.md} +0 -0
  285. /package/RAF/{aaaabm-name-picker-buffet/plans/03-raf-status-truncation.md → 12-name-picker-buffet/plans/3-raf-status-truncation.md} +0 -0
  286. /package/RAF/{aaaabm-name-picker-buffet/plans/04-failure-reason-details.md → 12-name-picker-buffet/plans/4-failure-reason-details.md} +0 -0
  287. /package/RAF/{aaaabm-name-picker-buffet/plans/05-remove-raf-commits.md → 12-name-picker-buffet/plans/5-remove-raf-commits.md} +0 -0
  288. /package/RAF/{aaaabm-name-picker-buffet/plans/06-update-execution-prompt-for-commits.md → 12-name-picker-buffet/plans/6-update-execution-prompt-for-commits.md} +0 -0
  289. /package/RAF/{aaaabm-name-picker-buffet/plans/07-fix-plan-mode-user-prompt.md → 12-name-picker-buffet/plans/7-fix-plan-mode-user-prompt.md} +0 -0
  290. /package/RAF/{aaaabm-name-picker-buffet/plans/08-add-auto-flag-for-plan-mode.md → 12-name-picker-buffet/plans/8-add-auto-flag-for-plan-mode.md} +0 -0
  291. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/decisions.md +0 -0
  292. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/input.md +0 -0
  293. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/01-define-dependency-syntax.md → 13-dependencies-watchdog/outcomes/1-define-dependency-syntax.md} +0 -0
  294. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/02-update-planning-prompts.md → 13-dependencies-watchdog/outcomes/2-update-planning-prompts.md} +0 -0
  295. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/outcomes/3-parse-dependencies-update-state.md} +0 -0
  296. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/04-implement-dependency-checking-in-do.md → 13-dependencies-watchdog/outcomes/4-implement-dependency-checking-in-do.md} +0 -0
  297. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/05-update-execution-prompts.md → 13-dependencies-watchdog/outcomes/5-update-execution-prompts.md} +0 -0
  298. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/06-add-tests.md → 13-dependencies-watchdog/outcomes/6-add-tests.md} +0 -0
  299. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/07-add-act-alias.md → 13-dependencies-watchdog/outcomes/7-add-act-alias.md} +0 -0
  300. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/08-add-exit-message.md → 13-dependencies-watchdog/outcomes/8-add-exit-message.md} +0 -0
  301. /package/RAF/{aaaabn-dependencies-watchdog/plans/01-define-dependency-syntax.md → 13-dependencies-watchdog/plans/1-define-dependency-syntax.md} +0 -0
  302. /package/RAF/{aaaabn-dependencies-watchdog/plans/07-add-act-alias.md → 13-dependencies-watchdog/plans/7-add-act-alias.md} +0 -0
  303. /package/RAF/{aaaabn-dependencies-watchdog/plans/08-add-exit-message.md → 13-dependencies-watchdog/plans/8-add-exit-message.md} +0 -0
  304. /package/RAF/{aaaabo-watchdog → 14-watchdog}/decisions.md +0 -0
  305. /package/RAF/{aaaabo-watchdog → 14-watchdog}/input.md +0 -0
  306. /package/RAF/{aaaabo-watchdog/outcomes/01-amend-flag-position.md → 14-watchdog/outcomes/1-amend-flag-position.md} +0 -0
  307. /package/RAF/{aaaabo-watchdog/outcomes/02-details-only-on-failure.md → 14-watchdog/outcomes/2-details-only-on-failure.md} +0 -0
  308. /package/RAF/{aaaabo-watchdog/plans/01-amend-flag-position.md → 14-watchdog/plans/1-amend-flag-position.md} +0 -0
  309. /package/RAF/{aaaabo-watchdog/plans/02-details-only-on-failure.md → 14-watchdog/plans/2-details-only-on-failure.md} +0 -0
  310. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/decisions.md +0 -0
  311. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/input.md +0 -0
  312. /package/RAF/{aaaabp-name-lottery/outcomes/01-auto-pick-project-name.md → 15-name-lottery/outcomes/1-auto-pick-project-name.md} +0 -0
  313. /package/RAF/{aaaabp-name-lottery/outcomes/02-mention-plan-files-in-commit.md → 15-name-lottery/outcomes/2-mention-plan-files-in-commit.md} +0 -0
  314. /package/RAF/{aaaabp-name-lottery/outcomes/03-fix-input-md-in-amend-flow.md → 15-name-lottery/outcomes/3-fix-input-md-in-amend-flow.md} +0 -0
  315. /package/RAF/{aaaabp-name-lottery/plans/01-auto-pick-project-name.md → 15-name-lottery/plans/1-auto-pick-project-name.md} +0 -0
  316. /package/RAF/{aaaabp-name-lottery/plans/02-mention-plan-files-in-commit.md → 15-name-lottery/plans/2-mention-plan-files-in-commit.md} +0 -0
  317. /package/RAF/{aaaabp-name-lottery/plans/03-fix-input-md-in-amend-flow.md → 15-name-lottery/plans/3-fix-input-md-in-amend-flow.md} +0 -0
  318. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/decisions.md +0 -0
  319. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/input.md +0 -0
  320. /package/RAF/{aaaabq-planning-scalpel/outcomes/01-update-git-commit-instructions.md → 16-planning-scalpel/outcomes/1-update-git-commit-instructions.md} +0 -0
  321. /package/RAF/{aaaabq-planning-scalpel/plans/01-update-git-commit-instructions.md → 16-planning-scalpel/plans/1-update-git-commit-instructions.md} +0 -0
  322. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/decisions.md +0 -0
  323. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/input.md +0 -0
  324. /package/RAF/{aaaabr-decision-vault/outcomes/01-create-git-commit-utility.md → 17-decision-vault/outcomes/1-create-git-commit-utility.md} +0 -0
  325. /package/RAF/{aaaabr-decision-vault/outcomes/02-integrate-commit-into-plan.md → 17-decision-vault/outcomes/2-integrate-commit-into-plan.md} +0 -0
  326. /package/RAF/{aaaabr-decision-vault/outcomes/03-add-tests-for-planning-commit.md → 17-decision-vault/outcomes/3-add-tests-for-planning-commit.md} +0 -0
  327. /package/RAF/{aaaabr-decision-vault/plans/01-create-git-commit-utility.md → 17-decision-vault/plans/1-create-git-commit-utility.md} +0 -0
  328. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/decisions.md +0 -0
  329. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/input.md +0 -0
  330. /package/RAF/{aaaabs-workflow-forge/outcomes/01-add-task-number-progress.md → 18-workflow-forge/outcomes/1-add-task-number-progress.md} +0 -0
  331. /package/RAF/{aaaabs-workflow-forge/outcomes/02-update-plan-do-prompts.md → 18-workflow-forge/outcomes/2-update-plan-do-prompts.md} +0 -0
  332. /package/RAF/{aaaabs-workflow-forge/plans/01-add-task-number-progress.md → 18-workflow-forge/plans/1-add-task-number-progress.md} +0 -0
  333. /package/RAF/{aaaabs-workflow-forge/plans/02-update-plan-do-prompts.md → 18-workflow-forge/plans/2-update-plan-do-prompts.md} +0 -0
  334. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/decisions.md +0 -0
  335. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/input.md +0 -0
  336. /package/RAF/{aaaabt-verbose-chronicle/outcomes/01-amend-iteration-references.md → 19-verbose-chronicle/outcomes/1-amend-iteration-references.md} +0 -0
  337. /package/RAF/{aaaabt-verbose-chronicle/outcomes/02-verbose-task-name-display.md → 19-verbose-chronicle/outcomes/2-verbose-task-name-display.md} +0 -0
  338. /package/RAF/{aaaabt-verbose-chronicle/outcomes/03-verbose-streaming-fix.md → 19-verbose-chronicle/outcomes/3-verbose-streaming-fix.md} +0 -0
  339. /package/RAF/{aaaabt-verbose-chronicle/outcomes/04-commit-verification-before-halt.md → 19-verbose-chronicle/outcomes/4-commit-verification-before-halt.md} +0 -0
  340. /package/RAF/{aaaabt-verbose-chronicle/plans/01-amend-iteration-references.md → 19-verbose-chronicle/plans/1-amend-iteration-references.md} +0 -0
  341. /package/RAF/{aaaabt-verbose-chronicle/plans/02-verbose-task-name-display.md → 19-verbose-chronicle/plans/2-verbose-task-name-display.md} +0 -0
  342. /package/RAF/{aaaabt-verbose-chronicle/plans/03-verbose-streaming-fix.md → 19-verbose-chronicle/plans/3-verbose-streaming-fix.md} +0 -0
  343. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/decisions/DECISIONS.md +0 -0
  344. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/input.md +0 -0
  345. /package/RAF/{aaaaac-raf-task-improvements-execution/outcomes/01-commit-show-model-at-task-start.md → 2-raf-task-improvements-execution/outcomes/1-commit-show-model-at-task-start.md} +0 -0
  346. /package/RAF/{aaaaac-raf-task-improvements-execution/outcomes/02-delete-skipped-plan.md → 2-raf-task-improvements-execution/outcomes/2-delete-skipped-plan.md} +0 -0
  347. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/outcomes/SUMMARY.md +0 -0
  348. /package/RAF/{aaaaac-raf-task-improvements-execution/plans/01-commit-show-model-at-task-start.md → 2-raf-task-improvements-execution/plans/1-commit-show-model-at-task-start.md} +0 -0
  349. /package/RAF/{aaaaac-raf-task-improvements-execution/plans/02-delete-skipped-plan.md → 2-raf-task-improvements-execution/plans/2-delete-skipped-plan.md} +0 -0
  350. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/decisions.md +0 -0
  351. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/input.md +0 -0
  352. /package/RAF/{aaaacu-worktree-weaver/outcomes/01-git-worktree-utilities.md → 20-worktree-weaver/outcomes/1-git-worktree-utilities.md} +0 -0
  353. /package/RAF/{aaaacu-worktree-weaver/outcomes/02-worktree-plan-command.md → 20-worktree-weaver/outcomes/2-worktree-plan-command.md} +0 -0
  354. /package/RAF/{aaaacu-worktree-weaver/outcomes/03-worktree-do-command.md → 20-worktree-weaver/outcomes/3-worktree-do-command.md} +0 -0
  355. /package/RAF/{aaaacu-worktree-weaver/outcomes/04-auto-merge-and-cleanup.md → 20-worktree-weaver/outcomes/4-auto-merge-and-cleanup.md} +0 -0
  356. /package/RAF/{aaaacu-worktree-weaver/outcomes/05-worktree-tests.md → 20-worktree-weaver/outcomes/5-worktree-tests.md} +0 -0
  357. /package/RAF/{aaaacu-worktree-weaver/outcomes/06-update-documentation.md → 20-worktree-weaver/outcomes/6-update-documentation.md} +0 -0
  358. /package/RAF/{aaaacu-worktree-weaver/plans/01-git-worktree-utilities.md → 20-worktree-weaver/plans/1-git-worktree-utilities.md} +0 -0
  359. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/decisions.md +0 -0
  360. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/input.md +0 -0
  361. /package/RAF/{aaaacv-trim-the-fat/outcomes/01-add-worktree-support-to-status.md → 21-trim-the-fat/outcomes/1-add-worktree-support-to-status.md} +0 -0
  362. /package/RAF/{aaaacv-trim-the-fat/outcomes/02-remove-multi-project-from-do.md → 21-trim-the-fat/outcomes/2-remove-multi-project-from-do.md} +0 -0
  363. /package/RAF/{aaaacv-trim-the-fat/outcomes/03-commit-artifacts-on-amend.md → 21-trim-the-fat/outcomes/3-commit-artifacts-on-amend.md} +0 -0
  364. /package/RAF/{aaaacv-trim-the-fat/outcomes/04-worktree-aware-exit-messages.md → 21-trim-the-fat/outcomes/4-worktree-aware-exit-messages.md} +0 -0
  365. /package/RAF/{aaaacv-trim-the-fat/plans/01-add-worktree-support-to-status.md → 21-trim-the-fat/plans/1-add-worktree-support-to-status.md} +0 -0
  366. /package/RAF/{aaaacv-trim-the-fat/plans/02-remove-multi-project-from-do.md → 21-trim-the-fat/plans/2-remove-multi-project-from-do.md} +0 -0
  367. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/decisions.md +0 -0
  368. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/input.md +0 -0
  369. /package/RAF/{aaaacw-prune-cycle/outcomes/01-create-worktree-from-branch.md → 22-prune-cycle/outcomes/1-create-worktree-from-branch.md} +0 -0
  370. /package/RAF/{aaaacw-prune-cycle/outcomes/02-cleanup-worktree-on-success.md → 22-prune-cycle/outcomes/2-cleanup-worktree-on-success.md} +0 -0
  371. /package/RAF/{aaaacw-prune-cycle/outcomes/03-amend-recreate-worktree.md → 22-prune-cycle/outcomes/3-amend-recreate-worktree.md} +0 -0
  372. /package/RAF/{aaaacw-prune-cycle/plans/01-create-worktree-from-branch.md → 22-prune-cycle/plans/1-create-worktree-from-branch.md} +0 -0
  373. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/decisions.md +0 -0
  374. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/input.md +0 -0
  375. /package/RAF/{aaaacx-epoch-shift/outcomes/01-epoch-id-generation.md → 23-epoch-shift/outcomes/1-epoch-id-generation.md} +0 -0
  376. /package/RAF/{aaaacx-epoch-shift/outcomes/02-update-pattern-matching.md → 23-epoch-shift/outcomes/2-update-pattern-matching.md} +0 -0
  377. /package/RAF/{aaaacx-epoch-shift/outcomes/03-update-tests.md → 23-epoch-shift/outcomes/3-update-tests.md} +0 -0
  378. /package/RAF/{aaaacx-epoch-shift/outcomes/04-update-documentation.md → 23-epoch-shift/outcomes/4-update-documentation.md} +0 -0
  379. /package/RAF/{aaaacx-epoch-shift/plans/01-epoch-id-generation.md → 23-epoch-shift/plans/1-epoch-id-generation.md} +0 -0
  380. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/decisions.md +0 -0
  381. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/input.md +0 -0
  382. /package/RAF/{ahmpro-merge-guardian/outcomes/001-fix-amend-worktree-commit.md → 24-merge-guardian/outcomes/1-fix-amend-worktree-commit.md} +0 -0
  383. /package/RAF/{ahmpro-merge-guardian/outcomes/002-base36-task-ids.md → 24-merge-guardian/outcomes/2-base36-task-ids.md} +0 -0
  384. /package/RAF/{ahmpro-merge-guardian/outcomes/003-worktree-pr-creation.md → 24-merge-guardian/outcomes/3-worktree-pr-creation.md} +0 -0
  385. /package/RAF/{ahmpro-merge-guardian/outcomes/004-post-execution-picker.md → 24-merge-guardian/outcomes/4-post-execution-picker.md} +0 -0
  386. /package/RAF/{ahmpro-merge-guardian/plans/001-fix-amend-worktree-commit.md → 24-merge-guardian/plans/1-fix-amend-worktree-commit.md} +0 -0
  387. /package/RAF/{ahmpro-merge-guardian/plans/002-base36-task-ids.md → 24-merge-guardian/plans/2-base36-task-ids.md} +0 -0
  388. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/decisions.md +0 -0
  389. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/input.md +0 -0
  390. /package/RAF/{ahnbcu-letterjam/outcomes/01-base26-encoding.md → 25-letterjam/outcomes/1-base26-encoding.md} +0 -0
  391. /package/RAF/{ahnbcu-letterjam/outcomes/02-update-tests.md → 25-letterjam/outcomes/2-update-tests.md} +0 -0
  392. /package/RAF/{ahnbcu-letterjam/outcomes/03-migrate-command.md → 25-letterjam/outcomes/3-migrate-command.md} +0 -0
  393. /package/RAF/{ahnbcu-letterjam/outcomes/04-update-documentation.md → 25-letterjam/outcomes/4-update-documentation.md} +0 -0
  394. /package/RAF/{ahnbcu-letterjam/plans/01-base26-encoding.md → 25-letterjam/plans/1-base26-encoding.md} +0 -0
  395. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/decisions.md +0 -0
  396. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/input.md +0 -0
  397. /package/RAF/{ahnwrk-worktree-weaver/outcomes/01-remove-co-authored-by.md → 26-worktree-weaver/outcomes/1-remove-co-authored-by.md} +0 -0
  398. /package/RAF/{ahnwrk-worktree-weaver/outcomes/02-update-task-status-format.md → 26-worktree-weaver/outcomes/2-update-task-status-format.md} +0 -0
  399. /package/RAF/{ahnwrk-worktree-weaver/outcomes/03-worktree-auto-discovery.md → 26-worktree-weaver/outcomes/3-worktree-auto-discovery.md} +0 -0
  400. /package/RAF/{ahnwrk-worktree-weaver/outcomes/04-fix-pr-description.md → 26-worktree-weaver/outcomes/4-fix-pr-description.md} +0 -0
  401. /package/RAF/{ahnwrk-worktree-weaver/plans/01-remove-co-authored-by.md → 26-worktree-weaver/plans/1-remove-co-authored-by.md} +0 -0
  402. /package/RAF/{ahnwrk-worktree-weaver/plans/02-update-task-status-format.md → 26-worktree-weaver/plans/2-update-task-status-format.md} +0 -0
  403. /package/RAF/{ahnwrk-worktree-weaver/plans/03-worktree-auto-discovery.md → 26-worktree-weaver/plans/3-worktree-auto-discovery.md} +0 -0
  404. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/decisions.md +0 -0
  405. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/input.md +0 -0
  406. /package/RAF/{ahrren-turbo-finder/outcomes/01-worktree-auto-detect.md → 27-turbo-finder/outcomes/1-worktree-auto-detect.md} +0 -0
  407. /package/RAF/{ahrren-turbo-finder/outcomes/02-medium-effort-do.md → 27-turbo-finder/outcomes/2-medium-effort-do.md} +0 -0
  408. /package/RAF/{ahrren-turbo-finder/plans/01-worktree-auto-detect.md → 27-turbo-finder/plans/1-worktree-auto-detect.md} +0 -0
  409. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/decisions.md +0 -0
  410. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/input.md +0 -0
  411. /package/RAF/{ahslfe-config-wizard/outcomes/01-define-config-schema.md → 28-config-wizard/outcomes/1-define-config-schema.md} +0 -0
  412. /package/RAF/{ahslfe-config-wizard/outcomes/02-refactor-codebase-to-use-config.md → 28-config-wizard/outcomes/2-refactor-codebase-to-use-config.md} +0 -0
  413. /package/RAF/{ahslfe-config-wizard/outcomes/03-create-config-documentation.md → 28-config-wizard/outcomes/3-create-config-documentation.md} +0 -0
  414. /package/RAF/{ahslfe-config-wizard/outcomes/04-implement-raf-config-command.md → 28-config-wizard/outcomes/4-implement-raf-config-command.md} +0 -0
  415. /package/RAF/{ahslfe-config-wizard/outcomes/05-update-claude-md.md → 28-config-wizard/outcomes/5-update-claude-md.md} +0 -0
  416. /package/RAF/{ahslfe-config-wizard/plans/01-define-config-schema.md → 28-config-wizard/plans/1-define-config-schema.md} +0 -0
  417. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/decisions.md +0 -0
  418. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/input.md +0 -0
  419. /package/RAF/{ahstvo-token-tracker/outcomes/01-full-model-id-support.md → 29-token-tracker/outcomes/1-full-model-id-support.md} +0 -0
  420. /package/RAF/{ahstvo-token-tracker/outcomes/02-name-generation-no-session.md → 29-token-tracker/outcomes/2-name-generation-no-session.md} +0 -0
  421. /package/RAF/{ahstvo-token-tracker/outcomes/03-unify-stream-json-execution.md → 29-token-tracker/outcomes/3-unify-stream-json-execution.md} +0 -0
  422. /package/RAF/{ahstvo-token-tracker/outcomes/04-token-tracking-cost-calculation.md → 29-token-tracker/outcomes/4-token-tracking-cost-calculation.md} +0 -0
  423. /package/RAF/{ahstvo-token-tracker/outcomes/05-token-cost-console-reporting.md → 29-token-tracker/outcomes/5-token-cost-console-reporting.md} +0 -0
  424. /package/RAF/{ahstvo-token-tracker/outcomes/06-runtime-verbose-toggle.md → 29-token-tracker/outcomes/6-runtime-verbose-toggle.md} +0 -0
  425. /package/RAF/{ahstvo-token-tracker/outcomes/07-readme-config-docs.md → 29-token-tracker/outcomes/7-readme-config-docs.md} +0 -0
  426. /package/RAF/{ahstvo-token-tracker/plans/01-full-model-id-support.md → 29-token-tracker/plans/1-full-model-id-support.md} +0 -0
  427. /package/RAF/{ahstvo-token-tracker/plans/02-name-generation-no-session.md → 29-token-tracker/plans/2-name-generation-no-session.md} +0 -0
  428. /package/RAF/{ahstvo-token-tracker/plans/07-readme-config-docs.md → 29-token-tracker/plans/7-readme-config-docs.md} +0 -0
  429. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/decisions/DECISIONS.md +0 -0
  430. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/input.md +0 -0
  431. /package/RAF/{aaaaad-multi-project-execution/outcomes/01-remove-state-json.md → 3-multi-project-execution/outcomes/1-remove-state-json.md} +0 -0
  432. /package/RAF/{aaaaad-multi-project-execution/outcomes/02-update-raf-status.md → 3-multi-project-execution/outcomes/2-update-raf-status.md} +0 -0
  433. /package/RAF/{aaaaad-multi-project-execution/outcomes/03-simplify-git-logic.md → 3-multi-project-execution/outcomes/3-simplify-git-logic.md} +0 -0
  434. /package/RAF/{aaaaad-multi-project-execution/outcomes/04-auto-commit-planning.md → 3-multi-project-execution/outcomes/4-auto-commit-planning.md} +0 -0
  435. /package/RAF/{aaaaad-multi-project-execution/outcomes/05-rerun-failed-tasks.md → 3-multi-project-execution/outcomes/5-rerun-failed-tasks.md} +0 -0
  436. /package/RAF/{aaaaad-multi-project-execution/outcomes/06-multi-project-execution.md → 3-multi-project-execution/outcomes/6-multi-project-execution.md} +0 -0
  437. /package/RAF/{aaaaad-multi-project-execution/outcomes/07-verify-timeout.md → 3-multi-project-execution/outcomes/7-verify-timeout.md} +0 -0
  438. /package/RAF/{aaaaad-multi-project-execution/outcomes/08-move-decisions-file.md → 3-multi-project-execution/outcomes/8-move-decisions-file.md} +0 -0
  439. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/outcomes/SUMMARY.md +0 -0
  440. /package/RAF/{aaaaad-multi-project-execution/plans/01-remove-state-json.md → 3-multi-project-execution/plans/1-remove-state-json.md} +0 -0
  441. /package/RAF/{aaaaad-multi-project-execution/plans/02-update-raf-status.md → 3-multi-project-execution/plans/2-update-raf-status.md} +0 -0
  442. /package/RAF/{aaaaad-multi-project-execution/plans/03-simplify-git-logic.md → 3-multi-project-execution/plans/3-simplify-git-logic.md} +0 -0
  443. /package/RAF/{aaaaad-multi-project-execution/plans/04-auto-commit-planning.md → 3-multi-project-execution/plans/4-auto-commit-planning.md} +0 -0
  444. /package/RAF/{aaaaad-multi-project-execution/plans/05-rerun-failed-tasks.md → 3-multi-project-execution/plans/5-rerun-failed-tasks.md} +0 -0
  445. /package/RAF/{aaaaad-multi-project-execution/plans/06-multi-project-execution.md → 3-multi-project-execution/plans/6-multi-project-execution.md} +0 -0
  446. /package/RAF/{aaaaad-multi-project-execution/plans/07-verify-timeout.md → 3-multi-project-execution/plans/7-verify-timeout.md} +0 -0
  447. /package/RAF/{aaaaad-multi-project-execution/plans/08-move-decisions-file.md → 3-multi-project-execution/plans/8-move-decisions-file.md} +0 -0
  448. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/decisions.md +0 -0
  449. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/input.md +0 -0
  450. /package/RAF/{ahtahs-token-reaper/outcomes/01-extend-token-tracker-data-model.md → 30-token-reaper/outcomes/1-extend-token-tracker-data-model.md} +0 -0
  451. /package/RAF/{ahtahs-token-reaper/outcomes/02-accumulate-usage-in-retry-loop.md → 30-token-reaper/outcomes/2-accumulate-usage-in-retry-loop.md} +0 -0
  452. /package/RAF/{ahtahs-token-reaper/outcomes/03-per-attempt-display-formatting.md → 30-token-reaper/outcomes/3-per-attempt-display-formatting.md} +0 -0
  453. /package/RAF/{ahtahs-token-reaper/outcomes/04-add-model-name-to-claude-call-logs.md → 30-token-reaper/outcomes/4-add-model-name-to-claude-call-logs.md} +0 -0
  454. /package/RAF/{ahtahs-token-reaper/outcomes/05-handle-invalid-config-in-raf-config.md → 30-token-reaper/outcomes/5-handle-invalid-config-in-raf-config.md} +0 -0
  455. /package/RAF/{ahtahs-token-reaper/outcomes/06-fix-verbose-toggle-timer-display.md → 30-token-reaper/outcomes/6-fix-verbose-toggle-timer-display.md} +0 -0
  456. /package/RAF/{ahtahs-token-reaper/plans/01-extend-token-tracker-data-model.md → 30-token-reaper/plans/1-extend-token-tracker-data-model.md} +0 -0
  457. /package/RAF/{ahtahs-token-reaper/plans/04-add-model-name-to-claude-call-logs.md → 30-token-reaper/plans/4-add-model-name-to-claude-call-logs.md} +0 -0
  458. /package/RAF/{ahtahs-token-reaper/plans/05-handle-invalid-config-in-raf-config.md → 30-token-reaper/plans/5-handle-invalid-config-in-raf-config.md} +0 -0
  459. /package/RAF/{ahtahs-token-reaper/plans/06-fix-verbose-toggle-timer-display.md → 30-token-reaper/plans/6-fix-verbose-toggle-timer-display.md} +0 -0
  460. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/decisions.md +0 -0
  461. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/input.md +0 -0
  462. /package/RAF/{ahvrih-rate-forge/outcomes/01-remove-claude-command-config.md → 31-rate-forge/outcomes/1-remove-claude-command-config.md} +0 -0
  463. /package/RAF/{ahvrih-rate-forge/outcomes/02-fix-mixed-attempt-cost.md → 31-rate-forge/outcomes/2-fix-mixed-attempt-cost.md} +0 -0
  464. /package/RAF/{ahvrih-rate-forge/outcomes/03-rate-limit-estimation.md → 31-rate-forge/outcomes/3-rate-limit-estimation.md} +0 -0
  465. /package/RAF/{ahvrih-rate-forge/outcomes/04-show-version-in-do-logs.md → 31-rate-forge/outcomes/4-show-version-in-do-logs.md} +0 -0
  466. /package/RAF/{ahvrih-rate-forge/outcomes/05-sync-main-before-worktree.md → 31-rate-forge/outcomes/5-sync-main-before-worktree.md} +0 -0
  467. /package/RAF/{ahvrih-rate-forge/outcomes/06-sync-readme-with-codebase.md → 31-rate-forge/outcomes/6-sync-readme-with-codebase.md} +0 -0
  468. /package/RAF/{ahvrih-rate-forge/outcomes/07-no-session-persistence.md → 31-rate-forge/outcomes/7-no-session-persistence.md} +0 -0
  469. /package/RAF/{ahvrih-rate-forge/outcomes/08-plan-execution-metadata.md → 31-rate-forge/outcomes/8-plan-execution-metadata.md} +0 -0
  470. /package/RAF/{ahvrih-rate-forge/plans/01-remove-claude-command-config.md → 31-rate-forge/plans/1-remove-claude-command-config.md} +0 -0
  471. /package/RAF/{ahvrih-rate-forge/plans/02-fix-mixed-attempt-cost.md → 31-rate-forge/plans/2-fix-mixed-attempt-cost.md} +0 -0
  472. /package/RAF/{ahvrih-rate-forge/plans/04-show-version-in-do-logs.md → 31-rate-forge/plans/4-show-version-in-do-logs.md} +0 -0
  473. /package/RAF/{ahvrih-rate-forge/plans/05-sync-main-before-worktree.md → 31-rate-forge/plans/5-sync-main-before-worktree.md} +0 -0
  474. /package/RAF/{ahvrih-rate-forge/plans/07-no-session-persistence.md → 31-rate-forge/plans/7-no-session-persistence.md} +0 -0
  475. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/decisions.md +0 -0
  476. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/input.md +0 -0
  477. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/01-fix-name-generation-prompt.md → 32-quick-fix-gremlin/outcomes/1-fix-name-generation-prompt.md} +0 -0
  478. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/02-fix-amend-commit-scope.md → 32-quick-fix-gremlin/outcomes/2-fix-amend-commit-scope.md} +0 -0
  479. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/03-fix-diverged-main-branch-sync.md → 32-quick-fix-gremlin/outcomes/3-fix-diverged-main-branch-sync.md} +0 -0
  480. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/04-wire-rate-limit-to-do-command.md → 32-quick-fix-gremlin/outcomes/4-wire-rate-limit-to-do-command.md} +0 -0
  481. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/05-add-config-get-set-flags.md → 32-quick-fix-gremlin/outcomes/5-add-config-get-set-flags.md} +0 -0
  482. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/06-sync-worktree-branch-before-execution.md → 32-quick-fix-gremlin/outcomes/6-sync-worktree-branch-before-execution.md} +0 -0
  483. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/07-update-frontmatter-format.md → 32-quick-fix-gremlin/outcomes/7-update-frontmatter-format.md} +0 -0
  484. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/08-remove-plan-token-report.md → 32-quick-fix-gremlin/outcomes/8-remove-plan-token-report.md} +0 -0
  485. /package/RAF/{ahwidh-quick-fix-gremlin/plans/01-fix-name-generation-prompt.md → 32-quick-fix-gremlin/plans/1-fix-name-generation-prompt.md} +0 -0
  486. /package/RAF/{ahwidh-quick-fix-gremlin/plans/02-fix-amend-commit-scope.md → 32-quick-fix-gremlin/plans/2-fix-amend-commit-scope.md} +0 -0
  487. /package/RAF/{ahwidh-quick-fix-gremlin/plans/03-fix-diverged-main-branch-sync.md → 32-quick-fix-gremlin/plans/3-fix-diverged-main-branch-sync.md} +0 -0
  488. /package/RAF/{ahwidh-quick-fix-gremlin/plans/04-wire-rate-limit-to-do-command.md → 32-quick-fix-gremlin/plans/4-wire-rate-limit-to-do-command.md} +0 -0
  489. /package/RAF/{ahwidh-quick-fix-gremlin/plans/05-add-config-get-set-flags.md → 32-quick-fix-gremlin/plans/5-add-config-get-set-flags.md} +0 -0
  490. /package/RAF/{ahwidh-quick-fix-gremlin/plans/07-update-frontmatter-format.md → 32-quick-fix-gremlin/plans/7-update-frontmatter-format.md} +0 -0
  491. /package/RAF/{ahwidh-quick-fix-gremlin/plans/08-remove-plan-token-report.md → 32-quick-fix-gremlin/plans/8-remove-plan-token-report.md} +0 -0
  492. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/decisions.md +0 -0
  493. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/input.md +0 -0
  494. /package/RAF/{ahwqwq-model-whisperer/outcomes/01-show-model-on-task-line.md → 33-model-whisperer/outcomes/1-show-model-on-task-line.md} +0 -0
  495. /package/RAF/{ahwqwq-model-whisperer/outcomes/02-use-claude-cost-estimation.md → 33-model-whisperer/outcomes/2-use-claude-cost-estimation.md} +0 -0
  496. /package/RAF/{ahwqwq-model-whisperer/outcomes/03-add-plan-resume-flag.md → 33-model-whisperer/outcomes/3-add-plan-resume-flag.md} +0 -0
  497. /package/RAF/{ahwqwq-model-whisperer/plans/01-show-model-on-task-line.md → 33-model-whisperer/plans/1-show-model-on-task-line.md} +0 -0
  498. /package/RAF/{ahwqwq-model-whisperer/plans/02-use-claude-cost-estimation.md → 33-model-whisperer/plans/2-use-claude-cost-estimation.md} +0 -0
  499. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/decisions.md +0 -0
  500. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/input.md +0 -0
  501. /package/RAF/{ahwvrz-legacy-sunset/outcomes/01-remove-migrate-command.md → 34-legacy-sunset/outcomes/1-remove-migrate-command.md} +0 -0
  502. /package/RAF/{ahwvrz-legacy-sunset/outcomes/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/outcomes/2-fix-resume-worktree-resolution.md} +0 -0
  503. /package/RAF/{ahwvrz-legacy-sunset/plans/01-remove-migrate-command.md → 34-legacy-sunset/plans/1-remove-migrate-command.md} +0 -0
  504. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/decisions.md +0 -0
  505. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/input.md +0 -0
  506. /package/RAF/{ahwzmc-echo-forge/outcomes/01-change-low-effort-default-to-sonnet.md → 35-echo-forge/outcomes/1-change-low-effort-default-to-sonnet.md} +0 -0
  507. /package/RAF/{ahwzmc-echo-forge/outcomes/02-add-no-worktree-flag.md → 35-echo-forge/outcomes/2-add-no-worktree-flag.md} +0 -0
  508. /package/RAF/{ahwzmc-echo-forge/outcomes/03-update-readme.md → 35-echo-forge/outcomes/3-update-readme.md} +0 -0
  509. /package/RAF/{ahwzmc-echo-forge/plans/01-change-low-effort-default-to-sonnet.md → 35-echo-forge/plans/1-change-low-effort-default-to-sonnet.md} +0 -0
  510. /package/RAF/{ahwzmc-echo-forge/plans/02-add-no-worktree-flag.md → 35-echo-forge/plans/2-add-no-worktree-flag.md} +0 -0
  511. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/decisions.md +0 -0
  512. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/input.md +0 -0
  513. /package/RAF/{aifqwf-fix-amend-commit-again/outcomes/01-update-effort-mapping-defaults.md → 36-fix-amend-commit-again/outcomes/1-update-effort-mapping-defaults.md} +0 -0
  514. /package/RAF/{aifqwf-fix-amend-commit-again/outcomes/02-fix-amend-worktree-commit.md → 36-fix-amend-commit-again/outcomes/2-fix-amend-worktree-commit.md} +0 -0
  515. /package/RAF/{aifqwf-fix-amend-commit-again/plans/01-update-effort-mapping-defaults.md → 36-fix-amend-commit-again/plans/1-update-effort-mapping-defaults.md} +0 -0
  516. /package/RAF/{aifqwf-fix-amend-commit-again/plans/02-fix-amend-worktree-commit.md → 36-fix-amend-commit-again/plans/2-fix-amend-worktree-commit.md} +0 -0
  517. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/decisions.md +0 -0
  518. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/input.md +0 -0
  519. /package/RAF/{aaaaae-task-naming-optimization/outcomes/01-remove-summary-file.md → 4-task-naming-optimization/outcomes/1-remove-summary-file.md} +0 -0
  520. /package/RAF/{aaaaae-task-naming-optimization/outcomes/02-base36-project-numbering.md → 4-task-naming-optimization/outcomes/2-base36-project-numbering.md} +0 -0
  521. /package/RAF/{aaaaae-task-naming-optimization/outcomes/03-improve-haiku-prompt.md → 4-task-naming-optimization/outcomes/3-improve-haiku-prompt.md} +0 -0
  522. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/outcomes/SUMMARY.md +0 -0
  523. /package/RAF/{aaaaae-task-naming-optimization/plans/01-remove-summary-file.md → 4-task-naming-optimization/plans/1-remove-summary-file.md} +0 -0
  524. /package/RAF/{aaaaae-task-naming-optimization/plans/02-base36-project-numbering.md → 4-task-naming-optimization/plans/2-base36-project-numbering.md} +0 -0
  525. /package/RAF/{aaaaae-task-naming-optimization/plans/03-improve-haiku-prompt.md → 4-task-naming-optimization/plans/3-improve-haiku-prompt.md} +0 -0
  526. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/decisions.md +0 -0
  527. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/input.md +0 -0
  528. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/01-enhance-identifier-resolution.md → 5-task-naming-improvements/outcomes/1-enhance-identifier-resolution.md} +0 -0
  529. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/02-add-identifier-support-to-status.md → 5-task-naming-improvements/outcomes/2-add-identifier-support-to-status.md} +0 -0
  530. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/03-update-do-for-full-folder-names.md → 5-task-naming-improvements/outcomes/3-update-do-for-full-folder-names.md} +0 -0
  531. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/04-implement-amend-flag-for-plan.md → 5-task-naming-improvements/outcomes/4-implement-amend-flag-for-plan.md} +0 -0
  532. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/05-commit-outcomes-on-complete.md → 5-task-naming-improvements/outcomes/5-commit-outcomes-on-complete.md} +0 -0
  533. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/06-update-execution-prompt-commit-schema.md → 5-task-naming-improvements/outcomes/6-update-execution-prompt-commit-schema.md} +0 -0
  534. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/07-allow-pending-task-amendments.md → 5-task-naming-improvements/outcomes/7-allow-pending-task-amendments.md} +0 -0
  535. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/08-fix-timeout-label.md → 5-task-naming-improvements/outcomes/8-fix-timeout-label.md} +0 -0
  536. /package/RAF/{aaaaaf-task-naming-improvements/plans/01-enhance-identifier-resolution.md → 5-task-naming-improvements/plans/1-enhance-identifier-resolution.md} +0 -0
  537. /package/RAF/{aaaaaf-task-naming-improvements/plans/02-add-identifier-support-to-status.md → 5-task-naming-improvements/plans/2-add-identifier-support-to-status.md} +0 -0
  538. /package/RAF/{aaaaaf-task-naming-improvements/plans/03-update-do-for-full-folder-names.md → 5-task-naming-improvements/plans/3-update-do-for-full-folder-names.md} +0 -0
  539. /package/RAF/{aaaaaf-task-naming-improvements/plans/04-implement-amend-flag-for-plan.md → 5-task-naming-improvements/plans/4-implement-amend-flag-for-plan.md} +0 -0
  540. /package/RAF/{aaaaaf-task-naming-improvements/plans/05-commit-outcomes-on-complete.md → 5-task-naming-improvements/plans/5-commit-outcomes-on-complete.md} +0 -0
  541. /package/RAF/{aaaaaf-task-naming-improvements/plans/06-update-execution-prompt-commit-schema.md → 5-task-naming-improvements/plans/6-update-execution-prompt-commit-schema.md} +0 -0
  542. /package/RAF/{aaaaaf-task-naming-improvements/plans/07-allow-pending-task-amendments.md → 5-task-naming-improvements/plans/7-allow-pending-task-amendments.md} +0 -0
  543. /package/RAF/{aaaaaf-task-naming-improvements/plans/08-fix-timeout-label.md → 5-task-naming-improvements/plans/8-fix-timeout-label.md} +0 -0
  544. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/decisions.md +0 -0
  545. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/input.md +0 -0
  546. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/01-fix-double-summary-headers.md → 6-fix-double-summary-headers/outcomes/1-fix-double-summary-headers.md} +0 -0
  547. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/02-update-readme-for-npm.md → 6-fix-double-summary-headers/outcomes/2-update-readme-for-npm.md} +0 -0
  548. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/03-npm-publish-instructions.md → 6-fix-double-summary-headers/outcomes/3-npm-publish-instructions.md} +0 -0
  549. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/04-flexible-project-lookup.md → 6-fix-double-summary-headers/outcomes/4-flexible-project-lookup.md} +0 -0
  550. /package/RAF/{aaaaag-fix-double-summary-headers/plans/01-fix-double-summary-headers.md → 6-fix-double-summary-headers/plans/1-fix-double-summary-headers.md} +0 -0
  551. /package/RAF/{aaaaag-fix-double-summary-headers/plans/02-update-readme-for-npm.md → 6-fix-double-summary-headers/plans/2-update-readme-for-npm.md} +0 -0
  552. /package/RAF/{aaaaag-fix-double-summary-headers/plans/03-npm-publish-instructions.md → 6-fix-double-summary-headers/plans/3-npm-publish-instructions.md} +0 -0
  553. /package/RAF/{aaaaag-fix-double-summary-headers/plans/04-flexible-project-lookup.md → 6-fix-double-summary-headers/plans/4-flexible-project-lookup.md} +0 -0
  554. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/decisions.md +0 -0
  555. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/input.md +0 -0
  556. /package/RAF/{aaaaah-improve-outcome-format/outcomes/01-update-execution-prompt.md → 7-improve-outcome-format/outcomes/1-update-execution-prompt.md} +0 -0
  557. /package/RAF/{aaaaah-improve-outcome-format/outcomes/02-update-state-derivation.md → 7-improve-outcome-format/outcomes/2-update-state-derivation.md} +0 -0
  558. /package/RAF/{aaaaah-improve-outcome-format/outcomes/03-update-do-command-outcome-handling.md → 7-improve-outcome-format/outcomes/3-update-do-command-outcome-handling.md} +0 -0
  559. /package/RAF/{aaaaah-improve-outcome-format/outcomes/04-implement-failure-analysis.md → 7-improve-outcome-format/outcomes/4-implement-failure-analysis.md} +0 -0
  560. /package/RAF/{aaaaah-improve-outcome-format/outcomes/05-update-documentation.md → 7-improve-outcome-format/outcomes/5-update-documentation.md} +0 -0
  561. /package/RAF/{aaaaah-improve-outcome-format/plans/01-update-execution-prompt.md → 7-improve-outcome-format/plans/1-update-execution-prompt.md} +0 -0
  562. /package/RAF/{aaaaah-improve-outcome-format/plans/02-update-state-derivation.md → 7-improve-outcome-format/plans/2-update-state-derivation.md} +0 -0
  563. /package/RAF/{aaaaah-improve-outcome-format/plans/03-update-do-command-outcome-handling.md → 7-improve-outcome-format/plans/3-update-do-command-outcome-handling.md} +0 -0
  564. /package/RAF/{aaaaah-improve-outcome-format/plans/04-implement-failure-analysis.md → 7-improve-outcome-format/plans/4-implement-failure-analysis.md} +0 -0
  565. /package/RAF/{aaaaah-improve-outcome-format/plans/05-update-documentation.md → 7-improve-outcome-format/plans/5-update-documentation.md} +0 -0
  566. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/decisions.md +0 -0
  567. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/input.md +0 -0
  568. /package/RAF/{aaaaai-beautiful-do/outcomes/01-terminal-symbols.md → 8-beautiful-do/outcomes/1-terminal-symbols.md} +0 -0
  569. /package/RAF/{aaaaai-beautiful-do/outcomes/02-refactor-do-output.md → 8-beautiful-do/outcomes/2-refactor-do-output.md} +0 -0
  570. /package/RAF/{aaaaai-beautiful-do/outcomes/03-refactor-status-output.md → 8-beautiful-do/outcomes/3-refactor-status-output.md} +0 -0
  571. /package/RAF/{aaaaai-beautiful-do/outcomes/04-simplify-logger.md → 8-beautiful-do/outcomes/4-simplify-logger.md} +0 -0
  572. /package/RAF/{aaaaai-beautiful-do/outcomes/05-add-tests.md → 8-beautiful-do/outcomes/5-add-tests.md} +0 -0
  573. /package/RAF/{aaaaai-beautiful-do/plans/01-terminal-symbols.md → 8-beautiful-do/plans/1-terminal-symbols.md} +0 -0
  574. /package/RAF/{aaaaai-beautiful-do/plans/02-refactor-do-output.md → 8-beautiful-do/plans/2-refactor-do-output.md} +0 -0
  575. /package/RAF/{aaaaai-beautiful-do/plans/03-refactor-status-output.md → 8-beautiful-do/plans/3-refactor-status-output.md} +0 -0
  576. /package/RAF/{aaaaai-beautiful-do/plans/04-simplify-logger.md → 8-beautiful-do/plans/4-simplify-logger.md} +0 -0
  577. /package/RAF/{aaaaai-beautiful-do/plans/05-add-tests.md → 8-beautiful-do/plans/5-add-tests.md} +0 -0
  578. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/decisions.md +0 -0
  579. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/input.md +0 -0
  580. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/01-model-override.md → 9-system-promt-ammend/outcomes/1-model-override.md} +0 -0
  581. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/02-system-prompt-append.md → 9-system-promt-ammend/outcomes/2-system-prompt-append.md} +0 -0
  582. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/03-retry-context.md → 9-system-promt-ammend/outcomes/3-retry-context.md} +0 -0
  583. /package/RAF/{aaaaaj-system-promt-ammend/plans/01-model-override.md → 9-system-promt-ammend/plans/1-model-override.md} +0 -0
  584. /package/RAF/{aaaaaj-system-promt-ammend/plans/02-system-prompt-append.md → 9-system-promt-ammend/plans/2-system-prompt-append.md} +0 -0
  585. /package/RAF/{aaaaaj-system-promt-ammend/plans/03-retry-context.md → 9-system-promt-ammend/plans/3-retry-context.md} +0 -0
@@ -1,8 +1,9 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import { Command } from 'commander';
4
+ import { select } from '@inquirer/prompts';
4
5
  import { ProjectManager } from '../core/project-manager.js';
5
- import { ClaudeRunner } from '../core/claude-runner.js';
6
+ import { createRunner } from '../core/runner-factory.js';
6
7
  import { openEditor, getInputTemplate } from '../core/editor.js';
7
8
  import { shutdownHandler } from '../core/shutdown-handler.js';
8
9
  import { commitPlanningArtifacts } from '../core/git.js';
@@ -23,7 +24,6 @@ import {
23
24
  getRafDir,
24
25
  getNextProjectNumber,
25
26
  formatProjectNumber,
26
- resolveProjectIdentifier,
27
27
  resolveProjectIdentifierWithDetails,
28
28
  getInputPath,
29
29
  getDecisionsPath,
@@ -32,6 +32,7 @@ import {
32
32
  decodeTaskId,
33
33
  encodeTaskId,
34
34
  TASK_ID_PATTERN,
35
+ numericFileSort,
35
36
  } from '../utils/paths.js';
36
37
  import { sanitizeProjectName } from '../utils/validation.js';
37
38
  import {
@@ -43,11 +44,8 @@ import {
43
44
  getRepoBasename,
44
45
  getRepoRoot,
45
46
  createWorktree,
46
- createWorktreeFromBranch,
47
- branchExists,
48
47
  validateWorktree,
49
48
  removeWorktree,
50
- computeWorktreeBaseDir,
51
49
  pullMainBranch,
52
50
  resolveWorktreeProjectByIdentifier,
53
51
  } from '../core/worktree.js';
@@ -59,22 +57,24 @@ interface PlanCommandOptions {
59
57
  auto?: boolean;
60
58
  worktree?: boolean;
61
59
  resume?: string;
60
+ provider?: string;
62
61
  }
63
62
 
64
63
  export function createPlanCommand(): Command {
65
64
  const command = new Command('plan')
66
- .description('Create a new project and interactively plan tasks with Claude')
65
+ .description('Create a new project and interactively plan tasks')
67
66
  .argument('[projectName]', 'Optional project name (will be prompted if not provided)')
68
67
  .option(
69
68
  '-a, --amend',
70
69
  'Add tasks to an existing project (requires project identifier as argument)'
71
70
  )
72
- .option('-m, --model <name>', 'Claude model to use (sonnet, haiku, opus)')
71
+ .option('-m, --model <name>', 'Model to use (sonnet, haiku, opus)')
73
72
  .option('--sonnet', 'Use Sonnet model (shorthand for --model sonnet)')
74
- .option('-y, --auto', "Skip Claude's permission prompts for file operations")
73
+ .option('-y, --auto', 'Skip permission prompts for file operations')
75
74
  .option('-w, --worktree', 'Create a git worktree for isolated planning')
76
75
  .option('--no-worktree', 'Disable worktree mode (overrides config)')
77
76
  .option('-r, --resume <identifier>', 'Resume a planning session for an existing project')
77
+ .option('-p, --provider <provider>', 'CLI provider to use (claude, codex)')
78
78
  .action(async (projectName: string | undefined, options: PlanCommandOptions) => {
79
79
  // Validate and resolve model option
80
80
  let model: string;
@@ -88,8 +88,10 @@ export function createPlanCommand(): Command {
88
88
  const autoMode = options.auto ?? false;
89
89
  const worktreeMode = options.worktree ?? getWorktreeDefault();
90
90
 
91
+ const provider = options.provider as import('../types/config.js').HarnessProvider | undefined;
92
+
91
93
  if (options.resume) {
92
- await runResumeCommand(options.resume, model);
94
+ await runResumeCommand(options.resume, model, provider);
93
95
  } else if (options.amend) {
94
96
  if (!projectName) {
95
97
  logger.error('--amend requires a project identifier');
@@ -97,16 +99,16 @@ export function createPlanCommand(): Command {
97
99
  logger.error(' or: raf plan --amend <project>');
98
100
  process.exit(1);
99
101
  }
100
- await runAmendCommand(projectName, model, autoMode, worktreeMode);
102
+ await runAmendCommand(projectName, model, autoMode, provider);
101
103
  } else {
102
- await runPlanCommand(projectName, model, autoMode, worktreeMode);
104
+ await runPlanCommand(projectName, model, autoMode, worktreeMode, provider);
103
105
  }
104
106
  });
105
107
 
106
108
  return command;
107
109
  }
108
110
 
109
- async function runPlanCommand(projectName?: string, model?: string, autoMode: boolean = false, worktreeMode: boolean = false): Promise<void> {
111
+ async function runPlanCommand(projectName?: string, model?: string, autoMode: boolean = false, worktreeMode: boolean = false, provider?: import('../types/config.js').HarnessProvider): Promise<void> {
110
112
  // Validate environment
111
113
  const validation = validateEnvironment();
112
114
  reportValidation(validation);
@@ -116,13 +118,46 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
116
118
  }
117
119
 
118
120
  // Check if project name matches an existing project
121
+ // This runs even in auto mode — silently duplicating a project is worse than interrupting
119
122
  if (projectName) {
120
123
  const rafDir = getRafDir();
121
- const existingProject = resolveProjectIdentifier(rafDir, projectName);
122
- if (existingProject) {
123
- logger.error(`Project already exists: ${existingProject}`);
124
- logger.error(`To add tasks to an existing project, use: raf plan --amend ${projectName}`);
125
- process.exit(1);
124
+ const mainResult = resolveProjectIdentifierWithDetails(rafDir, projectName);
125
+
126
+ let existingFolder: string | null = null;
127
+
128
+ if (mainResult.path) {
129
+ existingFolder = path.basename(mainResult.path);
130
+ } else {
131
+ const repoBasename = getRepoBasename();
132
+ if (repoBasename) {
133
+ const wtResult = resolveWorktreeProjectByIdentifier(repoBasename, projectName);
134
+ if (wtResult) {
135
+ existingFolder = wtResult.folder;
136
+ }
137
+ }
138
+ }
139
+
140
+ if (existingFolder) {
141
+ const numMatch = existingFolder.match(/^(\d+)-/);
142
+ const projectId = numMatch ? numMatch[1] : existingFolder;
143
+
144
+ const answer = await select({
145
+ message: `Project '${projectName}' already exists (ID: ${projectId}). Did you want to amend it?`,
146
+ choices: [
147
+ { name: 'Yes, amend it', value: 'amend' },
148
+ { name: 'No, create a new project', value: 'create' },
149
+ { name: 'Cancel', value: 'cancel' },
150
+ ],
151
+ });
152
+
153
+ if (answer === 'amend') {
154
+ await runAmendCommand(existingFolder, model, autoMode, provider);
155
+ return;
156
+ } else if (answer === 'cancel') {
157
+ logger.info('Aborted.');
158
+ process.exit(0);
159
+ }
160
+ // 'create': fall through to normal project creation
126
161
  }
127
162
  }
128
163
 
@@ -204,8 +239,8 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
204
239
  }
205
240
  }
206
241
 
207
- // Compute project number from main repo's RAF directory
208
- const projectNumber = getNextProjectNumber(rafDir);
242
+ // Compute project number from main repo's RAF directory (scan worktrees too)
243
+ const projectNumber = getNextProjectNumber(rafDir, repoBasename);
209
244
  const sanitizedName = sanitizeProjectName(finalProjectName);
210
245
  const folderName = `${formatProjectNumber(projectNumber)}-${sanitizedName}`;
211
246
 
@@ -249,7 +284,7 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
249
284
  }
250
285
 
251
286
  // Set up shutdown handler
252
- const claudeRunner = new ClaudeRunner({ model });
287
+ const claudeRunner = createRunner({ model, provider });
253
288
  shutdownHandler.init();
254
289
  shutdownHandler.registerClaudeRunner(claudeRunner);
255
290
 
@@ -275,8 +310,8 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
275
310
  });
276
311
 
277
312
  // Run planning session
278
- logger.info('Starting planning session with Claude...');
279
- logger.info('Claude will interview you about each task.');
313
+ logger.info('Starting planning session...');
314
+ logger.info('The planner will interview you about each task.');
280
315
  if (model) {
281
316
  logger.info(`Using model: ${model}`);
282
317
  }
@@ -294,18 +329,18 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
294
329
  try {
295
330
  const exitCode = await claudeRunner.runInteractive(systemPrompt, userMessage, {
296
331
  dangerouslySkipPermissions: autoMode,
297
- // Run Claude session in the worktree root if in worktree mode
332
+ // Run session in the worktree root if in worktree mode
298
333
  cwd: worktreePath ?? undefined,
299
334
  });
300
335
 
301
336
  if (exitCode !== 0) {
302
- logger.warn(`Claude exited with code ${exitCode}`);
337
+ logger.warn(`Process exited with code ${exitCode}`);
303
338
  }
304
339
 
305
340
  // Check for created plan files
306
341
  const plansDir = getPlansDir(projectPath);
307
342
  const planFiles = fs.existsSync(plansDir)
308
- ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort()
343
+ ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort(numericFileSort)
309
344
  : [];
310
345
 
311
346
  if (planFiles.length === 0) {
@@ -330,7 +365,7 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
330
365
  if (worktreeMode) {
331
366
  logger.info(`Worktree: ${worktreePath}`);
332
367
  logger.info(`Branch: ${worktreeBranch}`);
333
- logger.info(`Run 'raf do ${finalProjectName} --worktree' to execute the plans.`);
368
+ logger.info(`Run 'raf do ${finalProjectName}' to execute the plans.`);
334
369
  } else {
335
370
  logger.info(`Run 'raf do ${finalProjectName}' to execute the plans.`);
336
371
  }
@@ -360,7 +395,7 @@ async function runPlanCommand(projectName?: string, model?: string, autoMode: bo
360
395
  }
361
396
  }
362
397
 
363
- async function runAmendCommand(identifier: string, model?: string, autoMode: boolean = false, worktreeMode: boolean = false): Promise<void> {
398
+ async function runAmendCommand(identifier: string, model?: string, autoMode: boolean = false, provider?: import('../types/config.js').HarnessProvider): Promise<void> {
364
399
  // Validate environment
365
400
  const validation = validateEnvironment();
366
401
  reportValidation(validation);
@@ -369,112 +404,26 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
369
404
  process.exit(1);
370
405
  }
371
406
 
407
+ // Auto-detect project location: check worktrees first, then main repo
372
408
  let worktreePath: string | null = null;
373
- let projectPath: string;
374
-
375
- if (worktreeMode) {
376
- // Worktree mode: resolve project from worktree directory
377
- const repoBasename = getRepoBasename();
378
- if (!repoBasename) {
379
- logger.error('--worktree requires a git repository');
380
- process.exit(1);
381
- }
382
-
383
- const repoRoot = getRepoRoot()!;
384
- const rafDir = getRafDir();
385
- const rafRelativePath = path.relative(repoRoot, rafDir);
386
-
387
- const worktreeBaseDir = computeWorktreeBaseDir(repoBasename);
388
-
389
- // Search through existing worktree directories for the project
390
- let matchedWorktreeDir: string | null = null;
391
- let matchedProjectPath: string | null = null;
392
-
393
- if (fs.existsSync(worktreeBaseDir)) {
394
- const entries = fs.readdirSync(worktreeBaseDir, { withFileTypes: true });
395
-
396
- for (const entry of entries) {
397
- if (!entry.isDirectory()) continue;
398
- const wtPath = path.join(worktreeBaseDir, entry.name);
399
- const wtRafDir = path.join(wtPath, rafRelativePath);
400
- if (!fs.existsSync(wtRafDir)) continue;
401
-
402
- const resolution = resolveProjectIdentifierWithDetails(wtRafDir, identifier);
403
- if (resolution.path) {
404
- if (matchedWorktreeDir) {
405
- logger.error(`Ambiguous: project "${identifier}" found in multiple worktrees`);
406
- process.exit(1);
407
- }
408
- matchedWorktreeDir = wtPath;
409
- matchedProjectPath = resolution.path;
410
- }
411
- }
412
- }
413
-
414
- if (!matchedWorktreeDir || !matchedProjectPath) {
415
- // Worktree not found — try to recreate it
416
- // First, resolve the project from the main repo to get the folder name
417
- const mainResolution = resolveProjectIdentifierWithDetails(rafDir, identifier);
418
- if (!mainResolution.path) {
419
- logger.error(`Project not found in any worktree or main repo: ${identifier}`);
420
- logger.error(`Searched in: ${worktreeBaseDir}`);
421
- process.exit(1);
422
- }
423
-
424
- const folderName = path.basename(mainResolution.path);
409
+ let projectPath: string | undefined;
425
410
 
426
- if (branchExists(folderName)) {
427
- // Branch exists — recreate worktree from it
428
- const result = createWorktreeFromBranch(repoBasename, folderName);
429
- if (!result.success) {
430
- logger.error(`Failed to recreate worktree from branch: ${result.error}`);
431
- process.exit(1);
432
- }
433
- matchedWorktreeDir = result.worktreePath;
434
- matchedProjectPath = path.join(result.worktreePath, rafRelativePath, folderName);
435
- logger.info(`Recreated worktree from branch: ${folderName}`);
436
- } else {
437
- // No branch — create fresh worktree and copy project files
438
- // Sync main branch before creating worktree (if enabled)
439
- if (getSyncMainBranch()) {
440
- const syncResult = pullMainBranch();
441
- if (syncResult.success) {
442
- if (syncResult.hadChanges) {
443
- logger.info(`Synced ${syncResult.mainBranch} from remote`);
444
- }
445
- } else {
446
- logger.warn(`Could not sync main branch: ${syncResult.error}`);
447
- }
448
- }
411
+ const repoBasename = getRepoBasename();
412
+ const rafDir = getRafDir();
449
413
 
450
- const result = createWorktree(repoBasename, folderName);
451
- if (!result.success) {
452
- logger.error(`Failed to create worktree: ${result.error}`);
453
- process.exit(1);
454
- }
455
- matchedWorktreeDir = result.worktreePath;
456
- const wtProjectPath = path.join(result.worktreePath, rafRelativePath, folderName);
457
- // Copy project folder from main repo into the new worktree
458
- fs.cpSync(mainResolution.path, wtProjectPath, { recursive: true });
459
- matchedProjectPath = wtProjectPath;
460
- logger.info(`Created fresh worktree and copied project files: ${folderName}`);
461
- }
414
+ // 1. Try worktree resolution first (if we're in a git repo)
415
+ if (repoBasename) {
416
+ const wtResult = resolveWorktreeProjectByIdentifier(repoBasename, identifier);
417
+ if (wtResult) {
418
+ const repoRoot = getRepoRoot()!;
419
+ const rafRelativePath = path.relative(repoRoot, rafDir);
420
+ worktreePath = wtResult.worktreeRoot;
421
+ projectPath = path.join(wtResult.worktreeRoot, rafRelativePath, wtResult.folder);
462
422
  }
423
+ }
463
424
 
464
- worktreePath = matchedWorktreeDir;
465
- projectPath = matchedProjectPath;
466
-
467
- // Validate the worktree is valid
468
- const relProjectPath = path.relative(worktreePath, projectPath);
469
- const wtValidation = validateWorktree(worktreePath, relProjectPath);
470
- if (!wtValidation.isValidWorktree) {
471
- logger.error(`Invalid worktree at: ${worktreePath}`);
472
- logger.error('The worktree may have been removed or corrupted.');
473
- process.exit(1);
474
- }
475
- } else {
476
- // Standard mode: resolve from main repo
477
- const rafDir = getRafDir();
425
+ // 2. Fall back to main repo
426
+ if (!projectPath) {
478
427
  const resolution = resolveProjectIdentifierWithDetails(rafDir, identifier);
479
428
 
480
429
  if (!resolution.path) {
@@ -518,7 +467,7 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
518
467
  }
519
468
  );
520
469
 
521
- // Calculate next task number (decode base36 task IDs)
470
+ // Calculate next task number (numeric task IDs)
522
471
  const maxTaskNumber = Math.max(
523
472
  ...projectState.tasks.map((t) => decodeTaskId(t.id) ?? 0)
524
473
  );
@@ -533,7 +482,7 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
533
482
  // Show existing tasks summary
534
483
  logger.info('Amending existing project:');
535
484
  logger.info(` Path: ${projectPath}`);
536
- if (worktreeMode && worktreePath) {
485
+ if (worktreePath) {
537
486
  logger.info(` Worktree: ${worktreePath}`);
538
487
  }
539
488
  logger.info(` Existing tasks: ${existingTasks.length}`);
@@ -579,13 +528,13 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
579
528
  fs.writeFileSync(inputPath, updatedInput);
580
529
 
581
530
  // Set up shutdown handler
582
- const claudeRunner = new ClaudeRunner({ model });
531
+ const claudeRunner = createRunner({ model, provider });
583
532
  shutdownHandler.init();
584
533
  shutdownHandler.registerClaudeRunner(claudeRunner);
585
534
 
586
535
  // Run amend planning session
587
- logger.info('Starting amendment session with Claude...');
588
- logger.info('Claude will interview you about each new task.');
536
+ logger.info('Starting amendment session...');
537
+ logger.info('The planner will interview you about each new task.');
589
538
  if (model) {
590
539
  logger.info(`Using model: ${model}`);
591
540
  }
@@ -599,23 +548,22 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
599
548
  existingTasks,
600
549
  nextTaskNumber,
601
550
  newTaskDescription: cleanInput,
602
- worktreeMode,
603
551
  });
604
552
 
605
553
  try {
606
554
  const exitCode = await claudeRunner.runInteractive(systemPrompt, userMessage, {
607
555
  dangerouslySkipPermissions: autoMode,
608
- // Run Claude session in the worktree root if in worktree mode
556
+ // Run session in the worktree root if in worktree mode
609
557
  cwd: worktreePath ?? undefined,
610
558
  });
611
559
 
612
560
  if (exitCode !== 0) {
613
- logger.warn(`Claude exited with code ${exitCode}`);
561
+ logger.warn(`Process exited with code ${exitCode}`);
614
562
  }
615
563
 
616
564
  // Check for new plan files
617
565
  const allPlanFiles = fs.existsSync(plansDir)
618
- ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort()
566
+ ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort(numericFileSort)
619
567
  : [];
620
568
 
621
569
  const newPlanFiles = allPlanFiles.filter((f) => {
@@ -636,22 +584,21 @@ async function runAmendCommand(identifier: string, model?: string, autoMode: boo
636
584
  for (const planFile of newPlanFiles) {
637
585
  logger.info(` - plans/${planFile}`);
638
586
  }
587
+ }
639
588
 
640
- // Commit planning artifacts (input.md, decisions.md, and new plan files)
641
- const newPlanAbsolutePaths = newPlanFiles.map((f) => path.join(plansDir, f));
642
- await commitPlanningArtifacts(projectPath, {
643
- cwd: worktreePath ?? undefined,
644
- isAmend: true,
645
- additionalFiles: newPlanAbsolutePaths,
646
- });
589
+ // Commit planning artifacts (input.md, decisions.md, and all plan files)
590
+ // Always attempt commit even without new plans, existing files may have been updated
591
+ const allPlanAbsolutePaths = allPlanFiles.map((f) => path.join(plansDir, f));
592
+ await commitPlanningArtifacts(projectPath, {
593
+ cwd: worktreePath ?? undefined,
594
+ isAmend: true,
595
+ additionalFiles: allPlanAbsolutePaths,
596
+ });
647
597
 
598
+ if (newPlanFiles.length > 0) {
648
599
  logger.newline();
649
600
  logger.info(`Total tasks: ${allPlanFiles.length}`);
650
- if (worktreeMode) {
651
- logger.info(`Run 'raf do ${identifier} --worktree' to execute the new tasks.`);
652
- } else {
653
- logger.info(`Run 'raf do ${identifier}' to execute the new tasks.`);
654
- }
601
+ logger.info(`Run 'raf do ${identifier}' to execute the new tasks.`);
655
602
  }
656
603
  } catch (error) {
657
604
  logger.error(`Amendment failed: ${error}`);
@@ -689,7 +636,7 @@ ${taskList}
689
636
  `;
690
637
  }
691
638
 
692
- async function runResumeCommand(identifier: string, model?: string): Promise<void> {
639
+ async function runResumeCommand(identifier: string, model?: string, provider?: import('../types/config.js').HarnessProvider): Promise<void> {
693
640
  // Validate environment
694
641
  const validation = validateEnvironment();
695
642
  reportValidation(validation);
@@ -759,25 +706,25 @@ async function runResumeCommand(identifier: string, model?: string): Promise<voi
759
706
  logger.newline();
760
707
 
761
708
  // Set up shutdown handler
762
- const claudeRunner = new ClaudeRunner({ model });
709
+ const claudeRunner = createRunner({ model, provider });
763
710
  shutdownHandler.init();
764
711
  shutdownHandler.registerClaudeRunner(claudeRunner);
765
712
 
766
- // Launch Claude's resume picker
767
- logger.info('Starting Claude session resume picker...');
713
+ // Launch session resume picker
714
+ logger.info('Starting session resume picker...');
768
715
  logger.newline();
769
716
 
770
717
  try {
771
718
  const exitCode = await claudeRunner.runResume({ cwd: resumeCwd });
772
719
 
773
720
  if (exitCode !== 0) {
774
- logger.warn(`Claude exited with code ${exitCode}`);
721
+ logger.warn(`Process exited with code ${exitCode}`);
775
722
  }
776
723
 
777
724
  // Check for created/updated plan files after resume session
778
725
  const plansDir = getPlansDir(projectPath);
779
726
  const planFiles = fs.existsSync(plansDir)
780
- ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort()
727
+ ? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort(numericFileSort)
781
728
  : [];
782
729
 
783
730
  if (planFiles.length > 0) {
@@ -26,7 +26,7 @@ const MAX_DISPLAYED_PROJECTS = 10;
26
26
  export function createStatusCommand(): Command {
27
27
  const command = new Command('status')
28
28
  .description('Show status of a project or list all projects')
29
- .argument('[identifier]', 'Project identifier: ID (00j3k1), name (my-project), or folder (00j3k1-my-project)')
29
+ .argument('[identifier]', 'Project identifier: number (3), name (my-project), or folder (3-my-project)')
30
30
  .option('--json', 'Output as JSON')
31
31
  .action(async (identifier?: string, options?: StatusCommandOptions) => {
32
32
  await runStatusCommand(identifier, options);