rafcode 2.5.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/CLAUDE.md +7 -345
  3. package/RAF/{aaaabn-dependencies-watchdog/plans/02-update-planning-prompts.md → 13-dependencies-watchdog/plans/2-update-planning-prompts.md} +1 -1
  4. package/RAF/{aaaabn-dependencies-watchdog/plans/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/plans/3-parse-dependencies-update-state.md} +1 -1
  5. package/RAF/{aaaabn-dependencies-watchdog/plans/04-implement-dependency-checking-in-do.md → 13-dependencies-watchdog/plans/4-implement-dependency-checking-in-do.md} +1 -1
  6. package/RAF/{aaaabn-dependencies-watchdog/plans/05-update-execution-prompts.md → 13-dependencies-watchdog/plans/5-update-execution-prompts.md} +1 -1
  7. package/RAF/{aaaabn-dependencies-watchdog/plans/06-add-tests.md → 13-dependencies-watchdog/plans/6-add-tests.md} +1 -1
  8. package/RAF/{aaaabr-decision-vault/plans/02-integrate-commit-into-plan.md → 17-decision-vault/plans/2-integrate-commit-into-plan.md} +1 -1
  9. package/RAF/{aaaabr-decision-vault/plans/03-add-tests-for-planning-commit.md → 17-decision-vault/plans/3-add-tests-for-planning-commit.md} +1 -1
  10. package/RAF/{aaaabt-verbose-chronicle/plans/04-commit-verification-before-halt.md → 19-verbose-chronicle/plans/4-commit-verification-before-halt.md} +1 -1
  11. package/RAF/{aaaacu-worktree-weaver/plans/02-worktree-plan-command.md → 20-worktree-weaver/plans/2-worktree-plan-command.md} +1 -1
  12. package/RAF/{aaaacu-worktree-weaver/plans/03-worktree-do-command.md → 20-worktree-weaver/plans/3-worktree-do-command.md} +1 -1
  13. package/RAF/{aaaacu-worktree-weaver/plans/04-auto-merge-and-cleanup.md → 20-worktree-weaver/plans/4-auto-merge-and-cleanup.md} +1 -1
  14. package/RAF/{aaaacu-worktree-weaver/plans/05-worktree-tests.md → 20-worktree-weaver/plans/5-worktree-tests.md} +1 -1
  15. package/RAF/{aaaacu-worktree-weaver/plans/06-update-documentation.md → 20-worktree-weaver/plans/6-update-documentation.md} +1 -1
  16. package/RAF/{aaaacv-trim-the-fat/plans/03-commit-artifacts-on-amend.md → 21-trim-the-fat/plans/3-commit-artifacts-on-amend.md} +1 -1
  17. package/RAF/{aaaacv-trim-the-fat/plans/04-worktree-aware-exit-messages.md → 21-trim-the-fat/plans/4-worktree-aware-exit-messages.md} +1 -1
  18. package/RAF/{aaaacw-prune-cycle/plans/02-cleanup-worktree-on-success.md → 22-prune-cycle/plans/2-cleanup-worktree-on-success.md} +1 -1
  19. package/RAF/{aaaacw-prune-cycle/plans/03-amend-recreate-worktree.md → 22-prune-cycle/plans/3-amend-recreate-worktree.md} +1 -1
  20. package/RAF/{aaaacx-epoch-shift/plans/02-update-pattern-matching.md → 23-epoch-shift/plans/2-update-pattern-matching.md} +1 -1
  21. package/RAF/{aaaacx-epoch-shift/plans/03-update-tests.md → 23-epoch-shift/plans/3-update-tests.md} +1 -1
  22. package/RAF/{aaaacx-epoch-shift/plans/04-update-documentation.md → 23-epoch-shift/plans/4-update-documentation.md} +1 -1
  23. package/RAF/{ahmpro-merge-guardian/plans/003-worktree-pr-creation.md → 24-merge-guardian/plans/3-worktree-pr-creation.md} +1 -1
  24. package/RAF/{ahmpro-merge-guardian/plans/004-post-execution-picker.md → 24-merge-guardian/plans/4-post-execution-picker.md} +1 -1
  25. package/RAF/{ahnbcu-letterjam/plans/02-update-tests.md → 25-letterjam/plans/2-update-tests.md} +1 -1
  26. package/RAF/{ahnbcu-letterjam/plans/03-migrate-command.md → 25-letterjam/plans/3-migrate-command.md} +1 -1
  27. package/RAF/{ahnbcu-letterjam/plans/04-update-documentation.md → 25-letterjam/plans/4-update-documentation.md} +1 -1
  28. package/RAF/{ahnwrk-worktree-weaver/plans/04-fix-pr-description.md → 26-worktree-weaver/plans/4-fix-pr-description.md} +1 -1
  29. package/RAF/{ahrren-turbo-finder/plans/02-medium-effort-do.md → 27-turbo-finder/plans/2-medium-effort-do.md} +1 -1
  30. package/RAF/{ahslfe-config-wizard/plans/02-refactor-codebase-to-use-config.md → 28-config-wizard/plans/2-refactor-codebase-to-use-config.md} +1 -1
  31. package/RAF/{ahslfe-config-wizard/plans/03-create-config-documentation.md → 28-config-wizard/plans/3-create-config-documentation.md} +1 -1
  32. package/RAF/{ahslfe-config-wizard/plans/04-implement-raf-config-command.md → 28-config-wizard/plans/4-implement-raf-config-command.md} +1 -1
  33. package/RAF/{ahslfe-config-wizard/plans/05-update-claude-md.md → 28-config-wizard/plans/5-update-claude-md.md} +1 -1
  34. package/RAF/{ahstvo-token-tracker/plans/03-unify-stream-json-execution.md → 29-token-tracker/plans/3-unify-stream-json-execution.md} +1 -1
  35. package/RAF/{ahstvo-token-tracker/plans/04-token-tracking-cost-calculation.md → 29-token-tracker/plans/4-token-tracking-cost-calculation.md} +1 -1
  36. package/RAF/{ahstvo-token-tracker/plans/05-token-cost-console-reporting.md → 29-token-tracker/plans/5-token-cost-console-reporting.md} +1 -1
  37. package/RAF/{ahstvo-token-tracker/plans/06-runtime-verbose-toggle.md → 29-token-tracker/plans/6-runtime-verbose-toggle.md} +1 -1
  38. package/RAF/{ahtahs-token-reaper/plans/02-accumulate-usage-in-retry-loop.md → 30-token-reaper/plans/2-accumulate-usage-in-retry-loop.md} +1 -1
  39. package/RAF/{ahtahs-token-reaper/plans/03-per-attempt-display-formatting.md → 30-token-reaper/plans/3-per-attempt-display-formatting.md} +1 -1
  40. package/RAF/{ahvrih-rate-forge/plans/03-rate-limit-estimation.md → 31-rate-forge/plans/3-rate-limit-estimation.md} +1 -1
  41. package/RAF/{ahvrih-rate-forge/plans/06-sync-readme-with-codebase.md → 31-rate-forge/plans/6-sync-readme-with-codebase.md} +1 -1
  42. package/RAF/{ahvrih-rate-forge/plans/08-plan-execution-metadata.md → 31-rate-forge/plans/8-plan-execution-metadata.md} +1 -1
  43. package/RAF/{ahwidh-quick-fix-gremlin/plans/06-sync-worktree-branch-before-execution.md → 32-quick-fix-gremlin/plans/6-sync-worktree-branch-before-execution.md} +1 -1
  44. package/RAF/{ahwqwq-model-whisperer/plans/03-add-plan-resume-flag.md → 33-model-whisperer/plans/3-add-plan-resume-flag.md} +1 -1
  45. package/RAF/{ahwvrz-legacy-sunset/plans/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/plans/2-fix-resume-worktree-resolution.md} +1 -1
  46. package/RAF/{ahwzmc-echo-forge/plans/03-update-readme.md → 35-echo-forge/plans/3-update-readme.md} +1 -1
  47. package/RAF/37-flux-weave/decisions.md +22 -0
  48. package/RAF/37-flux-weave/input.md +4 -0
  49. package/RAF/37-flux-weave/outcomes/1-numeric-project-ids.md +32 -0
  50. package/RAF/37-flux-weave/outcomes/2-numeric-task-ids.md +34 -0
  51. package/RAF/37-flux-weave/outcomes/3-amend-commit-without-new-plans.md +23 -0
  52. package/RAF/37-flux-weave/outcomes/4-auto-detect-existing-project.md +30 -0
  53. package/RAF/37-flux-weave/plans/1-numeric-project-ids.md +75 -0
  54. package/RAF/37-flux-weave/plans/2-numeric-task-ids.md +65 -0
  55. package/RAF/37-flux-weave/plans/3-amend-commit-without-new-plans.md +54 -0
  56. package/RAF/37-flux-weave/plans/4-auto-detect-existing-project.md +52 -0
  57. package/RAF/38-dual-wielder/decisions.md +44 -0
  58. package/RAF/38-dual-wielder/input.md +13 -0
  59. package/RAF/38-dual-wielder/outcomes/1-config-schema-provider-types.md +47 -0
  60. package/RAF/38-dual-wielder/outcomes/2-abstract-cli-runner.md +33 -0
  61. package/RAF/38-dual-wielder/outcomes/3-implement-codex-runner.md +38 -0
  62. package/RAF/38-dual-wielder/outcomes/4-update-prompts-llm-agnostic.md +50 -0
  63. package/RAF/38-dual-wielder/outcomes/5-update-readme-docs.md +33 -0
  64. package/RAF/38-dual-wielder/outcomes/6-do-unified-project-scanning.md +25 -0
  65. package/RAF/38-dual-wielder/outcomes/7-fix-plan-amend-automode.md +28 -0
  66. package/RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md +139 -0
  67. package/RAF/38-dual-wielder/plans/1-config-schema-provider-types.md +90 -0
  68. package/RAF/38-dual-wielder/plans/2-abstract-cli-runner.md +76 -0
  69. package/RAF/38-dual-wielder/plans/3-implement-codex-runner.md +94 -0
  70. package/RAF/38-dual-wielder/plans/4-update-prompts-llm-agnostic.md +70 -0
  71. package/RAF/38-dual-wielder/plans/5-update-readme-docs.md +52 -0
  72. package/RAF/38-dual-wielder/plans/6-do-unified-project-scanning.md +40 -0
  73. package/RAF/38-dual-wielder/plans/7-fix-plan-amend-automode.md +51 -0
  74. package/RAF/38-dual-wielder/plans/8-e2e-test-codex-provider.md +95 -0
  75. package/RAF/39-pathless-rover/decisions.md +16 -0
  76. package/RAF/39-pathless-rover/input.md +2 -0
  77. package/RAF/39-pathless-rover/outcomes/1-fix-codex-stream-renderer.md +21 -0
  78. package/RAF/39-pathless-rover/outcomes/2-wire-provider-flag.md +28 -0
  79. package/RAF/39-pathless-rover/outcomes/3-remove-worktree-flag-do.md +41 -0
  80. package/RAF/39-pathless-rover/outcomes/4-remove-worktree-flag-plan-amend.md +30 -0
  81. package/RAF/39-pathless-rover/outcomes/5-update-prompts-and-docs.md +26 -0
  82. package/RAF/39-pathless-rover/plans/1-fix-codex-stream-renderer.md +43 -0
  83. package/RAF/39-pathless-rover/plans/2-wire-provider-flag.md +48 -0
  84. package/RAF/39-pathless-rover/plans/3-remove-worktree-flag-do.md +41 -0
  85. package/RAF/39-pathless-rover/plans/4-remove-worktree-flag-plan-amend.md +43 -0
  86. package/RAF/39-pathless-rover/plans/5-update-prompts-and-docs.md +31 -0
  87. package/RAF/40-numeric-order-fix/decisions.md +7 -0
  88. package/RAF/40-numeric-order-fix/input.md +19 -0
  89. package/RAF/40-numeric-order-fix/outcomes/1-fix-numeric-sort-order.md +18 -0
  90. package/RAF/40-numeric-order-fix/outcomes/2-add-npm-keywords.md +10 -0
  91. package/RAF/40-numeric-order-fix/plans/1-fix-numeric-sort-order.md +48 -0
  92. package/RAF/40-numeric-order-fix/plans/2-add-npm-keywords.md +23 -0
  93. package/README.md +62 -18
  94. package/dist/commands/config.js +7 -7
  95. package/dist/commands/config.js.map +1 -1
  96. package/dist/commands/do.d.ts.map +1 -1
  97. package/dist/commands/do.js +51 -230
  98. package/dist/commands/do.js.map +1 -1
  99. package/dist/commands/plan.d.ts.map +1 -1
  100. package/dist/commands/plan.js +96 -147
  101. package/dist/commands/plan.js.map +1 -1
  102. package/dist/commands/status.js +1 -1
  103. package/dist/commands/status.js.map +1 -1
  104. package/dist/core/claude-runner.d.ts +19 -116
  105. package/dist/core/claude-runner.d.ts.map +1 -1
  106. package/dist/core/claude-runner.js +20 -173
  107. package/dist/core/claude-runner.js.map +1 -1
  108. package/dist/core/codex-runner.d.ts +41 -0
  109. package/dist/core/codex-runner.d.ts.map +1 -0
  110. package/dist/core/codex-runner.js +271 -0
  111. package/dist/core/codex-runner.js.map +1 -0
  112. package/dist/core/completion-detector.d.ts +47 -0
  113. package/dist/core/completion-detector.d.ts.map +1 -0
  114. package/dist/core/completion-detector.js +143 -0
  115. package/dist/core/completion-detector.js.map +1 -0
  116. package/dist/core/failure-analyzer.d.ts +1 -1
  117. package/dist/core/failure-analyzer.js +10 -10
  118. package/dist/core/failure-analyzer.js.map +1 -1
  119. package/dist/core/project-manager.d.ts.map +1 -1
  120. package/dist/core/project-manager.js +2 -2
  121. package/dist/core/project-manager.js.map +1 -1
  122. package/dist/core/pull-request.d.ts +4 -4
  123. package/dist/core/pull-request.js +13 -13
  124. package/dist/core/pull-request.js.map +1 -1
  125. package/dist/core/runner-factory.d.ts +12 -0
  126. package/dist/core/runner-factory.d.ts.map +1 -0
  127. package/dist/core/runner-factory.js +30 -0
  128. package/dist/core/runner-factory.js.map +1 -0
  129. package/dist/core/runner-interface.d.ts +14 -0
  130. package/dist/core/runner-interface.d.ts.map +1 -0
  131. package/dist/core/runner-interface.js +2 -0
  132. package/dist/core/runner-interface.js.map +1 -0
  133. package/dist/core/runner-types.d.ts +73 -0
  134. package/dist/core/runner-types.d.ts.map +1 -0
  135. package/dist/core/runner-types.js +2 -0
  136. package/dist/core/runner-types.js.map +1 -0
  137. package/dist/core/shutdown-handler.d.ts +8 -4
  138. package/dist/core/shutdown-handler.d.ts.map +1 -1
  139. package/dist/core/shutdown-handler.js +14 -8
  140. package/dist/core/shutdown-handler.js.map +1 -1
  141. package/dist/core/state-derivation.d.ts +2 -2
  142. package/dist/core/state-derivation.d.ts.map +1 -1
  143. package/dist/core/state-derivation.js +12 -15
  144. package/dist/core/state-derivation.js.map +1 -1
  145. package/dist/core/worktree.d.ts +1 -1
  146. package/dist/core/worktree.d.ts.map +1 -1
  147. package/dist/core/worktree.js +14 -16
  148. package/dist/core/worktree.js.map +1 -1
  149. package/dist/index.js +1 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/parsers/codex-stream-renderer.d.ts +48 -0
  152. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -0
  153. package/dist/parsers/codex-stream-renderer.js +158 -0
  154. package/dist/parsers/codex-stream-renderer.js.map +1 -0
  155. package/dist/parsers/output-parser.d.ts +2 -2
  156. package/dist/parsers/output-parser.js +2 -2
  157. package/dist/parsers/stream-renderer.d.ts +1 -1
  158. package/dist/parsers/stream-renderer.js +1 -1
  159. package/dist/prompts/amend.d.ts +1 -2
  160. package/dist/prompts/amend.d.ts.map +1 -1
  161. package/dist/prompts/amend.js +8 -9
  162. package/dist/prompts/amend.js.map +1 -1
  163. package/dist/prompts/execution.js +2 -2
  164. package/dist/prompts/execution.js.map +1 -1
  165. package/dist/prompts/planning.d.ts +1 -1
  166. package/dist/prompts/planning.d.ts.map +1 -1
  167. package/dist/prompts/planning.js +14 -15
  168. package/dist/prompts/planning.js.map +1 -1
  169. package/dist/types/config.d.ts +21 -1
  170. package/dist/types/config.d.ts.map +1 -1
  171. package/dist/types/config.js +16 -0
  172. package/dist/types/config.js.map +1 -1
  173. package/dist/ui/project-picker.d.ts.map +1 -1
  174. package/dist/ui/project-picker.js.map +1 -1
  175. package/dist/utils/config.d.ts +24 -6
  176. package/dist/utils/config.d.ts.map +1 -1
  177. package/dist/utils/config.js +155 -15
  178. package/dist/utils/config.js.map +1 -1
  179. package/dist/utils/name-generator.d.ts +2 -2
  180. package/dist/utils/name-generator.js +9 -9
  181. package/dist/utils/name-generator.js.map +1 -1
  182. package/dist/utils/paths.d.ts +32 -51
  183. package/dist/utils/paths.d.ts.map +1 -1
  184. package/dist/utils/paths.js +121 -150
  185. package/dist/utils/paths.js.map +1 -1
  186. package/dist/utils/token-tracker.d.ts +2 -2
  187. package/dist/utils/token-tracker.js +4 -4
  188. package/dist/utils/token-tracker.js.map +1 -1
  189. package/dist/utils/validation.d.ts.map +1 -1
  190. package/dist/utils/validation.js +7 -10
  191. package/dist/utils/validation.js.map +1 -1
  192. package/package.json +7 -2
  193. package/src/commands/config.ts +7 -7
  194. package/src/commands/do.ts +53 -265
  195. package/src/commands/plan.ts +102 -155
  196. package/src/commands/status.ts +1 -1
  197. package/src/core/claude-runner.ts +33 -277
  198. package/src/core/codex-runner.ts +326 -0
  199. package/src/core/completion-detector.ts +177 -0
  200. package/src/core/failure-analyzer.ts +10 -10
  201. package/src/core/project-manager.ts +2 -1
  202. package/src/core/pull-request.ts +13 -13
  203. package/src/core/runner-factory.ts +35 -0
  204. package/src/core/runner-interface.ts +14 -0
  205. package/src/core/runner-types.ts +75 -0
  206. package/src/core/shutdown-handler.ts +17 -10
  207. package/src/core/state-derivation.ts +12 -15
  208. package/src/core/worktree.ts +14 -16
  209. package/src/index.ts +1 -1
  210. package/src/parsers/codex-stream-renderer.ts +210 -0
  211. package/src/parsers/output-parser.ts +2 -2
  212. package/src/parsers/stream-renderer.ts +1 -1
  213. package/src/prompts/amend.ts +7 -10
  214. package/src/prompts/config-docs.md +8 -8
  215. package/src/prompts/execution.ts +2 -2
  216. package/src/prompts/planning.ts +14 -16
  217. package/src/types/config.ts +39 -1
  218. package/src/ui/project-picker.ts +1 -0
  219. package/src/utils/config.ts +170 -14
  220. package/src/utils/name-generator.ts +9 -9
  221. package/src/utils/paths.ts +123 -159
  222. package/src/utils/token-tracker.ts +4 -4
  223. package/src/utils/validation.ts +7 -10
  224. package/tests/unit/commit-planning-artifacts-worktree.test.ts +14 -14
  225. package/tests/unit/commit-planning-artifacts.test.ts +40 -40
  226. package/tests/unit/config.test.ts +8 -8
  227. package/tests/unit/dependency-integration.test.ts +96 -96
  228. package/tests/unit/do-blocked-tasks.test.ts +1 -1
  229. package/tests/unit/do-command.test.ts +36 -36
  230. package/tests/unit/do-rerun.test.ts +1 -1
  231. package/tests/unit/execution-prompt.test.ts +62 -62
  232. package/tests/unit/git-stash.test.ts +4 -4
  233. package/tests/unit/paths.test.ts +135 -249
  234. package/tests/unit/plan-command.test.ts +103 -103
  235. package/tests/unit/planning-prompt.test.ts +3 -3
  236. package/tests/unit/project-manager.test.ts +9 -10
  237. package/tests/unit/project-picker.test.ts +74 -74
  238. package/tests/unit/pull-request.test.ts +3 -3
  239. package/tests/unit/state-derivation.test.ts +144 -144
  240. package/tests/unit/status-command.test.ts +71 -103
  241. package/tests/unit/worktree.test.ts +32 -33
  242. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/input.md +0 -0
  243. /package/RAF/{aaaaab-raf-task-improvements/outcomes/01-add-decisions-folder.md → 1-raf-task-improvements/outcomes/1-add-decisions-folder.md} +0 -0
  244. /package/RAF/{aaaaab-raf-task-improvements/outcomes/02-fix-write-error-on-shutdown.md → 1-raf-task-improvements/outcomes/2-fix-write-error-on-shutdown.md} +0 -0
  245. /package/RAF/{aaaaab-raf-task-improvements/outcomes/03-stash-changes-on-failure.md → 1-raf-task-improvements/outcomes/3-stash-changes-on-failure.md} +0 -0
  246. /package/RAF/{aaaaab-raf-task-improvements/outcomes/04-add-project-name-to-commits.md → 1-raf-task-improvements/outcomes/4-add-project-name-to-commits.md} +0 -0
  247. /package/RAF/{aaaaab-raf-task-improvements/outcomes/05-add-running-time-display.md → 1-raf-task-improvements/outcomes/5-add-running-time-display.md} +0 -0
  248. /package/RAF/{aaaaab-raf-task-improvements/outcomes/06-add-task-name-to-logs.md → 1-raf-task-improvements/outcomes/6-add-task-name-to-logs.md} +0 -0
  249. /package/RAF/{aaaaab-raf-task-improvements/outcomes/07-show-model-at-task-start.md → 1-raf-task-improvements/outcomes/7-show-model-at-task-start.md} +0 -0
  250. /package/RAF/{aaaaab-raf-task-improvements/outcomes/09-remove-editor-placeholder-text.md → 1-raf-task-improvements/outcomes/9-remove-editor-placeholder-text.md} +0 -0
  251. /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/outcomes/SUMMARY.md +0 -0
  252. /package/RAF/{aaaaab-raf-task-improvements/plans/01-add-decisions-folder.md → 1-raf-task-improvements/plans/1-add-decisions-folder.md} +0 -0
  253. /package/RAF/{aaaaab-raf-task-improvements/plans/02-fix-write-error-on-shutdown.md → 1-raf-task-improvements/plans/2-fix-write-error-on-shutdown.md} +0 -0
  254. /package/RAF/{aaaaab-raf-task-improvements/plans/03-stash-changes-on-failure.md → 1-raf-task-improvements/plans/3-stash-changes-on-failure.md} +0 -0
  255. /package/RAF/{aaaaab-raf-task-improvements/plans/04-add-project-name-to-commits.md → 1-raf-task-improvements/plans/4-add-project-name-to-commits.md} +0 -0
  256. /package/RAF/{aaaaab-raf-task-improvements/plans/05-add-running-time-display.md → 1-raf-task-improvements/plans/5-add-running-time-display.md} +0 -0
  257. /package/RAF/{aaaaab-raf-task-improvements/plans/06-add-task-name-to-logs.md → 1-raf-task-improvements/plans/6-add-task-name-to-logs.md} +0 -0
  258. /package/RAF/{aaaaab-raf-task-improvements/plans/09-remove-editor-placeholder-text.md → 1-raf-task-improvements/plans/9-remove-editor-placeholder-text.md} +0 -0
  259. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/decisions.md +0 -0
  260. /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/input.md +0 -0
  261. /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/01-outcome-file-marker-fallback.md → 10-outcome-marker-fallback/outcomes/1-outcome-file-marker-fallback.md} +0 -0
  262. /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/02-creative-project-naming.md → 10-outcome-marker-fallback/outcomes/2-creative-project-naming.md} +0 -0
  263. /package/RAF/{aaaabk-outcome-marker-fallback/plans/01-outcome-file-marker-fallback.md → 10-outcome-marker-fallback/plans/1-outcome-file-marker-fallback.md} +0 -0
  264. /package/RAF/{aaaabk-outcome-marker-fallback/plans/02-creative-project-naming.md → 10-outcome-marker-fallback/plans/2-creative-project-naming.md} +0 -0
  265. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/decisions.md +0 -0
  266. /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/input.md +0 -0
  267. /package/RAF/{aaaabl-do-task-in-commit/outcomes/01-update-execution-prompt.md → 11-do-task-in-commit/outcomes/1-update-execution-prompt.md} +0 -0
  268. /package/RAF/{aaaabl-do-task-in-commit/outcomes/02-update-tests.md → 11-do-task-in-commit/outcomes/2-update-tests.md} +0 -0
  269. /package/RAF/{aaaabl-do-task-in-commit/outcomes/03-update-documentation.md → 11-do-task-in-commit/outcomes/3-update-documentation.md} +0 -0
  270. /package/RAF/{aaaabl-do-task-in-commit/plans/01-update-execution-prompt.md → 11-do-task-in-commit/plans/1-update-execution-prompt.md} +0 -0
  271. /package/RAF/{aaaabl-do-task-in-commit/plans/02-update-tests.md → 11-do-task-in-commit/plans/2-update-tests.md} +0 -0
  272. /package/RAF/{aaaabl-do-task-in-commit/plans/03-update-documentation.md → 11-do-task-in-commit/plans/3-update-documentation.md} +0 -0
  273. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/decisions.md +0 -0
  274. /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/input.md +0 -0
  275. /package/RAF/{aaaabm-name-picker-buffet/outcomes/01-name-picker-for-raf-plan.md → 12-name-picker-buffet/outcomes/1-name-picker-for-raf-plan.md} +0 -0
  276. /package/RAF/{aaaabm-name-picker-buffet/outcomes/02-interactive-project-picker-for-raf-do.md → 12-name-picker-buffet/outcomes/2-interactive-project-picker-for-raf-do.md} +0 -0
  277. /package/RAF/{aaaabm-name-picker-buffet/outcomes/03-raf-status-truncation.md → 12-name-picker-buffet/outcomes/3-raf-status-truncation.md} +0 -0
  278. /package/RAF/{aaaabm-name-picker-buffet/outcomes/04-failure-reason-details.md → 12-name-picker-buffet/outcomes/4-failure-reason-details.md} +0 -0
  279. /package/RAF/{aaaabm-name-picker-buffet/outcomes/05-remove-raf-commits.md → 12-name-picker-buffet/outcomes/5-remove-raf-commits.md} +0 -0
  280. /package/RAF/{aaaabm-name-picker-buffet/outcomes/06-update-execution-prompt-for-commits.md → 12-name-picker-buffet/outcomes/6-update-execution-prompt-for-commits.md} +0 -0
  281. /package/RAF/{aaaabm-name-picker-buffet/outcomes/07-fix-plan-mode-user-prompt.md → 12-name-picker-buffet/outcomes/7-fix-plan-mode-user-prompt.md} +0 -0
  282. /package/RAF/{aaaabm-name-picker-buffet/outcomes/08-add-auto-flag-for-plan-mode.md → 12-name-picker-buffet/outcomes/8-add-auto-flag-for-plan-mode.md} +0 -0
  283. /package/RAF/{aaaabm-name-picker-buffet/plans/01-name-picker-for-raf-plan.md → 12-name-picker-buffet/plans/1-name-picker-for-raf-plan.md} +0 -0
  284. /package/RAF/{aaaabm-name-picker-buffet/plans/02-interactive-project-picker-for-raf-do.md → 12-name-picker-buffet/plans/2-interactive-project-picker-for-raf-do.md} +0 -0
  285. /package/RAF/{aaaabm-name-picker-buffet/plans/03-raf-status-truncation.md → 12-name-picker-buffet/plans/3-raf-status-truncation.md} +0 -0
  286. /package/RAF/{aaaabm-name-picker-buffet/plans/04-failure-reason-details.md → 12-name-picker-buffet/plans/4-failure-reason-details.md} +0 -0
  287. /package/RAF/{aaaabm-name-picker-buffet/plans/05-remove-raf-commits.md → 12-name-picker-buffet/plans/5-remove-raf-commits.md} +0 -0
  288. /package/RAF/{aaaabm-name-picker-buffet/plans/06-update-execution-prompt-for-commits.md → 12-name-picker-buffet/plans/6-update-execution-prompt-for-commits.md} +0 -0
  289. /package/RAF/{aaaabm-name-picker-buffet/plans/07-fix-plan-mode-user-prompt.md → 12-name-picker-buffet/plans/7-fix-plan-mode-user-prompt.md} +0 -0
  290. /package/RAF/{aaaabm-name-picker-buffet/plans/08-add-auto-flag-for-plan-mode.md → 12-name-picker-buffet/plans/8-add-auto-flag-for-plan-mode.md} +0 -0
  291. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/decisions.md +0 -0
  292. /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/input.md +0 -0
  293. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/01-define-dependency-syntax.md → 13-dependencies-watchdog/outcomes/1-define-dependency-syntax.md} +0 -0
  294. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/02-update-planning-prompts.md → 13-dependencies-watchdog/outcomes/2-update-planning-prompts.md} +0 -0
  295. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/outcomes/3-parse-dependencies-update-state.md} +0 -0
  296. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/04-implement-dependency-checking-in-do.md → 13-dependencies-watchdog/outcomes/4-implement-dependency-checking-in-do.md} +0 -0
  297. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/05-update-execution-prompts.md → 13-dependencies-watchdog/outcomes/5-update-execution-prompts.md} +0 -0
  298. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/06-add-tests.md → 13-dependencies-watchdog/outcomes/6-add-tests.md} +0 -0
  299. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/07-add-act-alias.md → 13-dependencies-watchdog/outcomes/7-add-act-alias.md} +0 -0
  300. /package/RAF/{aaaabn-dependencies-watchdog/outcomes/08-add-exit-message.md → 13-dependencies-watchdog/outcomes/8-add-exit-message.md} +0 -0
  301. /package/RAF/{aaaabn-dependencies-watchdog/plans/01-define-dependency-syntax.md → 13-dependencies-watchdog/plans/1-define-dependency-syntax.md} +0 -0
  302. /package/RAF/{aaaabn-dependencies-watchdog/plans/07-add-act-alias.md → 13-dependencies-watchdog/plans/7-add-act-alias.md} +0 -0
  303. /package/RAF/{aaaabn-dependencies-watchdog/plans/08-add-exit-message.md → 13-dependencies-watchdog/plans/8-add-exit-message.md} +0 -0
  304. /package/RAF/{aaaabo-watchdog → 14-watchdog}/decisions.md +0 -0
  305. /package/RAF/{aaaabo-watchdog → 14-watchdog}/input.md +0 -0
  306. /package/RAF/{aaaabo-watchdog/outcomes/01-amend-flag-position.md → 14-watchdog/outcomes/1-amend-flag-position.md} +0 -0
  307. /package/RAF/{aaaabo-watchdog/outcomes/02-details-only-on-failure.md → 14-watchdog/outcomes/2-details-only-on-failure.md} +0 -0
  308. /package/RAF/{aaaabo-watchdog/plans/01-amend-flag-position.md → 14-watchdog/plans/1-amend-flag-position.md} +0 -0
  309. /package/RAF/{aaaabo-watchdog/plans/02-details-only-on-failure.md → 14-watchdog/plans/2-details-only-on-failure.md} +0 -0
  310. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/decisions.md +0 -0
  311. /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/input.md +0 -0
  312. /package/RAF/{aaaabp-name-lottery/outcomes/01-auto-pick-project-name.md → 15-name-lottery/outcomes/1-auto-pick-project-name.md} +0 -0
  313. /package/RAF/{aaaabp-name-lottery/outcomes/02-mention-plan-files-in-commit.md → 15-name-lottery/outcomes/2-mention-plan-files-in-commit.md} +0 -0
  314. /package/RAF/{aaaabp-name-lottery/outcomes/03-fix-input-md-in-amend-flow.md → 15-name-lottery/outcomes/3-fix-input-md-in-amend-flow.md} +0 -0
  315. /package/RAF/{aaaabp-name-lottery/plans/01-auto-pick-project-name.md → 15-name-lottery/plans/1-auto-pick-project-name.md} +0 -0
  316. /package/RAF/{aaaabp-name-lottery/plans/02-mention-plan-files-in-commit.md → 15-name-lottery/plans/2-mention-plan-files-in-commit.md} +0 -0
  317. /package/RAF/{aaaabp-name-lottery/plans/03-fix-input-md-in-amend-flow.md → 15-name-lottery/plans/3-fix-input-md-in-amend-flow.md} +0 -0
  318. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/decisions.md +0 -0
  319. /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/input.md +0 -0
  320. /package/RAF/{aaaabq-planning-scalpel/outcomes/01-update-git-commit-instructions.md → 16-planning-scalpel/outcomes/1-update-git-commit-instructions.md} +0 -0
  321. /package/RAF/{aaaabq-planning-scalpel/plans/01-update-git-commit-instructions.md → 16-planning-scalpel/plans/1-update-git-commit-instructions.md} +0 -0
  322. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/decisions.md +0 -0
  323. /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/input.md +0 -0
  324. /package/RAF/{aaaabr-decision-vault/outcomes/01-create-git-commit-utility.md → 17-decision-vault/outcomes/1-create-git-commit-utility.md} +0 -0
  325. /package/RAF/{aaaabr-decision-vault/outcomes/02-integrate-commit-into-plan.md → 17-decision-vault/outcomes/2-integrate-commit-into-plan.md} +0 -0
  326. /package/RAF/{aaaabr-decision-vault/outcomes/03-add-tests-for-planning-commit.md → 17-decision-vault/outcomes/3-add-tests-for-planning-commit.md} +0 -0
  327. /package/RAF/{aaaabr-decision-vault/plans/01-create-git-commit-utility.md → 17-decision-vault/plans/1-create-git-commit-utility.md} +0 -0
  328. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/decisions.md +0 -0
  329. /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/input.md +0 -0
  330. /package/RAF/{aaaabs-workflow-forge/outcomes/01-add-task-number-progress.md → 18-workflow-forge/outcomes/1-add-task-number-progress.md} +0 -0
  331. /package/RAF/{aaaabs-workflow-forge/outcomes/02-update-plan-do-prompts.md → 18-workflow-forge/outcomes/2-update-plan-do-prompts.md} +0 -0
  332. /package/RAF/{aaaabs-workflow-forge/plans/01-add-task-number-progress.md → 18-workflow-forge/plans/1-add-task-number-progress.md} +0 -0
  333. /package/RAF/{aaaabs-workflow-forge/plans/02-update-plan-do-prompts.md → 18-workflow-forge/plans/2-update-plan-do-prompts.md} +0 -0
  334. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/decisions.md +0 -0
  335. /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/input.md +0 -0
  336. /package/RAF/{aaaabt-verbose-chronicle/outcomes/01-amend-iteration-references.md → 19-verbose-chronicle/outcomes/1-amend-iteration-references.md} +0 -0
  337. /package/RAF/{aaaabt-verbose-chronicle/outcomes/02-verbose-task-name-display.md → 19-verbose-chronicle/outcomes/2-verbose-task-name-display.md} +0 -0
  338. /package/RAF/{aaaabt-verbose-chronicle/outcomes/03-verbose-streaming-fix.md → 19-verbose-chronicle/outcomes/3-verbose-streaming-fix.md} +0 -0
  339. /package/RAF/{aaaabt-verbose-chronicle/outcomes/04-commit-verification-before-halt.md → 19-verbose-chronicle/outcomes/4-commit-verification-before-halt.md} +0 -0
  340. /package/RAF/{aaaabt-verbose-chronicle/plans/01-amend-iteration-references.md → 19-verbose-chronicle/plans/1-amend-iteration-references.md} +0 -0
  341. /package/RAF/{aaaabt-verbose-chronicle/plans/02-verbose-task-name-display.md → 19-verbose-chronicle/plans/2-verbose-task-name-display.md} +0 -0
  342. /package/RAF/{aaaabt-verbose-chronicle/plans/03-verbose-streaming-fix.md → 19-verbose-chronicle/plans/3-verbose-streaming-fix.md} +0 -0
  343. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/decisions/DECISIONS.md +0 -0
  344. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/input.md +0 -0
  345. /package/RAF/{aaaaac-raf-task-improvements-execution/outcomes/01-commit-show-model-at-task-start.md → 2-raf-task-improvements-execution/outcomes/1-commit-show-model-at-task-start.md} +0 -0
  346. /package/RAF/{aaaaac-raf-task-improvements-execution/outcomes/02-delete-skipped-plan.md → 2-raf-task-improvements-execution/outcomes/2-delete-skipped-plan.md} +0 -0
  347. /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/outcomes/SUMMARY.md +0 -0
  348. /package/RAF/{aaaaac-raf-task-improvements-execution/plans/01-commit-show-model-at-task-start.md → 2-raf-task-improvements-execution/plans/1-commit-show-model-at-task-start.md} +0 -0
  349. /package/RAF/{aaaaac-raf-task-improvements-execution/plans/02-delete-skipped-plan.md → 2-raf-task-improvements-execution/plans/2-delete-skipped-plan.md} +0 -0
  350. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/decisions.md +0 -0
  351. /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/input.md +0 -0
  352. /package/RAF/{aaaacu-worktree-weaver/outcomes/01-git-worktree-utilities.md → 20-worktree-weaver/outcomes/1-git-worktree-utilities.md} +0 -0
  353. /package/RAF/{aaaacu-worktree-weaver/outcomes/02-worktree-plan-command.md → 20-worktree-weaver/outcomes/2-worktree-plan-command.md} +0 -0
  354. /package/RAF/{aaaacu-worktree-weaver/outcomes/03-worktree-do-command.md → 20-worktree-weaver/outcomes/3-worktree-do-command.md} +0 -0
  355. /package/RAF/{aaaacu-worktree-weaver/outcomes/04-auto-merge-and-cleanup.md → 20-worktree-weaver/outcomes/4-auto-merge-and-cleanup.md} +0 -0
  356. /package/RAF/{aaaacu-worktree-weaver/outcomes/05-worktree-tests.md → 20-worktree-weaver/outcomes/5-worktree-tests.md} +0 -0
  357. /package/RAF/{aaaacu-worktree-weaver/outcomes/06-update-documentation.md → 20-worktree-weaver/outcomes/6-update-documentation.md} +0 -0
  358. /package/RAF/{aaaacu-worktree-weaver/plans/01-git-worktree-utilities.md → 20-worktree-weaver/plans/1-git-worktree-utilities.md} +0 -0
  359. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/decisions.md +0 -0
  360. /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/input.md +0 -0
  361. /package/RAF/{aaaacv-trim-the-fat/outcomes/01-add-worktree-support-to-status.md → 21-trim-the-fat/outcomes/1-add-worktree-support-to-status.md} +0 -0
  362. /package/RAF/{aaaacv-trim-the-fat/outcomes/02-remove-multi-project-from-do.md → 21-trim-the-fat/outcomes/2-remove-multi-project-from-do.md} +0 -0
  363. /package/RAF/{aaaacv-trim-the-fat/outcomes/03-commit-artifacts-on-amend.md → 21-trim-the-fat/outcomes/3-commit-artifacts-on-amend.md} +0 -0
  364. /package/RAF/{aaaacv-trim-the-fat/outcomes/04-worktree-aware-exit-messages.md → 21-trim-the-fat/outcomes/4-worktree-aware-exit-messages.md} +0 -0
  365. /package/RAF/{aaaacv-trim-the-fat/plans/01-add-worktree-support-to-status.md → 21-trim-the-fat/plans/1-add-worktree-support-to-status.md} +0 -0
  366. /package/RAF/{aaaacv-trim-the-fat/plans/02-remove-multi-project-from-do.md → 21-trim-the-fat/plans/2-remove-multi-project-from-do.md} +0 -0
  367. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/decisions.md +0 -0
  368. /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/input.md +0 -0
  369. /package/RAF/{aaaacw-prune-cycle/outcomes/01-create-worktree-from-branch.md → 22-prune-cycle/outcomes/1-create-worktree-from-branch.md} +0 -0
  370. /package/RAF/{aaaacw-prune-cycle/outcomes/02-cleanup-worktree-on-success.md → 22-prune-cycle/outcomes/2-cleanup-worktree-on-success.md} +0 -0
  371. /package/RAF/{aaaacw-prune-cycle/outcomes/03-amend-recreate-worktree.md → 22-prune-cycle/outcomes/3-amend-recreate-worktree.md} +0 -0
  372. /package/RAF/{aaaacw-prune-cycle/plans/01-create-worktree-from-branch.md → 22-prune-cycle/plans/1-create-worktree-from-branch.md} +0 -0
  373. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/decisions.md +0 -0
  374. /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/input.md +0 -0
  375. /package/RAF/{aaaacx-epoch-shift/outcomes/01-epoch-id-generation.md → 23-epoch-shift/outcomes/1-epoch-id-generation.md} +0 -0
  376. /package/RAF/{aaaacx-epoch-shift/outcomes/02-update-pattern-matching.md → 23-epoch-shift/outcomes/2-update-pattern-matching.md} +0 -0
  377. /package/RAF/{aaaacx-epoch-shift/outcomes/03-update-tests.md → 23-epoch-shift/outcomes/3-update-tests.md} +0 -0
  378. /package/RAF/{aaaacx-epoch-shift/outcomes/04-update-documentation.md → 23-epoch-shift/outcomes/4-update-documentation.md} +0 -0
  379. /package/RAF/{aaaacx-epoch-shift/plans/01-epoch-id-generation.md → 23-epoch-shift/plans/1-epoch-id-generation.md} +0 -0
  380. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/decisions.md +0 -0
  381. /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/input.md +0 -0
  382. /package/RAF/{ahmpro-merge-guardian/outcomes/001-fix-amend-worktree-commit.md → 24-merge-guardian/outcomes/1-fix-amend-worktree-commit.md} +0 -0
  383. /package/RAF/{ahmpro-merge-guardian/outcomes/002-base36-task-ids.md → 24-merge-guardian/outcomes/2-base36-task-ids.md} +0 -0
  384. /package/RAF/{ahmpro-merge-guardian/outcomes/003-worktree-pr-creation.md → 24-merge-guardian/outcomes/3-worktree-pr-creation.md} +0 -0
  385. /package/RAF/{ahmpro-merge-guardian/outcomes/004-post-execution-picker.md → 24-merge-guardian/outcomes/4-post-execution-picker.md} +0 -0
  386. /package/RAF/{ahmpro-merge-guardian/plans/001-fix-amend-worktree-commit.md → 24-merge-guardian/plans/1-fix-amend-worktree-commit.md} +0 -0
  387. /package/RAF/{ahmpro-merge-guardian/plans/002-base36-task-ids.md → 24-merge-guardian/plans/2-base36-task-ids.md} +0 -0
  388. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/decisions.md +0 -0
  389. /package/RAF/{ahnbcu-letterjam → 25-letterjam}/input.md +0 -0
  390. /package/RAF/{ahnbcu-letterjam/outcomes/01-base26-encoding.md → 25-letterjam/outcomes/1-base26-encoding.md} +0 -0
  391. /package/RAF/{ahnbcu-letterjam/outcomes/02-update-tests.md → 25-letterjam/outcomes/2-update-tests.md} +0 -0
  392. /package/RAF/{ahnbcu-letterjam/outcomes/03-migrate-command.md → 25-letterjam/outcomes/3-migrate-command.md} +0 -0
  393. /package/RAF/{ahnbcu-letterjam/outcomes/04-update-documentation.md → 25-letterjam/outcomes/4-update-documentation.md} +0 -0
  394. /package/RAF/{ahnbcu-letterjam/plans/01-base26-encoding.md → 25-letterjam/plans/1-base26-encoding.md} +0 -0
  395. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/decisions.md +0 -0
  396. /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/input.md +0 -0
  397. /package/RAF/{ahnwrk-worktree-weaver/outcomes/01-remove-co-authored-by.md → 26-worktree-weaver/outcomes/1-remove-co-authored-by.md} +0 -0
  398. /package/RAF/{ahnwrk-worktree-weaver/outcomes/02-update-task-status-format.md → 26-worktree-weaver/outcomes/2-update-task-status-format.md} +0 -0
  399. /package/RAF/{ahnwrk-worktree-weaver/outcomes/03-worktree-auto-discovery.md → 26-worktree-weaver/outcomes/3-worktree-auto-discovery.md} +0 -0
  400. /package/RAF/{ahnwrk-worktree-weaver/outcomes/04-fix-pr-description.md → 26-worktree-weaver/outcomes/4-fix-pr-description.md} +0 -0
  401. /package/RAF/{ahnwrk-worktree-weaver/plans/01-remove-co-authored-by.md → 26-worktree-weaver/plans/1-remove-co-authored-by.md} +0 -0
  402. /package/RAF/{ahnwrk-worktree-weaver/plans/02-update-task-status-format.md → 26-worktree-weaver/plans/2-update-task-status-format.md} +0 -0
  403. /package/RAF/{ahnwrk-worktree-weaver/plans/03-worktree-auto-discovery.md → 26-worktree-weaver/plans/3-worktree-auto-discovery.md} +0 -0
  404. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/decisions.md +0 -0
  405. /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/input.md +0 -0
  406. /package/RAF/{ahrren-turbo-finder/outcomes/01-worktree-auto-detect.md → 27-turbo-finder/outcomes/1-worktree-auto-detect.md} +0 -0
  407. /package/RAF/{ahrren-turbo-finder/outcomes/02-medium-effort-do.md → 27-turbo-finder/outcomes/2-medium-effort-do.md} +0 -0
  408. /package/RAF/{ahrren-turbo-finder/plans/01-worktree-auto-detect.md → 27-turbo-finder/plans/1-worktree-auto-detect.md} +0 -0
  409. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/decisions.md +0 -0
  410. /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/input.md +0 -0
  411. /package/RAF/{ahslfe-config-wizard/outcomes/01-define-config-schema.md → 28-config-wizard/outcomes/1-define-config-schema.md} +0 -0
  412. /package/RAF/{ahslfe-config-wizard/outcomes/02-refactor-codebase-to-use-config.md → 28-config-wizard/outcomes/2-refactor-codebase-to-use-config.md} +0 -0
  413. /package/RAF/{ahslfe-config-wizard/outcomes/03-create-config-documentation.md → 28-config-wizard/outcomes/3-create-config-documentation.md} +0 -0
  414. /package/RAF/{ahslfe-config-wizard/outcomes/04-implement-raf-config-command.md → 28-config-wizard/outcomes/4-implement-raf-config-command.md} +0 -0
  415. /package/RAF/{ahslfe-config-wizard/outcomes/05-update-claude-md.md → 28-config-wizard/outcomes/5-update-claude-md.md} +0 -0
  416. /package/RAF/{ahslfe-config-wizard/plans/01-define-config-schema.md → 28-config-wizard/plans/1-define-config-schema.md} +0 -0
  417. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/decisions.md +0 -0
  418. /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/input.md +0 -0
  419. /package/RAF/{ahstvo-token-tracker/outcomes/01-full-model-id-support.md → 29-token-tracker/outcomes/1-full-model-id-support.md} +0 -0
  420. /package/RAF/{ahstvo-token-tracker/outcomes/02-name-generation-no-session.md → 29-token-tracker/outcomes/2-name-generation-no-session.md} +0 -0
  421. /package/RAF/{ahstvo-token-tracker/outcomes/03-unify-stream-json-execution.md → 29-token-tracker/outcomes/3-unify-stream-json-execution.md} +0 -0
  422. /package/RAF/{ahstvo-token-tracker/outcomes/04-token-tracking-cost-calculation.md → 29-token-tracker/outcomes/4-token-tracking-cost-calculation.md} +0 -0
  423. /package/RAF/{ahstvo-token-tracker/outcomes/05-token-cost-console-reporting.md → 29-token-tracker/outcomes/5-token-cost-console-reporting.md} +0 -0
  424. /package/RAF/{ahstvo-token-tracker/outcomes/06-runtime-verbose-toggle.md → 29-token-tracker/outcomes/6-runtime-verbose-toggle.md} +0 -0
  425. /package/RAF/{ahstvo-token-tracker/outcomes/07-readme-config-docs.md → 29-token-tracker/outcomes/7-readme-config-docs.md} +0 -0
  426. /package/RAF/{ahstvo-token-tracker/plans/01-full-model-id-support.md → 29-token-tracker/plans/1-full-model-id-support.md} +0 -0
  427. /package/RAF/{ahstvo-token-tracker/plans/02-name-generation-no-session.md → 29-token-tracker/plans/2-name-generation-no-session.md} +0 -0
  428. /package/RAF/{ahstvo-token-tracker/plans/07-readme-config-docs.md → 29-token-tracker/plans/7-readme-config-docs.md} +0 -0
  429. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/decisions/DECISIONS.md +0 -0
  430. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/input.md +0 -0
  431. /package/RAF/{aaaaad-multi-project-execution/outcomes/01-remove-state-json.md → 3-multi-project-execution/outcomes/1-remove-state-json.md} +0 -0
  432. /package/RAF/{aaaaad-multi-project-execution/outcomes/02-update-raf-status.md → 3-multi-project-execution/outcomes/2-update-raf-status.md} +0 -0
  433. /package/RAF/{aaaaad-multi-project-execution/outcomes/03-simplify-git-logic.md → 3-multi-project-execution/outcomes/3-simplify-git-logic.md} +0 -0
  434. /package/RAF/{aaaaad-multi-project-execution/outcomes/04-auto-commit-planning.md → 3-multi-project-execution/outcomes/4-auto-commit-planning.md} +0 -0
  435. /package/RAF/{aaaaad-multi-project-execution/outcomes/05-rerun-failed-tasks.md → 3-multi-project-execution/outcomes/5-rerun-failed-tasks.md} +0 -0
  436. /package/RAF/{aaaaad-multi-project-execution/outcomes/06-multi-project-execution.md → 3-multi-project-execution/outcomes/6-multi-project-execution.md} +0 -0
  437. /package/RAF/{aaaaad-multi-project-execution/outcomes/07-verify-timeout.md → 3-multi-project-execution/outcomes/7-verify-timeout.md} +0 -0
  438. /package/RAF/{aaaaad-multi-project-execution/outcomes/08-move-decisions-file.md → 3-multi-project-execution/outcomes/8-move-decisions-file.md} +0 -0
  439. /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/outcomes/SUMMARY.md +0 -0
  440. /package/RAF/{aaaaad-multi-project-execution/plans/01-remove-state-json.md → 3-multi-project-execution/plans/1-remove-state-json.md} +0 -0
  441. /package/RAF/{aaaaad-multi-project-execution/plans/02-update-raf-status.md → 3-multi-project-execution/plans/2-update-raf-status.md} +0 -0
  442. /package/RAF/{aaaaad-multi-project-execution/plans/03-simplify-git-logic.md → 3-multi-project-execution/plans/3-simplify-git-logic.md} +0 -0
  443. /package/RAF/{aaaaad-multi-project-execution/plans/04-auto-commit-planning.md → 3-multi-project-execution/plans/4-auto-commit-planning.md} +0 -0
  444. /package/RAF/{aaaaad-multi-project-execution/plans/05-rerun-failed-tasks.md → 3-multi-project-execution/plans/5-rerun-failed-tasks.md} +0 -0
  445. /package/RAF/{aaaaad-multi-project-execution/plans/06-multi-project-execution.md → 3-multi-project-execution/plans/6-multi-project-execution.md} +0 -0
  446. /package/RAF/{aaaaad-multi-project-execution/plans/07-verify-timeout.md → 3-multi-project-execution/plans/7-verify-timeout.md} +0 -0
  447. /package/RAF/{aaaaad-multi-project-execution/plans/08-move-decisions-file.md → 3-multi-project-execution/plans/8-move-decisions-file.md} +0 -0
  448. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/decisions.md +0 -0
  449. /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/input.md +0 -0
  450. /package/RAF/{ahtahs-token-reaper/outcomes/01-extend-token-tracker-data-model.md → 30-token-reaper/outcomes/1-extend-token-tracker-data-model.md} +0 -0
  451. /package/RAF/{ahtahs-token-reaper/outcomes/02-accumulate-usage-in-retry-loop.md → 30-token-reaper/outcomes/2-accumulate-usage-in-retry-loop.md} +0 -0
  452. /package/RAF/{ahtahs-token-reaper/outcomes/03-per-attempt-display-formatting.md → 30-token-reaper/outcomes/3-per-attempt-display-formatting.md} +0 -0
  453. /package/RAF/{ahtahs-token-reaper/outcomes/04-add-model-name-to-claude-call-logs.md → 30-token-reaper/outcomes/4-add-model-name-to-claude-call-logs.md} +0 -0
  454. /package/RAF/{ahtahs-token-reaper/outcomes/05-handle-invalid-config-in-raf-config.md → 30-token-reaper/outcomes/5-handle-invalid-config-in-raf-config.md} +0 -0
  455. /package/RAF/{ahtahs-token-reaper/outcomes/06-fix-verbose-toggle-timer-display.md → 30-token-reaper/outcomes/6-fix-verbose-toggle-timer-display.md} +0 -0
  456. /package/RAF/{ahtahs-token-reaper/plans/01-extend-token-tracker-data-model.md → 30-token-reaper/plans/1-extend-token-tracker-data-model.md} +0 -0
  457. /package/RAF/{ahtahs-token-reaper/plans/04-add-model-name-to-claude-call-logs.md → 30-token-reaper/plans/4-add-model-name-to-claude-call-logs.md} +0 -0
  458. /package/RAF/{ahtahs-token-reaper/plans/05-handle-invalid-config-in-raf-config.md → 30-token-reaper/plans/5-handle-invalid-config-in-raf-config.md} +0 -0
  459. /package/RAF/{ahtahs-token-reaper/plans/06-fix-verbose-toggle-timer-display.md → 30-token-reaper/plans/6-fix-verbose-toggle-timer-display.md} +0 -0
  460. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/decisions.md +0 -0
  461. /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/input.md +0 -0
  462. /package/RAF/{ahvrih-rate-forge/outcomes/01-remove-claude-command-config.md → 31-rate-forge/outcomes/1-remove-claude-command-config.md} +0 -0
  463. /package/RAF/{ahvrih-rate-forge/outcomes/02-fix-mixed-attempt-cost.md → 31-rate-forge/outcomes/2-fix-mixed-attempt-cost.md} +0 -0
  464. /package/RAF/{ahvrih-rate-forge/outcomes/03-rate-limit-estimation.md → 31-rate-forge/outcomes/3-rate-limit-estimation.md} +0 -0
  465. /package/RAF/{ahvrih-rate-forge/outcomes/04-show-version-in-do-logs.md → 31-rate-forge/outcomes/4-show-version-in-do-logs.md} +0 -0
  466. /package/RAF/{ahvrih-rate-forge/outcomes/05-sync-main-before-worktree.md → 31-rate-forge/outcomes/5-sync-main-before-worktree.md} +0 -0
  467. /package/RAF/{ahvrih-rate-forge/outcomes/06-sync-readme-with-codebase.md → 31-rate-forge/outcomes/6-sync-readme-with-codebase.md} +0 -0
  468. /package/RAF/{ahvrih-rate-forge/outcomes/07-no-session-persistence.md → 31-rate-forge/outcomes/7-no-session-persistence.md} +0 -0
  469. /package/RAF/{ahvrih-rate-forge/outcomes/08-plan-execution-metadata.md → 31-rate-forge/outcomes/8-plan-execution-metadata.md} +0 -0
  470. /package/RAF/{ahvrih-rate-forge/plans/01-remove-claude-command-config.md → 31-rate-forge/plans/1-remove-claude-command-config.md} +0 -0
  471. /package/RAF/{ahvrih-rate-forge/plans/02-fix-mixed-attempt-cost.md → 31-rate-forge/plans/2-fix-mixed-attempt-cost.md} +0 -0
  472. /package/RAF/{ahvrih-rate-forge/plans/04-show-version-in-do-logs.md → 31-rate-forge/plans/4-show-version-in-do-logs.md} +0 -0
  473. /package/RAF/{ahvrih-rate-forge/plans/05-sync-main-before-worktree.md → 31-rate-forge/plans/5-sync-main-before-worktree.md} +0 -0
  474. /package/RAF/{ahvrih-rate-forge/plans/07-no-session-persistence.md → 31-rate-forge/plans/7-no-session-persistence.md} +0 -0
  475. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/decisions.md +0 -0
  476. /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/input.md +0 -0
  477. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/01-fix-name-generation-prompt.md → 32-quick-fix-gremlin/outcomes/1-fix-name-generation-prompt.md} +0 -0
  478. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/02-fix-amend-commit-scope.md → 32-quick-fix-gremlin/outcomes/2-fix-amend-commit-scope.md} +0 -0
  479. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/03-fix-diverged-main-branch-sync.md → 32-quick-fix-gremlin/outcomes/3-fix-diverged-main-branch-sync.md} +0 -0
  480. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/04-wire-rate-limit-to-do-command.md → 32-quick-fix-gremlin/outcomes/4-wire-rate-limit-to-do-command.md} +0 -0
  481. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/05-add-config-get-set-flags.md → 32-quick-fix-gremlin/outcomes/5-add-config-get-set-flags.md} +0 -0
  482. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/06-sync-worktree-branch-before-execution.md → 32-quick-fix-gremlin/outcomes/6-sync-worktree-branch-before-execution.md} +0 -0
  483. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/07-update-frontmatter-format.md → 32-quick-fix-gremlin/outcomes/7-update-frontmatter-format.md} +0 -0
  484. /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/08-remove-plan-token-report.md → 32-quick-fix-gremlin/outcomes/8-remove-plan-token-report.md} +0 -0
  485. /package/RAF/{ahwidh-quick-fix-gremlin/plans/01-fix-name-generation-prompt.md → 32-quick-fix-gremlin/plans/1-fix-name-generation-prompt.md} +0 -0
  486. /package/RAF/{ahwidh-quick-fix-gremlin/plans/02-fix-amend-commit-scope.md → 32-quick-fix-gremlin/plans/2-fix-amend-commit-scope.md} +0 -0
  487. /package/RAF/{ahwidh-quick-fix-gremlin/plans/03-fix-diverged-main-branch-sync.md → 32-quick-fix-gremlin/plans/3-fix-diverged-main-branch-sync.md} +0 -0
  488. /package/RAF/{ahwidh-quick-fix-gremlin/plans/04-wire-rate-limit-to-do-command.md → 32-quick-fix-gremlin/plans/4-wire-rate-limit-to-do-command.md} +0 -0
  489. /package/RAF/{ahwidh-quick-fix-gremlin/plans/05-add-config-get-set-flags.md → 32-quick-fix-gremlin/plans/5-add-config-get-set-flags.md} +0 -0
  490. /package/RAF/{ahwidh-quick-fix-gremlin/plans/07-update-frontmatter-format.md → 32-quick-fix-gremlin/plans/7-update-frontmatter-format.md} +0 -0
  491. /package/RAF/{ahwidh-quick-fix-gremlin/plans/08-remove-plan-token-report.md → 32-quick-fix-gremlin/plans/8-remove-plan-token-report.md} +0 -0
  492. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/decisions.md +0 -0
  493. /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/input.md +0 -0
  494. /package/RAF/{ahwqwq-model-whisperer/outcomes/01-show-model-on-task-line.md → 33-model-whisperer/outcomes/1-show-model-on-task-line.md} +0 -0
  495. /package/RAF/{ahwqwq-model-whisperer/outcomes/02-use-claude-cost-estimation.md → 33-model-whisperer/outcomes/2-use-claude-cost-estimation.md} +0 -0
  496. /package/RAF/{ahwqwq-model-whisperer/outcomes/03-add-plan-resume-flag.md → 33-model-whisperer/outcomes/3-add-plan-resume-flag.md} +0 -0
  497. /package/RAF/{ahwqwq-model-whisperer/plans/01-show-model-on-task-line.md → 33-model-whisperer/plans/1-show-model-on-task-line.md} +0 -0
  498. /package/RAF/{ahwqwq-model-whisperer/plans/02-use-claude-cost-estimation.md → 33-model-whisperer/plans/2-use-claude-cost-estimation.md} +0 -0
  499. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/decisions.md +0 -0
  500. /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/input.md +0 -0
  501. /package/RAF/{ahwvrz-legacy-sunset/outcomes/01-remove-migrate-command.md → 34-legacy-sunset/outcomes/1-remove-migrate-command.md} +0 -0
  502. /package/RAF/{ahwvrz-legacy-sunset/outcomes/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/outcomes/2-fix-resume-worktree-resolution.md} +0 -0
  503. /package/RAF/{ahwvrz-legacy-sunset/plans/01-remove-migrate-command.md → 34-legacy-sunset/plans/1-remove-migrate-command.md} +0 -0
  504. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/decisions.md +0 -0
  505. /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/input.md +0 -0
  506. /package/RAF/{ahwzmc-echo-forge/outcomes/01-change-low-effort-default-to-sonnet.md → 35-echo-forge/outcomes/1-change-low-effort-default-to-sonnet.md} +0 -0
  507. /package/RAF/{ahwzmc-echo-forge/outcomes/02-add-no-worktree-flag.md → 35-echo-forge/outcomes/2-add-no-worktree-flag.md} +0 -0
  508. /package/RAF/{ahwzmc-echo-forge/outcomes/03-update-readme.md → 35-echo-forge/outcomes/3-update-readme.md} +0 -0
  509. /package/RAF/{ahwzmc-echo-forge/plans/01-change-low-effort-default-to-sonnet.md → 35-echo-forge/plans/1-change-low-effort-default-to-sonnet.md} +0 -0
  510. /package/RAF/{ahwzmc-echo-forge/plans/02-add-no-worktree-flag.md → 35-echo-forge/plans/2-add-no-worktree-flag.md} +0 -0
  511. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/decisions.md +0 -0
  512. /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/input.md +0 -0
  513. /package/RAF/{aifqwf-fix-amend-commit-again/outcomes/01-update-effort-mapping-defaults.md → 36-fix-amend-commit-again/outcomes/1-update-effort-mapping-defaults.md} +0 -0
  514. /package/RAF/{aifqwf-fix-amend-commit-again/outcomes/02-fix-amend-worktree-commit.md → 36-fix-amend-commit-again/outcomes/2-fix-amend-worktree-commit.md} +0 -0
  515. /package/RAF/{aifqwf-fix-amend-commit-again/plans/01-update-effort-mapping-defaults.md → 36-fix-amend-commit-again/plans/1-update-effort-mapping-defaults.md} +0 -0
  516. /package/RAF/{aifqwf-fix-amend-commit-again/plans/02-fix-amend-worktree-commit.md → 36-fix-amend-commit-again/plans/2-fix-amend-worktree-commit.md} +0 -0
  517. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/decisions.md +0 -0
  518. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/input.md +0 -0
  519. /package/RAF/{aaaaae-task-naming-optimization/outcomes/01-remove-summary-file.md → 4-task-naming-optimization/outcomes/1-remove-summary-file.md} +0 -0
  520. /package/RAF/{aaaaae-task-naming-optimization/outcomes/02-base36-project-numbering.md → 4-task-naming-optimization/outcomes/2-base36-project-numbering.md} +0 -0
  521. /package/RAF/{aaaaae-task-naming-optimization/outcomes/03-improve-haiku-prompt.md → 4-task-naming-optimization/outcomes/3-improve-haiku-prompt.md} +0 -0
  522. /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/outcomes/SUMMARY.md +0 -0
  523. /package/RAF/{aaaaae-task-naming-optimization/plans/01-remove-summary-file.md → 4-task-naming-optimization/plans/1-remove-summary-file.md} +0 -0
  524. /package/RAF/{aaaaae-task-naming-optimization/plans/02-base36-project-numbering.md → 4-task-naming-optimization/plans/2-base36-project-numbering.md} +0 -0
  525. /package/RAF/{aaaaae-task-naming-optimization/plans/03-improve-haiku-prompt.md → 4-task-naming-optimization/plans/3-improve-haiku-prompt.md} +0 -0
  526. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/decisions.md +0 -0
  527. /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/input.md +0 -0
  528. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/01-enhance-identifier-resolution.md → 5-task-naming-improvements/outcomes/1-enhance-identifier-resolution.md} +0 -0
  529. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/02-add-identifier-support-to-status.md → 5-task-naming-improvements/outcomes/2-add-identifier-support-to-status.md} +0 -0
  530. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/03-update-do-for-full-folder-names.md → 5-task-naming-improvements/outcomes/3-update-do-for-full-folder-names.md} +0 -0
  531. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/04-implement-amend-flag-for-plan.md → 5-task-naming-improvements/outcomes/4-implement-amend-flag-for-plan.md} +0 -0
  532. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/05-commit-outcomes-on-complete.md → 5-task-naming-improvements/outcomes/5-commit-outcomes-on-complete.md} +0 -0
  533. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/06-update-execution-prompt-commit-schema.md → 5-task-naming-improvements/outcomes/6-update-execution-prompt-commit-schema.md} +0 -0
  534. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/07-allow-pending-task-amendments.md → 5-task-naming-improvements/outcomes/7-allow-pending-task-amendments.md} +0 -0
  535. /package/RAF/{aaaaaf-task-naming-improvements/outcomes/08-fix-timeout-label.md → 5-task-naming-improvements/outcomes/8-fix-timeout-label.md} +0 -0
  536. /package/RAF/{aaaaaf-task-naming-improvements/plans/01-enhance-identifier-resolution.md → 5-task-naming-improvements/plans/1-enhance-identifier-resolution.md} +0 -0
  537. /package/RAF/{aaaaaf-task-naming-improvements/plans/02-add-identifier-support-to-status.md → 5-task-naming-improvements/plans/2-add-identifier-support-to-status.md} +0 -0
  538. /package/RAF/{aaaaaf-task-naming-improvements/plans/03-update-do-for-full-folder-names.md → 5-task-naming-improvements/plans/3-update-do-for-full-folder-names.md} +0 -0
  539. /package/RAF/{aaaaaf-task-naming-improvements/plans/04-implement-amend-flag-for-plan.md → 5-task-naming-improvements/plans/4-implement-amend-flag-for-plan.md} +0 -0
  540. /package/RAF/{aaaaaf-task-naming-improvements/plans/05-commit-outcomes-on-complete.md → 5-task-naming-improvements/plans/5-commit-outcomes-on-complete.md} +0 -0
  541. /package/RAF/{aaaaaf-task-naming-improvements/plans/06-update-execution-prompt-commit-schema.md → 5-task-naming-improvements/plans/6-update-execution-prompt-commit-schema.md} +0 -0
  542. /package/RAF/{aaaaaf-task-naming-improvements/plans/07-allow-pending-task-amendments.md → 5-task-naming-improvements/plans/7-allow-pending-task-amendments.md} +0 -0
  543. /package/RAF/{aaaaaf-task-naming-improvements/plans/08-fix-timeout-label.md → 5-task-naming-improvements/plans/8-fix-timeout-label.md} +0 -0
  544. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/decisions.md +0 -0
  545. /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/input.md +0 -0
  546. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/01-fix-double-summary-headers.md → 6-fix-double-summary-headers/outcomes/1-fix-double-summary-headers.md} +0 -0
  547. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/02-update-readme-for-npm.md → 6-fix-double-summary-headers/outcomes/2-update-readme-for-npm.md} +0 -0
  548. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/03-npm-publish-instructions.md → 6-fix-double-summary-headers/outcomes/3-npm-publish-instructions.md} +0 -0
  549. /package/RAF/{aaaaag-fix-double-summary-headers/outcomes/04-flexible-project-lookup.md → 6-fix-double-summary-headers/outcomes/4-flexible-project-lookup.md} +0 -0
  550. /package/RAF/{aaaaag-fix-double-summary-headers/plans/01-fix-double-summary-headers.md → 6-fix-double-summary-headers/plans/1-fix-double-summary-headers.md} +0 -0
  551. /package/RAF/{aaaaag-fix-double-summary-headers/plans/02-update-readme-for-npm.md → 6-fix-double-summary-headers/plans/2-update-readme-for-npm.md} +0 -0
  552. /package/RAF/{aaaaag-fix-double-summary-headers/plans/03-npm-publish-instructions.md → 6-fix-double-summary-headers/plans/3-npm-publish-instructions.md} +0 -0
  553. /package/RAF/{aaaaag-fix-double-summary-headers/plans/04-flexible-project-lookup.md → 6-fix-double-summary-headers/plans/4-flexible-project-lookup.md} +0 -0
  554. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/decisions.md +0 -0
  555. /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/input.md +0 -0
  556. /package/RAF/{aaaaah-improve-outcome-format/outcomes/01-update-execution-prompt.md → 7-improve-outcome-format/outcomes/1-update-execution-prompt.md} +0 -0
  557. /package/RAF/{aaaaah-improve-outcome-format/outcomes/02-update-state-derivation.md → 7-improve-outcome-format/outcomes/2-update-state-derivation.md} +0 -0
  558. /package/RAF/{aaaaah-improve-outcome-format/outcomes/03-update-do-command-outcome-handling.md → 7-improve-outcome-format/outcomes/3-update-do-command-outcome-handling.md} +0 -0
  559. /package/RAF/{aaaaah-improve-outcome-format/outcomes/04-implement-failure-analysis.md → 7-improve-outcome-format/outcomes/4-implement-failure-analysis.md} +0 -0
  560. /package/RAF/{aaaaah-improve-outcome-format/outcomes/05-update-documentation.md → 7-improve-outcome-format/outcomes/5-update-documentation.md} +0 -0
  561. /package/RAF/{aaaaah-improve-outcome-format/plans/01-update-execution-prompt.md → 7-improve-outcome-format/plans/1-update-execution-prompt.md} +0 -0
  562. /package/RAF/{aaaaah-improve-outcome-format/plans/02-update-state-derivation.md → 7-improve-outcome-format/plans/2-update-state-derivation.md} +0 -0
  563. /package/RAF/{aaaaah-improve-outcome-format/plans/03-update-do-command-outcome-handling.md → 7-improve-outcome-format/plans/3-update-do-command-outcome-handling.md} +0 -0
  564. /package/RAF/{aaaaah-improve-outcome-format/plans/04-implement-failure-analysis.md → 7-improve-outcome-format/plans/4-implement-failure-analysis.md} +0 -0
  565. /package/RAF/{aaaaah-improve-outcome-format/plans/05-update-documentation.md → 7-improve-outcome-format/plans/5-update-documentation.md} +0 -0
  566. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/decisions.md +0 -0
  567. /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/input.md +0 -0
  568. /package/RAF/{aaaaai-beautiful-do/outcomes/01-terminal-symbols.md → 8-beautiful-do/outcomes/1-terminal-symbols.md} +0 -0
  569. /package/RAF/{aaaaai-beautiful-do/outcomes/02-refactor-do-output.md → 8-beautiful-do/outcomes/2-refactor-do-output.md} +0 -0
  570. /package/RAF/{aaaaai-beautiful-do/outcomes/03-refactor-status-output.md → 8-beautiful-do/outcomes/3-refactor-status-output.md} +0 -0
  571. /package/RAF/{aaaaai-beautiful-do/outcomes/04-simplify-logger.md → 8-beautiful-do/outcomes/4-simplify-logger.md} +0 -0
  572. /package/RAF/{aaaaai-beautiful-do/outcomes/05-add-tests.md → 8-beautiful-do/outcomes/5-add-tests.md} +0 -0
  573. /package/RAF/{aaaaai-beautiful-do/plans/01-terminal-symbols.md → 8-beautiful-do/plans/1-terminal-symbols.md} +0 -0
  574. /package/RAF/{aaaaai-beautiful-do/plans/02-refactor-do-output.md → 8-beautiful-do/plans/2-refactor-do-output.md} +0 -0
  575. /package/RAF/{aaaaai-beautiful-do/plans/03-refactor-status-output.md → 8-beautiful-do/plans/3-refactor-status-output.md} +0 -0
  576. /package/RAF/{aaaaai-beautiful-do/plans/04-simplify-logger.md → 8-beautiful-do/plans/4-simplify-logger.md} +0 -0
  577. /package/RAF/{aaaaai-beautiful-do/plans/05-add-tests.md → 8-beautiful-do/plans/5-add-tests.md} +0 -0
  578. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/decisions.md +0 -0
  579. /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/input.md +0 -0
  580. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/01-model-override.md → 9-system-promt-ammend/outcomes/1-model-override.md} +0 -0
  581. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/02-system-prompt-append.md → 9-system-promt-ammend/outcomes/2-system-prompt-append.md} +0 -0
  582. /package/RAF/{aaaaaj-system-promt-ammend/outcomes/03-retry-context.md → 9-system-promt-ammend/outcomes/3-retry-context.md} +0 -0
  583. /package/RAF/{aaaaaj-system-promt-ammend/plans/01-model-override.md → 9-system-promt-ammend/plans/1-model-override.md} +0 -0
  584. /package/RAF/{aaaaaj-system-promt-ammend/plans/02-system-prompt-append.md → 9-system-promt-ammend/plans/2-system-prompt-append.md} +0 -0
  585. /package/RAF/{aaaaaj-system-promt-ammend/plans/03-retry-context.md → 9-system-promt-ammend/plans/3-retry-context.md} +0 -0
