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.
- package/.claude/settings.local.json +2 -1
- package/CLAUDE.md +7 -345
- package/RAF/{aaaabn-dependencies-watchdog/plans/02-update-planning-prompts.md → 13-dependencies-watchdog/plans/2-update-planning-prompts.md} +1 -1
- package/RAF/{aaaabn-dependencies-watchdog/plans/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/plans/3-parse-dependencies-update-state.md} +1 -1
- 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
- package/RAF/{aaaabn-dependencies-watchdog/plans/05-update-execution-prompts.md → 13-dependencies-watchdog/plans/5-update-execution-prompts.md} +1 -1
- package/RAF/{aaaabn-dependencies-watchdog/plans/06-add-tests.md → 13-dependencies-watchdog/plans/6-add-tests.md} +1 -1
- package/RAF/{aaaabr-decision-vault/plans/02-integrate-commit-into-plan.md → 17-decision-vault/plans/2-integrate-commit-into-plan.md} +1 -1
- 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
- package/RAF/{aaaabt-verbose-chronicle/plans/04-commit-verification-before-halt.md → 19-verbose-chronicle/plans/4-commit-verification-before-halt.md} +1 -1
- package/RAF/{aaaacu-worktree-weaver/plans/02-worktree-plan-command.md → 20-worktree-weaver/plans/2-worktree-plan-command.md} +1 -1
- package/RAF/{aaaacu-worktree-weaver/plans/03-worktree-do-command.md → 20-worktree-weaver/plans/3-worktree-do-command.md} +1 -1
- package/RAF/{aaaacu-worktree-weaver/plans/04-auto-merge-and-cleanup.md → 20-worktree-weaver/plans/4-auto-merge-and-cleanup.md} +1 -1
- package/RAF/{aaaacu-worktree-weaver/plans/05-worktree-tests.md → 20-worktree-weaver/plans/5-worktree-tests.md} +1 -1
- package/RAF/{aaaacu-worktree-weaver/plans/06-update-documentation.md → 20-worktree-weaver/plans/6-update-documentation.md} +1 -1
- 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
- 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
- package/RAF/{aaaacw-prune-cycle/plans/02-cleanup-worktree-on-success.md → 22-prune-cycle/plans/2-cleanup-worktree-on-success.md} +1 -1
- package/RAF/{aaaacw-prune-cycle/plans/03-amend-recreate-worktree.md → 22-prune-cycle/plans/3-amend-recreate-worktree.md} +1 -1
- package/RAF/{aaaacx-epoch-shift/plans/02-update-pattern-matching.md → 23-epoch-shift/plans/2-update-pattern-matching.md} +1 -1
- package/RAF/{aaaacx-epoch-shift/plans/03-update-tests.md → 23-epoch-shift/plans/3-update-tests.md} +1 -1
- package/RAF/{aaaacx-epoch-shift/plans/04-update-documentation.md → 23-epoch-shift/plans/4-update-documentation.md} +1 -1
- package/RAF/{ahmpro-merge-guardian/plans/003-worktree-pr-creation.md → 24-merge-guardian/plans/3-worktree-pr-creation.md} +1 -1
- package/RAF/{ahmpro-merge-guardian/plans/004-post-execution-picker.md → 24-merge-guardian/plans/4-post-execution-picker.md} +1 -1
- package/RAF/{ahnbcu-letterjam/plans/02-update-tests.md → 25-letterjam/plans/2-update-tests.md} +1 -1
- package/RAF/{ahnbcu-letterjam/plans/03-migrate-command.md → 25-letterjam/plans/3-migrate-command.md} +1 -1
- package/RAF/{ahnbcu-letterjam/plans/04-update-documentation.md → 25-letterjam/plans/4-update-documentation.md} +1 -1
- package/RAF/{ahnwrk-worktree-weaver/plans/04-fix-pr-description.md → 26-worktree-weaver/plans/4-fix-pr-description.md} +1 -1
- package/RAF/{ahrren-turbo-finder/plans/02-medium-effort-do.md → 27-turbo-finder/plans/2-medium-effort-do.md} +1 -1
- 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
- package/RAF/{ahslfe-config-wizard/plans/03-create-config-documentation.md → 28-config-wizard/plans/3-create-config-documentation.md} +1 -1
- package/RAF/{ahslfe-config-wizard/plans/04-implement-raf-config-command.md → 28-config-wizard/plans/4-implement-raf-config-command.md} +1 -1
- package/RAF/{ahslfe-config-wizard/plans/05-update-claude-md.md → 28-config-wizard/plans/5-update-claude-md.md} +1 -1
- package/RAF/{ahstvo-token-tracker/plans/03-unify-stream-json-execution.md → 29-token-tracker/plans/3-unify-stream-json-execution.md} +1 -1
- package/RAF/{ahstvo-token-tracker/plans/04-token-tracking-cost-calculation.md → 29-token-tracker/plans/4-token-tracking-cost-calculation.md} +1 -1
- package/RAF/{ahstvo-token-tracker/plans/05-token-cost-console-reporting.md → 29-token-tracker/plans/5-token-cost-console-reporting.md} +1 -1
- package/RAF/{ahstvo-token-tracker/plans/06-runtime-verbose-toggle.md → 29-token-tracker/plans/6-runtime-verbose-toggle.md} +1 -1
- 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
- package/RAF/{ahtahs-token-reaper/plans/03-per-attempt-display-formatting.md → 30-token-reaper/plans/3-per-attempt-display-formatting.md} +1 -1
- package/RAF/{ahvrih-rate-forge/plans/03-rate-limit-estimation.md → 31-rate-forge/plans/3-rate-limit-estimation.md} +1 -1
- package/RAF/{ahvrih-rate-forge/plans/06-sync-readme-with-codebase.md → 31-rate-forge/plans/6-sync-readme-with-codebase.md} +1 -1
- package/RAF/{ahvrih-rate-forge/plans/08-plan-execution-metadata.md → 31-rate-forge/plans/8-plan-execution-metadata.md} +1 -1
- 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
- package/RAF/{ahwqwq-model-whisperer/plans/03-add-plan-resume-flag.md → 33-model-whisperer/plans/3-add-plan-resume-flag.md} +1 -1
- package/RAF/{ahwvrz-legacy-sunset/plans/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/plans/2-fix-resume-worktree-resolution.md} +1 -1
- package/RAF/{ahwzmc-echo-forge/plans/03-update-readme.md → 35-echo-forge/plans/3-update-readme.md} +1 -1
- package/RAF/37-flux-weave/decisions.md +22 -0
- package/RAF/37-flux-weave/input.md +4 -0
- package/RAF/37-flux-weave/outcomes/1-numeric-project-ids.md +32 -0
- package/RAF/37-flux-weave/outcomes/2-numeric-task-ids.md +34 -0
- package/RAF/37-flux-weave/outcomes/3-amend-commit-without-new-plans.md +23 -0
- package/RAF/37-flux-weave/outcomes/4-auto-detect-existing-project.md +30 -0
- package/RAF/37-flux-weave/plans/1-numeric-project-ids.md +75 -0
- package/RAF/37-flux-weave/plans/2-numeric-task-ids.md +65 -0
- package/RAF/37-flux-weave/plans/3-amend-commit-without-new-plans.md +54 -0
- package/RAF/37-flux-weave/plans/4-auto-detect-existing-project.md +52 -0
- package/RAF/38-dual-wielder/decisions.md +44 -0
- package/RAF/38-dual-wielder/input.md +13 -0
- package/RAF/38-dual-wielder/outcomes/1-config-schema-provider-types.md +47 -0
- package/RAF/38-dual-wielder/outcomes/2-abstract-cli-runner.md +33 -0
- package/RAF/38-dual-wielder/outcomes/3-implement-codex-runner.md +38 -0
- package/RAF/38-dual-wielder/outcomes/4-update-prompts-llm-agnostic.md +50 -0
- package/RAF/38-dual-wielder/outcomes/5-update-readme-docs.md +33 -0
- package/RAF/38-dual-wielder/outcomes/6-do-unified-project-scanning.md +25 -0
- package/RAF/38-dual-wielder/outcomes/7-fix-plan-amend-automode.md +28 -0
- package/RAF/38-dual-wielder/outcomes/8-e2e-test-codex-provider.md +139 -0
- package/RAF/38-dual-wielder/plans/1-config-schema-provider-types.md +90 -0
- package/RAF/38-dual-wielder/plans/2-abstract-cli-runner.md +76 -0
- package/RAF/38-dual-wielder/plans/3-implement-codex-runner.md +94 -0
- package/RAF/38-dual-wielder/plans/4-update-prompts-llm-agnostic.md +70 -0
- package/RAF/38-dual-wielder/plans/5-update-readme-docs.md +52 -0
- package/RAF/38-dual-wielder/plans/6-do-unified-project-scanning.md +40 -0
- package/RAF/38-dual-wielder/plans/7-fix-plan-amend-automode.md +51 -0
- package/RAF/38-dual-wielder/plans/8-e2e-test-codex-provider.md +95 -0
- package/RAF/39-pathless-rover/decisions.md +16 -0
- package/RAF/39-pathless-rover/input.md +2 -0
- package/RAF/39-pathless-rover/outcomes/1-fix-codex-stream-renderer.md +21 -0
- package/RAF/39-pathless-rover/outcomes/2-wire-provider-flag.md +28 -0
- package/RAF/39-pathless-rover/outcomes/3-remove-worktree-flag-do.md +41 -0
- package/RAF/39-pathless-rover/outcomes/4-remove-worktree-flag-plan-amend.md +30 -0
- package/RAF/39-pathless-rover/outcomes/5-update-prompts-and-docs.md +26 -0
- package/RAF/39-pathless-rover/plans/1-fix-codex-stream-renderer.md +43 -0
- package/RAF/39-pathless-rover/plans/2-wire-provider-flag.md +48 -0
- package/RAF/39-pathless-rover/plans/3-remove-worktree-flag-do.md +41 -0
- package/RAF/39-pathless-rover/plans/4-remove-worktree-flag-plan-amend.md +43 -0
- package/RAF/39-pathless-rover/plans/5-update-prompts-and-docs.md +31 -0
- package/RAF/40-numeric-order-fix/decisions.md +7 -0
- package/RAF/40-numeric-order-fix/input.md +19 -0
- package/RAF/40-numeric-order-fix/outcomes/1-fix-numeric-sort-order.md +18 -0
- package/RAF/40-numeric-order-fix/outcomes/2-add-npm-keywords.md +10 -0
- package/RAF/40-numeric-order-fix/plans/1-fix-numeric-sort-order.md +48 -0
- package/RAF/40-numeric-order-fix/plans/2-add-npm-keywords.md +23 -0
- package/README.md +62 -18
- package/dist/commands/config.js +7 -7
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/do.d.ts.map +1 -1
- package/dist/commands/do.js +51 -230
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +96 -147
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/core/claude-runner.d.ts +19 -116
- package/dist/core/claude-runner.d.ts.map +1 -1
- package/dist/core/claude-runner.js +20 -173
- package/dist/core/claude-runner.js.map +1 -1
- package/dist/core/codex-runner.d.ts +41 -0
- package/dist/core/codex-runner.d.ts.map +1 -0
- package/dist/core/codex-runner.js +271 -0
- package/dist/core/codex-runner.js.map +1 -0
- package/dist/core/completion-detector.d.ts +47 -0
- package/dist/core/completion-detector.d.ts.map +1 -0
- package/dist/core/completion-detector.js +143 -0
- package/dist/core/completion-detector.js.map +1 -0
- package/dist/core/failure-analyzer.d.ts +1 -1
- package/dist/core/failure-analyzer.js +10 -10
- package/dist/core/failure-analyzer.js.map +1 -1
- package/dist/core/project-manager.d.ts.map +1 -1
- package/dist/core/project-manager.js +2 -2
- package/dist/core/project-manager.js.map +1 -1
- package/dist/core/pull-request.d.ts +4 -4
- package/dist/core/pull-request.js +13 -13
- package/dist/core/pull-request.js.map +1 -1
- package/dist/core/runner-factory.d.ts +12 -0
- package/dist/core/runner-factory.d.ts.map +1 -0
- package/dist/core/runner-factory.js +30 -0
- package/dist/core/runner-factory.js.map +1 -0
- package/dist/core/runner-interface.d.ts +14 -0
- package/dist/core/runner-interface.d.ts.map +1 -0
- package/dist/core/runner-interface.js +2 -0
- package/dist/core/runner-interface.js.map +1 -0
- package/dist/core/runner-types.d.ts +73 -0
- package/dist/core/runner-types.d.ts.map +1 -0
- package/dist/core/runner-types.js +2 -0
- package/dist/core/runner-types.js.map +1 -0
- package/dist/core/shutdown-handler.d.ts +8 -4
- package/dist/core/shutdown-handler.d.ts.map +1 -1
- package/dist/core/shutdown-handler.js +14 -8
- package/dist/core/shutdown-handler.js.map +1 -1
- package/dist/core/state-derivation.d.ts +2 -2
- package/dist/core/state-derivation.d.ts.map +1 -1
- package/dist/core/state-derivation.js +12 -15
- package/dist/core/state-derivation.js.map +1 -1
- package/dist/core/worktree.d.ts +1 -1
- package/dist/core/worktree.d.ts.map +1 -1
- package/dist/core/worktree.js +14 -16
- package/dist/core/worktree.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parsers/codex-stream-renderer.d.ts +48 -0
- package/dist/parsers/codex-stream-renderer.d.ts.map +1 -0
- package/dist/parsers/codex-stream-renderer.js +158 -0
- package/dist/parsers/codex-stream-renderer.js.map +1 -0
- package/dist/parsers/output-parser.d.ts +2 -2
- package/dist/parsers/output-parser.js +2 -2
- package/dist/parsers/stream-renderer.d.ts +1 -1
- package/dist/parsers/stream-renderer.js +1 -1
- package/dist/prompts/amend.d.ts +1 -2
- package/dist/prompts/amend.d.ts.map +1 -1
- package/dist/prompts/amend.js +8 -9
- package/dist/prompts/amend.js.map +1 -1
- package/dist/prompts/execution.js +2 -2
- package/dist/prompts/execution.js.map +1 -1
- package/dist/prompts/planning.d.ts +1 -1
- package/dist/prompts/planning.d.ts.map +1 -1
- package/dist/prompts/planning.js +14 -15
- package/dist/prompts/planning.js.map +1 -1
- package/dist/types/config.d.ts +21 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +16 -0
- package/dist/types/config.js.map +1 -1
- package/dist/ui/project-picker.d.ts.map +1 -1
- package/dist/ui/project-picker.js.map +1 -1
- package/dist/utils/config.d.ts +24 -6
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +155 -15
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/name-generator.d.ts +2 -2
- package/dist/utils/name-generator.js +9 -9
- package/dist/utils/name-generator.js.map +1 -1
- package/dist/utils/paths.d.ts +32 -51
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +121 -150
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/token-tracker.d.ts +2 -2
- package/dist/utils/token-tracker.js +4 -4
- package/dist/utils/token-tracker.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +7 -10
- package/dist/utils/validation.js.map +1 -1
- package/package.json +7 -2
- package/src/commands/config.ts +7 -7
- package/src/commands/do.ts +53 -265
- package/src/commands/plan.ts +102 -155
- package/src/commands/status.ts +1 -1
- package/src/core/claude-runner.ts +33 -277
- package/src/core/codex-runner.ts +326 -0
- package/src/core/completion-detector.ts +177 -0
- package/src/core/failure-analyzer.ts +10 -10
- package/src/core/project-manager.ts +2 -1
- package/src/core/pull-request.ts +13 -13
- package/src/core/runner-factory.ts +35 -0
- package/src/core/runner-interface.ts +14 -0
- package/src/core/runner-types.ts +75 -0
- package/src/core/shutdown-handler.ts +17 -10
- package/src/core/state-derivation.ts +12 -15
- package/src/core/worktree.ts +14 -16
- package/src/index.ts +1 -1
- package/src/parsers/codex-stream-renderer.ts +210 -0
- package/src/parsers/output-parser.ts +2 -2
- package/src/parsers/stream-renderer.ts +1 -1
- package/src/prompts/amend.ts +7 -10
- package/src/prompts/config-docs.md +8 -8
- package/src/prompts/execution.ts +2 -2
- package/src/prompts/planning.ts +14 -16
- package/src/types/config.ts +39 -1
- package/src/ui/project-picker.ts +1 -0
- package/src/utils/config.ts +170 -14
- package/src/utils/name-generator.ts +9 -9
- package/src/utils/paths.ts +123 -159
- package/src/utils/token-tracker.ts +4 -4
- package/src/utils/validation.ts +7 -10
- package/tests/unit/commit-planning-artifacts-worktree.test.ts +14 -14
- package/tests/unit/commit-planning-artifacts.test.ts +40 -40
- package/tests/unit/config.test.ts +8 -8
- package/tests/unit/dependency-integration.test.ts +96 -96
- package/tests/unit/do-blocked-tasks.test.ts +1 -1
- package/tests/unit/do-command.test.ts +36 -36
- package/tests/unit/do-rerun.test.ts +1 -1
- package/tests/unit/execution-prompt.test.ts +62 -62
- package/tests/unit/git-stash.test.ts +4 -4
- package/tests/unit/paths.test.ts +135 -249
- package/tests/unit/plan-command.test.ts +103 -103
- package/tests/unit/planning-prompt.test.ts +3 -3
- package/tests/unit/project-manager.test.ts +9 -10
- package/tests/unit/project-picker.test.ts +74 -74
- package/tests/unit/pull-request.test.ts +3 -3
- package/tests/unit/state-derivation.test.ts +144 -144
- package/tests/unit/status-command.test.ts +71 -103
- package/tests/unit/worktree.test.ts +32 -33
- /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/input.md +0 -0
- /package/RAF/{aaaaab-raf-task-improvements/outcomes/01-add-decisions-folder.md → 1-raf-task-improvements/outcomes/1-add-decisions-folder.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaaab-raf-task-improvements → 1-raf-task-improvements}/outcomes/SUMMARY.md +0 -0
- /package/RAF/{aaaaab-raf-task-improvements/plans/01-add-decisions-folder.md → 1-raf-task-improvements/plans/1-add-decisions-folder.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/decisions.md +0 -0
- /package/RAF/{aaaabk-outcome-marker-fallback → 10-outcome-marker-fallback}/input.md +0 -0
- /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
- /package/RAF/{aaaabk-outcome-marker-fallback/outcomes/02-creative-project-naming.md → 10-outcome-marker-fallback/outcomes/2-creative-project-naming.md} +0 -0
- /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
- /package/RAF/{aaaabk-outcome-marker-fallback/plans/02-creative-project-naming.md → 10-outcome-marker-fallback/plans/2-creative-project-naming.md} +0 -0
- /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/decisions.md +0 -0
- /package/RAF/{aaaabl-do-task-in-commit → 11-do-task-in-commit}/input.md +0 -0
- /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
- /package/RAF/{aaaabl-do-task-in-commit/outcomes/02-update-tests.md → 11-do-task-in-commit/outcomes/2-update-tests.md} +0 -0
- /package/RAF/{aaaabl-do-task-in-commit/outcomes/03-update-documentation.md → 11-do-task-in-commit/outcomes/3-update-documentation.md} +0 -0
- /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
- /package/RAF/{aaaabl-do-task-in-commit/plans/02-update-tests.md → 11-do-task-in-commit/plans/2-update-tests.md} +0 -0
- /package/RAF/{aaaabl-do-task-in-commit/plans/03-update-documentation.md → 11-do-task-in-commit/plans/3-update-documentation.md} +0 -0
- /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/decisions.md +0 -0
- /package/RAF/{aaaabm-name-picker-buffet → 12-name-picker-buffet}/input.md +0 -0
- /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
- /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
- /package/RAF/{aaaabm-name-picker-buffet/outcomes/03-raf-status-truncation.md → 12-name-picker-buffet/outcomes/3-raf-status-truncation.md} +0 -0
- /package/RAF/{aaaabm-name-picker-buffet/outcomes/04-failure-reason-details.md → 12-name-picker-buffet/outcomes/4-failure-reason-details.md} +0 -0
- /package/RAF/{aaaabm-name-picker-buffet/outcomes/05-remove-raf-commits.md → 12-name-picker-buffet/outcomes/5-remove-raf-commits.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaabm-name-picker-buffet/plans/03-raf-status-truncation.md → 12-name-picker-buffet/plans/3-raf-status-truncation.md} +0 -0
- /package/RAF/{aaaabm-name-picker-buffet/plans/04-failure-reason-details.md → 12-name-picker-buffet/plans/4-failure-reason-details.md} +0 -0
- /package/RAF/{aaaabm-name-picker-buffet/plans/05-remove-raf-commits.md → 12-name-picker-buffet/plans/5-remove-raf-commits.md} +0 -0
- /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
- /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
- /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
- /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/decisions.md +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog → 13-dependencies-watchdog}/input.md +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/01-define-dependency-syntax.md → 13-dependencies-watchdog/outcomes/1-define-dependency-syntax.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/02-update-planning-prompts.md → 13-dependencies-watchdog/outcomes/2-update-planning-prompts.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/03-parse-dependencies-update-state.md → 13-dependencies-watchdog/outcomes/3-parse-dependencies-update-state.md} +0 -0
- /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
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/05-update-execution-prompts.md → 13-dependencies-watchdog/outcomes/5-update-execution-prompts.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/06-add-tests.md → 13-dependencies-watchdog/outcomes/6-add-tests.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/07-add-act-alias.md → 13-dependencies-watchdog/outcomes/7-add-act-alias.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/outcomes/08-add-exit-message.md → 13-dependencies-watchdog/outcomes/8-add-exit-message.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/plans/01-define-dependency-syntax.md → 13-dependencies-watchdog/plans/1-define-dependency-syntax.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/plans/07-add-act-alias.md → 13-dependencies-watchdog/plans/7-add-act-alias.md} +0 -0
- /package/RAF/{aaaabn-dependencies-watchdog/plans/08-add-exit-message.md → 13-dependencies-watchdog/plans/8-add-exit-message.md} +0 -0
- /package/RAF/{aaaabo-watchdog → 14-watchdog}/decisions.md +0 -0
- /package/RAF/{aaaabo-watchdog → 14-watchdog}/input.md +0 -0
- /package/RAF/{aaaabo-watchdog/outcomes/01-amend-flag-position.md → 14-watchdog/outcomes/1-amend-flag-position.md} +0 -0
- /package/RAF/{aaaabo-watchdog/outcomes/02-details-only-on-failure.md → 14-watchdog/outcomes/2-details-only-on-failure.md} +0 -0
- /package/RAF/{aaaabo-watchdog/plans/01-amend-flag-position.md → 14-watchdog/plans/1-amend-flag-position.md} +0 -0
- /package/RAF/{aaaabo-watchdog/plans/02-details-only-on-failure.md → 14-watchdog/plans/2-details-only-on-failure.md} +0 -0
- /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/decisions.md +0 -0
- /package/RAF/{aaaabp-name-lottery → 15-name-lottery}/input.md +0 -0
- /package/RAF/{aaaabp-name-lottery/outcomes/01-auto-pick-project-name.md → 15-name-lottery/outcomes/1-auto-pick-project-name.md} +0 -0
- /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
- /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
- /package/RAF/{aaaabp-name-lottery/plans/01-auto-pick-project-name.md → 15-name-lottery/plans/1-auto-pick-project-name.md} +0 -0
- /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
- /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
- /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/decisions.md +0 -0
- /package/RAF/{aaaabq-planning-scalpel → 16-planning-scalpel}/input.md +0 -0
- /package/RAF/{aaaabq-planning-scalpel/outcomes/01-update-git-commit-instructions.md → 16-planning-scalpel/outcomes/1-update-git-commit-instructions.md} +0 -0
- /package/RAF/{aaaabq-planning-scalpel/plans/01-update-git-commit-instructions.md → 16-planning-scalpel/plans/1-update-git-commit-instructions.md} +0 -0
- /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/decisions.md +0 -0
- /package/RAF/{aaaabr-decision-vault → 17-decision-vault}/input.md +0 -0
- /package/RAF/{aaaabr-decision-vault/outcomes/01-create-git-commit-utility.md → 17-decision-vault/outcomes/1-create-git-commit-utility.md} +0 -0
- /package/RAF/{aaaabr-decision-vault/outcomes/02-integrate-commit-into-plan.md → 17-decision-vault/outcomes/2-integrate-commit-into-plan.md} +0 -0
- /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
- /package/RAF/{aaaabr-decision-vault/plans/01-create-git-commit-utility.md → 17-decision-vault/plans/1-create-git-commit-utility.md} +0 -0
- /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/decisions.md +0 -0
- /package/RAF/{aaaabs-workflow-forge → 18-workflow-forge}/input.md +0 -0
- /package/RAF/{aaaabs-workflow-forge/outcomes/01-add-task-number-progress.md → 18-workflow-forge/outcomes/1-add-task-number-progress.md} +0 -0
- /package/RAF/{aaaabs-workflow-forge/outcomes/02-update-plan-do-prompts.md → 18-workflow-forge/outcomes/2-update-plan-do-prompts.md} +0 -0
- /package/RAF/{aaaabs-workflow-forge/plans/01-add-task-number-progress.md → 18-workflow-forge/plans/1-add-task-number-progress.md} +0 -0
- /package/RAF/{aaaabs-workflow-forge/plans/02-update-plan-do-prompts.md → 18-workflow-forge/plans/2-update-plan-do-prompts.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/decisions.md +0 -0
- /package/RAF/{aaaabt-verbose-chronicle → 19-verbose-chronicle}/input.md +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/outcomes/01-amend-iteration-references.md → 19-verbose-chronicle/outcomes/1-amend-iteration-references.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/outcomes/02-verbose-task-name-display.md → 19-verbose-chronicle/outcomes/2-verbose-task-name-display.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/outcomes/03-verbose-streaming-fix.md → 19-verbose-chronicle/outcomes/3-verbose-streaming-fix.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/outcomes/04-commit-verification-before-halt.md → 19-verbose-chronicle/outcomes/4-commit-verification-before-halt.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/plans/01-amend-iteration-references.md → 19-verbose-chronicle/plans/1-amend-iteration-references.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/plans/02-verbose-task-name-display.md → 19-verbose-chronicle/plans/2-verbose-task-name-display.md} +0 -0
- /package/RAF/{aaaabt-verbose-chronicle/plans/03-verbose-streaming-fix.md → 19-verbose-chronicle/plans/3-verbose-streaming-fix.md} +0 -0
- /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/decisions/DECISIONS.md +0 -0
- /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/input.md +0 -0
- /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
- /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
- /package/RAF/{aaaaac-raf-task-improvements-execution → 2-raf-task-improvements-execution}/outcomes/SUMMARY.md +0 -0
- /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
- /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
- /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/decisions.md +0 -0
- /package/RAF/{aaaacu-worktree-weaver → 20-worktree-weaver}/input.md +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/01-git-worktree-utilities.md → 20-worktree-weaver/outcomes/1-git-worktree-utilities.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/02-worktree-plan-command.md → 20-worktree-weaver/outcomes/2-worktree-plan-command.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/03-worktree-do-command.md → 20-worktree-weaver/outcomes/3-worktree-do-command.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/04-auto-merge-and-cleanup.md → 20-worktree-weaver/outcomes/4-auto-merge-and-cleanup.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/05-worktree-tests.md → 20-worktree-weaver/outcomes/5-worktree-tests.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/outcomes/06-update-documentation.md → 20-worktree-weaver/outcomes/6-update-documentation.md} +0 -0
- /package/RAF/{aaaacu-worktree-weaver/plans/01-git-worktree-utilities.md → 20-worktree-weaver/plans/1-git-worktree-utilities.md} +0 -0
- /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/decisions.md +0 -0
- /package/RAF/{aaaacv-trim-the-fat → 21-trim-the-fat}/input.md +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/decisions.md +0 -0
- /package/RAF/{aaaacw-prune-cycle → 22-prune-cycle}/input.md +0 -0
- /package/RAF/{aaaacw-prune-cycle/outcomes/01-create-worktree-from-branch.md → 22-prune-cycle/outcomes/1-create-worktree-from-branch.md} +0 -0
- /package/RAF/{aaaacw-prune-cycle/outcomes/02-cleanup-worktree-on-success.md → 22-prune-cycle/outcomes/2-cleanup-worktree-on-success.md} +0 -0
- /package/RAF/{aaaacw-prune-cycle/outcomes/03-amend-recreate-worktree.md → 22-prune-cycle/outcomes/3-amend-recreate-worktree.md} +0 -0
- /package/RAF/{aaaacw-prune-cycle/plans/01-create-worktree-from-branch.md → 22-prune-cycle/plans/1-create-worktree-from-branch.md} +0 -0
- /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/decisions.md +0 -0
- /package/RAF/{aaaacx-epoch-shift → 23-epoch-shift}/input.md +0 -0
- /package/RAF/{aaaacx-epoch-shift/outcomes/01-epoch-id-generation.md → 23-epoch-shift/outcomes/1-epoch-id-generation.md} +0 -0
- /package/RAF/{aaaacx-epoch-shift/outcomes/02-update-pattern-matching.md → 23-epoch-shift/outcomes/2-update-pattern-matching.md} +0 -0
- /package/RAF/{aaaacx-epoch-shift/outcomes/03-update-tests.md → 23-epoch-shift/outcomes/3-update-tests.md} +0 -0
- /package/RAF/{aaaacx-epoch-shift/outcomes/04-update-documentation.md → 23-epoch-shift/outcomes/4-update-documentation.md} +0 -0
- /package/RAF/{aaaacx-epoch-shift/plans/01-epoch-id-generation.md → 23-epoch-shift/plans/1-epoch-id-generation.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/decisions.md +0 -0
- /package/RAF/{ahmpro-merge-guardian → 24-merge-guardian}/input.md +0 -0
- /package/RAF/{ahmpro-merge-guardian/outcomes/001-fix-amend-worktree-commit.md → 24-merge-guardian/outcomes/1-fix-amend-worktree-commit.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian/outcomes/002-base36-task-ids.md → 24-merge-guardian/outcomes/2-base36-task-ids.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian/outcomes/003-worktree-pr-creation.md → 24-merge-guardian/outcomes/3-worktree-pr-creation.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian/outcomes/004-post-execution-picker.md → 24-merge-guardian/outcomes/4-post-execution-picker.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian/plans/001-fix-amend-worktree-commit.md → 24-merge-guardian/plans/1-fix-amend-worktree-commit.md} +0 -0
- /package/RAF/{ahmpro-merge-guardian/plans/002-base36-task-ids.md → 24-merge-guardian/plans/2-base36-task-ids.md} +0 -0
- /package/RAF/{ahnbcu-letterjam → 25-letterjam}/decisions.md +0 -0
- /package/RAF/{ahnbcu-letterjam → 25-letterjam}/input.md +0 -0
- /package/RAF/{ahnbcu-letterjam/outcomes/01-base26-encoding.md → 25-letterjam/outcomes/1-base26-encoding.md} +0 -0
- /package/RAF/{ahnbcu-letterjam/outcomes/02-update-tests.md → 25-letterjam/outcomes/2-update-tests.md} +0 -0
- /package/RAF/{ahnbcu-letterjam/outcomes/03-migrate-command.md → 25-letterjam/outcomes/3-migrate-command.md} +0 -0
- /package/RAF/{ahnbcu-letterjam/outcomes/04-update-documentation.md → 25-letterjam/outcomes/4-update-documentation.md} +0 -0
- /package/RAF/{ahnbcu-letterjam/plans/01-base26-encoding.md → 25-letterjam/plans/1-base26-encoding.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/decisions.md +0 -0
- /package/RAF/{ahnwrk-worktree-weaver → 26-worktree-weaver}/input.md +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/outcomes/01-remove-co-authored-by.md → 26-worktree-weaver/outcomes/1-remove-co-authored-by.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/outcomes/02-update-task-status-format.md → 26-worktree-weaver/outcomes/2-update-task-status-format.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/outcomes/03-worktree-auto-discovery.md → 26-worktree-weaver/outcomes/3-worktree-auto-discovery.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/outcomes/04-fix-pr-description.md → 26-worktree-weaver/outcomes/4-fix-pr-description.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/plans/01-remove-co-authored-by.md → 26-worktree-weaver/plans/1-remove-co-authored-by.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/plans/02-update-task-status-format.md → 26-worktree-weaver/plans/2-update-task-status-format.md} +0 -0
- /package/RAF/{ahnwrk-worktree-weaver/plans/03-worktree-auto-discovery.md → 26-worktree-weaver/plans/3-worktree-auto-discovery.md} +0 -0
- /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/decisions.md +0 -0
- /package/RAF/{ahrren-turbo-finder → 27-turbo-finder}/input.md +0 -0
- /package/RAF/{ahrren-turbo-finder/outcomes/01-worktree-auto-detect.md → 27-turbo-finder/outcomes/1-worktree-auto-detect.md} +0 -0
- /package/RAF/{ahrren-turbo-finder/outcomes/02-medium-effort-do.md → 27-turbo-finder/outcomes/2-medium-effort-do.md} +0 -0
- /package/RAF/{ahrren-turbo-finder/plans/01-worktree-auto-detect.md → 27-turbo-finder/plans/1-worktree-auto-detect.md} +0 -0
- /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/decisions.md +0 -0
- /package/RAF/{ahslfe-config-wizard → 28-config-wizard}/input.md +0 -0
- /package/RAF/{ahslfe-config-wizard/outcomes/01-define-config-schema.md → 28-config-wizard/outcomes/1-define-config-schema.md} +0 -0
- /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
- /package/RAF/{ahslfe-config-wizard/outcomes/03-create-config-documentation.md → 28-config-wizard/outcomes/3-create-config-documentation.md} +0 -0
- /package/RAF/{ahslfe-config-wizard/outcomes/04-implement-raf-config-command.md → 28-config-wizard/outcomes/4-implement-raf-config-command.md} +0 -0
- /package/RAF/{ahslfe-config-wizard/outcomes/05-update-claude-md.md → 28-config-wizard/outcomes/5-update-claude-md.md} +0 -0
- /package/RAF/{ahslfe-config-wizard/plans/01-define-config-schema.md → 28-config-wizard/plans/1-define-config-schema.md} +0 -0
- /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/decisions.md +0 -0
- /package/RAF/{ahstvo-token-tracker → 29-token-tracker}/input.md +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/01-full-model-id-support.md → 29-token-tracker/outcomes/1-full-model-id-support.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/02-name-generation-no-session.md → 29-token-tracker/outcomes/2-name-generation-no-session.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/03-unify-stream-json-execution.md → 29-token-tracker/outcomes/3-unify-stream-json-execution.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/04-token-tracking-cost-calculation.md → 29-token-tracker/outcomes/4-token-tracking-cost-calculation.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/05-token-cost-console-reporting.md → 29-token-tracker/outcomes/5-token-cost-console-reporting.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/06-runtime-verbose-toggle.md → 29-token-tracker/outcomes/6-runtime-verbose-toggle.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/outcomes/07-readme-config-docs.md → 29-token-tracker/outcomes/7-readme-config-docs.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/plans/01-full-model-id-support.md → 29-token-tracker/plans/1-full-model-id-support.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/plans/02-name-generation-no-session.md → 29-token-tracker/plans/2-name-generation-no-session.md} +0 -0
- /package/RAF/{ahstvo-token-tracker/plans/07-readme-config-docs.md → 29-token-tracker/plans/7-readme-config-docs.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/decisions/DECISIONS.md +0 -0
- /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/input.md +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/01-remove-state-json.md → 3-multi-project-execution/outcomes/1-remove-state-json.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/02-update-raf-status.md → 3-multi-project-execution/outcomes/2-update-raf-status.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/03-simplify-git-logic.md → 3-multi-project-execution/outcomes/3-simplify-git-logic.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/04-auto-commit-planning.md → 3-multi-project-execution/outcomes/4-auto-commit-planning.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/05-rerun-failed-tasks.md → 3-multi-project-execution/outcomes/5-rerun-failed-tasks.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/06-multi-project-execution.md → 3-multi-project-execution/outcomes/6-multi-project-execution.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/07-verify-timeout.md → 3-multi-project-execution/outcomes/7-verify-timeout.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/outcomes/08-move-decisions-file.md → 3-multi-project-execution/outcomes/8-move-decisions-file.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution → 3-multi-project-execution}/outcomes/SUMMARY.md +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/01-remove-state-json.md → 3-multi-project-execution/plans/1-remove-state-json.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/02-update-raf-status.md → 3-multi-project-execution/plans/2-update-raf-status.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/03-simplify-git-logic.md → 3-multi-project-execution/plans/3-simplify-git-logic.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/04-auto-commit-planning.md → 3-multi-project-execution/plans/4-auto-commit-planning.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/05-rerun-failed-tasks.md → 3-multi-project-execution/plans/5-rerun-failed-tasks.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/06-multi-project-execution.md → 3-multi-project-execution/plans/6-multi-project-execution.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/07-verify-timeout.md → 3-multi-project-execution/plans/7-verify-timeout.md} +0 -0
- /package/RAF/{aaaaad-multi-project-execution/plans/08-move-decisions-file.md → 3-multi-project-execution/plans/8-move-decisions-file.md} +0 -0
- /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/decisions.md +0 -0
- /package/RAF/{ahtahs-token-reaper → 30-token-reaper}/input.md +0 -0
- /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
- /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
- /package/RAF/{ahtahs-token-reaper/outcomes/03-per-attempt-display-formatting.md → 30-token-reaper/outcomes/3-per-attempt-display-formatting.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/decisions.md +0 -0
- /package/RAF/{ahvrih-rate-forge → 31-rate-forge}/input.md +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/01-remove-claude-command-config.md → 31-rate-forge/outcomes/1-remove-claude-command-config.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/02-fix-mixed-attempt-cost.md → 31-rate-forge/outcomes/2-fix-mixed-attempt-cost.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/03-rate-limit-estimation.md → 31-rate-forge/outcomes/3-rate-limit-estimation.md} +0 -0
- /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
- /package/RAF/{ahvrih-rate-forge/outcomes/05-sync-main-before-worktree.md → 31-rate-forge/outcomes/5-sync-main-before-worktree.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/06-sync-readme-with-codebase.md → 31-rate-forge/outcomes/6-sync-readme-with-codebase.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/07-no-session-persistence.md → 31-rate-forge/outcomes/7-no-session-persistence.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/outcomes/08-plan-execution-metadata.md → 31-rate-forge/outcomes/8-plan-execution-metadata.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/plans/01-remove-claude-command-config.md → 31-rate-forge/plans/1-remove-claude-command-config.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/plans/02-fix-mixed-attempt-cost.md → 31-rate-forge/plans/2-fix-mixed-attempt-cost.md} +0 -0
- /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
- /package/RAF/{ahvrih-rate-forge/plans/05-sync-main-before-worktree.md → 31-rate-forge/plans/5-sync-main-before-worktree.md} +0 -0
- /package/RAF/{ahvrih-rate-forge/plans/07-no-session-persistence.md → 31-rate-forge/plans/7-no-session-persistence.md} +0 -0
- /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/decisions.md +0 -0
- /package/RAF/{ahwidh-quick-fix-gremlin → 32-quick-fix-gremlin}/input.md +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{ahwidh-quick-fix-gremlin/outcomes/07-update-frontmatter-format.md → 32-quick-fix-gremlin/outcomes/7-update-frontmatter-format.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{ahwidh-quick-fix-gremlin/plans/07-update-frontmatter-format.md → 32-quick-fix-gremlin/plans/7-update-frontmatter-format.md} +0 -0
- /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
- /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/decisions.md +0 -0
- /package/RAF/{ahwqwq-model-whisperer → 33-model-whisperer}/input.md +0 -0
- /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
- /package/RAF/{ahwqwq-model-whisperer/outcomes/02-use-claude-cost-estimation.md → 33-model-whisperer/outcomes/2-use-claude-cost-estimation.md} +0 -0
- /package/RAF/{ahwqwq-model-whisperer/outcomes/03-add-plan-resume-flag.md → 33-model-whisperer/outcomes/3-add-plan-resume-flag.md} +0 -0
- /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
- /package/RAF/{ahwqwq-model-whisperer/plans/02-use-claude-cost-estimation.md → 33-model-whisperer/plans/2-use-claude-cost-estimation.md} +0 -0
- /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/decisions.md +0 -0
- /package/RAF/{ahwvrz-legacy-sunset → 34-legacy-sunset}/input.md +0 -0
- /package/RAF/{ahwvrz-legacy-sunset/outcomes/01-remove-migrate-command.md → 34-legacy-sunset/outcomes/1-remove-migrate-command.md} +0 -0
- /package/RAF/{ahwvrz-legacy-sunset/outcomes/02-fix-resume-worktree-resolution.md → 34-legacy-sunset/outcomes/2-fix-resume-worktree-resolution.md} +0 -0
- /package/RAF/{ahwvrz-legacy-sunset/plans/01-remove-migrate-command.md → 34-legacy-sunset/plans/1-remove-migrate-command.md} +0 -0
- /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/decisions.md +0 -0
- /package/RAF/{ahwzmc-echo-forge → 35-echo-forge}/input.md +0 -0
- /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
- /package/RAF/{ahwzmc-echo-forge/outcomes/02-add-no-worktree-flag.md → 35-echo-forge/outcomes/2-add-no-worktree-flag.md} +0 -0
- /package/RAF/{ahwzmc-echo-forge/outcomes/03-update-readme.md → 35-echo-forge/outcomes/3-update-readme.md} +0 -0
- /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
- /package/RAF/{ahwzmc-echo-forge/plans/02-add-no-worktree-flag.md → 35-echo-forge/plans/2-add-no-worktree-flag.md} +0 -0
- /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/decisions.md +0 -0
- /package/RAF/{aifqwf-fix-amend-commit-again → 36-fix-amend-commit-again}/input.md +0 -0
- /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
- /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
- /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
- /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
- /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/decisions.md +0 -0
- /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/input.md +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/outcomes/01-remove-summary-file.md → 4-task-naming-optimization/outcomes/1-remove-summary-file.md} +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/outcomes/02-base36-project-numbering.md → 4-task-naming-optimization/outcomes/2-base36-project-numbering.md} +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/outcomes/03-improve-haiku-prompt.md → 4-task-naming-optimization/outcomes/3-improve-haiku-prompt.md} +0 -0
- /package/RAF/{aaaaae-task-naming-optimization → 4-task-naming-optimization}/outcomes/SUMMARY.md +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/plans/01-remove-summary-file.md → 4-task-naming-optimization/plans/1-remove-summary-file.md} +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/plans/02-base36-project-numbering.md → 4-task-naming-optimization/plans/2-base36-project-numbering.md} +0 -0
- /package/RAF/{aaaaae-task-naming-optimization/plans/03-improve-haiku-prompt.md → 4-task-naming-optimization/plans/3-improve-haiku-prompt.md} +0 -0
- /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/decisions.md +0 -0
- /package/RAF/{aaaaaf-task-naming-improvements → 5-task-naming-improvements}/input.md +0 -0
- /package/RAF/{aaaaaf-task-naming-improvements/outcomes/01-enhance-identifier-resolution.md → 5-task-naming-improvements/outcomes/1-enhance-identifier-resolution.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaaaf-task-naming-improvements/outcomes/08-fix-timeout-label.md → 5-task-naming-improvements/outcomes/8-fix-timeout-label.md} +0 -0
- /package/RAF/{aaaaaf-task-naming-improvements/plans/01-enhance-identifier-resolution.md → 5-task-naming-improvements/plans/1-enhance-identifier-resolution.md} +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaaaf-task-naming-improvements/plans/08-fix-timeout-label.md → 5-task-naming-improvements/plans/8-fix-timeout-label.md} +0 -0
- /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/decisions.md +0 -0
- /package/RAF/{aaaaag-fix-double-summary-headers → 6-fix-double-summary-headers}/input.md +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/decisions.md +0 -0
- /package/RAF/{aaaaah-improve-outcome-format → 7-improve-outcome-format}/input.md +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/outcomes/01-update-execution-prompt.md → 7-improve-outcome-format/outcomes/1-update-execution-prompt.md} +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/outcomes/02-update-state-derivation.md → 7-improve-outcome-format/outcomes/2-update-state-derivation.md} +0 -0
- /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
- /package/RAF/{aaaaah-improve-outcome-format/outcomes/04-implement-failure-analysis.md → 7-improve-outcome-format/outcomes/4-implement-failure-analysis.md} +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/outcomes/05-update-documentation.md → 7-improve-outcome-format/outcomes/5-update-documentation.md} +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/plans/01-update-execution-prompt.md → 7-improve-outcome-format/plans/1-update-execution-prompt.md} +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/plans/02-update-state-derivation.md → 7-improve-outcome-format/plans/2-update-state-derivation.md} +0 -0
- /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
- /package/RAF/{aaaaah-improve-outcome-format/plans/04-implement-failure-analysis.md → 7-improve-outcome-format/plans/4-implement-failure-analysis.md} +0 -0
- /package/RAF/{aaaaah-improve-outcome-format/plans/05-update-documentation.md → 7-improve-outcome-format/plans/5-update-documentation.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/decisions.md +0 -0
- /package/RAF/{aaaaai-beautiful-do → 8-beautiful-do}/input.md +0 -0
- /package/RAF/{aaaaai-beautiful-do/outcomes/01-terminal-symbols.md → 8-beautiful-do/outcomes/1-terminal-symbols.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/outcomes/02-refactor-do-output.md → 8-beautiful-do/outcomes/2-refactor-do-output.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/outcomes/03-refactor-status-output.md → 8-beautiful-do/outcomes/3-refactor-status-output.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/outcomes/04-simplify-logger.md → 8-beautiful-do/outcomes/4-simplify-logger.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/outcomes/05-add-tests.md → 8-beautiful-do/outcomes/5-add-tests.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/plans/01-terminal-symbols.md → 8-beautiful-do/plans/1-terminal-symbols.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/plans/02-refactor-do-output.md → 8-beautiful-do/plans/2-refactor-do-output.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/plans/03-refactor-status-output.md → 8-beautiful-do/plans/3-refactor-status-output.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/plans/04-simplify-logger.md → 8-beautiful-do/plans/4-simplify-logger.md} +0 -0
- /package/RAF/{aaaaai-beautiful-do/plans/05-add-tests.md → 8-beautiful-do/plans/5-add-tests.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/decisions.md +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend → 9-system-promt-ammend}/input.md +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/outcomes/01-model-override.md → 9-system-promt-ammend/outcomes/1-model-override.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/outcomes/02-system-prompt-append.md → 9-system-promt-ammend/outcomes/2-system-prompt-append.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/outcomes/03-retry-context.md → 9-system-promt-ammend/outcomes/3-retry-context.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/plans/01-model-override.md → 9-system-promt-ammend/plans/1-model-override.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/plans/02-system-prompt-append.md → 9-system-promt-ammend/plans/2-system-prompt-append.md} +0 -0
- /package/RAF/{aaaaaj-system-promt-ammend/plans/03-retry-context.md → 9-system-promt-ammend/plans/3-retry-context.md} +0 -0
package/CLAUDE.md
CHANGED
|
@@ -1,349 +1,11 @@
|
|
|
1
|
-
# RAF
|
|
1
|
+
# RAF
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Node.js CLI tool that orchestrates task planning and execution via Claude Code CLI.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
- New features should be configurable — add keys to `DEFAULT_CONFIG` in `src/types/config.ts`
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## When Changing Code
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- **TTY Emulation**: node-pty for interactive Claude sessions
|
|
13
|
-
- **Testing**: Jest with ts-jest ESM preset
|
|
14
|
-
|
|
15
|
-
## Directory Structure
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
src/
|
|
19
|
-
├── index.ts # CLI entry point
|
|
20
|
-
├── commands/ # CLI commands (plan, do, status, config)
|
|
21
|
-
├── core/ # Core business logic
|
|
22
|
-
├── prompts/ # System prompts for Claude
|
|
23
|
-
│ └── config-docs.md # Full config reference (used by raf config)
|
|
24
|
-
├── parsers/ # Output parsing utilities
|
|
25
|
-
├── utils/ # Utility functions
|
|
26
|
-
└── types/ # TypeScript type definitions
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## RAF Project Structure
|
|
30
|
-
|
|
31
|
-
Each RAF project follows this structure:
|
|
32
|
-
```
|
|
33
|
-
RAF/
|
|
34
|
-
└── abcdef-project-name/ # 6-char epoch-based base26 ID (a-z only)
|
|
35
|
-
├── input.md # User requirements
|
|
36
|
-
├── decisions.md # Q&A from planning interviews
|
|
37
|
-
├── plans/ # Task breakdowns
|
|
38
|
-
│ ├── 01-task-name.md # 2-char base36 task ID
|
|
39
|
-
│ └── 02-another-task.md
|
|
40
|
-
└── outcomes/ # Completed task results
|
|
41
|
-
├── 01-task-name.md
|
|
42
|
-
└── 02-another-task.md
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Plan File Structure
|
|
46
|
-
|
|
47
|
-
Each plan file MUST have Obsidian-style frontmatter at the top, before the `# Task:` heading:
|
|
48
|
-
```markdown
|
|
49
|
-
---
|
|
50
|
-
effort: medium
|
|
51
|
-
---
|
|
52
|
-
# Task: [Task Name]
|
|
53
|
-
|
|
54
|
-
## Objective
|
|
55
|
-
[Clear, one-sentence description]
|
|
56
|
-
|
|
57
|
-
## Context
|
|
58
|
-
[Why this task is needed]
|
|
59
|
-
|
|
60
|
-
## Dependencies
|
|
61
|
-
[Optional - comma-separated task IDs, e.g., "01, 02"]
|
|
62
|
-
[If a dependency fails, this task is blocked]
|
|
63
|
-
|
|
64
|
-
## Requirements
|
|
65
|
-
- Requirement 1
|
|
66
|
-
- Requirement 2
|
|
67
|
-
|
|
68
|
-
## Implementation Steps
|
|
69
|
-
1. Step 1
|
|
70
|
-
2. Step 2
|
|
71
|
-
|
|
72
|
-
## Acceptance Criteria
|
|
73
|
-
- [ ] Criterion 1
|
|
74
|
-
- [ ] Criterion 2
|
|
75
|
-
|
|
76
|
-
## Notes
|
|
77
|
-
[Additional context]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Frontmatter**:
|
|
81
|
-
- Uses standard Obsidian/YAML format: opening `---`, `key: value` lines, closing `---`
|
|
82
|
-
- `effort` is REQUIRED: `low`, `medium`, or `high` — determines execution model via `effortMapping`
|
|
83
|
-
- `model` is OPTIONAL: explicit model override (subject to ceiling)
|
|
84
|
-
- Frontmatter is parsed by `src/utils/frontmatter.ts`
|
|
85
|
-
- Parser also supports legacy format (no opening `---`) for backward compatibility
|
|
86
|
-
|
|
87
|
-
**Dependencies Section**:
|
|
88
|
-
- Optional - omit if task has no dependencies
|
|
89
|
-
- Uses task IDs only (e.g., `01, 02`)
|
|
90
|
-
- If a dependency fails, dependent tasks are automatically blocked
|
|
91
|
-
|
|
92
|
-
## Development Commands
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
npm run build # Compile TypeScript
|
|
96
|
-
npm run dev # Watch mode compilation
|
|
97
|
-
npm test # Run tests
|
|
98
|
-
npm run lint # Type check without emit
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Code Style Guidelines
|
|
102
|
-
|
|
103
|
-
1. **ESM Modules**: Always use `.js` extension in imports (TypeScript will resolve `.ts` files)
|
|
104
|
-
2. **Strict TypeScript**: All code must pass strict type checking
|
|
105
|
-
3. **Error Handling**: Use typed errors and handle edge cases explicitly
|
|
106
|
-
4. **Async/Await**: Prefer async/await over raw promises
|
|
107
|
-
5. **No Default Exports**: Use named exports for better refactoring support
|
|
108
|
-
|
|
109
|
-
## Testing Requirements
|
|
110
|
-
|
|
111
|
-
- Unit tests for all core modules
|
|
112
|
-
- Integration tests for command flows
|
|
113
|
-
- Mock external dependencies (Claude CLI, file system where appropriate)
|
|
114
|
-
- Follow TDD approach - write tests first
|
|
115
|
-
|
|
116
|
-
## Key Implementation Details
|
|
117
|
-
|
|
118
|
-
### node-pty Usage
|
|
119
|
-
- Required for real TTY interaction with Claude's AskUserQuestionTool
|
|
120
|
-
- Use `setRawMode(true)` for interactive planning mode
|
|
121
|
-
- Graceful cleanup on process termination
|
|
122
|
-
|
|
123
|
-
### Output Parsing
|
|
124
|
-
- Look for `<promise>COMPLETE</promise>` or `<promise>FAILED</promise>` markers
|
|
125
|
-
- Detect context overflow patterns
|
|
126
|
-
- Parse task completion status
|
|
127
|
-
|
|
128
|
-
## Architectural Decisions (from completed projects)
|
|
129
|
-
|
|
130
|
-
### State Derivation Over Persistence
|
|
131
|
-
- Task status determined by outcome file existence and content
|
|
132
|
-
- Outcome files must end with `<promise>COMPLETE</promise>` or `<promise>FAILED</promise>` marker
|
|
133
|
-
- Use `state-derivation.ts` module: `deriveProjectState()`, `getNextPendingTask()`, `isProjectComplete()`
|
|
134
|
-
|
|
135
|
-
### Outcome File Flow
|
|
136
|
-
- Claude writes outcome files during task execution (not RAF)
|
|
137
|
-
- RAF validates outcome by checking for completion marker
|
|
138
|
-
- If no marker found, RAF generates minimal fallback outcome
|
|
139
|
-
- Metadata (attempts, elapsed time, timestamp) appended to outcome
|
|
140
|
-
|
|
141
|
-
### Failure Analysis
|
|
142
|
-
- On task failure, RAF analyzes the failure using Claude Haiku
|
|
143
|
-
- Programmatic failures (API errors, timeouts, context overflow) handled without API call
|
|
144
|
-
- Failure reports include: Failure Reason, Analysis, Suggested Fix, Relevant Output
|
|
145
|
-
- All failure outcomes end with `<promise>FAILED</promise>` marker
|
|
146
|
-
|
|
147
|
-
### Configurable by Default
|
|
148
|
-
- If a feature or setting can be configurable, it should be configurable through the config system
|
|
149
|
-
- Built-in defaults in `DEFAULT_CONFIG` (`src/types/config.ts`) provide sensible out-of-the-box behavior
|
|
150
|
-
- Global config at `~/.raf/raf.config.json` overrides defaults
|
|
151
|
-
- CLI flags override config values
|
|
152
|
-
- Three-tier precedence: **CLI flag > global config > built-in defaults**
|
|
153
|
-
- When adding new features, add corresponding config keys to the schema
|
|
154
|
-
|
|
155
|
-
### Configuration System
|
|
156
|
-
- **Config file**: `~/.raf/raf.config.json` (optional — missing file uses all defaults)
|
|
157
|
-
- **Schema** (defined in `src/types/config.ts`):
|
|
158
|
-
- `models.*` — Claude model per scenario (`execute`, `plan`, `nameGeneration`, `failureAnalysis`, `prGeneration`, `config`)
|
|
159
|
-
- `effortMapping.*` — maps task effort labels (`low`, `medium`, `high`) to models
|
|
160
|
-
- `timeout` — task timeout in seconds
|
|
161
|
-
- `maxRetries` — max retry attempts per task
|
|
162
|
-
- `autoCommit` — whether Claude auto-commits on task completion
|
|
163
|
-
- `worktree` — default worktree mode for plan/do commands
|
|
164
|
-
- `syncMainBranch` — sync main branch with remote before worktree/PR operations (default: true)
|
|
165
|
-
- `commitFormat.*` — commit message templates (`task`, `plan`, `amend`, `prefix`)
|
|
166
|
-
- **Validation**: strict — unknown keys rejected at every nesting level (`src/utils/config.ts`)
|
|
167
|
-
- **Deep-merge**: partial overrides merge with defaults (only specify keys you want to change)
|
|
168
|
-
- **Helper accessors**: `getModel()`, `getEffortMapping()`, `resolveEffortToModel()`, `getModelTier()`, `applyModelCeiling()`, `getCommitFormat()`, `getCommitPrefix()`, `getTimeout()`, `getMaxRetries()`, `getAutoCommit()`, `getWorktreeDefault()`, `getSyncMainBranch()` (all in `src/utils/config.ts`)
|
|
169
|
-
- **Full reference**: `src/prompts/config-docs.md` (also serves as system prompt for `raf config`)
|
|
170
|
-
|
|
171
|
-
### Per-Task Model Resolution
|
|
172
|
-
- Plan files contain `effort` frontmatter that determines which model executes the task
|
|
173
|
-
- `effortMapping` config maps effort labels to models: `{ low: "sonnet", medium: "opus", high: "opus" }`
|
|
174
|
-
- `models.execute` acts as a ceiling — tasks can't exceed this model tier
|
|
175
|
-
- On retry, tasks escalate to the ceiling model for a better chance of success
|
|
176
|
-
- If a plan has no effort frontmatter, `models.execute` is used as a fallback (with a warning)
|
|
177
|
-
|
|
178
|
-
### `raf config` Command
|
|
179
|
-
- `raf config` — launches interactive Claude session for viewing/editing config
|
|
180
|
-
- `raf config "use haiku for name generation"` — session with initial prompt
|
|
181
|
-
- `raf config --reset` — deletes config file after confirmation prompt
|
|
182
|
-
- Session uses config documentation as system prompt and shows current config state
|
|
183
|
-
- Post-session validation checks the config file for errors and warns on issues
|
|
184
|
-
- Implementation: `src/commands/config.ts`
|
|
185
|
-
|
|
186
|
-
### Project Naming Convention
|
|
187
|
-
- Format: `XXXXXX-project-name` where `XXXXXX` is a 6-character base26 ID (a-z only)
|
|
188
|
-
- ID is generated from `(current_unix_seconds - RAF_EPOCH)` encoded as base26, left-padded with 'a' to 6 characters
|
|
189
|
-
- Base26 encoding: a=0, b=1, ..., z=25 (lowercase letters only, no digits)
|
|
190
|
-
- RAF_EPOCH is 2026-01-01T00:00:00Z (Unix timestamp 1767225600)
|
|
191
|
-
- Project name is kebab-case derived from core feature
|
|
192
|
-
- IDs are unique by timestamp and sort chronologically
|
|
193
|
-
- Project IDs are visually distinct from task IDs (which use base36 with digits)
|
|
194
|
-
|
|
195
|
-
### Task ID Format
|
|
196
|
-
- Task IDs are 2-character base36 strings, zero-padded (e.g., `01`, `0a`, `1z`, `zz`)
|
|
197
|
-
- Base36 charset: 0-9, a-z (lowercase)
|
|
198
|
-
- Supports up to 1296 tasks per project (00-zz)
|
|
199
|
-
- Task numbering starts at `01` (not `00`)
|
|
200
|
-
- Sort order: 00, 01, ..., 09, 0a, 0b, ..., 0z, 10, 11, ..., zz
|
|
201
|
-
- Utilities in `src/utils/paths.ts`: `encodeTaskId()`, `decodeTaskId()`, `TASK_ID_PATTERN`
|
|
202
|
-
- File naming: `01-task-name.md`, `0a-task-name.md`, etc.
|
|
203
|
-
|
|
204
|
-
### Project Identifier Resolution
|
|
205
|
-
Support multiple identifier formats in commands:
|
|
206
|
-
1. Base26 ID: `abcdef` (6-character epoch-based ID, a-z only)
|
|
207
|
-
2. Project name: `fix-stuff` (case-insensitive, partial match)
|
|
208
|
-
3. Full folder name: `abcdef-fix-stuff` (exact match)
|
|
209
|
-
|
|
210
|
-
Use `resolveProjectIdentifierWithDetails()` from `src/utils/paths.ts`
|
|
211
|
-
|
|
212
|
-
### Token Usage Tracking
|
|
213
|
-
- After each task, RAF displays a per-task token summary (input/output tokens, cache tokens, cost)
|
|
214
|
-
- After all tasks complete, RAF displays a grand total summary block
|
|
215
|
-
- Token data and costs come from Claude's `--output-format stream-json --verbose` result events
|
|
216
|
-
- Claude CLI provides exact costs via `total_cost_usd` and per-model `costUSD` fields
|
|
217
|
-
- `TokenTracker` class (`src/utils/token-tracker.ts`) accumulates usage and costs across tasks
|
|
218
|
-
- Formatting utilities in `src/utils/terminal-symbols.ts`: `formatTaskTokenSummary()`, `formatTokenTotalSummary()`, `formatNumber()`, `formatCost()`
|
|
219
|
-
- Failed tasks with partial usage data are still tracked in totals
|
|
220
|
-
- Tasks with no usage data (timeout, crash) are silently skipped
|
|
221
|
-
|
|
222
|
-
### Git Commit Schema
|
|
223
|
-
|
|
224
|
-
All git commits are made by Claude during task execution. RAF does not create any automated commits.
|
|
225
|
-
|
|
226
|
-
**Commit format** is configurable via `commitFormat.*` config keys. The default templates use `{placeholder}` syntax:
|
|
227
|
-
- `commitFormat.task`: `"{prefix}[{projectId}:{taskId}] {description}"` — task completion commits
|
|
228
|
-
- `commitFormat.plan`: `"{prefix}[{projectId}] Plan: {projectName}"` — plan commits
|
|
229
|
-
- `commitFormat.amend`: `"{prefix}[{projectId}] Amend: {projectName}"` — amendment commits
|
|
230
|
-
- `commitFormat.prefix`: `"RAF"` — prefix token used in all templates
|
|
231
|
-
|
|
232
|
-
Default output example:
|
|
233
|
-
```
|
|
234
|
-
RAF[abcdef:01] Add validation for user input fields
|
|
235
|
-
RAF[abcdef:02] Fix null pointer in auth handler
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
- Claude commits code changes and outcome file together in one commit per task
|
|
239
|
-
- No commits on failure (changes are stashed instead)
|
|
240
|
-
- Handle "not in git repo" gracefully (warning, no crash)
|
|
241
|
-
- Template rendering: `renderCommitMessage()` in `src/utils/config.ts`
|
|
242
|
-
|
|
243
|
-
### Amendment Mode
|
|
244
|
-
- `raf plan --amend <identifier>` adds tasks to existing projects
|
|
245
|
-
- Existing tasks shown with status: `[COMPLETED]`, `[PENDING]`, `[FAILED]`
|
|
246
|
-
- New tasks numbered sequentially after last task
|
|
247
|
-
- No modification of existing plan files
|
|
248
|
-
|
|
249
|
-
### Worktree Mode
|
|
250
|
-
- `raf plan --worktree` and `raf do --worktree` run in an isolated git worktree
|
|
251
|
-
- Worktree path: `~/.raf/worktrees/<repo-basename>/<project-id>` (e.g., `~/.raf/worktrees/myapp/abcdef-my-feature`)
|
|
252
|
-
- Branch name matches the project folder name (e.g., `abcdef-my-feature`)
|
|
253
|
-
- `--worktree` flag is required on `plan`; on `do` it is auto-detected when a worktree project is selected from the picker
|
|
254
|
-
- `raf do` without arguments auto-discovers pending worktree projects and merges them into the project picker
|
|
255
|
-
- Worktree projects are labeled with `[worktree]` suffix in the picker
|
|
256
|
-
- Selecting a worktree project automatically enables worktree mode (post-action picker, worktree cwd)
|
|
257
|
-
- Projects are deduplicated: when a folder exists in both local and worktree, the worktree version is shown
|
|
258
|
-
- Mixed local and worktree projects are sorted chronologically
|
|
259
|
-
- `raf status` automatically discovers and displays worktree projects (no flag needed)
|
|
260
|
-
- List mode: worktree projects that differ from main repo shown under `Worktrees:` header
|
|
261
|
-
- Single project mode: shows both main and worktree state when they differ
|
|
262
|
-
- Identical worktree projects are hidden; worktree-only projects always shown
|
|
263
|
-
- Lifecycle: create worktree -> plan in worktree -> pick post-action -> execute in worktree -> auto-run chosen action
|
|
264
|
-
- **Post-execution picker**: Before task execution, an interactive picker asks what to do after tasks complete:
|
|
265
|
-
1. **Merge** — merge branch into original branch (fast-forward preferred, merge-commit fallback)
|
|
266
|
-
2. **Create PR** — push branch and create a GitHub PR (uses `createPullRequest()` from `pull-request.ts`)
|
|
267
|
-
3. **Leave branch** — do nothing, keep the branch as-is
|
|
268
|
-
- PR option runs preflight checks immediately; falls back to "leave" if `gh` CLI is missing or unauthenticated
|
|
269
|
-
- On task failure, the chosen post-action is skipped with a message
|
|
270
|
-
- Worktree cleanup: all post-actions (merge, PR, leave) clean up the worktree directory (branch preserved in git)
|
|
271
|
-
- On failure, worktree is kept for inspection
|
|
272
|
-
- `raf plan --amend --worktree` auto-recreates the worktree when it was cleaned up:
|
|
273
|
-
- If the branch exists (common after cleanup): recreates worktree from the existing branch
|
|
274
|
-
- If no branch exists: creates a fresh worktree and copies project files from the main repo
|
|
275
|
-
- On plan failure with no plan files created, the worktree is cleaned up automatically
|
|
276
|
-
- Core utilities in `src/core/worktree.ts`: `createWorktree()`, `createWorktreeFromBranch()`, `branchExists()`, `validateWorktree()`, `mergeWorktreeBranch()`, `removeWorktree()`, `listWorktreeProjects()`
|
|
277
|
-
- Post-execution picker: `pickPostExecutionAction()` and `PostExecutionAction` type exported from `src/commands/do.ts`
|
|
278
|
-
|
|
279
|
-
### PR Creation from Worktree
|
|
280
|
-
- `src/core/pull-request.ts` provides `createPullRequest()` to create GitHub PRs from worktree branches
|
|
281
|
-
- Requires `gh` CLI installed and authenticated (`gh auth login`)
|
|
282
|
-
- Auto-detects base branch (from `refs/remotes/origin/HEAD`, falling back to `main`/`master`)
|
|
283
|
-
- PR title derived from project name (kebab-case to human-readable)
|
|
284
|
-
- PR body generated by Claude Haiku summarizing input.md, decisions.md, and outcomes
|
|
285
|
-
- Falls back to simple body if Claude is unavailable
|
|
286
|
-
- Auto-pushes branch to origin if not already pushed
|
|
287
|
-
- Preflight checks: `prPreflight()` validates gh CLI, authentication, GitHub remote
|
|
288
|
-
- Key functions: `createPullRequest()`, `prPreflight()`, `generatePrBody()`, `generatePrTitle()`, `detectBaseBranch()`
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
## PR Review
|
|
292
|
-
|
|
293
|
-
When reviewing a PR or addressing PR comments, use `gh` CLI to read PR details:
|
|
294
|
-
|
|
295
|
-
```bash
|
|
296
|
-
# View PR description and metadata
|
|
297
|
-
gh pr view <number>
|
|
298
|
-
|
|
299
|
-
# View PR diff
|
|
300
|
-
gh pr diff <number>
|
|
301
|
-
|
|
302
|
-
# View review comments (inline code comments)
|
|
303
|
-
gh api repos/{owner}/{repo}/pulls/<number>/comments
|
|
304
|
-
|
|
305
|
-
# View PR review summaries
|
|
306
|
-
gh api repos/{owner}/{repo}/pulls/<number>/reviews
|
|
307
|
-
|
|
308
|
-
# View general PR conversation comments (non-inline)
|
|
309
|
-
gh api repos/{owner}/{repo}/issues/<number>/comments
|
|
310
|
-
|
|
311
|
-
# List PR files changed
|
|
312
|
-
gh pr diff <number> --name-only
|
|
313
|
-
|
|
314
|
-
# View PR checks/CI status
|
|
315
|
-
gh pr checks <number>
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
### Checking Out PR Branches
|
|
319
|
-
|
|
320
|
-
PR branches are often checked out in git worktrees. Before creating a new checkout, check for existing worktrees:
|
|
321
|
-
|
|
322
|
-
```bash
|
|
323
|
-
# List existing worktrees
|
|
324
|
-
git worktree list
|
|
325
|
-
|
|
326
|
-
# Find the branch name from the PR
|
|
327
|
-
gh pr view <number> --json headRefName -q .headRefName
|
|
328
|
-
|
|
329
|
-
# If gh is rate-limited, list remote branches to find it
|
|
330
|
-
git ls-remote --heads origin
|
|
331
|
-
|
|
332
|
-
# Check if branch is already in a worktree (look for the path in worktree list output)
|
|
333
|
-
# If it is, work directly in that worktree path (e.g., /Users/eremeev/.raf/worktrees/Paperi/<branch>)
|
|
334
|
-
# If not, checkout normally:
|
|
335
|
-
git fetch origin <branch> && git checkout <branch>
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
When working in a worktree, use absolute paths to the worktree directory for all file operations and builds.
|
|
339
|
-
|
|
340
|
-
## Important Reminders
|
|
341
|
-
|
|
342
|
-
1. **Keep README.md updated** — Update the user-facing README when:
|
|
343
|
-
- A new CLI command is added (add usage section + Command Reference entry)
|
|
344
|
-
- Existing command flags or behavior change
|
|
345
|
-
- Important features are added (e.g., worktrees, config, token tracking)
|
|
346
|
-
- The Features list needs a new bullet point
|
|
347
|
-
2. **Keep CLAUDE.md updated** — Update internal docs when architectural decisions, config keys, or conventions change
|
|
348
|
-
3. Cover changes with tests - use TDD approach
|
|
349
|
-
4. Use Clean Architecture principles (SOLID)
|
|
9
|
+
- Keep README.md updated when adding/changing CLI commands, flags, or features
|
|
10
|
+
- This app has no users. Make whatever changes you want. This project is super greenfield. It's ok if you change the schema entirely.
|
|
11
|
+
- The role of this file is to describe common mistakes and confusion points that agents might encounter as they work in this project. If you ever encounter something in the project that surprises you, please alert the developer working with you and indicate that this is the case in the AgentMD file to help prevent future agents from having the same issue.
|
|
@@ -7,7 +7,7 @@ Modify the planning system prompt so Claude automatically infers and records tas
|
|
|
7
7
|
When Claude breaks down a project into tasks, it should analyze relationships between tasks and specify dependencies. This enables the execution engine to properly handle task failures by blocking dependent tasks.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Claude should automatically infer dependencies from task relationships (not ask user)
|
|
@@ -7,7 +7,7 @@ Add dependency parsing to plan file reading and extend state derivation to inclu
|
|
|
7
7
|
Plan files now contain an optional Dependencies section. The state derivation system needs to parse these dependencies and determine when tasks are blocked (when any dependency has failed).
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Parse `## Dependencies` section from plan files
|
|
@@ -7,7 +7,7 @@ Update the `raf do` command to detect blocked tasks and automatically create blo
|
|
|
7
7
|
When executing a project, if a task fails, any tasks that depend on it should be automatically marked as blocked. This prevents wasting time attempting tasks that cannot succeed because their prerequisites failed.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
3
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Before executing a task, check if it's blocked (has failed/blocked dependencies)
|
|
@@ -7,7 +7,7 @@ Modify the execution system prompt to include outcome summaries of completed dep
|
|
|
7
7
|
When a task depends on other tasks, Claude should know what those tasks accomplished. This helps Claude understand the current state of the codebase and build upon previous work effectively.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
3, 4
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Execution prompt should include dependency task outcomes when relevant
|
|
@@ -7,7 +7,7 @@ Create comprehensive tests for all dependency-related functionality to ensure re
|
|
|
7
7
|
The dependency watchdog feature introduces several new behaviors that need test coverage: parsing, state derivation, blocking logic, and prompt generation.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1, 2, 3, 4, 5
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Unit tests for dependency parsing
|
|
@@ -7,7 +7,7 @@ Call the git commit utility after planning completes successfully in both regula
|
|
|
7
7
|
The commit utility from task 001 needs to be integrated into the plan command. The commit should happen automatically after Claude finishes planning and plan files have been created.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Commit happens automatically (no flag needed)
|
|
@@ -7,7 +7,7 @@ Write unit tests for the git commit utility to ensure correct behavior in variou
|
|
|
7
7
|
The new git commit functionality needs test coverage to verify it works correctly and handles edge cases properly.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Test the `commitPlanningArtifacts` function
|
|
@@ -9,7 +9,7 @@ The current halt mechanism in `claude-runner.ts` detects completion markers (`<p
|
|
|
9
9
|
See previous halt work: commit `4d3868c3ef4c607c59829e94462ffd0490d82a98`
|
|
10
10
|
|
|
11
11
|
## Dependencies
|
|
12
|
-
|
|
12
|
+
3
|
|
13
13
|
|
|
14
14
|
## Requirements
|
|
15
15
|
- Record the HEAD commit hash before task execution begins
|
|
@@ -7,7 +7,7 @@ Add `--worktree` flag to `raf plan` that creates a git worktree and runs the ent
|
|
|
7
7
|
When a user runs `raf plan --worktree` (with or without a project name), RAF should create a git worktree under `~/.raf/worktrees/<repo-basename>/`, then create the project folder inside the worktree and run the interactive planning session there. The project name is optional — the normal name picker/auto-generation works since the editor uses a temp file and the worktree is only created after the name is known. When combined with `--amend`, RAF should find the existing worktree, switch into it, and run the amendment flow there.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
|
|
@@ -9,7 +9,7 @@ After planning with `--worktree`, the user runs `raf do <project> --worktree` to
|
|
|
9
9
|
Additionally, `raf do --worktree` (without a project identifier) should auto-discover uncompleted worktree projects by scanning the worktrees directory and filtering to projects that come after the latest completed project in the main tree.
|
|
10
10
|
|
|
11
11
|
## Dependencies
|
|
12
|
-
|
|
12
|
+
1
|
|
13
13
|
|
|
14
14
|
## Requirements
|
|
15
15
|
- Add `--worktree` boolean flag to the do command in Commander.js
|
|
@@ -7,7 +7,7 @@ When `--merge` flag is present on `raf do --worktree`, automatically merge the p
|
|
|
7
7
|
After worktree execution completes, the user may want to merge the project branch back into the branch from which `raf` was originally called. This is controlled by the `--merge` flag (only valid with `--worktree`). The worktree itself is NOT cleaned up or removed after merge — it stays in place.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
3
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Add `--merge` boolean flag to the do command in Commander.js
|
|
@@ -7,7 +7,7 @@ Add comprehensive tests covering the worktree utilities and the integration of `
|
|
|
7
7
|
RAF uses Jest with ts-jest ESM preset. Existing tests are in `__tests__/` directories. The worktree functionality involves git operations that need careful testing with real temporary git repos.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1, 2, 3, 4
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Unit tests for all worktree utility functions in `src/core/worktree.ts`:
|
|
@@ -7,7 +7,7 @@ Document the `--worktree` and `--merge` flags and worktree workflow in both CLAU
|
|
|
7
7
|
The worktree feature adds a new workflow to RAF. Users need to know how to use it, and developers maintaining RAF need to understand the architecture. Both docs files need updates.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
2, 3, 4
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Ensure that `raf plan --amend` commits input.md, decisions.md, AND plan files — not just input and decisions — using a distinct "Amend" commit message.
|
|
5
5
|
|
|
6
6
|
## Dependencies
|
|
7
|
-
|
|
7
|
+
2
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
Currently `commitPlanningArtifacts()` in `src/core/git.ts` only stages and commits `input.md` and `decisions.md`. For new plans (`raf plan`), this is fine because Claude commits plan files during execution. But for amendments, the new/updated plan files created during the amend session are never committed by RAF. Additionally, the commit message should distinguish amendments from new plans.
|
|
@@ -7,7 +7,7 @@ When planning or amending in worktree mode, the exit message shown to the user s
|
|
|
7
7
|
Currently the planning prompt (`src/prompts/planning.ts`) shows `raf do <project>` as the exit message, and the amend prompt (`src/prompts/amend.ts`) shows a generic "Press Ctrl-C twice to exit" with no `raf do` hint. Neither is aware of worktree mode. When the user planned with `--worktree`, the follow-up `raf do` command also needs `--worktree`, so the exit message should reflect that.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
2
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Add a `worktreeMode` (boolean) parameter to both `PlanningPromptParams` and `AmendPromptParams` interfaces
|
|
@@ -7,7 +7,7 @@ Add automatic worktree cleanup to `raf do --worktree` when all tasks complete su
|
|
|
7
7
|
Currently worktrees persist indefinitely after execution. Since the git branch contains all committed work, the worktree directory is redundant after successful completion. Cleaning it up reduces clutter in `~/.raf/worktrees/`. The branch is intentionally kept so `raf plan --amend --worktree` can recreate the worktree later.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- After `executeSingleProject()` returns successfully in worktree mode, remove the worktree using `removeWorktree()`
|
|
@@ -9,7 +9,7 @@ After task 002, worktrees are cleaned up on successful execution but branches ar
|
|
|
9
9
|
2. Neither branch nor worktree exists → create a fresh worktree with a new branch and copy the project files from the main repo
|
|
10
10
|
|
|
11
11
|
## Dependencies
|
|
12
|
-
|
|
12
|
+
1, 2
|
|
13
13
|
|
|
14
14
|
## Requirements
|
|
15
15
|
- In `runAmendCommand()` when `worktreeMode` is true, after the existing worktree search fails to find the project:
|
|
@@ -7,7 +7,7 @@ Update every regex pattern, folder matching function, and identifier resolution
|
|
|
7
7
|
After task 001 changes the ID generation, the rest of the codebase still has regex patterns like `/^(\d{2,3})-/` and `/^([a-z][0-9a-z]{2})-/` that match the old format. These must all be updated to match the new 6-char alphanumeric format (e.g., `00j3k1-project-name`). This is a clean break, so old patterns should be removed entirely.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- New project folder pattern: `/^([0-9a-z]{6})-(.+)$/` (6 lowercase alphanumeric chars, hyphen, name)
|
package/RAF/{aaaacx-epoch-shift/plans/03-update-tests.md → 23-epoch-shift/plans/3-update-tests.md}
RENAMED
|
@@ -7,7 +7,7 @@ Rewrite all unit tests affected by the project ID format change to test the new
|
|
|
7
7
|
The test suite in `tests/unit/paths.test.ts` (~741 lines) extensively tests the old sequential numbering and base36 encoding. After tasks 001 and 002 change the production code, these tests will all fail. Other test files (`status-command.test.ts`, `plan-command.test.ts`, `do-command.test.ts`) may also have hardcoded project folder names in old format.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1, 2
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Rewrite `tests/unit/paths.test.ts` to cover:
|
|
@@ -7,7 +7,7 @@ Update CLAUDE.md and README.md to reflect the new epoch-based project ID format.
|
|
|
7
7
|
After the code changes, the documentation still references the old sequential numbering system (001-999 numeric, a00-zzz base36). All references need to be updated to describe the new 6-character base36 epoch-based IDs.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1, 2
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Update `CLAUDE.md`:
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Add the ability to create a GitHub Pull Request from a worktree branch using the `gh` CLI tool.
|
|
5
5
|
|
|
6
6
|
## Dependencies
|
|
7
|
-
|
|
7
|
+
2
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
Currently, after completing tasks in a worktree, the only automated option is merging the branch back. This task adds PR creation as an alternative workflow. The PR body should be a Claude-generated summary combining the project's input.md, key decisions, and task outcomes.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Replace the `--merge` flag with an interactive picker shown before task execution that lets users choose what to do with the worktree branch after tasks complete: merge, create PR, or leave the branch.
|
|
5
5
|
|
|
6
6
|
## Dependencies
|
|
7
|
-
|
|
7
|
+
1, 3
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
Currently `raf do --worktree --merge` is the only way to handle the branch after execution. This task replaces that with a better UX: an interactive picker shown before execution starts, so the user declares intent upfront. After all tasks succeed, the chosen action is performed automatically. On failure, the action is skipped.
|
package/RAF/{ahnbcu-letterjam/plans/02-update-tests.md → 25-letterjam/plans/2-update-tests.md}
RENAMED
|
@@ -7,7 +7,7 @@ Update all unit and integration tests to reflect the base36-to-base26 encoding c
|
|
|
7
7
|
After task 01 changes the core encoding functions, all existing tests that reference base36 project IDs will fail. Test fixtures, expected values, and regex patterns need updating. Task ID tests should remain unchanged.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- All test cases for encode/decode functions updated with base26 expected values
|
package/RAF/{ahnbcu-letterjam/plans/03-migrate-command.md → 25-letterjam/plans/3-migrate-command.md}
RENAMED
|
@@ -7,7 +7,7 @@ Add a CLI command that renames existing project folders from old ID formats (3-c
|
|
|
7
7
|
After switching to base26 encoding, existing projects on disk still have old-format IDs. The migrate command provides a clean one-time transition. It must handle two legacy formats: the original 3-char base36 sequential IDs (e.g., "007-project") and the intermediate 6-char base36 epoch IDs (e.g., "021h44-project").
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- New CLI command: `raf migrate-project-ids-base26`
|
|
@@ -7,7 +7,7 @@ Update CLAUDE.md and README.md to document the new base26 project ID encoding sc
|
|
|
7
7
|
After tasks 01-03, the codebase uses base26 for project IDs, but documentation still references base36. All developer-facing docs need updating.
|
|
8
8
|
|
|
9
9
|
## Dependencies
|
|
10
|
-
|
|
10
|
+
1, 3
|
|
11
11
|
|
|
12
12
|
## Requirements
|
|
13
13
|
- Update CLAUDE.md sections that reference base36 project IDs:
|
|
@@ -22,7 +22,7 @@ PR descriptions currently have multiple issues:
|
|
|
22
22
|
- Clean up the temp file after PR creation
|
|
23
23
|
|
|
24
24
|
## Dependencies
|
|
25
|
-
|
|
25
|
+
1
|
|
26
26
|
|
|
27
27
|
## Implementation Steps
|
|
28
28
|
1. In `createPullRequest()`, write the generated PR body to a temp file and use `--body-file <path>` flag instead of `--body "<escaped>"`. Clean up the temp file after the `gh` command completes
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Configure `raf do` to spawn Claude CLI processes with `CLAUDE_CODE_EFFORT_LEVEL=medium` to reduce reasoning overhead during task execution.
|
|
5
5
|
|
|
6
6
|
## Dependencies
|
|
7
|
-
|
|
7
|
+
1
|
|
8
8
|
|
|
9
9
|
## Context
|
|
10
10
|
By default, Claude Opus uses "high" effort level which allocates more thinking tokens. For automated task execution via `raf do`, medium effort provides a good balance of speed, cost, and capability. The `CLAUDE_CODE_EFFORT_LEVEL` environment variable is the supported mechanism for controlling this in the Claude Code CLI.
|