rafcode 2.5.1-0 → 3.0.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 (557) 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 +35 -0
  58. package/RAF/38-dual-wielder/input.md +8 -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/plans/1-config-schema-provider-types.md +90 -0
  67. package/RAF/38-dual-wielder/plans/2-abstract-cli-runner.md +76 -0
  68. package/RAF/38-dual-wielder/plans/3-implement-codex-runner.md +94 -0
  69. package/RAF/38-dual-wielder/plans/4-update-prompts-llm-agnostic.md +70 -0
  70. package/RAF/38-dual-wielder/plans/5-update-readme-docs.md +52 -0
  71. package/RAF/38-dual-wielder/plans/6-do-unified-project-scanning.md +40 -0
  72. package/RAF/38-dual-wielder/plans/7-fix-plan-amend-automode.md +51 -0
  73. package/README.md +57 -10
  74. package/dist/commands/config.js +7 -7
  75. package/dist/commands/config.js.map +1 -1
  76. package/dist/commands/do.d.ts.map +1 -1
  77. package/dist/commands/do.js +42 -69
  78. package/dist/commands/do.js.map +1 -1
  79. package/dist/commands/plan.d.ts.map +1 -1
  80. package/dist/commands/plan.js +71 -34
  81. package/dist/commands/plan.js.map +1 -1
  82. package/dist/commands/status.js +1 -1
  83. package/dist/commands/status.js.map +1 -1
  84. package/dist/core/claude-runner.d.ts +19 -116
  85. package/dist/core/claude-runner.d.ts.map +1 -1
  86. package/dist/core/claude-runner.js +20 -173
  87. package/dist/core/claude-runner.js.map +1 -1
  88. package/dist/core/codex-runner.d.ts +41 -0
  89. package/dist/core/codex-runner.d.ts.map +1 -0
  90. package/dist/core/codex-runner.js +271 -0
  91. package/dist/core/codex-runner.js.map +1 -0
  92. package/dist/core/completion-detector.d.ts +47 -0
  93. package/dist/core/completion-detector.d.ts.map +1 -0
  94. package/dist/core/completion-detector.js +143 -0
  95. package/dist/core/completion-detector.js.map +1 -0
  96. package/dist/core/failure-analyzer.d.ts +1 -1
  97. package/dist/core/failure-analyzer.js +10 -10
  98. package/dist/core/failure-analyzer.js.map +1 -1
  99. package/dist/core/pull-request.d.ts +4 -4
  100. package/dist/core/pull-request.js +11 -11
  101. package/dist/core/pull-request.js.map +1 -1
  102. package/dist/core/runner-factory.d.ts +12 -0
  103. package/dist/core/runner-factory.d.ts.map +1 -0
  104. package/dist/core/runner-factory.js +30 -0
  105. package/dist/core/runner-factory.js.map +1 -0
  106. package/dist/core/runner-interface.d.ts +14 -0
  107. package/dist/core/runner-interface.d.ts.map +1 -0
  108. package/dist/core/runner-interface.js +2 -0
  109. package/dist/core/runner-interface.js.map +1 -0
  110. package/dist/core/runner-types.d.ts +73 -0
  111. package/dist/core/runner-types.d.ts.map +1 -0
  112. package/dist/core/runner-types.js +2 -0
  113. package/dist/core/runner-types.js.map +1 -0
  114. package/dist/core/shutdown-handler.d.ts +8 -4
  115. package/dist/core/shutdown-handler.d.ts.map +1 -1
  116. package/dist/core/shutdown-handler.js +14 -8
  117. package/dist/core/shutdown-handler.js.map +1 -1
  118. package/dist/core/state-derivation.d.ts +2 -2
  119. package/dist/core/state-derivation.d.ts.map +1 -1
  120. package/dist/core/state-derivation.js +10 -13
  121. package/dist/core/state-derivation.js.map +1 -1
  122. package/dist/core/worktree.d.ts +1 -1
  123. package/dist/core/worktree.d.ts.map +1 -1
  124. package/dist/core/worktree.js +14 -16
  125. package/dist/core/worktree.js.map +1 -1
  126. package/dist/index.js +1 -1
  127. package/dist/index.js.map +1 -1
  128. package/dist/parsers/codex-stream-renderer.d.ts +31 -0
  129. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -0
  130. package/dist/parsers/codex-stream-renderer.js +81 -0
  131. package/dist/parsers/codex-stream-renderer.js.map +1 -0
  132. package/dist/parsers/output-parser.d.ts +2 -2
  133. package/dist/parsers/output-parser.js +2 -2
  134. package/dist/parsers/stream-renderer.d.ts +1 -1
  135. package/dist/parsers/stream-renderer.js +1 -1
  136. package/dist/prompts/amend.d.ts +1 -1
  137. package/dist/prompts/amend.js +6 -6
  138. package/dist/prompts/execution.js +2 -2
  139. package/dist/prompts/execution.js.map +1 -1
  140. package/dist/prompts/planning.d.ts +1 -1
  141. package/dist/prompts/planning.js +12 -12
  142. package/dist/types/config.d.ts +21 -0
  143. package/dist/types/config.d.ts.map +1 -1
  144. package/dist/types/config.js +16 -0
  145. package/dist/types/config.js.map +1 -1
  146. package/dist/ui/project-picker.d.ts.map +1 -1
  147. package/dist/ui/project-picker.js.map +1 -1
  148. package/dist/utils/config.d.ts +24 -6
  149. package/dist/utils/config.d.ts.map +1 -1
  150. package/dist/utils/config.js +155 -15
  151. package/dist/utils/config.js.map +1 -1
  152. package/dist/utils/name-generator.d.ts +2 -2
  153. package/dist/utils/name-generator.js +9 -9
  154. package/dist/utils/name-generator.js.map +1 -1
  155. package/dist/utils/paths.d.ts +27 -51
  156. package/dist/utils/paths.d.ts.map +1 -1
  157. package/dist/utils/paths.js +112 -150
  158. package/dist/utils/paths.js.map +1 -1
  159. package/dist/utils/token-tracker.d.ts +2 -2
  160. package/dist/utils/token-tracker.js +4 -4
  161. package/dist/utils/token-tracker.js.map +1 -1
  162. package/dist/utils/validation.d.ts.map +1 -1
  163. package/dist/utils/validation.js +7 -10
  164. package/dist/utils/validation.js.map +1 -1
  165. package/package.json +1 -1
  166. package/src/commands/config.ts +7 -7
  167. package/src/commands/do.ts +45 -79
  168. package/src/commands/plan.ts +74 -34
  169. package/src/commands/status.ts +1 -1
  170. package/src/core/claude-runner.ts +33 -277
  171. package/src/core/codex-runner.ts +326 -0
  172. package/src/core/completion-detector.ts +177 -0
  173. package/src/core/failure-analyzer.ts +10 -10
  174. package/src/core/pull-request.ts +11 -11
  175. package/src/core/runner-factory.ts +35 -0
  176. package/src/core/runner-interface.ts +14 -0
  177. package/src/core/runner-types.ts +75 -0
  178. package/src/core/shutdown-handler.ts +17 -10
  179. package/src/core/state-derivation.ts +10 -13
  180. package/src/core/worktree.ts +14 -16
  181. package/src/index.ts +1 -1
  182. package/src/parsers/codex-stream-renderer.ts +108 -0
  183. package/src/parsers/output-parser.ts +2 -2
  184. package/src/parsers/stream-renderer.ts +1 -1
  185. package/src/prompts/amend.ts +6 -6
  186. package/src/prompts/config-docs.md +7 -7
  187. package/src/prompts/execution.ts +2 -2
  188. package/src/prompts/planning.ts +12 -12
  189. package/src/types/config.ts +39 -0
  190. package/src/ui/project-picker.ts +1 -0
  191. package/src/utils/config.ts +170 -14
  192. package/src/utils/name-generator.ts +9 -9
  193. package/src/utils/paths.ts +113 -159
  194. package/src/utils/token-tracker.ts +4 -4
  195. package/src/utils/validation.ts +7 -10
  196. package/tests/unit/commit-planning-artifacts-worktree.test.ts +14 -14
  197. package/tests/unit/commit-planning-artifacts.test.ts +40 -40
  198. package/tests/unit/config.test.ts +8 -8
  199. package/tests/unit/dependency-integration.test.ts +96 -96
  200. package/tests/unit/do-blocked-tasks.test.ts +1 -1
  201. package/tests/unit/do-command.test.ts +36 -36
  202. package/tests/unit/do-rerun.test.ts +1 -1
  203. package/tests/unit/execution-prompt.test.ts +62 -62
  204. package/tests/unit/git-stash.test.ts +4 -4
  205. package/tests/unit/paths.test.ts +135 -249
  206. package/tests/unit/plan-command.test.ts +103 -103
  207. package/tests/unit/planning-prompt.test.ts +3 -3
  208. package/tests/unit/project-manager.test.ts +9 -10
  209. package/tests/unit/project-picker.test.ts +74 -74
  210. package/tests/unit/pull-request.test.ts +3 -3
  211. package/tests/unit/state-derivation.test.ts +144 -144
  212. package/tests/unit/status-command.test.ts +71 -103
  213. package/tests/unit/worktree.test.ts +32 -33
  214. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/input.md +0 -0
  215. /package/RAF/{aaaaab-raf-task-improvements/outcomes/01-add-decisions-folder.md → 1-raf-task-improvements/outcomes/1-add-decisions-folder.md} +0 -0
  216. /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
  217. /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
  218. /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
  219. /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
  220. /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
  221. /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
  222. /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
  223. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/outcomes/SUMMARY.md +0 -0
  224. /package/RAF/{aaaaab-raf-task-improvements/plans/01-add-decisions-folder.md → 1-raf-task-improvements/plans/1-add-decisions-folder.md} +0 -0
  225. /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
  226. /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
  227. /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
  228. /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
  229. /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
  230. /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
  231. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/decisions.md +0 -0
  232. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/input.md +0 -0
  233. /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
  234. /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/02-creative-project-naming.md → 10-outcome-marker-fallback/outcomes/2-creative-project-naming.md} +0 -0
  235. /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
  236. /package/RAF/{aaaabk-outcome-marker-fallback/plans/02-creative-project-naming.md → 10-outcome-marker-fallback/plans/2-creative-project-naming.md} +0 -0
  237. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/decisions.md +0 -0
  238. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/input.md +0 -0
  239. /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
  240. /package/RAF/{aaaabl-do-task-in-commit/outcomes/02-update-tests.md → 11-do-task-in-commit/outcomes/2-update-tests.md} +0 -0
  241. /package/RAF/{aaaabl-do-task-in-commit/outcomes/03-update-documentation.md → 11-do-task-in-commit/outcomes/3-update-documentation.md} +0 -0
  242. /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
  243. /package/RAF/{aaaabl-do-task-in-commit/plans/02-update-tests.md → 11-do-task-in-commit/plans/2-update-tests.md} +0 -0
  244. /package/RAF/{aaaabl-do-task-in-commit/plans/03-update-documentation.md → 11-do-task-in-commit/plans/3-update-documentation.md} +0 -0
  245. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/decisions.md +0 -0
  246. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/input.md +0 -0
  247. /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
  248. /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
  249. /package/RAF/{aaaabm-name-picker-buffet/outcomes/03-raf-status-truncation.md → 12-name-picker-buffet/outcomes/3-raf-status-truncation.md} +0 -0
  250. /package/RAF/{aaaabm-name-picker-buffet/outcomes/04-failure-reason-details.md → 12-name-picker-buffet/outcomes/4-failure-reason-details.md} +0 -0
  251. /package/RAF/{aaaabm-name-picker-buffet/outcomes/05-remove-raf-commits.md → 12-name-picker-buffet/outcomes/5-remove-raf-commits.md} +0 -0
  252. /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
  253. /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
  254. /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
  255. /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
  256. /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
  257. /package/RAF/{aaaabm-name-picker-buffet/plans/03-raf-status-truncation.md → 12-name-picker-buffet/plans/3-raf-status-truncation.md} +0 -0
  258. /package/RAF/{aaaabm-name-picker-buffet/plans/04-failure-reason-details.md → 12-name-picker-buffet/plans/4-failure-reason-details.md} +0 -0
  259. /package/RAF/{aaaabm-name-picker-buffet/plans/05-remove-raf-commits.md → 12-name-picker-buffet/plans/5-remove-raf-commits.md} +0 -0
  260. /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
  261. /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
  262. /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
  263. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/decisions.md +0 -0
  264. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/input.md +0 -0
  265. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/01-define-dependency-syntax.md → 13-dependencies-watchdog/outcomes/1-define-dependency-syntax.md} +0 -0
  266. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/02-update-planning-prompts.md → 13-dependencies-watchdog/outcomes/2-update-planning-prompts.md} +0 -0
  267. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/outcomes/3-parse-dependencies-update-state.md} +0 -0
  268. /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
  269. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/05-update-execution-prompts.md → 13-dependencies-watchdog/outcomes/5-update-execution-prompts.md} +0 -0
  270. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/06-add-tests.md → 13-dependencies-watchdog/outcomes/6-add-tests.md} +0 -0
  271. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/07-add-act-alias.md → 13-dependencies-watchdog/outcomes/7-add-act-alias.md} +0 -0
  272. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/08-add-exit-message.md → 13-dependencies-watchdog/outcomes/8-add-exit-message.md} +0 -0
  273. /package/RAF/{aaaabn-dependencies-watchdog/plans/01-define-dependency-syntax.md → 13-dependencies-watchdog/plans/1-define-dependency-syntax.md} +0 -0
  274. /package/RAF/{aaaabn-dependencies-watchdog/plans/07-add-act-alias.md → 13-dependencies-watchdog/plans/7-add-act-alias.md} +0 -0
  275. /package/RAF/{aaaabn-dependencies-watchdog/plans/08-add-exit-message.md → 13-dependencies-watchdog/plans/8-add-exit-message.md} +0 -0
  276. /package/RAF/{aaaabo-watchdog → 14-watchdog}/decisions.md +0 -0
  277. /package/RAF/{aaaabo-watchdog → 14-watchdog}/input.md +0 -0
  278. /package/RAF/{aaaabo-watchdog/outcomes/01-amend-flag-position.md → 14-watchdog/outcomes/1-amend-flag-position.md} +0 -0
  279. /package/RAF/{aaaabo-watchdog/outcomes/02-details-only-on-failure.md → 14-watchdog/outcomes/2-details-only-on-failure.md} +0 -0
  280. /package/RAF/{aaaabo-watchdog/plans/01-amend-flag-position.md → 14-watchdog/plans/1-amend-flag-position.md} +0 -0
  281. /package/RAF/{aaaabo-watchdog/plans/02-details-only-on-failure.md → 14-watchdog/plans/2-details-only-on-failure.md} +0 -0
  282. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/decisions.md +0 -0
  283. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/input.md +0 -0
  284. /package/RAF/{aaaabp-name-lottery/outcomes/01-auto-pick-project-name.md → 15-name-lottery/outcomes/1-auto-pick-project-name.md} +0 -0
  285. /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
  286. /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
  287. /package/RAF/{aaaabp-name-lottery/plans/01-auto-pick-project-name.md → 15-name-lottery/plans/1-auto-pick-project-name.md} +0 -0
  288. /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
  289. /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
  290. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/decisions.md +0 -0
  291. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/input.md +0 -0
  292. /package/RAF/{aaaabq-planning-scalpel/outcomes/01-update-git-commit-instructions.md → 16-planning-scalpel/outcomes/1-update-git-commit-instructions.md} +0 -0
  293. /package/RAF/{aaaabq-planning-scalpel/plans/01-update-git-commit-instructions.md → 16-planning-scalpel/plans/1-update-git-commit-instructions.md} +0 -0
  294. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/decisions.md +0 -0
  295. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/input.md +0 -0
  296. /package/RAF/{aaaabr-decision-vault/outcomes/01-create-git-commit-utility.md → 17-decision-vault/outcomes/1-create-git-commit-utility.md} +0 -0
  297. /package/RAF/{aaaabr-decision-vault/outcomes/02-integrate-commit-into-plan.md → 17-decision-vault/outcomes/2-integrate-commit-into-plan.md} +0 -0
  298. /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
  299. /package/RAF/{aaaabr-decision-vault/plans/01-create-git-commit-utility.md → 17-decision-vault/plans/1-create-git-commit-utility.md} +0 -0
  300. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/decisions.md +0 -0
  301. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/input.md +0 -0
  302. /package/RAF/{aaaabs-workflow-forge/outcomes/01-add-task-number-progress.md → 18-workflow-forge/outcomes/1-add-task-number-progress.md} +0 -0
  303. /package/RAF/{aaaabs-workflow-forge/outcomes/02-update-plan-do-prompts.md → 18-workflow-forge/outcomes/2-update-plan-do-prompts.md} +0 -0
  304. /package/RAF/{aaaabs-workflow-forge/plans/01-add-task-number-progress.md → 18-workflow-forge/plans/1-add-task-number-progress.md} +0 -0
  305. /package/RAF/{aaaabs-workflow-forge/plans/02-update-plan-do-prompts.md → 18-workflow-forge/plans/2-update-plan-do-prompts.md} +0 -0
  306. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/decisions.md +0 -0
  307. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/input.md +0 -0
  308. /package/RAF/{aaaabt-verbose-chronicle/outcomes/01-amend-iteration-references.md → 19-verbose-chronicle/outcomes/1-amend-iteration-references.md} +0 -0
  309. /package/RAF/{aaaabt-verbose-chronicle/outcomes/02-verbose-task-name-display.md → 19-verbose-chronicle/outcomes/2-verbose-task-name-display.md} +0 -0
  310. /package/RAF/{aaaabt-verbose-chronicle/outcomes/03-verbose-streaming-fix.md → 19-verbose-chronicle/outcomes/3-verbose-streaming-fix.md} +0 -0
  311. /package/RAF/{aaaabt-verbose-chronicle/outcomes/04-commit-verification-before-halt.md → 19-verbose-chronicle/outcomes/4-commit-verification-before-halt.md} +0 -0
  312. /package/RAF/{aaaabt-verbose-chronicle/plans/01-amend-iteration-references.md → 19-verbose-chronicle/plans/1-amend-iteration-references.md} +0 -0
  313. /package/RAF/{aaaabt-verbose-chronicle/plans/02-verbose-task-name-display.md → 19-verbose-chronicle/plans/2-verbose-task-name-display.md} +0 -0
  314. /package/RAF/{aaaabt-verbose-chronicle/plans/03-verbose-streaming-fix.md → 19-verbose-chronicle/plans/3-verbose-streaming-fix.md} +0 -0
  315. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/decisions/DECISIONS.md +0 -0
  316. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/input.md +0 -0
  317. /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
  318. /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
  319. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/outcomes/SUMMARY.md +0 -0
  320. /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
  321. /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
  322. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/decisions.md +0 -0
  323. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/input.md +0 -0
  324. /package/RAF/{aaaacu-worktree-weaver/outcomes/01-git-worktree-utilities.md → 20-worktree-weaver/outcomes/1-git-worktree-utilities.md} +0 -0
  325. /package/RAF/{aaaacu-worktree-weaver/outcomes/02-worktree-plan-command.md → 20-worktree-weaver/outcomes/2-worktree-plan-command.md} +0 -0
  326. /package/RAF/{aaaacu-worktree-weaver/outcomes/03-worktree-do-command.md → 20-worktree-weaver/outcomes/3-worktree-do-command.md} +0 -0
  327. /package/RAF/{aaaacu-worktree-weaver/outcomes/04-auto-merge-and-cleanup.md → 20-worktree-weaver/outcomes/4-auto-merge-and-cleanup.md} +0 -0
  328. /package/RAF/{aaaacu-worktree-weaver/outcomes/05-worktree-tests.md → 20-worktree-weaver/outcomes/5-worktree-tests.md} +0 -0
  329. /package/RAF/{aaaacu-worktree-weaver/outcomes/06-update-documentation.md → 20-worktree-weaver/outcomes/6-update-documentation.md} +0 -0
  330. /package/RAF/{aaaacu-worktree-weaver/plans/01-git-worktree-utilities.md → 20-worktree-weaver/plans/1-git-worktree-utilities.md} +0 -0
  331. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/decisions.md +0 -0
  332. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/input.md +0 -0
  333. /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
  334. /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
  335. /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
  336. /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
  337. /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
  338. /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
  339. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/decisions.md +0 -0
  340. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/input.md +0 -0
  341. /package/RAF/{aaaacw-prune-cycle/outcomes/01-create-worktree-from-branch.md → 22-prune-cycle/outcomes/1-create-worktree-from-branch.md} +0 -0
  342. /package/RAF/{aaaacw-prune-cycle/outcomes/02-cleanup-worktree-on-success.md → 22-prune-cycle/outcomes/2-cleanup-worktree-on-success.md} +0 -0
  343. /package/RAF/{aaaacw-prune-cycle/outcomes/03-amend-recreate-worktree.md → 22-prune-cycle/outcomes/3-amend-recreate-worktree.md} +0 -0
  344. /package/RAF/{aaaacw-prune-cycle/plans/01-create-worktree-from-branch.md → 22-prune-cycle/plans/1-create-worktree-from-branch.md} +0 -0
  345. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/decisions.md +0 -0
  346. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/input.md +0 -0
  347. /package/RAF/{aaaacx-epoch-shift/outcomes/01-epoch-id-generation.md → 23-epoch-shift/outcomes/1-epoch-id-generation.md} +0 -0
  348. /package/RAF/{aaaacx-epoch-shift/outcomes/02-update-pattern-matching.md → 23-epoch-shift/outcomes/2-update-pattern-matching.md} +0 -0
  349. /package/RAF/{aaaacx-epoch-shift/outcomes/03-update-tests.md → 23-epoch-shift/outcomes/3-update-tests.md} +0 -0
  350. /package/RAF/{aaaacx-epoch-shift/outcomes/04-update-documentation.md → 23-epoch-shift/outcomes/4-update-documentation.md} +0 -0
  351. /package/RAF/{aaaacx-epoch-shift/plans/01-epoch-id-generation.md → 23-epoch-shift/plans/1-epoch-id-generation.md} +0 -0
  352. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/decisions.md +0 -0
  353. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/input.md +0 -0
  354. /package/RAF/{ahmpro-merge-guardian/outcomes/001-fix-amend-worktree-commit.md → 24-merge-guardian/outcomes/1-fix-amend-worktree-commit.md} +0 -0
  355. /package/RAF/{ahmpro-merge-guardian/outcomes/002-base36-task-ids.md → 24-merge-guardian/outcomes/2-base36-task-ids.md} +0 -0
  356. /package/RAF/{ahmpro-merge-guardian/outcomes/003-worktree-pr-creation.md → 24-merge-guardian/outcomes/3-worktree-pr-creation.md} +0 -0
  357. /package/RAF/{ahmpro-merge-guardian/outcomes/004-post-execution-picker.md → 24-merge-guardian/outcomes/4-post-execution-picker.md} +0 -0
  358. /package/RAF/{ahmpro-merge-guardian/plans/001-fix-amend-worktree-commit.md → 24-merge-guardian/plans/1-fix-amend-worktree-commit.md} +0 -0
  359. /package/RAF/{ahmpro-merge-guardian/plans/002-base36-task-ids.md → 24-merge-guardian/plans/2-base36-task-ids.md} +0 -0
  360. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/decisions.md +0 -0
  361. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/input.md +0 -0
  362. /package/RAF/{ahnbcu-letterjam/outcomes/01-base26-encoding.md → 25-letterjam/outcomes/1-base26-encoding.md} +0 -0
  363. /package/RAF/{ahnbcu-letterjam/outcomes/02-update-tests.md → 25-letterjam/outcomes/2-update-tests.md} +0 -0
  364. /package/RAF/{ahnbcu-letterjam/outcomes/03-migrate-command.md → 25-letterjam/outcomes/3-migrate-command.md} +0 -0
  365. /package/RAF/{ahnbcu-letterjam/outcomes/04-update-documentation.md → 25-letterjam/outcomes/4-update-documentation.md} +0 -0
  366. /package/RAF/{ahnbcu-letterjam/plans/01-base26-encoding.md → 25-letterjam/plans/1-base26-encoding.md} +0 -0
  367. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/decisions.md +0 -0
  368. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/input.md +0 -0
  369. /package/RAF/{ahnwrk-worktree-weaver/outcomes/01-remove-co-authored-by.md → 26-worktree-weaver/outcomes/1-remove-co-authored-by.md} +0 -0
  370. /package/RAF/{ahnwrk-worktree-weaver/outcomes/02-update-task-status-format.md → 26-worktree-weaver/outcomes/2-update-task-status-format.md} +0 -0
  371. /package/RAF/{ahnwrk-worktree-weaver/outcomes/03-worktree-auto-discovery.md → 26-worktree-weaver/outcomes/3-worktree-auto-discovery.md} +0 -0
  372. /package/RAF/{ahnwrk-worktree-weaver/outcomes/04-fix-pr-description.md → 26-worktree-weaver/outcomes/4-fix-pr-description.md} +0 -0
  373. /package/RAF/{ahnwrk-worktree-weaver/plans/01-remove-co-authored-by.md → 26-worktree-weaver/plans/1-remove-co-authored-by.md} +0 -0
  374. /package/RAF/{ahnwrk-worktree-weaver/plans/02-update-task-status-format.md → 26-worktree-weaver/plans/2-update-task-status-format.md} +0 -0
  375. /package/RAF/{ahnwrk-worktree-weaver/plans/03-worktree-auto-discovery.md → 26-worktree-weaver/plans/3-worktree-auto-discovery.md} +0 -0
  376. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/decisions.md +0 -0
  377. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/input.md +0 -0
  378. /package/RAF/{ahrren-turbo-finder/outcomes/01-worktree-auto-detect.md → 27-turbo-finder/outcomes/1-worktree-auto-detect.md} +0 -0
  379. /package/RAF/{ahrren-turbo-finder/outcomes/02-medium-effort-do.md → 27-turbo-finder/outcomes/2-medium-effort-do.md} +0 -0
  380. /package/RAF/{ahrren-turbo-finder/plans/01-worktree-auto-detect.md → 27-turbo-finder/plans/1-worktree-auto-detect.md} +0 -0
  381. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/decisions.md +0 -0
  382. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/input.md +0 -0
  383. /package/RAF/{ahslfe-config-wizard/outcomes/01-define-config-schema.md → 28-config-wizard/outcomes/1-define-config-schema.md} +0 -0
  384. /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
  385. /package/RAF/{ahslfe-config-wizard/outcomes/03-create-config-documentation.md → 28-config-wizard/outcomes/3-create-config-documentation.md} +0 -0
  386. /package/RAF/{ahslfe-config-wizard/outcomes/04-implement-raf-config-command.md → 28-config-wizard/outcomes/4-implement-raf-config-command.md} +0 -0
  387. /package/RAF/{ahslfe-config-wizard/outcomes/05-update-claude-md.md → 28-config-wizard/outcomes/5-update-claude-md.md} +0 -0
  388. /package/RAF/{ahslfe-config-wizard/plans/01-define-config-schema.md → 28-config-wizard/plans/1-define-config-schema.md} +0 -0
  389. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/decisions.md +0 -0
  390. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/input.md +0 -0
  391. /package/RAF/{ahstvo-token-tracker/outcomes/01-full-model-id-support.md → 29-token-tracker/outcomes/1-full-model-id-support.md} +0 -0
  392. /package/RAF/{ahstvo-token-tracker/outcomes/02-name-generation-no-session.md → 29-token-tracker/outcomes/2-name-generation-no-session.md} +0 -0
  393. /package/RAF/{ahstvo-token-tracker/outcomes/03-unify-stream-json-execution.md → 29-token-tracker/outcomes/3-unify-stream-json-execution.md} +0 -0
  394. /package/RAF/{ahstvo-token-tracker/outcomes/04-token-tracking-cost-calculation.md → 29-token-tracker/outcomes/4-token-tracking-cost-calculation.md} +0 -0
  395. /package/RAF/{ahstvo-token-tracker/outcomes/05-token-cost-console-reporting.md → 29-token-tracker/outcomes/5-token-cost-console-reporting.md} +0 -0
  396. /package/RAF/{ahstvo-token-tracker/outcomes/06-runtime-verbose-toggle.md → 29-token-tracker/outcomes/6-runtime-verbose-toggle.md} +0 -0
  397. /package/RAF/{ahstvo-token-tracker/outcomes/07-readme-config-docs.md → 29-token-tracker/outcomes/7-readme-config-docs.md} +0 -0
  398. /package/RAF/{ahstvo-token-tracker/plans/01-full-model-id-support.md → 29-token-tracker/plans/1-full-model-id-support.md} +0 -0
  399. /package/RAF/{ahstvo-token-tracker/plans/02-name-generation-no-session.md → 29-token-tracker/plans/2-name-generation-no-session.md} +0 -0
  400. /package/RAF/{ahstvo-token-tracker/plans/07-readme-config-docs.md → 29-token-tracker/plans/7-readme-config-docs.md} +0 -0
  401. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/decisions/DECISIONS.md +0 -0
  402. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/input.md +0 -0
  403. /package/RAF/{aaaaad-multi-project-execution/outcomes/01-remove-state-json.md → 3-multi-project-execution/outcomes/1-remove-state-json.md} +0 -0
  404. /package/RAF/{aaaaad-multi-project-execution/outcomes/02-update-raf-status.md → 3-multi-project-execution/outcomes/2-update-raf-status.md} +0 -0
  405. /package/RAF/{aaaaad-multi-project-execution/outcomes/03-simplify-git-logic.md → 3-multi-project-execution/outcomes/3-simplify-git-logic.md} +0 -0
  406. /package/RAF/{aaaaad-multi-project-execution/outcomes/04-auto-commit-planning.md → 3-multi-project-execution/outcomes/4-auto-commit-planning.md} +0 -0
  407. /package/RAF/{aaaaad-multi-project-execution/outcomes/05-rerun-failed-tasks.md → 3-multi-project-execution/outcomes/5-rerun-failed-tasks.md} +0 -0
  408. /package/RAF/{aaaaad-multi-project-execution/outcomes/06-multi-project-execution.md → 3-multi-project-execution/outcomes/6-multi-project-execution.md} +0 -0
  409. /package/RAF/{aaaaad-multi-project-execution/outcomes/07-verify-timeout.md → 3-multi-project-execution/outcomes/7-verify-timeout.md} +0 -0
  410. /package/RAF/{aaaaad-multi-project-execution/outcomes/08-move-decisions-file.md → 3-multi-project-execution/outcomes/8-move-decisions-file.md} +0 -0
  411. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/outcomes/SUMMARY.md +0 -0
  412. /package/RAF/{aaaaad-multi-project-execution/plans/01-remove-state-json.md → 3-multi-project-execution/plans/1-remove-state-json.md} +0 -0
  413. /package/RAF/{aaaaad-multi-project-execution/plans/02-update-raf-status.md → 3-multi-project-execution/plans/2-update-raf-status.md} +0 -0
  414. /package/RAF/{aaaaad-multi-project-execution/plans/03-simplify-git-logic.md → 3-multi-project-execution/plans/3-simplify-git-logic.md} +0 -0
  415. /package/RAF/{aaaaad-multi-project-execution/plans/04-auto-commit-planning.md → 3-multi-project-execution/plans/4-auto-commit-planning.md} +0 -0
  416. /package/RAF/{aaaaad-multi-project-execution/plans/05-rerun-failed-tasks.md → 3-multi-project-execution/plans/5-rerun-failed-tasks.md} +0 -0
  417. /package/RAF/{aaaaad-multi-project-execution/plans/06-multi-project-execution.md → 3-multi-project-execution/plans/6-multi-project-execution.md} +0 -0
  418. /package/RAF/{aaaaad-multi-project-execution/plans/07-verify-timeout.md → 3-multi-project-execution/plans/7-verify-timeout.md} +0 -0
  419. /package/RAF/{aaaaad-multi-project-execution/plans/08-move-decisions-file.md → 3-multi-project-execution/plans/8-move-decisions-file.md} +0 -0
  420. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/decisions.md +0 -0
  421. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/input.md +0 -0
  422. /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
  423. /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
  424. /package/RAF/{ahtahs-token-reaper/outcomes/03-per-attempt-display-formatting.md → 30-token-reaper/outcomes/3-per-attempt-display-formatting.md} +0 -0
  425. /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
  426. /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
  427. /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
  428. /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
  429. /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
  430. /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
  431. /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
  432. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/decisions.md +0 -0
  433. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/input.md +0 -0
  434. /package/RAF/{ahvrih-rate-forge/outcomes/01-remove-claude-command-config.md → 31-rate-forge/outcomes/1-remove-claude-command-config.md} +0 -0
  435. /package/RAF/{ahvrih-rate-forge/outcomes/02-fix-mixed-attempt-cost.md → 31-rate-forge/outcomes/2-fix-mixed-attempt-cost.md} +0 -0
  436. /package/RAF/{ahvrih-rate-forge/outcomes/03-rate-limit-estimation.md → 31-rate-forge/outcomes/3-rate-limit-estimation.md} +0 -0
  437. /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
  438. /package/RAF/{ahvrih-rate-forge/outcomes/05-sync-main-before-worktree.md → 31-rate-forge/outcomes/5-sync-main-before-worktree.md} +0 -0
  439. /package/RAF/{ahvrih-rate-forge/outcomes/06-sync-readme-with-codebase.md → 31-rate-forge/outcomes/6-sync-readme-with-codebase.md} +0 -0
  440. /package/RAF/{ahvrih-rate-forge/outcomes/07-no-session-persistence.md → 31-rate-forge/outcomes/7-no-session-persistence.md} +0 -0
  441. /package/RAF/{ahvrih-rate-forge/outcomes/08-plan-execution-metadata.md → 31-rate-forge/outcomes/8-plan-execution-metadata.md} +0 -0
  442. /package/RAF/{ahvrih-rate-forge/plans/01-remove-claude-command-config.md → 31-rate-forge/plans/1-remove-claude-command-config.md} +0 -0
  443. /package/RAF/{ahvrih-rate-forge/plans/02-fix-mixed-attempt-cost.md → 31-rate-forge/plans/2-fix-mixed-attempt-cost.md} +0 -0
  444. /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
  445. /package/RAF/{ahvrih-rate-forge/plans/05-sync-main-before-worktree.md → 31-rate-forge/plans/5-sync-main-before-worktree.md} +0 -0
  446. /package/RAF/{ahvrih-rate-forge/plans/07-no-session-persistence.md → 31-rate-forge/plans/7-no-session-persistence.md} +0 -0
  447. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/decisions.md +0 -0
  448. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/input.md +0 -0
  449. /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
  450. /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
  451. /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
  452. /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
  453. /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
  454. /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
  455. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/07-update-frontmatter-format.md → 32-quick-fix-gremlin/outcomes/7-update-frontmatter-format.md} +0 -0
  456. /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
  457. /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
  458. /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
  459. /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
  460. /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
  461. /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
  462. /package/RAF/{ahwidh-quick-fix-gremlin/plans/07-update-frontmatter-format.md → 32-quick-fix-gremlin/plans/7-update-frontmatter-format.md} +0 -0
  463. /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
  464. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/decisions.md +0 -0
  465. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/input.md +0 -0
  466. /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
  467. /package/RAF/{ahwqwq-model-whisperer/outcomes/02-use-claude-cost-estimation.md → 33-model-whisperer/outcomes/2-use-claude-cost-estimation.md} +0 -0
  468. /package/RAF/{ahwqwq-model-whisperer/outcomes/03-add-plan-resume-flag.md → 33-model-whisperer/outcomes/3-add-plan-resume-flag.md} +0 -0
  469. /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
  470. /package/RAF/{ahwqwq-model-whisperer/plans/02-use-claude-cost-estimation.md → 33-model-whisperer/plans/2-use-claude-cost-estimation.md} +0 -0
  471. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/decisions.md +0 -0
  472. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/input.md +0 -0
  473. /package/RAF/{ahwvrz-legacy-sunset/outcomes/01-remove-migrate-command.md → 34-legacy-sunset/outcomes/1-remove-migrate-command.md} +0 -0
  474. /package/RAF/{ahwvrz-legacy-sunset/outcomes/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/outcomes/2-fix-resume-worktree-resolution.md} +0 -0
  475. /package/RAF/{ahwvrz-legacy-sunset/plans/01-remove-migrate-command.md → 34-legacy-sunset/plans/1-remove-migrate-command.md} +0 -0
  476. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/decisions.md +0 -0
  477. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/input.md +0 -0
  478. /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
  479. /package/RAF/{ahwzmc-echo-forge/outcomes/02-add-no-worktree-flag.md → 35-echo-forge/outcomes/2-add-no-worktree-flag.md} +0 -0
  480. /package/RAF/{ahwzmc-echo-forge/outcomes/03-update-readme.md → 35-echo-forge/outcomes/3-update-readme.md} +0 -0
  481. /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
  482. /package/RAF/{ahwzmc-echo-forge/plans/02-add-no-worktree-flag.md → 35-echo-forge/plans/2-add-no-worktree-flag.md} +0 -0
  483. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/decisions.md +0 -0
  484. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/input.md +0 -0
  485. /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
  486. /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
  487. /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
  488. /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
  489. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/decisions.md +0 -0
  490. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/input.md +0 -0
  491. /package/RAF/{aaaaae-task-naming-optimization/outcomes/01-remove-summary-file.md → 4-task-naming-optimization/outcomes/1-remove-summary-file.md} +0 -0
  492. /package/RAF/{aaaaae-task-naming-optimization/outcomes/02-base36-project-numbering.md → 4-task-naming-optimization/outcomes/2-base36-project-numbering.md} +0 -0
  493. /package/RAF/{aaaaae-task-naming-optimization/outcomes/03-improve-haiku-prompt.md → 4-task-naming-optimization/outcomes/3-improve-haiku-prompt.md} +0 -0
  494. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/outcomes/SUMMARY.md +0 -0
  495. /package/RAF/{aaaaae-task-naming-optimization/plans/01-remove-summary-file.md → 4-task-naming-optimization/plans/1-remove-summary-file.md} +0 -0
  496. /package/RAF/{aaaaae-task-naming-optimization/plans/02-base36-project-numbering.md → 4-task-naming-optimization/plans/2-base36-project-numbering.md} +0 -0
  497. /package/RAF/{aaaaae-task-naming-optimization/plans/03-improve-haiku-prompt.md → 4-task-naming-optimization/plans/3-improve-haiku-prompt.md} +0 -0
  498. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/decisions.md +0 -0
  499. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/input.md +0 -0
  500. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/01-enhance-identifier-resolution.md → 5-task-naming-improvements/outcomes/1-enhance-identifier-resolution.md} +0 -0
  501. /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
  502. /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
  503. /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
  504. /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
  505. /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
  506. /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
  507. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/08-fix-timeout-label.md → 5-task-naming-improvements/outcomes/8-fix-timeout-label.md} +0 -0
  508. /package/RAF/{aaaaaf-task-naming-improvements/plans/01-enhance-identifier-resolution.md → 5-task-naming-improvements/plans/1-enhance-identifier-resolution.md} +0 -0
  509. /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
  510. /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
  511. /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
  512. /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
  513. /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
  514. /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
  515. /package/RAF/{aaaaaf-task-naming-improvements/plans/08-fix-timeout-label.md → 5-task-naming-improvements/plans/8-fix-timeout-label.md} +0 -0
  516. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/decisions.md +0 -0
  517. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/input.md +0 -0
  518. /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
  519. /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
  520. /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
  521. /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
  522. /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
  523. /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
  524. /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
  525. /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
  526. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/decisions.md +0 -0
  527. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/input.md +0 -0
  528. /package/RAF/{aaaaah-improve-outcome-format/outcomes/01-update-execution-prompt.md → 7-improve-outcome-format/outcomes/1-update-execution-prompt.md} +0 -0
  529. /package/RAF/{aaaaah-improve-outcome-format/outcomes/02-update-state-derivation.md → 7-improve-outcome-format/outcomes/2-update-state-derivation.md} +0 -0
  530. /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
  531. /package/RAF/{aaaaah-improve-outcome-format/outcomes/04-implement-failure-analysis.md → 7-improve-outcome-format/outcomes/4-implement-failure-analysis.md} +0 -0
  532. /package/RAF/{aaaaah-improve-outcome-format/outcomes/05-update-documentation.md → 7-improve-outcome-format/outcomes/5-update-documentation.md} +0 -0
  533. /package/RAF/{aaaaah-improve-outcome-format/plans/01-update-execution-prompt.md → 7-improve-outcome-format/plans/1-update-execution-prompt.md} +0 -0
  534. /package/RAF/{aaaaah-improve-outcome-format/plans/02-update-state-derivation.md → 7-improve-outcome-format/plans/2-update-state-derivation.md} +0 -0
  535. /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
  536. /package/RAF/{aaaaah-improve-outcome-format/plans/04-implement-failure-analysis.md → 7-improve-outcome-format/plans/4-implement-failure-analysis.md} +0 -0
  537. /package/RAF/{aaaaah-improve-outcome-format/plans/05-update-documentation.md → 7-improve-outcome-format/plans/5-update-documentation.md} +0 -0
  538. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/decisions.md +0 -0
  539. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/input.md +0 -0
  540. /package/RAF/{aaaaai-beautiful-do/outcomes/01-terminal-symbols.md → 8-beautiful-do/outcomes/1-terminal-symbols.md} +0 -0
  541. /package/RAF/{aaaaai-beautiful-do/outcomes/02-refactor-do-output.md → 8-beautiful-do/outcomes/2-refactor-do-output.md} +0 -0
  542. /package/RAF/{aaaaai-beautiful-do/outcomes/03-refactor-status-output.md → 8-beautiful-do/outcomes/3-refactor-status-output.md} +0 -0
  543. /package/RAF/{aaaaai-beautiful-do/outcomes/04-simplify-logger.md → 8-beautiful-do/outcomes/4-simplify-logger.md} +0 -0
  544. /package/RAF/{aaaaai-beautiful-do/outcomes/05-add-tests.md → 8-beautiful-do/outcomes/5-add-tests.md} +0 -0
  545. /package/RAF/{aaaaai-beautiful-do/plans/01-terminal-symbols.md → 8-beautiful-do/plans/1-terminal-symbols.md} +0 -0
  546. /package/RAF/{aaaaai-beautiful-do/plans/02-refactor-do-output.md → 8-beautiful-do/plans/2-refactor-do-output.md} +0 -0
  547. /package/RAF/{aaaaai-beautiful-do/plans/03-refactor-status-output.md → 8-beautiful-do/plans/3-refactor-status-output.md} +0 -0
  548. /package/RAF/{aaaaai-beautiful-do/plans/04-simplify-logger.md → 8-beautiful-do/plans/4-simplify-logger.md} +0 -0
  549. /package/RAF/{aaaaai-beautiful-do/plans/05-add-tests.md → 8-beautiful-do/plans/5-add-tests.md} +0 -0
  550. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/decisions.md +0 -0
  551. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/input.md +0 -0
  552. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/01-model-override.md → 9-system-promt-ammend/outcomes/1-model-override.md} +0 -0
  553. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/02-system-prompt-append.md → 9-system-promt-ammend/outcomes/2-system-prompt-append.md} +0 -0
  554. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/03-retry-context.md → 9-system-promt-ammend/outcomes/3-retry-context.md} +0 -0
  555. /package/RAF/{aaaaaj-system-promt-ammend/plans/01-model-override.md → 9-system-promt-ammend/plans/1-model-override.md} +0 -0
  556. /package/RAF/{aaaaaj-system-promt-ammend/plans/02-system-prompt-append.md → 9-system-promt-ammend/plans/2-system-prompt-append.md} +0 -0
  557. /package/RAF/{aaaaaj-system-promt-ammend/plans/03-retry-context.md → 9-system-promt-ammend/plans/3-retry-context.md} +0 -0