@@ -0,0 +1,94 @@
1
+ ---
2
+ effort: high
3
+ ---
4
+ # Task: Implement Codex Runner
5
+
6
+ ## Objective
7
+ Implement `CodexRunner` that wraps the Codex CLI (`codex` binary) with the same interface as `ClaudeRunner`.
8
+
9
+ ## Context
10
+ With the runner interface extracted in task 2, we can now implement the Codex-specific runner. Codex CLI has different flags, output formats, and interaction patterns than Claude CLI. Key differences:
11
+ - Non-interactive: `codex exec --full-auto --json` (vs Claude's `-p --output-format stream-json`)
12
+ - Interactive: `codex` TUI via PTY (vs Claude's PTY)
13
+ - No `--system-prompt` flag — system prompt must be prepended to user message
14
+ - JSONL output with different event types (CommandExecution, FileChange, AgentMessage, etc.)
15
+ - Model flag: `-m` (vs `--model`)
16
+ - Permission bypass: `--full-auto` (vs `--dangerously-skip-permissions`)
17
+
18
+ ## Dependencies
19
+ 1, 2
20
+
21
+ ## Requirements
22
+ - Implement `CodexRunner` class implementing `ICliRunner`
23
+ - Handle system prompt by prepending it to the user message
24
+ - Parse Codex JSONL events into the shared `RunResult` format
25
+ - Support both interactive (PTY) and non-interactive (exec) modes
26
+ - Discover `codex` binary via `which codex`
27
+ - Build correct CLI arguments for Codex
28
+ - Stream renderer for Codex JSONL events (separate from Claude's stream-renderer)
29
+
30
+ ## Implementation Steps
31
+
32
+ 1. **Create `src/parsers/codex-stream-renderer.ts`**:
33
+ - Parse Codex JSONL events (one JSON object per line)
34
+ - Map Codex event types to `RenderResult` (same interface as Claude's renderer):
35
+ - `AgentMessage` → text content + display
36
+ - `CommandExecution` → tool display (show command + exit code)
37
+ - `FileChange` → tool display (show file path + change kind)
38
+ - `McpToolCall` → tool display
39
+ - `TodoList` → skip or minimal display
40
+ - Extract any usage/cost data from Codex events if available
41
+ - Export `renderCodexStreamEvent(line: string): RenderResult`
42
+
43
+ 2. **Create `src/core/codex-runner.ts`**:
44
+ - Implement `ICliRunner` interface
45
+ - `getCodexPath()`: `execSync('which codex', ...)`
46
+ - Constructor takes `RunnerConfig` (model, provider)
47
+
48
+ 3. **Implement `runInteractive()`**:
49
+ - Spawn `codex` (no `exec` subcommand) via PTY
50
+ - Build args: `-m <model>`
51
+ - Combine system prompt and user message: `"[System Instructions]\n\n{systemPrompt}\n\n[User Request]\n\n{userMessage}"`
52
+ - Pass combined message as positional argument
53
+ - Handle PTY stdin/stdout passthrough (same pattern as ClaudeRunner)
54
+ - Handle cleanup on exit
55
+
56
+ 4. **Implement `run()` / `runVerbose()` (non-interactive execution)**:
57
+ - Spawn: `codex exec --full-auto --json -m <model> <combined_prompt>`
58
+ - Build the combined prompt (system + user prompt prepended)
59
+ - Parse JSONL stdout line by line using `renderCodexStreamEvent()`
60
+ - Accumulate text content for output
61
+ - Apply timeout logic (same pattern as ClaudeRunner)
62
+ - Use shared completion detector for outcome file monitoring
63
+ - Return `RunResult` with output, exitCode, timedOut, contextOverflow
64
+
65
+ 5. **Implement `runResume()`**:
66
+ - Throw `Error('Session resume is not supported by Codex CLI')`
67
+
68
+ 6. **Implement `kill()` and `isRunning()`**:
69
+ - Same pattern as ClaudeRunner (Ctrl+C via PTY write, SIGTERM fallback)
70
+
71
+ 7. **Update `src/core/runner-factory.ts`**:
72
+ - Import `CodexRunner`
73
+ - Return `new CodexRunner(config)` for `provider: 'codex'`
74
+
75
+ 8. **Handle Codex-specific edge cases**:
76
+ - Codex may not report token usage in the same way — handle missing usage data gracefully
77
+ - Codex `--json` output might include events we don't care about — filter/skip unknown types
78
+ - `--ephemeral` flag to avoid session persistence pollution
79
+
80
+ ## Acceptance Criteria
81
+ - [ ] `CodexRunner` implements `ICliRunner` fully
82
+ - [ ] `codex exec` spawns correctly with proper flags
83
+ - [ ] System prompt is prepended to user message correctly
84
+ - [ ] JSONL events are parsed and displayed properly in verbose mode
85
+ - [ ] Interactive mode works via PTY
86
+ - [ ] Timeout and completion detection work
87
+ - [ ] `createRunner({ provider: 'codex' })` returns a working CodexRunner
88
+ - [ ] TypeScript compiles without errors
89
+
90
+ ## Notes
91
+ - Test by running `raf do <project> --provider codex` once integrated
92
+ - Codex may not provide `total_cost_usd` in the same format — handle gracefully with zeros
93
+ - The combined prompt approach (prepending system prompt) means Codex sees one large message. This is simpler but less structured than Claude's separate system prompt. It was chosen for simplicity per user decision.
94
+ - Use `--ephemeral` flag in non-interactive mode to keep things clean
@@ -0,0 +1,70 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Update Prompts to be LLM-Agnostic
5
+
6
+ ## Objective
7
+ Remove Claude-specific language from all prompt templates so they work with any LLM provider.
8
+
9
+ ## Context
10
+ The prompts in `src/prompts/` contain Claude-specific references like "Claude Code", "Claude CLI", "Claude session", and "Claude model". These need to be made generic since the prompts will now be sent to either Claude or Codex.
11
+
12
+ ## Dependencies
13
+ 1
14
+
15
+ ## Requirements
16
+ - Replace Claude-specific references in all prompt files with generic alternatives
17
+ - Update the execution prompt, planning prompt, and amend prompt
18
+ - Keep the prompts' functional content identical — only change naming/branding
19
+ - Update any log messages that reference "Claude" in the runner and command files
20
+
21
+ ## Implementation Steps
22
+
23
+ 1. **Update `src/prompts/execution.ts`**:
24
+ - Replace "Claude" references in prompt text with generic terms
25
+ - `"You are executing a planned task for RAF"` — already generic, keep as-is
26
+ - Check for any Claude-specific tool names or behaviors mentioned in the prompt
27
+
28
+ 2. **Update `src/prompts/planning.ts`**:
29
+ - `"Take roughly 10-30 minutes of work for Claude"` → `"Take roughly 10-30 minutes of work"`
30
+ - `"which Claude model will execute the task"` → `"which model will execute the task"`
31
+ - Review entire planning prompt for Claude-specific language
32
+
33
+ 3. **Update `src/prompts/amend.ts`**:
34
+ - Same treatment as planning prompt
35
+ - `"which Claude model will execute the task"` → `"which model will execute the task"`
36
+
37
+ 4. **Update log messages in `src/core/claude-runner.ts`**:
38
+ - `"Starting interactive Claude session"` → `"Starting interactive session"` or include provider name dynamically
39
+ - `"Starting Claude execution session"` → `"Starting execution session"`
40
+ - `"Claude session timed out"` → `"Session timed out"`
41
+ - `"terminating Claude process"` → `"terminating process"`
42
+ - `"Claude exited with code"` → `"Process exited with code"`
43
+ - `"Claude stderr"` → `"Process stderr"`
44
+
45
+ 5. **Update `src/core/pull-request.ts`**:
46
+ - `callClaudeForPrBody` → `callLlmForPrBody` (or keep internal name, just update error messages)
47
+ - `"Claude CLI not found"` → make provider-aware or generic
48
+
49
+ 6. **Update `src/index.ts`**:
50
+ - `.description('RAF - Automated Task Planning & Execution with Claude Code')` → `'RAF - Automated Task Planning & Execution'`
51
+
52
+ 7. **Update `src/parsers/stream-renderer.ts`** doc comments:
53
+ - `"Event types from claude -p --output-format stream-json --verbose"` → make generic or note it's Claude-specific
54
+
55
+ 8. **Scan for remaining references**:
56
+ - Search entire `src/` for strings containing "claude" (case-insensitive)
57
+ - Skip: file names that will be addressed by the runner refactoring, type names with backward-compat re-exports
58
+ - Update any user-facing messages, error messages, and comments
59
+
60
+ ## Acceptance Criteria
61
+ - [ ] No user-facing prompt text mentions "Claude" specifically
62
+ - [ ] Log messages are provider-generic or include provider name dynamically
63
+ - [ ] CLI description is LLM-agnostic
64
+ - [ ] All prompts still function correctly (no broken templates)
65
+ - [ ] TypeScript compiles without errors
66
+
67
+ ## Notes
68
+ - Internal code comments mentioning "Claude" are lower priority but should be updated where easy
69
+ - File names like `claude-runner.ts` don't need to change — they're internal implementation files for the Claude provider
70
+ - The planning prompt is also used as the system prompt for this very planning session, but that's fine — it's a template, not a runtime concern
@@ -0,0 +1,52 @@
1
+ ---
2
+ effort: low
3
+ ---
4
+ # Task: Update README and Documentation
5
+
6
+ ## Objective
7
+ Update README.md to reflect multi-provider support, new config options, and the `--provider` CLI flag.
8
+
9
+ ## Context
10
+ The README currently describes RAF as a Claude Code-only tool. With Codex support added, documentation needs to reflect the dual-provider capability.
11
+
12
+ ## Dependencies
13
+ 1, 2, 3, 4
14
+
15
+ ## Requirements
16
+ - Document the `provider` config field and `--provider` CLI flag
17
+ - Document harness-prefixed model format (`claude/opus`, `codex/gpt-5.4`)
18
+ - Document Codex-specific configuration (codexModels, codexEffortMapping)
19
+ - Update existing examples that reference Claude-only setup
20
+ - Keep README concise — don't over-document
21
+
22
+ ## Implementation Steps
23
+
24
+ 1. **Update the project description** at the top of README.md:
25
+ - Mention support for both Claude Code CLI and OpenAI Codex CLI
26
+
27
+ 2. **Add a Provider Configuration section**:
28
+ - Explain `provider` config field (default: `claude`)
29
+ - Show `--provider codex` CLI usage
30
+ - Explain model prefix format with examples
31
+
32
+ 3. **Update the Configuration section**:
33
+ - Add `codexModels` and `codexEffortMapping` to config example
34
+ - Show harness-prefixed model examples
35
+
36
+ 4. **Update command examples**:
37
+ - Add `--provider` flag to `raf do` and `raf plan` examples
38
+ - Show mixed provider usage
39
+
40
+ 5. **Note limitations**:
41
+ - Codex doesn't support `--resume` (session resume)
42
+ - System prompt is prepended to user message for Codex
43
+
44
+ ## Acceptance Criteria
45
+ - [ ] README reflects multi-provider support
46
+ - [ ] New config fields are documented
47
+ - [ ] `--provider` flag is documented for relevant commands
48
+ - [ ] Existing documentation is updated (not just appended)
49
+
50
+ ## Notes
51
+ - Keep the README focused on usage, not implementation details
52
+ - Don't document internal architecture changes (runner interface, etc.)
@@ -0,0 +1,40 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Unified Project Scanning in `raf do` Worktree Mode
5
+
6
+ ## Objective
7
+ Make `raf do --worktree` show both worktree and main-repo projects in the interactive picker, instead of only worktree projects.
8
+
9
+ ## Context
10
+ Currently, `raf do` has two scanning modes:
11
+ - **Standard mode**: scans both main-repo and worktree projects (via `pickPendingProject()` + `getPendingWorktreeProjects()`)
12
+ - **Worktree mode** (`--worktree`): only scans worktree projects (via `discoverAndPickWorktreeProject()`)
13
+
14
+ This is confusing — users expect to see all pending projects regardless of where they live. The fix should make worktree mode also show main-repo projects.
15
+
16
+ ## Requirements
17
+ - In worktree mode, the project picker should show both worktree AND main-repo pending projects
18
+ - When a project exists in both main repo and worktree, the worktree version takes precedence (dedup)
19
+ - The existing threshold filter logic in `discoverAndPickWorktreeProject()` should still apply to worktree projects
20
+ - Main-repo projects should be clearly distinguishable from worktree projects in the picker (if they aren't already)
21
+ - When a main-repo project is selected in worktree mode, the existing worktree creation flow should kick in as normal
22
+
23
+ ## Implementation Steps
24
+ 1. Read `src/commands/do.ts` — focus on `discoverAndPickWorktreeProject()` (lines ~659-770) and the standard mode picker logic (lines ~270-299)
25
+ 2. Read `src/ui/project-picker.ts` — understand `getPendingWorktreeProjects()` and `pickPendingProject()` and how dedup works
26
+ 3. Modify `discoverAndPickWorktreeProject()` to also discover main-repo pending projects using existing utilities
27
+ 4. Merge the two lists with worktree versions taking precedence on duplicates
28
+ 5. Update the picker display if needed to indicate project source (worktree vs main)
29
+ 6. Test the flow manually to ensure both project types appear
30
+
31
+ ## Acceptance Criteria
32
+ - [ ] `raf do --worktree` shows pending projects from both worktree and main repo
33
+ - [ ] Duplicate projects are deduped with worktree version taking precedence
34
+ - [ ] Selecting a main-repo project in worktree mode correctly creates/uses a worktree
35
+ - [ ] Existing worktree-only scanning behavior is replaced by unified scanning
36
+ - [ ] No regressions in standard (non-worktree) mode
37
+
38
+ ## Notes
39
+ - The standard mode already has this merging logic — reuse it rather than reimplementing
40
+ - Be careful with the threshold filter — it should only apply to worktree project filtering, not main-repo projects
@@ -0,0 +1,51 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Fix Plan Amend Prompt and Add Numeric ID Resolution
5
+
6
+ ## Objective
7
+ Fix the bug where `raf plan -y <project-name>` skips the existing project check, and add numeric ID resolution to both the auto-detect prompt and the explicit `--amend` flag.
8
+
9
+ ## Context
10
+ This is a follow-up fix to a previously implemented feature. Two issues:
11
+
12
+ 1. **Auto mode bypass**: The amend prompt (plan.ts lines ~118-161) correctly detects existing projects in both main repo and worktrees, and offers to amend. However, the entire check is gated by `!autoMode`, so running `raf plan -y dual-wielder` when a project named "dual-wielder" already exists will silently create a new project instead of amending.
13
+
14
+ 2. **Numeric ID not supported**: Neither the auto-detect flow nor the explicit `--amend` flag resolve numeric project IDs. `raf plan --amend 38` or `raf plan 38` should find project `38-dual-wielder` and work correctly.
15
+
16
+ The specific failing case: `raf-dev plan -y dual-wielder` opened fresh planning instead of amending the existing worktree project "dual-wielder".
17
+
18
+ ## Requirements
19
+ - The existing project name check must run even when `-y` (auto mode) is active
20
+ - When an existing project is found in auto mode, the tool should still prompt the user (breaking out of auto mode for this safety check) — silently creating a duplicate would be worse than interrupting auto mode
21
+ - The check should cover both main-repo and worktree projects (it already does, just needs the `!autoMode` gate removed)
22
+ - `raf plan --amend 38` should resolve numeric ID `38` to the matching project in both main-repo and worktrees
23
+ - `raf plan 38` (without --amend) should also detect the existing project by numeric ID and prompt to amend
24
+ - Numeric ID resolution should use the existing `resolveProjectIdentifierWithDetails()` and `resolveWorktreeProjectByIdentifier()` utilities which already support numeric prefix matching
25
+
26
+ ## Implementation Steps
27
+ 1. Read `src/commands/plan.ts` — focus on:
28
+ - The auto mode guard around line 118: `if (projectName && !autoMode)`
29
+ - The `--amend` flag handling and how it resolves project identifiers
30
+ - The `runAmendCommand()` function
31
+ 2. Read `src/utils/paths.ts` — understand `resolveProjectIdentifierWithDetails()` which already supports numeric prefix matching
32
+ 3. Read `src/core/worktree.ts` — understand `resolveWorktreeProjectByIdentifier()` which also supports numeric matching
33
+ 4. Remove the `!autoMode` condition so the existing project check runs regardless of mode
34
+ 5. Update the auto-detect check to use `resolveProjectIdentifierWithDetails()` (which handles numeric IDs) instead of any name-only matching
35
+ 6. Update the `--amend` flag handling to accept numeric IDs, using the same resolution utilities
36
+ 7. Ensure resolution checks both main-repo and worktree projects for both flows
37
+
38
+ ## Acceptance Criteria
39
+ - [ ] `raf plan -y <existing-project-name>` detects the existing project and prompts to amend
40
+ - [ ] `raf plan -y <numeric-id>` (e.g., `raf plan -y 38`) detects the existing project and prompts to amend
41
+ - [ ] `raf plan --amend <numeric-id>` resolves the project correctly and enters amend mode
42
+ - [ ] `raf plan --amend <project-name>` continues to work as before
43
+ - [ ] Resolution checks both main-repo and worktree projects in all cases
44
+ - [ ] If user selects "amend", the amend flow runs correctly
45
+ - [ ] If user selects "create new", a new project is created as before
46
+ - [ ] Non-auto-mode behavior is unchanged
47
+
48
+ ## Notes
49
+ - The resolution utilities (`resolveProjectIdentifierWithDetails`, `resolveWorktreeProjectByIdentifier`) already support numeric prefix matching — reuse them rather than adding custom logic
50
+ - The safety prompt intentionally breaks auto mode — duplicating a project name is almost always a mistake
51
+ - Effort bumped to medium since this touches both the auto-detect and --amend flows with ID resolution logic
@@ -0,0 +1,95 @@
1
+ ---
2
+ effort: high
3
+ ---
4
+ # Task: E2E Test Codex Provider
5
+
6
+ ## Objective
7
+ Verify the Codex provider integration works end-to-end by running `raf-dev plan` and `raf-dev do` with `--provider codex` against a dummy Node.js project, documenting all issues found.
8
+
9
+ ## Context
10
+ This is a follow-up to task 3 (implement-codex-runner). See outcome: /Users/eremeev/projects/RAF/RAF/38-dual-wielder/outcomes/3-implement-codex-runner.md
11
+
12
+ Tasks 1-4 added Codex support (config schema, abstract runner, CodexRunner implementation, LLM-agnostic prompts) but none of this has been tested E2E against a real project. This task validates the full integration.
13
+
14
+ ## Dependencies
15
+ 3
16
+
17
+ ## Requirements
18
+ - Create a simple dummy Node.js project to use as a test target
19
+ - Run `raf-dev plan` and `raf-dev do` with `--provider codex` and verify real behavior
20
+ - Use `raf-dev` (not `raf`) for all testing — this is the development binary
21
+ - Test all major scenarios: planning, execution, config/model resolution, error handling
22
+ - Document all issues found in the outcome — do NOT auto-create fix tasks
23
+ - Sequential testing is fine (no need for parallel agents)
24
+
25
+ ## Implementation Steps
26
+
27
+ ### Phase 1: Set up dummy project
28
+
29
+ 1. Create a temporary dummy Node.js project folder (e.g., `/tmp/raf-codex-test-project/`) with:
30
+ - `package.json` with a name and basic scripts
31
+ - `src/index.ts` — a small file with a few intentional TODOs or bugs (e.g., a function that doesn't handle edge cases)
32
+ - `tsconfig.json` — basic TypeScript config
33
+ - Initialize a git repo in it (`git init && git add . && git commit`)
34
+ 2. The project should be simple enough that an LLM can meaningfully plan and execute tasks against it
35
+
36
+ ### Phase 2: Test `raf-dev plan --provider codex`
37
+
38
+ 3. Run `raf-dev plan --provider codex` targeting the dummy project
39
+ - Provide a simple input like "add input validation to the exported functions"
40
+ - Verify: Does the PTY spawn correctly? Does Codex receive the prompt?
41
+ - Verify: Are plan files generated with correct frontmatter?
42
+ - Verify: Does the interactive planning session complete without crashes?
43
+ 4. Check the generated plan files — are they well-formed? Do they have the expected structure?
44
+
45
+ ### Phase 3: Test `raf-dev do --provider codex`
46
+
47
+ 5. Run `raf-dev do --provider codex` on the planned project
48
+ - Verify: Does task execution start correctly?
49
+ - Verify: Is the `codex exec --full-auto --json --ephemeral` command constructed properly?
50
+ - Verify: Does JSONL stream output display correctly in verbose mode?
51
+ - Verify: Does completion detection work (outcome file, commit verification)?
52
+ - Verify: Does the task complete and produce an outcome file?
53
+ 6. Check the outcome files and any commits made — are they correct?
54
+
55
+ ### Phase 4: Test config/model resolution
56
+
57
+ 7. Test that `--provider codex` correctly overrides the default provider in config
58
+ 8. Test effort-based model resolution for codex:
59
+ - A plan with `effort: low` should use `gpt-5.3-codex-spark`
60
+ - A plan with `effort: medium` should use `gpt-5.3-codex`
61
+ - A plan with `effort: high` should use `gpt-5.4`
62
+ 9. Test explicit model override in plan frontmatter (e.g., `model: codex/gpt-5.4`)
63
+
64
+ ### Phase 5: Test error handling and edge cases
65
+
66
+ 10. Test what happens when `codex` binary is not in PATH (temporarily rename or use a bad path)
67
+ 11. Test timeout behavior — does a long-running task get terminated correctly?
68
+ 12. Test that `runResume` correctly throws "not supported" for Codex
69
+ 13. Test behavior with malformed/unexpected Codex output
70
+ 14. Verify that usage data being `undefined` for Codex doesn't break any display or logging code
71
+
72
+ ### Phase 6: Document results
73
+
74
+ 15. Create a comprehensive outcome document listing:
75
+ - Each scenario tested and its result (PASS/FAIL)
76
+ - Detailed description of any failures or unexpected behavior
77
+ - Severity assessment for each issue (critical/major/minor)
78
+ - Suggested fixes for each issue found
79
+
80
+ ## Acceptance Criteria
81
+ - [ ] Dummy Node.js project created and initialized with git
82
+ - [ ] `raf-dev plan --provider codex` tested and results documented
83
+ - [ ] `raf-dev do --provider codex` tested and results documented
84
+ - [ ] Config/model resolution tested for codex provider
85
+ - [ ] Error handling and edge cases tested
86
+ - [ ] Comprehensive outcome document listing all issues found with severity
87
+
88
+ ## Notes
89
+ - This task requires the `codex` CLI to be installed and available in PATH
90
+ - If Codex CLI is not available, document that as the first finding and test what you can without it (e.g., error handling for missing binary, config resolution logic)
91
+ - Focus on documenting issues clearly — the user will decide what to fix based on the outcome
92
+ - When testing interactively (raf-dev plan), you may need to provide input via the PTY — document any difficulties with this
93
+ - Check `src/core/codex-runner.ts` for the actual command construction to verify correctness
94
+ - Check `src/core/runner-factory.ts` to verify provider routing
95
+ - Check `src/utils/config.ts` for model resolution logic
@@ -0,0 +1,16 @@
1
+ # Project Decisions
2
+
3
+ ## Should the JSONL stream renderer support both old and new event formats, or replace entirely?
4
+ The "old" format is not old — it's the Claude event format. The renderer should add Codex-specific event handling (item.completed, turn.completed, etc.) alongside the existing Claude event handling. Claude should continue to work as before.
5
+
6
+ ## For removing --worktree: when creating a NEW project with raf plan, should it always create a worktree or use config default?
7
+ Config default. --worktree and --no-worktree flags should STILL be supported for `raf plan` (new project creation). They determine where the new project will be created. But for --amend and auto-amend flows, the flag should be removed — auto-detect where the project lives.
8
+
9
+ ## For raf plan --amend: if project exists in main but not worktree, auto-create worktree or amend in-place?
10
+ Amend in-place. Follow where the project lives — if in main repo, amend there; if in worktree, amend there.
11
+
12
+ ## For raf do: just remove --worktree/--no-worktree flags, or deeper refactor?
13
+ Just remove flags. The existing auto-detection logic already scans both worktree and main. Just remove the CLI flags and let auto-detection be the only path.
14
+
15
+ ## Should auto-amend detection (name collision in raf plan) scan worktrees too?
16
+ Yes, scan both main repo and worktrees for name collisions during auto-amend detection.
@@ -0,0 +1,2 @@
1
+ fix all issues in RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md
2
+ - [ ] raf do should be agnostic of --migration flag, scan worktree and main. remove --worktree entirely. same for --amend flow in raf plan. basically
@@ -0,0 +1,21 @@
1
+ # Task 1: Fix Codex JSONL Stream Renderer
2
+
3
+ ## Summary
4
+ Updated `codex-stream-renderer.ts` to handle the real Codex CLI event format (nested `item.completed` events) while preserving existing Claude flat-format handlers.
5
+
6
+ ## Changes Made
7
+
8
+ ### File: `src/parsers/codex-stream-renderer.ts`
9
+ - Extended `CodexEvent` interface with `item` (nested object), `message`, and `usage` fields
10
+ - Added `item.completed` handler that dispatches on `item.type`: `agent_message`, `command_execution`, `file_change`
11
+ - Added `item.started` handler (no-op, renders on completion)
12
+ - Added `turn.completed` handler that extracts and displays usage data
13
+ - Added `error` handler — outputs error message in both `display` and `textContent`
14
+ - Added `turn.failed` handler — outputs failure message in both `display` and `textContent`
15
+ - All existing Claude-format handlers (`AgentMessage`, `CommandExecution`, `FileChange`, `McpToolCall`, `TodoList`) remain untouched
16
+
17
+ ## Verification
18
+ - TypeScript compiles without errors (`npm run build`)
19
+ - All acceptance criteria met
20
+
21
+ <promise>COMPLETE</promise>
@@ -0,0 +1,28 @@
1
+ # Task 2: Wire --provider CLI Flag Through to Runner and Model Resolution
2
+
3
+ ## Summary
4
+ Wired the inert `--provider` CLI flag through to `createRunner()` and `resolveEffortToModel()` in both `do.ts` and `plan.ts`, so that `--provider codex` actually creates a `CodexRunner` and uses the codex effort mapping.
5
+
6
+ ## Changes Made
7
+
8
+ ### File: `src/commands/do.ts`
9
+ - Added `provider` field to `SingleProjectOptions` interface
10
+ - Pass `options.provider` through `executeSingleProject` to the task execution loop
11
+ - Updated `resolveTaskModel()` to accept an optional `provider` parameter and pass it to `resolveEffortToModel()`
12
+ - Pass `provider` to `createRunner({ model, provider })` in the task retry loop
13
+
14
+ ### File: `src/commands/plan.ts`
15
+ - Read `options.provider` in the action handler
16
+ - Pass `provider` through to `runPlanCommand()`, `runAmendCommand()`, and `runResumeCommand()`
17
+ - Pass `provider` to all three `createRunner({ model, provider })` call sites
18
+ - Pass `provider` through the duplicate-project amend redirect flow
19
+
20
+ ## Verification
21
+ - TypeScript compiles without errors (`npm run build`)
22
+ - All acceptance criteria met:
23
+ - `raf do --provider codex` will create a `CodexRunner` (provider flows to `createRunner`)
24
+ - `raf plan --provider codex` will create a `CodexRunner` for planning sessions
25
+ - `resolveEffortToModel` receives the provider param for codex effort mapping
26
+ - TypeScript compiles cleanly
27
+
28
+ <promise>COMPLETE</promise>
@@ -0,0 +1,41 @@
1
+ # Task 3: Remove --worktree Flag from raf do — Auto-detect Project Location
2
+
3
+ ## Summary
4
+ Removed `--worktree` and `--no-worktree` CLI flags from `raf do`. Project location (worktree vs main repo) is now always auto-detected. The combined picker and worktree-first resolution are the only code paths.
5
+
6
+ ## Changes Made
7
+
8
+ ### File: `src/commands/do.ts`
9
+ - Removed `-w, --worktree` and `--no-worktree` option lines from `createDoCommand()`
10
+ - Removed `worktreeMode` variable and all assignments to it
11
+ - Removed the early `if (worktreeMode)` block that did worktree-specific setup — the combined picker flow now handles both worktree and main projects
12
+ - Replaced `if (worktreeMode)` in resolution with `if (worktreeRoot)` — when the picker sets worktreeRoot, resolve within that worktree; otherwise auto-detect (worktree first, then main)
13
+ - Moved main branch sync (`pullMainBranch`) to after project resolution, triggered by `worktreeRoot` being set
14
+ - Replaced `worktreeMode && worktreeRoot` guards with just `worktreeRoot`
15
+ - Removed unused `discoverAndPickWorktreeProject` function
16
+ - Cleaned up unused imports: `getWorktreeDefault`, `discoverProjects`, `formatProjectChoice`, `computeWorktreePath`, `computeWorktreeBaseDir`, `validateWorktree`, `listWorktreeProjects`
17
+
18
+ ### File: `src/types/config.ts`
19
+ - Removed `worktree?: boolean` from `DoCommandOptions` interface
20
+
21
+ ### File: `src/commands/plan.ts`
22
+ - Removed `--worktree` from `raf do` suggestions in user-facing log messages (2 locations)
23
+
24
+ ### File: `src/prompts/planning.ts`
25
+ - Removed `worktreeFlag` variable and `worktreeMode` destructuring — `raf do` instruction no longer includes `--worktree`
26
+
27
+ ### File: `src/prompts/amend.ts`
28
+ - Removed `worktreeFlag` variable and `worktreeMode` destructuring — `raf do` instruction no longer includes `--worktree`
29
+
30
+ ### File: `src/prompts/config-docs.md`
31
+ - Updated `worktree` config description to note that `raf do` auto-detects regardless of this setting
32
+
33
+ ## Verification
34
+ - TypeScript compiles without errors (`npm run build`)
35
+ - All acceptance criteria met:
36
+ - `raf do` CLI no longer accepts `--worktree` or `--no-worktree`
37
+ - `raf do` (no args) shows combined picker of worktree + main projects
38
+ - `raf do <project>` auto-detects if project is in worktree or main
39
+ - Post-execution worktree actions (merge/PR/leave) still work correctly (triggered by `worktreeRoot`)
40
+
41
+ <promise>COMPLETE</promise>
@@ -0,0 +1,30 @@
1
+ # Task 4: Remove --worktree Flag from raf plan --amend — Auto-detect Project Location
2
+
3
+ ## Summary
4
+ Modified `runAmendCommand` to auto-detect whether a project lives in a worktree or main repo, removing the `worktreeMode` parameter. The `--worktree`/`--no-worktree` flags remain on the `plan` command for new project creation only.
5
+
6
+ ## Changes Made
7
+
8
+ ### File: `src/commands/plan.ts`
9
+ - Removed `worktreeMode` parameter from `runAmendCommand` signature
10
+ - Replaced the complex worktree-mode branch (manual worktree scanning, branch recreation, fresh worktree creation with file copying) with simple auto-detection: try `resolveWorktreeProjectByIdentifier()` first, fall back to `resolveProjectIdentifierWithDetails()` in main repo
11
+ - Updated both call sites (explicit `--amend` at line ~104 and auto-amend at line ~158) to no longer pass `worktreeMode`
12
+ - Removed `existingWorktreeMode` variable from auto-amend detection flow
13
+ - Removed redundant if/else for `raf do` suggestion (both branches were identical)
14
+ - Simplified `worktreeMode && worktreePath` guard to just `worktreePath`
15
+ - Removed `worktreeMode` from `getAmendPrompt()` call
16
+ - Cleaned up unused imports: `createWorktreeFromBranch`, `branchExists`, `computeWorktreeBaseDir`
17
+
18
+ ### File: `src/prompts/amend.ts`
19
+ - Removed `worktreeMode?: boolean` from `AmendPromptParams` interface
20
+
21
+ ## Verification
22
+ - TypeScript compiles without errors (`npm run build`)
23
+ - All acceptance criteria met:
24
+ - `raf plan myproject --amend` finds project in worktree without needing `--worktree` flag
25
+ - `raf plan myproject --amend` finds project in main repo without needing `--no-worktree` flag
26
+ - `raf plan myproject` (name collision) detects projects in both worktree and main
27
+ - `--worktree`/`--no-worktree` flags still work for new project creation
28
+ - TypeScript compiles without errors
29
+
30
+ <promise>COMPLETE</promise>
@@ -0,0 +1,26 @@
1
+ # Task 5: Update Prompts, Docs, and Config Docs for Removed --worktree Flag
2
+
3
+ ## Summary
4
+ Updated README.md to remove stale `--worktree` references for `raf do`. The `raf plan` command still supports `--worktree` for new project creation, so those references were preserved.
5
+
6
+ ## Changes Made
7
+
8
+ ### File: `README.md`
9
+ - Removed `raf do --worktree` and `raf do my-feature -w` examples from the `raf do` usage block
10
+ - Updated "Basic workflow" in Worktree Mode section: `raf do my-feature --worktree` → `raf do my-feature` with note "(auto-detected, no flag needed)"
11
+ - Added bullet in "How it works" section: `raf do` auto-detects whether a project lives in a worktree — no `--worktree` flag needed
12
+ - Clarified `--no-worktree` bullet to specify it applies to `raf plan` (not `raf do`)
13
+ - Removed `-w, --worktree` and `--no-worktree` rows from `raf do` command reference table
14
+
15
+ ## No Changes Needed
16
+ - `src/prompts/planning.ts` — already cleaned up in Task 3
17
+ - `src/prompts/amend.ts` — already cleaned up in Task 3
18
+ - `src/prompts/config-docs.md` — already accurate (references are specific to `raf plan --worktree`, which still has the flag)
19
+ - `src/commands/do.ts` — already cleaned up in Task 3
20
+
21
+ ## Verification
22
+ - TypeScript compiles without errors (`npm run build`)
23
+ - All remaining `--worktree` references are scoped to `raf plan` (still valid)
24
+ - No stale `--worktree` references for `raf do` or `raf plan --amend`
25
+
26
+ <promise>COMPLETE</promise>
@@ -0,0 +1,43 @@
1
+ ---
2
+ effort: medium
3
+ ---
4
+ # Task: Fix Codex JSONL Stream Renderer for Real Event Format
5
+
6
+ ## Objective
7
+ Update the Codex stream renderer to handle the actual event format emitted by Codex CLI, while preserving existing Claude event handling.
8
+
9
+ ## Context
10
+ The Codex CLI emits events in a nested format (`item.completed` with `item.type` sub-fields) but the renderer expects flat event types (`AgentMessage`, `CommandExecution`). This causes all Codex output to be silently dropped. The existing flat event types are used by Claude's renderer and must be preserved — this is NOT an "old" format, it's the Claude format.
11
+
12
+ ## Requirements
13
+ - Handle real Codex CLI event types: `item.completed`, `item.started`, `turn.completed`, `error`, `turn.failed`
14
+ - For `item.completed`, dispatch on `item.type`: `agent_message` (text in `item.text`), `command_execution` (command in `item.command`), `file_change`
15
+ - Handle `error` and `turn.failed` events — capture error messages in both `display` and `textContent`
16
+ - Extract usage data from `turn.completed` events if available
17
+ - Keep existing `AgentMessage`, `CommandExecution`, `FileChange`, `McpToolCall`, `TodoList` handlers intact — these are for Claude
18
+ - Update the `CodexEvent` interface to model the real nested event structure
19
+
20
+ ## Implementation Steps
21
+ 1. Read `src/parsers/codex-stream-renderer.ts` to understand current structure
22
+ 2. Update the `CodexEvent` interface to include nested item structure:
23
+ - Add `item?: { type: string; text?: string; command?: string; exit_code?: number; path?: string; ... }`
24
+ - Add fields for `error`, `turn.failed`, `turn.completed` events
25
+ 3. Add new cases to the switch statement for real Codex event types:
26
+ - `item.completed` → check `event.item.type` and dispatch to appropriate renderer
27
+ - `item.started` → optionally render (or skip)
28
+ - `turn.completed` → extract usage data if present
29
+ - `error` → render error message in both display and textContent
30
+ - `turn.failed` → render failure message in both display and textContent
31
+ 4. Keep all existing cases (`AgentMessage`, `CommandExecution`, etc.) untouched
32
+ 5. Build and verify no type errors
33
+
34
+ ## Acceptance Criteria
35
+ - [ ] Real Codex `item.completed` events with `agent_message` type produce text output
36
+ - [ ] Real Codex `item.completed` events with `command_execution` type show command status
37
+ - [ ] `error` and `turn.failed` events produce visible error output in both display and textContent
38
+ - [ ] Existing Claude event handlers (`AgentMessage`, `CommandExecution`, etc.) continue to work unchanged
39
+ - [ ] TypeScript compiles without errors
40
+
41
+ ## Notes
42
+ - Reference the outcomes file at `RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md` for exact real event JSON samples
43
+ - The `RenderResult` interface from `stream-renderer.ts` is the return type — keep using it