@@ -7,7 +7,7 @@ Replace all hardcoded settings throughout the codebase with config lookups using
7
7
  The codebase has hardcoded model names, effort levels, timeouts, commit formats, and other settings scattered across many files. This task wires everything up to use the centralized config system.
8
8
 
9
9
  ## Dependencies
10
- 01
10
+ 1
11
11
 
12
12
  ## Requirements
13
13
  - Every previously hardcoded user-facing setting must read from config
@@ -7,7 +7,7 @@ Create a comprehensive config documentation file bundled in the package that ser
7
7
  The `raf config` command will spawn an interactive Claude session that needs full knowledge of the config schema, valid values, defaults, and how to edit the file. This documentation serves double duty: it's readable by users and injected as a system prompt for Claude during config sessions.
8
8
 
9
9
  ## Dependencies
10
- 01
10
+ 1
11
11
 
12
12
  ## Requirements
13
13
  - File location: `src/prompts/config-docs.md` (bundled in package, versioned with code)
@@ -7,7 +7,7 @@ Create the `raf config [prompt]` CLI command that launches an interactive Claude
7
7
  Users need a natural-language way to modify their config. This command spawns Claude Sonnet with the config documentation as a system prompt, giving it full knowledge of the schema. It also supports `--reset` to restore defaults.
8
8
 
9
9
  ## Dependencies
10
- 01, 02, 03
10
+ 1, 2, 3
11
11
 
12
12
  ## Requirements
13
13
 
@@ -7,7 +7,7 @@ Update CLAUDE.md with the new config system architecture, the "configurable by d
7
7
  CLAUDE.md serves as the project's internal documentation and instruction set. It needs to reflect the new config system so that future Claude sessions (planning, execution) understand how config works. The user also wants an explicit architectural principle: if a feature can be configurable, it should be configurable via config.
8
8
 
9
9
  ## Dependencies
10
- 01, 02, 03, 04
10
+ 1, 2, 3, 4
11
11
 
12
12
  ## Requirements
13
13
 
@@ -7,7 +7,7 @@ Switch all task execution modes to use `--output-format stream-json --verbose` s
7
7
  Currently `claude-runner.ts` has two execution methods: `run()` (plain text stdout) and `runVerbose()` (stream-json with tool display). Token usage data is only available in stream-json's `result` event. To enable token tracking, all execution must use stream-json format. The difference between verbose and non-verbose becomes purely a display concern — whether tool descriptions are printed to the console.
8
8
 
9
9
  ## Dependencies
10
- 01
10
+ 1
11
11
 
12
12
  ## Requirements
13
13
  - All task execution uses `--output-format stream-json --verbose` flags
@@ -7,7 +7,7 @@ Implement token usage accumulation across tasks and cost calculation using confi
7
7
  After task execution is unified to stream-json (task 03), each task returns `UsageData` with token counts. This task adds the infrastructure to accumulate usage across multiple tasks and calculate estimated costs based on configurable pricing.
8
8
 
9
9
  ## Dependencies
10
- 01, 03
10
+ 1, 3
11
11
 
12
12
  ## Requirements
13
13
  - Add pricing config to the RAF config schema with current prices as defaults
@@ -7,7 +7,7 @@ Display per-task token usage and cost estimates after each task, and a grand tot
7
7
  With token tracking infrastructure in place (task 04), this task wires it into the `raf do` execution flow to display usage reports in the terminal. This is the user-facing part of the feature.
8
8
 
9
9
  ## Dependencies
10
- 04
10
+ 4
11
11
 
12
12
  ## Requirements
13
13
  - After each task completes, print a concise usage summary line to the console
@@ -7,7 +7,7 @@ Allow users to press Tab during task execution to toggle verbose mode on/off in
7
7
  After task 03 unifies all execution to stream-json, the underlying data stream always includes tool-use events. Verbose mode becomes purely a display concern — whether to print tool descriptions (e.g., "Reading src/file.ts", "Running: npm test") to the console. This makes runtime toggling straightforward: listen for Tab key on stdin and flip a boolean that controls display output.
8
8
 
9
9
  ## Dependencies
10
- 03
10
+ 3
11
11
 
12
12
  ## Requirements
13
13
  - During non-interactive task execution (`raf do`), listen for Tab keypress on `process.stdin`
@@ -7,7 +7,7 @@ Change the retry loop in `do.ts` to collect usage data from every attempt instea
7
7
  The retry loop in `src/commands/do.ts` (around line 908-1021) currently declares a single `lastUsageData` variable that gets overwritten on each retry attempt. After the loop, only the final attempt's data is passed to `tokenTracker.addTask()`. This must change to collect all attempts' data.
8
8
 
9
9
  ## Dependencies
10
- 01
10
+ 1
11
11
 
12
12
  ## Requirements
13
13
  - Replace the single `lastUsageData` variable with an array that collects `UsageData` from each attempt
@@ -7,7 +7,7 @@ Update `formatTaskTokenSummary()` to display a per-attempt breakdown when a task
7
7
  With tasks 01 and 02 complete, the `TaskUsageEntry` now contains an `attempts` array with per-attempt `UsageData`. The formatting function needs to render this breakdown so users can see token consumption per retry attempt.
8
8
 
9
9
  ## Dependencies
10
- 01, 02
10
+ 1, 2
11
11
 
12
12
  ## Requirements
13
13
  - When a task has only 1 attempt, output is identical to the current format (no visual change)
@@ -4,7 +4,7 @@
4
4
  Add an estimated percentage of the 5-hour rate limit window consumed, displayed after each task and in the grand total summary. Also add token usage tracking and display for `raf plan` interactive sessions.
5
5
 
6
6
  ## Dependencies
7
- 02
7
+ 2
8
8
 
9
9
  ## Context
10
10
  Anthropic's subscription plans use a shared credit pool per 5-hour window. The pool is measured in cost-weighted credits, not raw token count. Heavier models (Opus) consume the pool faster than lighter ones (Haiku) in proportion to their API pricing ratios. Users need visibility into how much of their 5-hour window they've consumed during a RAF session.
@@ -7,7 +7,7 @@ Fix critical discrepancies between README.md and the actual codebase implementat
7
7
  The README documents features that no longer exist (like `--merge` flag) and is missing documentation for major features (post-execution picker, PR creation). This causes user confusion and makes the tool harder to adopt.
8
8
 
9
9
  ## Dependencies
10
- 01, 05
10
+ 1, 5
11
11
 
12
12
  ## Requirements
13
13
  Fix these three critical discrepancies:
@@ -13,7 +13,7 @@ The existing `effort.*` config section (which maps to Claude CLI's `--effort` fl
13
13
  Additionally, the planning prompts currently contain restrictive wording that discourages implementation details in plans. This wording should be removed to allow the planning model to include whatever level of detail it deems appropriate.
14
14
 
15
15
  ## Dependencies
16
- 04
16
+ 4
17
17
 
18
18
  ## Requirements
19
19
 
@@ -6,7 +6,7 @@ effort: medium
6
6
  Before executing tasks in a worktree, rebase the worktree branch onto the latest main branch to ensure it's up-to-date.
7
7
 
8
8
  ## Dependencies
9
- 03
9
+ 3
10
10
 
11
11
  ## Context
12
12
  When using `raf do` in worktree mode, the worktree branch may be behind main (e.g., if other worktree projects were merged into main since this branch was created). Rebasing before execution ensures the branch starts from the latest main, reducing merge conflicts later.
@@ -18,7 +18,7 @@ Planning sessions are persisted by Claude CLI as `.jsonl` files under `~/.claude
18
18
  - If no worktree path exists and the project used worktree mode, show helpful error
19
19
 
20
20
  ## Dependencies
21
- 01
21
+ 1
22
22
 
23
23
  ## Implementation Steps
24
24
 
@@ -12,7 +12,7 @@ Running `raf plan --resume ahwvrz-legacy-sunset --worktree` from the main branch
12
12
  The `--amend` command already handles this correctly by searching worktree directories first. The `--resume` command needs the same treatment, plus auto-detection so `--worktree` is optional.
13
13
 
14
14
  ## Dependencies
15
- 01
15
+ 1
16
16
 
17
17
  ## Requirements
18
18
  - `runResumeCommand()` must search worktree directories in addition to the main repo
@@ -10,7 +10,7 @@ Enhance the README to better communicate RAF's value proposition and clarify the
10
10
  The current README is functional but undersells RAF's capabilities. Key benefits like smart model selection, automatic PR generation, and structured decision-making are buried or absent. The difference between `--amend` (add tasks to a project) and `--resume` (resume a Claude session) is not explained.
11
11
 
12
12
  ## Dependencies
13
- 01, 02
13
+ 1, 2
14
14
 
15
15
  ## Requirements
16
16
  - Rewrite the "Why RAF?" section to better highlight RAF's advanced capabilities
@@ -0,0 +1,22 @@
1
+ # Project Decisions
2
+
3
+ ## Should existing projects with base26 IDs be migrated to numeric IDs?
4
+ No migration needed. No need to support old base26 project IDs — consider it a fresh start.
5
+
6
+ ## Should numeric project IDs be zero-padded (e.g., 001-foo) or unpadded (1-foo)?
7
+ No padding. Use simple unpadded numbers: 1-foo, 2-bar, 10-buz, 101-bar.
8
+
9
+ ## When amend produces no new plans but updates decisions/input/plans, what commit message format?
10
+ Use the existing 'Amend' format: `RAF[id] Amend: project-name`.
11
+
12
+ ## For auto-detecting existing projects on `raf plan project-name`, should it use exact or fuzzy matching?
13
+ Exact match only. Only prompt if a project with the exact same name exists.
14
+
15
+ ## Should task IDs follow the same numeric approach as project IDs?
16
+ Yes, same approach — no padding, no migration, fresh start.
17
+
18
+ ## When creating a new project, should we scan all worktrees + main for the highest ID?
19
+ Yes, scan all. Scan main repo RAF/ folder + all worktree RAF/ folders to find the highest numeric ID, then increment.
20
+
21
+ ## Should gaps in the ID sequence be filled or left as-is?
22
+ Gaps are fine. If projects 1, 2, 3, 5 exist, next project is 6 (not 4). Always use max + 1.
@@ -0,0 +1,4 @@
1
+ - [ ] if plan amend has no new plans but decisions, input and plans are update(or any of those) - commit amended changes.
2
+ - [ ] if command is like "raf plan project-name" - make sure to check if project with exact name exist (in main or worktree) and prompt to user whether he wants to amend (probably forgot to put --amend flag)
3
+ - [ ] switch project ids to numbers starting with single numbers (1-foo, 2-bar, ..., 10-buz, 101-bar). don't rely that id is uniq, but make mechanism to not create duplicate ids even if project created in workspace (search all worktrees + main and increment largest id), not alpha chars in id, only numbers
4
+ - [ ] switch task ids to numeric like(1-foo, 2-bar, ..., 10-buz, 101-bar)
@@ -0,0 +1,32 @@
1
+ # Outcome: Switch Project IDs to Numeric
2
+
3
+ ## Summary
4
+ Replaced the epoch-based base26 project ID system with sequential numeric IDs (1, 2, 3, ...).
5
+
6
+ ## Key Changes
7
+
8
+ ### Source files modified:
9
+ - **`src/utils/paths.ts`** — Complete rewrite of ID system: removed `encodeBase26`, `decodeBase26`, `isBase26Prefix`, `RAF_EPOCH`, `ID_WIDTH`, `BASE26_ALPHABET`. `getNextProjectNumber()` now scans main RAF dir + worktrees for max ID and returns max+1 (or 1 if no projects). `formatProjectNumber()` returns plain number string. `extractProjectNumber()` extracts numeric prefix. `parseProjectPrefix()` parses numeric strings. All regex patterns updated from `[a-z]{6}` to `\d+`.
10
+ - **`src/core/worktree.ts`** — Updated `resolveWorktreeProjectByIdentifier()` to match by numeric prefix instead of base26.
11
+ - **`src/core/state-derivation.ts`** — Updated `discoverProjects()` to use numeric folder pattern.
12
+ - **`src/utils/validation.ts`** — Updated `validateProjectExists()` regex.
13
+ - **`src/commands/plan.ts`** — Pass `repoBasename` to `getNextProjectNumber()` for worktree scanning.
14
+ - **`src/commands/status.ts`** — Updated help text for identifier argument.
15
+ - **`src/ui/project-picker.ts`** — No logic changes needed (uses updated functions).
16
+ - **`README.md`** — Updated project structure documentation.
17
+
18
+ ### Test files updated (25 files):
19
+ All test files updated to use numeric project IDs instead of base26 IDs.
20
+
21
+ ## Acceptance Criteria Verification
22
+ - [x] New projects get sequential numeric IDs starting from 1
23
+ - [x] `getNextProjectNumber()` scans all worktrees + main to find the highest ID
24
+ - [x] Project folders are named `{number}-{name}` (e.g., `3-auth-system`)
25
+ - [x] `raf plan` creates projects with numeric IDs
26
+ - [x] `raf plan --amend 3` resolves project by numeric ID
27
+ - [x] `raf status` displays projects with numeric IDs correctly
28
+ - [x] Commit messages use numeric IDs: `RAF[3] Plan: auth-system`
29
+ - [x] Worktree paths use numeric IDs
30
+ - [x] All tests pass (1239/1240 — 1 pre-existing failure in name-generator.test.ts unrelated to this change)
31
+
32
+ <promise>COMPLETE</promise>
@@ -0,0 +1,34 @@
1
+ # Outcome: Switch Task IDs to Numeric
2
+
3
+ ## Summary
4
+ Replaced the base36 two-character task ID system with sequential numeric IDs (1, 2, 3, ...) matching the project ID format from task 01.
5
+
6
+ ## Key Changes
7
+
8
+ ### Source files modified:
9
+ - **`src/utils/paths.ts`** — Rewrote task ID system: `TASK_ID_PATTERN` changed from `[0-9a-z]{2}` to `\d+`. `encodeTaskId()` now returns plain `num.toString()`. `decodeTaskId()` now uses `parseInt(str, 10)` with `\d+` validation. Removed `TASK_ID_WIDTH` constant and 1296 max limit. `extractTaskNameFromPlanFile()` regex updated from `^[0-9a-z]{2}-` to `^\d+-`.
10
+ - **`src/core/state-derivation.ts`** — Updated comments from "2-char base36" to "numeric". No logic changes needed (uses `TASK_ID_PATTERN` which was updated).
11
+ - **`src/prompts/execution.ts`** — Changed task number encoding from `taskNumber.toString(36).padStart(2, '0')` to `taskNumber.toString()`.
12
+ - **`src/prompts/planning.ts`** — Updated all examples from `01-`, `02-` to `1-`, `2-`. Updated dependency format examples from `"01, 02"` to `"1, 2"`. Updated task summary examples.
13
+ - **`src/prompts/amend.ts`** — Updated dependency format examples and task numbering references.
14
+ - **`src/commands/plan.ts`** — Updated comment from "decode base36" to "numeric".
15
+
16
+ ### Test files updated (7 files):
17
+ - `tests/unit/paths.test.ts` — Updated `extractTaskNameFromPlanFile` tests for numeric IDs
18
+ - `tests/unit/state-derivation.test.ts` — Updated all plan/outcome filenames and dependency references
19
+ - `tests/unit/execution-prompt.test.ts` — Updated commit format expectations and task ID references
20
+ - `tests/unit/plan-command.test.ts` — Updated all task IDs, filenames, and amend prompt expectations
21
+ - `tests/unit/dependency-integration.test.ts` — Updated all task IDs, dependencies, and filenames
22
+ - `tests/unit/config.test.ts` — Updated task ID in renderCommitMessage test
23
+ - `tests/unit/planning-prompt.test.ts` — Updated plan file path and numbering expectations
24
+
25
+ ## Acceptance Criteria Verification
26
+ - [x] Plan files are created as `1-task-name.md`, `2-task-name.md`, etc.
27
+ - [x] `encodeTaskId(5)` returns `"5"` (not `"05"`)
28
+ - [x] `decodeTaskId("12")` returns `12`
29
+ - [x] Amend flow correctly finds max task number and increments
30
+ - [x] Task commit messages show numeric IDs: `RAF[3:2] Task description`
31
+ - [x] Dependency references in plan frontmatter work with numeric IDs
32
+ - [x] All tests pass (1239/1240 — 1 pre-existing failure in name-generator.test.ts unrelated to this change)
33
+
34
+ <promise>COMPLETE</promise>
@@ -0,0 +1,23 @@
1
+ # Outcome: Commit Amended Changes When No New Plans Are Created
2
+
3
+ ## Summary
4
+ Fixed the amend flow to always attempt committing after a successful Claude session, regardless of whether new plan files were created. Previously, commits were skipped when no new plans were added, even if decisions.md, input.md, or existing plan files were modified.
5
+
6
+ ## Key Changes
7
+
8
+ ### Source files modified:
9
+ - **`src/commands/plan.ts`** (lines 629-655) — Restructured the post-session logic in `runAmendCommand()`:
10
+ - Moved `commitPlanningArtifacts()` call outside the `newPlanFiles.length > 0` conditional block
11
+ - Changed `additionalFiles` from only new plan files to ALL plan files (so modifications to existing plans are staged)
12
+ - The existing `git diff --cached` check in `commitPlanningArtifacts()` naturally prevents empty commits when nothing changed
13
+
14
+ ## Acceptance Criteria Verification
15
+ - [x] `raf plan --amend` commits when decisions.md is updated but no new plans created — `commitPlanningArtifacts` always stages decisions.md and calls commit
16
+ - [x] `raf plan --amend` commits when existing plan files are modified but no new plans created — all plan files are now staged via `allPlanAbsolutePaths`
17
+ - [x] `raf plan --amend` commits when input.md is updated but no new plans created — `commitPlanningArtifacts` always stages input.md
18
+ - [x] `raf plan --amend` does NOT create an empty commit when nothing changed — `commitPlanningArtifacts` checks `git diff --cached` before committing
19
+ - [x] `raf plan --amend` still commits normally when new plan files ARE created — all plan files are staged regardless
20
+ - [x] Commit message uses 'Amend' format in all cases — `isAmend: true` is always passed
21
+ - [x] All tests pass (1239/1240 — 1 pre-existing failure in name-generator.test.ts unrelated to this change)
22
+
23
+ <promise>COMPLETE</promise>
@@ -0,0 +1,30 @@
1
+ # Outcome: Auto-Detect Existing Project on `raf plan project-name`
2
+
3
+ ## Summary
4
+ When `raf plan project-name` is run (without `--amend`) and a project with that name already exists, the user is now prompted interactively: amend it, create a new project, or cancel. Previously the command would just exit with an error.
5
+
6
+ ## Key Changes
7
+
8
+ ### `src/commands/plan.ts`
9
+ - Added `import { select } from '@inquirer/prompts'`
10
+ - Removed the old hard-error check (`resolveProjectIdentifier` → exit 1)
11
+ - Replaced with a prompt-based flow (in non-auto mode):
12
+ 1. Checks main RAF dir with `resolveProjectIdentifierWithDetails`
13
+ 2. Falls back to checking worktrees with `resolveWorktreeProjectByIdentifier`
14
+ 3. If a match is found, shows a `select` prompt: "Yes, amend it" / "No, create a new project" / "Cancel"
15
+ 4. "Yes" → calls `runAmendCommand` with the existing folder name (and `worktreeMode=true` if it's a worktree project)
16
+ 5. "Cancel" → `process.exit(0)`
17
+ 6. "No" / auto mode → continues with normal project creation
18
+ - Removed unused `resolveProjectIdentifier` import
19
+
20
+ ## Acceptance Criteria Verification
21
+ - [x] `raf plan my-project` detects existing project named "my-project" and prompts — uses name-based lookup in `resolveProjectIdentifierWithDetails`
22
+ - [x] Exact match only — "my" does NOT match "my-project" — name comparison is exact (just case-insensitive)
23
+ - [x] Case-insensitive matching — "My-Project" matches "my-project" — both `resolveProjectIdentifierWithDetails` and `resolveWorktreeProjectByIdentifier` use `.toLowerCase()`
24
+ - [x] User can choose to amend, create new, or cancel — three choices in the select prompt
25
+ - [x] Choosing amend redirects to the amend flow correctly — calls `runAmendCommand(existingFolder, model, autoMode, existingWorktreeMode)`
26
+ - [x] Projects in worktrees are also detected — checks `resolveWorktreeProjectByIdentifier` when not found in main
27
+ - [x] `raf plan --amend` is not affected — the new check only runs in `runPlanCommand`, not `runAmendCommand`
28
+ - [x] All tests pass (1239/1240 — 1 pre-existing failure in name-generator.test.ts unrelated to this change)
29
+
30
+ <promise>COMPLETE</promise>
@@ -0,0 +1,75 @@
1
+ ---
2
+ effort: high
3
+ ---
4
+ # Task: Switch Project IDs to Numeric
5
+
6
+ ## Objective
7
+ Replace the epoch-based base26 project ID system with sequential numeric IDs (1, 2, 3, ...) that are unique across all worktrees and the main repo.
8
+
9
+ ## Context
10
+ Currently project IDs are 6-character base26 strings derived from Unix timestamps (e.g., "apaerm"). This is hard to read and type. Switching to simple incrementing numbers (1-foo, 2-bar, 10-buz) makes projects easier to reference. No migration of existing projects is needed — treat this as a fresh start. No need to maintain backward compatibility with base26 IDs.
11
+
12
+ ## Requirements
13
+ - Project folder format: `{number}-{name}` (e.g., `1-my-project`, `12-auth-system`)
14
+ - No zero-padding on the number
15
+ - Numbers are only digits — no alpha characters in the ID portion
16
+ - To find the next ID: scan ALL worktrees + main repo's `RAF/` folder for the highest existing numeric ID, then increment by 1
17
+ - If no projects exist, start at 1
18
+ - Project ID uniqueness must be maintained even when projects are created in different worktrees
19
+ - Gaps in the sequence are fine (e.g., 1, 2, 3, 5 → next is 6, not 4). Always use `max(existing IDs) + 1`, never fill gaps
20
+
21
+ ## Implementation Steps
22
+
23
+ 1. **Replace ID encoding/decoding in `src/utils/paths.ts`:**
24
+ - Remove `encodeBase26()`, `decodeBase26()`, and `RAF_EPOCH` constant
25
+ - Replace `getNextProjectNumber()` to:
26
+ - Scan `RAF/` in the main repo for folders matching `^\d+-`
27
+ - Scan all worktree directories at `~/.raf/worktrees/{repoBasename}/` for folders matching `^\d+-`
28
+ - Extract the numeric prefix from each folder name
29
+ - Return `max + 1` (or `1` if none found)
30
+ - Update `extractProjectNumber()` to extract the numeric prefix (everything before the first `-`)
31
+
32
+ 2. **Update project folder creation in `src/commands/plan.ts`:**
33
+ - Where `getNextProjectNumber()` is called, use the new numeric ID
34
+ - Update folder naming from `{base26Id}-{name}` to `{numericId}-{name}`
35
+
36
+ 3. **Update project resolution in `src/utils/paths.ts`:**
37
+ - `resolveProjectIdentifierWithDetails()` — update matching logic:
38
+ - Full folder name match (exact)
39
+ - Numeric prefix match (e.g., input "5" matches "5-auth-system")
40
+ - Project name match (case-insensitive)
41
+ - Remove base26-specific matching logic
42
+
43
+ 4. **Update worktree project resolution in `src/core/worktree.ts`:**
44
+ - `resolveWorktreeProjectByIdentifier()` — same matching changes as above
45
+ - `computeWorktreePath()` — uses projectId which is now numeric
46
+ - Update any regex patterns that expect 6-char base26 IDs
47
+
48
+ 5. **Update commit message rendering in `src/utils/config.ts`:**
49
+ - `renderCommitMessage()` uses `{projectId}` — ensure it works with numeric IDs (should work as-is since it's just string interpolation)
50
+
51
+ 6. **Update `src/core/git.ts`:**
52
+ - `extractProjectNumber()` or similar functions that parse folder names for the ID portion
53
+
54
+ 7. **Update `src/commands/status.ts`:**
55
+ - Project listing/display — ensure numeric IDs render correctly
56
+
57
+ 8. **Update any regex patterns across the codebase** that assume project IDs are 6-character lowercase alpha strings (e.g., `[a-z]{6}` patterns).
58
+
59
+ 9. **Update tests** in `tests/` that reference base26 encoding/decoding or use base26 project IDs in fixtures.
60
+
61
+ ## Acceptance Criteria
62
+ - [ ] New projects get sequential numeric IDs starting from 1
63
+ - [ ] `getNextProjectNumber()` scans all worktrees + main to find the highest ID
64
+ - [ ] Project folders are named `{number}-{name}` (e.g., `3-auth-system`)
65
+ - [ ] `raf plan` creates projects with numeric IDs
66
+ - [ ] `raf plan --amend 3` resolves project by numeric ID
67
+ - [ ] `raf status` displays projects with numeric IDs correctly
68
+ - [ ] Commit messages use numeric IDs: `RAF[3] Plan: auth-system`
69
+ - [ ] Worktree paths use numeric IDs
70
+ - [ ] All tests pass
71
+
72
+ ## Notes
73
+ - The `getNextProjectNumber()` function needs access to the git repo root to scan `RAF/` and to `~/.raf/worktrees/` to scan worktrees. It may need the repo basename as a parameter.
74
+ - No backward compatibility with base26 IDs is required — this is a clean break.
75
+ - The worktree scan should handle the case where `~/.raf/worktrees/{repoBasename}/` doesn't exist yet.
@@ -0,0 +1,65 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Switch Task IDs to Numeric
5
+
6
+ ## Objective
7
+ Replace the base36 two-character task ID system with sequential numeric IDs (1, 2, 3, ...) matching the same format as the new project IDs.
8
+
9
+ ## Context
10
+ Task IDs are currently 2-character base36 strings (e.g., "01", "0a", "10"). This is confusing because "0a" looks like hex and "10" means 36 in base36. Switching to simple sequential numbers (1-setup-db, 2-create-api, 10-write-tests) is more intuitive. No migration needed — fresh start.
11
+
12
+ ## Dependencies
13
+ 1
14
+
15
+ ## Requirements
16
+ - Plan file format: `{number}-{task-name}.md` (e.g., `1-setup-database.md`, `12-write-tests.md`)
17
+ - No zero-padding on the number
18
+ - Only digits in the ID portion — no alpha characters
19
+ - Task numbering starts at 1 within each project
20
+ - The amend flow must find the max existing task number and continue from there
21
+
22
+ ## Implementation Steps
23
+
24
+ 1. **Replace task ID encoding/decoding in `src/utils/paths.ts`:**
25
+ - Replace `encodeTaskId(num)` — now just returns `num.toString()` (no base36, no padding)
26
+ - Replace `decodeTaskId(str)` — now just does `parseInt(str, 10)`
27
+ - Update the regex pattern that extracts task IDs from filenames: change from `^[0-9a-z]{2}-` to `^\d+-`
28
+ - Remove the 1296 (36*36) max limit — numeric IDs have no practical limit
29
+
30
+ 2. **Update plan file parsing in `src/core/state-derivation.ts`:**
31
+ - `parsePlanFiles()` or equivalent — update regex to match `^\d+-` prefix
32
+ - Task ID extraction from filenames
33
+ - Dependency parsing (dependencies reference task IDs like "01, 02" — now "1, 2")
34
+
35
+ 3. **Update the amend flow in `src/commands/plan.ts`:**
36
+ - Where `decodeTaskId()` is called to find max task number — use new numeric decode
37
+ - Where `encodeTaskId()` is called to generate next task number — use new numeric encode
38
+ - Update the amend template that shows existing tasks and next task number
39
+
40
+ 4. **Update commit message rendering:**
41
+ - Task commit format `{prefix}[{projectId}:{taskId}]` — ensure numeric task IDs work (e.g., `RAF[3:5] Setup database`)
42
+
43
+ 5. **Update the planning prompt in `src/prompts/planning.ts`:**
44
+ - The prompt tells Claude to create plan files numbered "01, 02, 03" — update to "1, 2, 3"
45
+ - Update any examples that show base36 task IDs
46
+
47
+ 6. **Update the amend prompt in `src/prompts/amend.ts`:**
48
+ - References to task ID format and next task number
49
+
50
+ 7. **Update frontmatter parsing in `src/utils/frontmatter.ts`** if it references task ID format.
51
+
52
+ 8. **Update tests** that use base36 task IDs.
53
+
54
+ ## Acceptance Criteria
55
+ - [ ] Plan files are created as `1-task-name.md`, `2-task-name.md`, etc.
56
+ - [ ] `encodeTaskId(5)` returns `"5"` (not `"05"`)
57
+ - [ ] `decodeTaskId("12")` returns `12`
58
+ - [ ] Amend flow correctly finds max task number and increments
59
+ - [ ] Task commit messages show numeric IDs: `RAF[3:2] Task description`
60
+ - [ ] Dependency references in plan frontmatter work with numeric IDs
61
+ - [ ] All tests pass
62
+
63
+ ## Notes
64
+ - This task follows the same pattern as task 01 (numeric project IDs) but is scoped to task IDs within a project.
65
+ - The planning prompt instructs Claude on the file naming convention, so it must be updated to tell Claude to use numeric prefixes.
@@ -0,0 +1,54 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Commit Amended Changes When No New Plans Are Created
5
+
6
+ ## Objective
7
+ Fix the amend flow to commit changes even when no new plan files are created, as long as decisions.md, input.md, or existing plan files were updated.
8
+
9
+ ## Context
10
+ Currently, `commitPlanningArtifacts()` in the amend flow only commits if new plan files were created. But an amend session might only update decisions.md, modify existing plans, or update input.md without adding new tasks. These changes should still be committed with the 'Amend' format commit message.
11
+
12
+ ## Dependencies
13
+ 1
14
+
15
+ ## Requirements
16
+ - When `raf plan --amend` runs and the Claude session completes, commit if ANY of these changed:
17
+ - `input.md` was updated (new task description appended)
18
+ - `decisions.md` was updated (new Q&A pairs added)
19
+ - Existing plan files in `plans/` were modified
20
+ - Use the existing 'Amend' commit message format: `RAF[id] Amend: project-name`
21
+ - If truly nothing changed (no file modifications at all), don't create an empty commit
22
+
23
+ ## Implementation Steps
24
+
25
+ 1. **Examine `commitPlanningArtifacts()` in `src/core/git.ts`** (around line 228):
26
+ - Currently it receives a list of new plan files and stages them alongside input.md and decisions.md
27
+ - The issue is likely in how the amend flow in `plan.ts` decides whether to call commit — it may skip the call when no new plan files are detected
28
+
29
+ 2. **Examine the amend flow in `src/commands/plan.ts`** (around line 616-646):
30
+ - After the Claude session, it checks for new plan files (those with ID >= nextTaskNumber)
31
+ - If no new plan files are found, it likely skips the commit step
32
+ - Fix: always attempt to commit after a successful amend session, regardless of whether new plan files were created
33
+
34
+ 3. **Update the commit logic:**
35
+ - Always stage `input.md` and `decisions.md` (they're almost always updated during amend)
36
+ - Stage any modified plan files in the `plans/` directory (use `git diff --name-only` or stage the entire plans directory)
37
+ - Call `commitPlanningArtifacts()` even when the new plan files list is empty
38
+ - The existing `git diff --cached` check before commit will naturally prevent empty commits
39
+
40
+ 4. **Test the flow:**
41
+ - Verify that an amend session that only updates decisions still commits
42
+ - Verify that an amend session with no changes at all doesn't create an empty commit
43
+
44
+ ## Acceptance Criteria
45
+ - [ ] `raf plan --amend` commits when decisions.md is updated but no new plans created
46
+ - [ ] `raf plan --amend` commits when existing plan files are modified but no new plans created
47
+ - [ ] `raf plan --amend` commits when input.md is updated but no new plans created
48
+ - [ ] `raf plan --amend` does NOT create an empty commit when nothing changed
49
+ - [ ] `raf plan --amend` still commits normally when new plan files ARE created
50
+ - [ ] Commit message uses 'Amend' format in all cases
51
+
52
+ ## Notes
53
+ - The `commitPlanningArtifacts()` function already has a `git diff --cached` check that prevents empty commits, so the main fix is ensuring the amend flow always calls commit rather than short-circuiting when no new plans are detected.
54
+ - This depends on task 01 because project ID format changes may affect how `commitPlanningArtifacts` resolves the project ID for the commit message.
@@ -0,0 +1,52 @@
1
+ ---
2
+ effort: low
3
+ ---
4
+ # Task: Auto-Detect Existing Project on `raf plan project-name`
5
+
6
+ ## Objective
7
+ When a user runs `raf plan project-name` without `--amend`, check if a project with that exact name already exists and prompt whether they want to amend it instead.
8
+
9
+ ## Context
10
+ Users sometimes forget to add the `--amend` flag when they want to add tasks to an existing project. Currently, `raf plan project-name` would either create a duplicate or fail. Instead, we should detect the existing project and ask the user if they meant to amend.
11
+
12
+ ## Dependencies
13
+ 1
14
+
15
+ ## Requirements
16
+ - Only check for exact name matches (case-insensitive)
17
+ - Search both main repo and all worktrees for the existing project
18
+ - If found, prompt the user: "Project 'project-name' already exists (ID: X). Did you mean to amend it?"
19
+ - If user says yes, redirect to the amend flow
20
+ - If user says no, proceed with creating a new project (or abort — user's choice)
21
+
22
+ ## Implementation Steps
23
+
24
+ 1. **In `src/commands/plan.ts`, in `runPlanCommand()`** (around line 109):
25
+ - After the project name is determined but before creating the project folder
26
+ - Check if a project with the exact same name exists using `resolveProjectIdentifierWithDetails()` searching by name
27
+ - Also check worktrees using `resolveWorktreeProjectByIdentifier()`
28
+
29
+ 2. **Add the user prompt:**
30
+ - Use the existing interactive prompt pattern (inquirer or similar) already used in the codebase
31
+ - Show: "Project '{name}' already exists (ID: {id}). Did you want to amend it?"
32
+ - Options: "Yes, amend it" / "No, create a new project" / "Cancel"
33
+ - If "Yes", call `runAmendCommand()` with the existing project's ID
34
+ - If "No", continue with normal project creation
35
+ - If "Cancel", exit
36
+
37
+ 3. **Handle worktree context:**
38
+ - If the existing project is in a worktree, the amend redirect should include `--worktree`
39
+ - If the existing project is in main, redirect without `--worktree`
40
+
41
+ ## Acceptance Criteria
42
+ - [ ] `raf plan my-project` detects existing project named "my-project" and prompts
43
+ - [ ] Exact match only — "my" does NOT match "my-project"
44
+ - [ ] Case-insensitive matching — "My-Project" matches "my-project"
45
+ - [ ] User can choose to amend, create new, or cancel
46
+ - [ ] Choosing amend redirects to the amend flow correctly
47
+ - [ ] Projects in worktrees are also detected
48
+ - [ ] `raf plan --amend` is not affected by this change (no double-prompt)
49
+
50
+ ## Notes
51
+ - This check should only happen in the `raf plan` flow (not `--amend` which already knows it's amending).
52
+ - The prompt should be skipped if running in non-interactive mode (e.g., `--auto` / `-y` flag).
@@ -0,0 +1,35 @@
1
+ # Project Decisions
2
+
3
+ ## How should we handle Codex's lack of a --system-prompt flag?
4
+ Prepend system prompt to user message. Concatenate the system prompt with the user message into a single prompt string.
5
+
6
+ ## Should Codex support extend to interactive planning or only execution?
7
+ Both planning and execution. Support Codex for both `raf plan` and `raf do`.
8
+
9
+ ## How should the provider be selected?
10
+ Global config + CLI override. Default provider in `raf.config.json`, overridable with `--provider` flag on commands.
11
+
12
+ ## What default Codex models should map to effort levels?
13
+ - Low: `codex/gpt-5.3-codex-spark`
14
+ - Medium: `codex/gpt-5.3-codex`
15
+ - High: `codex/gpt-5.4`
16
+
17
+ Use harness prefix format: `claude/opus`, `codex/gpt-5.4`, etc.
18
+
19
+ ## Should existing shorthand aliases require explicit prefixes?
20
+ No. Unprefixed aliases default to claude/ prefix. Existing configs keep working — `opus` means `claude/opus`. Only codex models need the `codex/` prefix.
21
+
22
+ ## How should Codex interactive planning work?
23
+ PTY spawn like Claude. Spawn `codex` (without exec) via PTY, passing the prompt with system prompt prepended to user message.
24
+
25
+ ## How should output parsing work for Codex?
26
+ Separate parsers, shared interface. Keep parsing logic completely separate for each provider but ensure they expose the same output interface (status, tokens, messages).
27
+
28
+ ## How should `raf do` handle project scanning in worktree mode?
29
+ Merge both worktree and main-repo projects in the picker. When a project exists in both, worktree version takes precedence (dedup). This makes worktree mode show the same unified list as standard mode.
30
+
31
+ ## What's wrong with the `raf plan` amend prompt?
32
+ The existing project check is skipped in auto mode (`-y` flag). The condition `if (projectName && !autoMode)` at plan.ts line 118 bypasses the check entirely. Fix: run the existing project check even in auto mode. When `-y` is used and an existing project is found, either auto-select amend or still prompt (breaking out of auto mode for this safety check).
33
+
34
+ ## Should `raf plan --amend` and auto-detect accept numeric project IDs?
35
+ Yes. Both the explicit `--amend <id>` flow and the auto-detect prompt (`raf plan <identifier>`) should resolve numeric IDs (e.g., `raf plan --amend 38` or `raf plan 38`). Resolution should check both main-repo and worktree projects, consistent with name resolution.
@@ -0,0 +1,8 @@
1
+ add support for codex cli alongside claude cli, do nessesary research in codex api and find way
2
+ to combine them together, make nessesary changes in codebase and config, update prompts to be llm
3
+ agnostic
4
+
5
+ ---
6
+
7
+ - [ ] raf do should scan worktreee and non worktree projects
8
+ - [ ] if command is like "raf plan project-name" - make sure to check if project with exact name exist (in main or worktree) and prompt to user whether he wants to amend (probably forgot to put --amend flag)