rafcode 3.2.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/.claude/settings.local.json +3 -1
  2. package/CLAUDE.md +0 -1
  3. package/RAF/41-echo-chamber/decisions.md +13 -0
  4. package/RAF/41-echo-chamber/input.md +4 -0
  5. package/RAF/41-echo-chamber/outcomes/1-update-codex-model-defaults.md +24 -0
  6. package/RAF/41-echo-chamber/outcomes/2-e2e-test-codex-provider.md +74 -0
  7. package/RAF/41-echo-chamber/plans/1-update-codex-model-defaults.md +28 -0
  8. package/RAF/41-echo-chamber/plans/2-e2e-test-codex-provider.md +103 -0
  9. package/RAF/42-patch-parade/decisions.md +29 -0
  10. package/RAF/42-patch-parade/input.md +9 -0
  11. package/RAF/42-patch-parade/outcomes/1-fix-codex-model-resolution.md +36 -0
  12. package/RAF/42-patch-parade/outcomes/2-fix-provider-aware-name-generation.md +31 -0
  13. package/RAF/42-patch-parade/outcomes/3-fix-codex-error-event-rendering.md +32 -0
  14. package/RAF/42-patch-parade/outcomes/4-update-cli-help-docs.md +28 -0
  15. package/RAF/42-patch-parade/outcomes/5-update-default-codex-models-to-gpt-5-4.md +33 -0
  16. package/RAF/42-patch-parade/outcomes/6-unify-model-config-schema.md +89 -0
  17. package/RAF/42-patch-parade/plans/1-fix-codex-model-resolution.md +35 -0
  18. package/RAF/42-patch-parade/plans/2-fix-provider-aware-name-generation.md +38 -0
  19. package/RAF/42-patch-parade/plans/3-fix-codex-error-event-rendering.md +32 -0
  20. package/RAF/42-patch-parade/plans/4-update-cli-help-docs.md +31 -0
  21. package/RAF/42-patch-parade/plans/5-update-default-codex-models-to-gpt-5-4.md +35 -0
  22. package/RAF/42-patch-parade/plans/6-unify-model-config-schema.md +46 -0
  23. package/RAF/43-swiss-army/decisions.md +34 -0
  24. package/RAF/43-swiss-army/input.md +7 -0
  25. package/RAF/43-swiss-army/outcomes/1-fix-model-validation.md +21 -0
  26. package/RAF/43-swiss-army/outcomes/2-update-commit-format.md +31 -0
  27. package/RAF/43-swiss-army/outcomes/3-wire-reasoning-effort.md +28 -0
  28. package/RAF/43-swiss-army/outcomes/4-remove-provider-flag.md +27 -0
  29. package/RAF/43-swiss-army/outcomes/5-config-wizard-validation.md +23 -0
  30. package/RAF/43-swiss-army/outcomes/6-add-fast-mode.md +32 -0
  31. package/RAF/43-swiss-army/outcomes/7-config-preset.md +31 -0
  32. package/RAF/43-swiss-army/plans/1-fix-model-validation.md +38 -0
  33. package/RAF/43-swiss-army/plans/2-update-commit-format.md +46 -0
  34. package/RAF/43-swiss-army/plans/3-wire-reasoning-effort.md +39 -0
  35. package/RAF/43-swiss-army/plans/4-remove-provider-flag.md +43 -0
  36. package/RAF/43-swiss-army/plans/5-config-wizard-validation.md +42 -0
  37. package/RAF/43-swiss-army/plans/6-add-fast-mode.md +46 -0
  38. package/RAF/43-swiss-army/plans/7-config-preset.md +51 -0
  39. package/RAF/44-config-api-change/decisions.md +22 -0
  40. package/RAF/44-config-api-change/input.md +5 -0
  41. package/RAF/44-config-api-change/outcomes/1-restructure-config-subcommands.md +19 -0
  42. package/RAF/44-config-api-change/outcomes/2-move-preset-under-config.md +17 -0
  43. package/RAF/44-config-api-change/outcomes/3-update-existing-tests-for-config-api.md +14 -0
  44. package/RAF/44-config-api-change/outcomes/4-update-config-command-docs.md +11 -0
  45. package/RAF/44-config-api-change/outcomes/5-fix-codex-name-generation.md +18 -0
  46. package/RAF/44-config-api-change/plans/1-restructure-config-subcommands.md +37 -0
  47. package/RAF/44-config-api-change/plans/2-move-preset-under-config.md +38 -0
  48. package/RAF/44-config-api-change/plans/3-update-existing-tests-for-config-api.md +38 -0
  49. package/RAF/44-config-api-change/plans/4-update-config-command-docs.md +36 -0
  50. package/RAF/44-config-api-change/plans/5-fix-codex-name-generation.md +49 -0
  51. package/RAF/45-signal-cairn/decisions.md +7 -0
  52. package/RAF/45-signal-cairn/input.md +2 -0
  53. package/RAF/45-signal-cairn/outcomes/1-rename-provider-to-harness.md +19 -0
  54. package/RAF/45-signal-cairn/outcomes/2-normalize-model-display-names.md +18 -0
  55. package/RAF/45-signal-cairn/plans/1-rename-provider-to-harness.md +40 -0
  56. package/RAF/45-signal-cairn/plans/2-normalize-model-display-names.md +41 -0
  57. package/RAF/45-signal-lantern/decisions.md +10 -0
  58. package/RAF/45-signal-lantern/input.md +2 -0
  59. package/RAF/45-signal-lantern/outcomes/1-add-effort-and-fast-to-do-model-display.md +15 -0
  60. package/RAF/45-signal-lantern/outcomes/2-capture-codex-post-run-token-usage.md +15 -0
  61. package/RAF/45-signal-lantern/outcomes/3-show-codex-token-summaries-without-fake-cost.md +14 -0
  62. package/RAF/45-signal-lantern/plans/1-add-effort-and-fast-to-do-model-display.md +38 -0
  63. package/RAF/45-signal-lantern/plans/2-capture-codex-post-run-token-usage.md +37 -0
  64. package/RAF/45-signal-lantern/plans/3-show-codex-token-summaries-without-fake-cost.md +40 -0
  65. package/RAF/46-lantern-arc/decisions.md +19 -0
  66. package/RAF/46-lantern-arc/input.md +6 -0
  67. package/RAF/46-lantern-arc/outcomes/1-remove-spark-alias.md +16 -0
  68. package/RAF/46-lantern-arc/outcomes/2-clean-up-worktree-plan-command.md +30 -0
  69. package/RAF/46-lantern-arc/outcomes/3-fix-token-usage-accumulation.md +32 -0
  70. package/RAF/46-lantern-arc/outcomes/4-display-effort-in-compact-mode.md +22 -0
  71. package/RAF/46-lantern-arc/outcomes/5-codex-fast-mode-research.md +38 -0
  72. package/RAF/46-lantern-arc/outcomes/6-optimize-llm-prompts.md +39 -0
  73. package/RAF/46-lantern-arc/plans/1-remove-spark-alias.md +38 -0
  74. package/RAF/46-lantern-arc/plans/2-clean-up-worktree-plan-command.md +33 -0
  75. package/RAF/46-lantern-arc/plans/3-fix-token-usage-accumulation.md +33 -0
  76. package/RAF/46-lantern-arc/plans/4-display-effort-in-compact-mode.md +28 -0
  77. package/RAF/46-lantern-arc/plans/5-codex-fast-mode-research.md +34 -0
  78. package/RAF/46-lantern-arc/plans/6-optimize-llm-prompts.md +48 -0
  79. package/RAF/47-signal-trim/decisions.md +13 -0
  80. package/RAF/47-signal-trim/input.md +2 -0
  81. package/RAF/47-signal-trim/plans/1-remove-cache-from-status.md +73 -0
  82. package/README.md +47 -57
  83. package/dist/commands/config.d.ts.map +1 -1
  84. package/dist/commands/config.js +47 -49
  85. package/dist/commands/config.js.map +1 -1
  86. package/dist/commands/do.d.ts +2 -0
  87. package/dist/commands/do.d.ts.map +1 -1
  88. package/dist/commands/do.js +57 -44
  89. package/dist/commands/do.js.map +1 -1
  90. package/dist/commands/plan.d.ts.map +1 -1
  91. package/dist/commands/plan.js +36 -153
  92. package/dist/commands/plan.js.map +1 -1
  93. package/dist/commands/preset.d.ts +3 -0
  94. package/dist/commands/preset.d.ts.map +1 -0
  95. package/dist/commands/preset.js +158 -0
  96. package/dist/commands/preset.js.map +1 -0
  97. package/dist/core/claude-runner.d.ts +2 -0
  98. package/dist/core/claude-runner.d.ts.map +1 -1
  99. package/dist/core/claude-runner.js +36 -12
  100. package/dist/core/claude-runner.js.map +1 -1
  101. package/dist/core/codex-runner.d.ts +1 -0
  102. package/dist/core/codex-runner.d.ts.map +1 -1
  103. package/dist/core/codex-runner.js +26 -7
  104. package/dist/core/codex-runner.js.map +1 -1
  105. package/dist/core/failure-analyzer.js +2 -1
  106. package/dist/core/failure-analyzer.js.map +1 -1
  107. package/dist/core/git.d.ts +2 -2
  108. package/dist/core/git.d.ts.map +1 -1
  109. package/dist/core/git.js +53 -3
  110. package/dist/core/git.js.map +1 -1
  111. package/dist/core/pull-request.js +3 -3
  112. package/dist/core/pull-request.js.map +1 -1
  113. package/dist/core/runner-factory.d.ts +4 -4
  114. package/dist/core/runner-factory.d.ts.map +1 -1
  115. package/dist/core/runner-factory.js +8 -8
  116. package/dist/core/runner-factory.js.map +1 -1
  117. package/dist/core/runner-interface.d.ts +1 -1
  118. package/dist/core/runner-types.d.ts +17 -4
  119. package/dist/core/runner-types.d.ts.map +1 -1
  120. package/dist/parsers/codex-stream-renderer.d.ts +7 -0
  121. package/dist/parsers/codex-stream-renderer.d.ts.map +1 -1
  122. package/dist/parsers/codex-stream-renderer.js +37 -4
  123. package/dist/parsers/codex-stream-renderer.js.map +1 -1
  124. package/dist/prompts/amend.d.ts.map +1 -1
  125. package/dist/prompts/amend.js +29 -101
  126. package/dist/prompts/amend.js.map +1 -1
  127. package/dist/prompts/execution.d.ts.map +1 -1
  128. package/dist/prompts/execution.js +17 -34
  129. package/dist/prompts/execution.js.map +1 -1
  130. package/dist/prompts/planning.d.ts.map +1 -1
  131. package/dist/prompts/planning.js +21 -120
  132. package/dist/prompts/planning.js.map +1 -1
  133. package/dist/types/config.d.ts +33 -31
  134. package/dist/types/config.d.ts.map +1 -1
  135. package/dist/types/config.js +14 -28
  136. package/dist/types/config.js.map +1 -1
  137. package/dist/utils/config.d.ts +36 -16
  138. package/dist/utils/config.d.ts.map +1 -1
  139. package/dist/utils/config.js +209 -104
  140. package/dist/utils/config.js.map +1 -1
  141. package/dist/utils/name-generator.d.ts.map +1 -1
  142. package/dist/utils/name-generator.js +25 -12
  143. package/dist/utils/name-generator.js.map +1 -1
  144. package/dist/utils/terminal-symbols.d.ts +15 -2
  145. package/dist/utils/terminal-symbols.d.ts.map +1 -1
  146. package/dist/utils/terminal-symbols.js +36 -4
  147. package/dist/utils/terminal-symbols.js.map +1 -1
  148. package/dist/utils/token-tracker.d.ts +6 -1
  149. package/dist/utils/token-tracker.d.ts.map +1 -1
  150. package/dist/utils/token-tracker.js +84 -51
  151. package/dist/utils/token-tracker.js.map +1 -1
  152. package/dist/utils/validation.d.ts +1 -2
  153. package/dist/utils/validation.d.ts.map +1 -1
  154. package/dist/utils/validation.js +4 -25
  155. package/dist/utils/validation.js.map +1 -1
  156. package/package.json +1 -1
  157. package/src/commands/config.ts +60 -63
  158. package/src/commands/do.ts +63 -51
  159. package/src/commands/plan.ts +34 -165
  160. package/src/commands/preset.ts +186 -0
  161. package/src/core/claude-runner.ts +45 -5
  162. package/src/core/codex-runner.ts +32 -7
  163. package/src/core/failure-analyzer.ts +2 -1
  164. package/src/core/git.ts +57 -3
  165. package/src/core/pull-request.ts +3 -3
  166. package/src/core/runner-factory.ts +9 -9
  167. package/src/core/runner-interface.ts +1 -1
  168. package/src/core/runner-types.ts +17 -4
  169. package/src/parsers/codex-stream-renderer.ts +47 -4
  170. package/src/prompts/amend.ts +29 -101
  171. package/src/prompts/config-docs.md +206 -62
  172. package/src/prompts/execution.ts +17 -34
  173. package/src/prompts/planning.ts +21 -120
  174. package/src/types/config.ts +47 -58
  175. package/src/utils/config.ts +248 -115
  176. package/src/utils/name-generator.ts +29 -13
  177. package/src/utils/terminal-symbols.ts +46 -6
  178. package/src/utils/token-tracker.ts +96 -57
  179. package/src/utils/validation.ts +5 -30
  180. package/tests/unit/amend-prompt.test.ts +3 -2
  181. package/tests/unit/claude-runner-interactive.test.ts +21 -3
  182. package/tests/unit/claude-runner.test.ts +39 -0
  183. package/tests/unit/codex-runner.test.ts +163 -0
  184. package/tests/unit/codex-stream-renderer.test.ts +127 -0
  185. package/tests/unit/command-output.test.ts +57 -0
  186. package/tests/unit/commit-planning-artifacts-worktree.test.ts +24 -7
  187. package/tests/unit/commit-planning-artifacts.test.ts +26 -4
  188. package/tests/unit/config-command.test.ts +215 -303
  189. package/tests/unit/config.test.ts +319 -235
  190. package/tests/unit/dependency-integration.test.ts +27 -1
  191. package/tests/unit/do-model-display.test.ts +35 -0
  192. package/tests/unit/execution-prompt.test.ts +49 -19
  193. package/tests/unit/name-generator.test.ts +82 -12
  194. package/tests/unit/plan-command-auto-flag.test.ts +7 -10
  195. package/tests/unit/plan-command.test.ts +14 -17
  196. package/tests/unit/planning-prompt.test.ts +9 -8
  197. package/tests/unit/terminal-symbols.test.ts +94 -3
  198. package/tests/unit/token-tracker.test.ts +180 -1
  199. package/tests/unit/validation.test.ts +9 -41
  200. package/tests/unit/worktree-flag-override.test.ts +0 -186
@@ -1,30 +1,30 @@
1
1
  import { ClaudeRunner } from './claude-runner.js';
2
2
  import { CodexRunner } from './codex-runner.js';
3
3
  /**
4
- * Create a CLI runner for the given provider configuration.
4
+ * Create a CLI runner for the given harness configuration.
5
5
  */
6
6
  export function createRunner(config = {}) {
7
- const provider = config.provider ?? 'claude';
8
- switch (provider) {
7
+ const harness = config.harness ?? 'claude';
8
+ switch (harness) {
9
9
  case 'claude':
10
10
  return new ClaudeRunner(config);
11
11
  case 'codex':
12
12
  return new CodexRunner(config);
13
13
  default:
14
- throw new Error(`Unknown provider: ${provider}`);
14
+ throw new Error(`Unknown harness: ${harness}`);
15
15
  }
16
16
  }
17
17
  /**
18
- * Get the binary name for a given provider.
18
+ * Get the binary name for a given harness.
19
19
  */
20
- export function getProviderBinaryName(provider) {
21
- switch (provider) {
20
+ export function getHarnessBinaryName(harness) {
21
+ switch (harness) {
22
22
  case 'claude':
23
23
  return 'claude';
24
24
  case 'codex':
25
25
  return 'codex';
26
26
  default:
27
- throw new Error(`Unknown provider: ${provider}`);
27
+ throw new Error(`Unknown harness: ${harness}`);
28
28
  }
29
29
  }
30
30
  //# sourceMappingURL=runner-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner-factory.js","sourceRoot":"","sources":["../../src/core/runner-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAE7C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"runner-factory.js","sourceRoot":"","sources":["../../src/core/runner-factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC;IAE3C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { RunnerOptions, RunResult } from './runner-types.js';
2
2
  /**
3
- * Provider-agnostic CLI runner interface.
3
+ * Harness-agnostic CLI runner interface.
4
4
  * Both ClaudeRunner and CodexRunner implement this interface.
5
5
  */
6
6
  export interface ICliRunner {
@@ -1,4 +1,4 @@
1
- import type { UsageData, HarnessProvider } from '../types/config.js';
1
+ import type { UsageData, HarnessName } from '../types/config.js';
2
2
  /**
3
3
  * Options for a single runner execution (run, runVerbose, runInteractive, etc.).
4
4
  */
@@ -50,14 +50,27 @@ export interface RunnerOptions {
50
50
  export interface RunnerConfig {
51
51
  /**
52
52
  * Model to use (e.g., opus, sonnet, haiku, gpt-5.4).
53
- * Default: provider-specific default.
53
+ * Default: harness-specific default.
54
54
  */
55
55
  model?: string;
56
56
  /**
57
- * CLI provider to use.
57
+ * CLI harness to use.
58
58
  * Default: 'claude'.
59
59
  */
60
- provider?: HarnessProvider;
60
+ harness?: HarnessName;
61
+ /**
62
+ * Reasoning effort level to pass to the CLI.
63
+ * Claude CLI: --effort <level>
64
+ * Codex CLI: -c model_reasoning_effort="<level>"
65
+ * Only included when explicitly set.
66
+ */
67
+ reasoningEffort?: string;
68
+ /**
69
+ * Enable fast mode for faster output.
70
+ * Claude CLI: --settings '{"fastMode": true}'
71
+ * Only included when explicitly set to true.
72
+ */
73
+ fast?: boolean;
61
74
  }
62
75
  /**
63
76
  * Result of a non-interactive runner execution.
@@ -1 +1 @@
1
- {"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/core/runner-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd,6DAA6D;QAC7D,gBAAgB,EAAE,MAAM,CAAC;QACzB,4DAA4D;QAC5D,cAAc,EAAE,MAAM,CAAC;QACvB,yDAAyD;QACzD,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
1
+ {"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/core/runner-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd,6DAA6D;QAC7D,gBAAgB,EAAE,MAAM,CAAC;QACzB,4DAA4D;QAC5D,cAAc,EAAE,MAAM,CAAC;QACvB,yDAAyD;QACzD,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB"}
@@ -11,6 +11,8 @@
11
11
  import type { RenderResult } from './stream-renderer.js';
12
12
  export interface CodexEvent {
13
13
  type: string;
14
+ id?: string;
15
+ model?: string;
14
16
  /** Claude flat-format fields (AgentMessage) */
15
17
  content?: string;
16
18
  /** Claude flat-format fields (CommandExecution) */
@@ -30,9 +32,14 @@ export interface CodexEvent {
30
32
  exit_code?: number;
31
33
  path?: string;
32
34
  change_kind?: string;
35
+ message?: string;
33
36
  };
34
37
  /** Error message (for error / turn.failed events) */
35
38
  message?: string;
39
+ /** Nested error object (for turn.failed events) */
40
+ error?: {
41
+ message?: string;
42
+ };
36
43
  /** Usage data (for turn.completed events) */
37
44
  usage?: {
38
45
  input_tokens?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-stream-renderer.d.ts","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAmDjE"}
1
+ {"version":3,"file":"codex-stream-renderer.d.ts","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAOD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAmDjE"}
@@ -120,26 +120,59 @@ function renderItemCompleted(event) {
120
120
  textContent: '',
121
121
  };
122
122
  }
123
+ case 'error': {
124
+ const msg = item.message ?? 'Unknown error';
125
+ return {
126
+ display: ` ✗ Error: ${msg}\n`,
127
+ textContent: msg,
128
+ };
129
+ }
123
130
  default:
124
131
  return { display: '', textContent: '' };
125
132
  }
126
133
  }
127
134
  function renderTurnCompleted(event) {
135
+ const usageData = extractUsageData(event);
128
136
  if (event.usage) {
129
137
  const { input_tokens, output_tokens } = event.usage;
130
138
  const parts = [];
131
- if (input_tokens)
139
+ if (input_tokens !== undefined)
132
140
  parts.push(`in: ${input_tokens}`);
133
- if (output_tokens)
141
+ if (output_tokens !== undefined)
134
142
  parts.push(`out: ${output_tokens}`);
135
143
  if (parts.length > 0) {
136
144
  return {
137
145
  display: ` → Usage: ${parts.join(', ')}\n`,
138
146
  textContent: '',
147
+ usageData,
139
148
  };
140
149
  }
141
150
  }
142
- return { display: '', textContent: '' };
151
+ return { display: '', textContent: '', usageData };
152
+ }
153
+ function extractUsageData(event) {
154
+ if (!event.usage) {
155
+ return undefined;
156
+ }
157
+ const modelId = event.model ?? 'codex';
158
+ const inputTokens = event.usage.input_tokens ?? 0;
159
+ const outputTokens = event.usage.output_tokens ?? 0;
160
+ return {
161
+ inputTokens,
162
+ outputTokens,
163
+ cacheReadInputTokens: 0,
164
+ cacheCreationInputTokens: 0,
165
+ modelUsage: {
166
+ [modelId]: {
167
+ inputTokens,
168
+ outputTokens,
169
+ cacheReadInputTokens: 0,
170
+ cacheCreationInputTokens: 0,
171
+ costUsd: null,
172
+ },
173
+ },
174
+ totalCostUsd: null,
175
+ };
143
176
  }
144
177
  function renderError(event) {
145
178
  const msg = event.message ?? 'Unknown error';
@@ -149,7 +182,7 @@ function renderError(event) {
149
182
  };
150
183
  }
151
184
  function renderTurnFailed(event) {
152
- const msg = event.message ?? 'Turn failed';
185
+ const msg = event.error?.message ?? event.message ?? 'Turn failed';
153
186
  return {
154
187
  display: ` ✗ Failed: ${msg}\n`,
155
188
  textContent: msg,
@@ -1 +1 @@
1
- {"version":3,"file":"codex-stream-renderer.js","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-stream-renderer.js","sourceRoot":"","sources":["../../src/parsers/codex-stream-renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CA4N3E"}
1
+ {"version":3,"file":"amend.d.ts","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,KAAK,CAAC,WAAW,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAoJ3E"}
@@ -28,15 +28,14 @@ export function getAmendPrompt(params) {
28
28
  const modifiableTasksList = modifiableTasks.length > 0
29
29
  ? modifiableTasks.map((t) => `- Task ${t.id}: ${t.taskName}`).join('\n')
30
30
  : '(none)';
31
- const systemPrompt = `You are a project planning assistant for RAF (Ralph's Automation Framework). Your task is to ADD NEW TASKS or MODIFY PENDING tasks in an existing project.
31
+ const systemPrompt = `You are a project planning assistant for RAF (Ralph's Automation Framework). Add new tasks or modify pending tasks in an existing project.
32
32
 
33
- ## IMPORTANT: Amendment Mode
33
+ ## Amendment Mode
34
34
 
35
- You are in AMENDMENT MODE. This means:
36
- - You MAY modify [MODIFIABLE] tasks (pending/failed) if the user requests changes
37
- - NEVER modify [PROTECTED] tasks (completed) - their outcomes depend on the original plan
38
- - DO NOT renumber existing tasks
39
- - You can create NEW tasks starting from number ${encodeTaskId(nextTaskNumber)}
35
+ - [PROTECTED] tasks (completed): NEVER modify — their outcomes depend on the original plan
36
+ - [MODIFIABLE] tasks (pending/failed): MAY modify if the user requests changes
37
+ - Do NOT renumber existing tasks
38
+ - New tasks start from number ${encodeTaskId(nextTaskNumber)}
40
39
 
41
40
  ## Project Location
42
41
 
@@ -44,54 +43,30 @@ Project folder: ${projectPath}
44
43
 
45
44
  ## Existing Tasks
46
45
 
47
- The following tasks already exist in this project:
48
-
49
46
  ${existingTasksSummary}
50
47
 
51
- ### Protected Tasks (COMPLETED - cannot be modified)
48
+ ### Protected (COMPLETED)
52
49
  ${protectedTasksList}
53
50
 
54
- ### Modifiable Tasks (PENDING/FAILED - can be modified if requested)
51
+ ### Modifiable (PENDING/FAILED)
55
52
  ${modifiableTasksList}
56
53
 
57
54
  ## Instructions
58
55
 
59
56
  ### Step 1: Read Context
60
57
 
61
- First, read the original project description from:
62
- - ${projectPath}/input.md
63
-
64
- And review existing decisions from:
65
- - ${projectPath}/decisions.md (if it exists)
58
+ Read the original project description (\`${projectPath}/input.md\`) and existing decisions (\`${projectPath}/decisions.md\`, if it exists).
66
59
 
67
60
  ### Step 2: Analyze New Requirements
68
61
 
69
- Read the user's description of new tasks and identify what needs to be added. Consider:
70
- - How the new tasks relate to existing ones
71
- - Dependencies on completed tasks (check the ## Dependencies section in existing plan files)
72
- - Whether new tasks should reference existing task outcomes
73
-
74
- **Identifying Follow-up Tasks**: When a new task is a follow-up, fix, or iteration of a previously completed task, you MUST reference the previous task's outcome in the new plan's Context section. This gives the executing agent full context about what was done before.
75
-
76
- Use this format in the Context section:
62
+ Consider how new tasks relate to existing ones and their dependencies. For follow-up/fix tasks, reference the previous task's outcome in the Context section:
77
63
  \`This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md\`
78
64
 
79
- The outcome file paths for completed tasks are listed above in the Existing Tasks section.
80
-
81
65
  ### Step 3: Interview the User
82
66
 
83
- For EACH new task you identify, use the AskUserQuestion tool to gather:
84
- - Specific requirements and constraints
85
- - Technology preferences
86
- - Any existing code or patterns to follow
87
- - Edge cases to handle
88
-
89
- ### Step 3.5: Record Decisions
67
+ For EACH new task, use AskUserQuestion to gather specific requirements, technology preferences, existing patterns, and edge cases.
90
68
 
91
- After EACH interview question is answered, append the Q&A pair to the existing decisions file:
92
- - ${projectPath}/decisions.md
93
-
94
- Use this format:
69
+ After EACH answer, append the Q&A to \`${projectPath}/decisions.md\`:
95
70
  \`\`\`markdown
96
71
  ## [Question asked]
97
72
  [User's answer]
@@ -99,12 +74,9 @@ Use this format:
99
74
 
100
75
  ### Step 4: Create New Plan Files
101
76
 
102
- After interviewing the user about all NEW tasks, create plan files starting from the next available number:
103
- - ${projectPath}/plans/${encodeTaskId(nextTaskNumber)}-task-name.md
104
- - ${projectPath}/plans/${encodeTaskId(nextTaskNumber + 1)}-task-name.md
105
- - etc.
77
+ Create plan files starting from \`${projectPath}/plans/${encodeTaskId(nextTaskNumber)}-task-name.md\`. Use kebab-case names.
106
78
 
107
- Each plan file MUST have Obsidian-style frontmatter at the top, before the \`# Task:\` heading. The frontmatter uses standard YAML format with opening and closing \`---\` delimiters:
79
+ Each plan file MUST have this structure:
108
80
 
109
81
  \`\`\`markdown
110
82
  ---
@@ -113,68 +85,38 @@ effort: medium
113
85
  # Task: [Task Name]
114
86
 
115
87
  ## Objective
116
- [Clear, one-sentence description of what this task accomplishes]
88
+ [Clear, one-sentence description]
117
89
 
118
90
  ## Context
119
- [Why this task is needed, how it fits into the larger project]
120
- [Reference relevant existing tasks if applicable]
121
- [For follow-up/fix tasks: "This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md"]
91
+ [Why this task is needed, relation to existing tasks]
92
+ [For follow-ups: "This is a follow-up to task NN. See outcome: {projectPath}/outcomes/NN-task-name.md"]
122
93
 
123
94
  ## Dependencies
124
- [Optional section - omit if task has no dependencies]
125
- [Comma-separated list of task IDs this task depends on, e.g., "1, 2"]
126
- [If a dependency fails, this task will be automatically blocked]
95
+ [Optional omit if none. Comma-separated task IDs, e.g., "1, 2"]
127
96
 
128
97
  ## Requirements
129
- [Specific requirements gathered from the user interview]
130
98
  - Requirement 1
131
99
  - Requirement 2
132
- - ...
133
100
 
134
101
  ## Implementation Steps
135
102
  1. [Step 1]
136
103
  2. [Step 2]
137
- 3. [Step 3]
138
- ...
139
104
 
140
105
  ## Acceptance Criteria
141
106
  - [ ] Criterion 1
142
107
  - [ ] Criterion 2
143
- - [ ] All tests pass
144
108
 
145
109
  ## Notes
146
- [Any additional context, warnings, or considerations]
147
- [Reference to existing task outcomes if relevant]
148
- \`\`\`
149
-
150
- ### Frontmatter Requirements
151
-
152
- The \`effort\` field is REQUIRED in every plan file. It indicates task complexity and determines which model will execute the task:
153
- - \`effort: low\` — Trivial/mechanical changes, simple one-file edits, config changes
154
- - \`effort: medium\` — Well-scoped feature work, bug fixes with clear plans, multi-file changes following existing patterns
155
- - \`effort: high\` — Architectural changes, complex logic, tasks requiring deep codebase understanding
156
-
157
- Optionally, you can add an explicit \`model\` field to override the effort-based model selection:
158
- \`\`\`markdown
159
- ---
160
- effort: medium
161
- model: opus
162
- ---
163
- # Task: ...
110
+ [Additional context, warnings, references to existing task outcomes]
164
111
  \`\`\`
165
112
 
166
- This is rarely needed — prefer using the \`effort\` label so the user's config controls the actual model used.
113
+ **Frontmatter fields:**
114
+ - \`effort\` (REQUIRED): \`low\` (trivial/mechanical), \`medium\` (well-scoped feature work), \`high\` (architectural/complex)
115
+ - \`model\` (optional): Override effort-based model selection. Rarely needed.
167
116
 
168
117
  ### Step 5: Confirm Completion
169
118
 
170
- After creating all new plan files:
171
- 1. Provide a summary of:
172
- - The new tasks you've created, including the effort level for each task. Example format:
173
- - Task 2: add-caching (effort: medium)
174
- - Task 3: update-docs (effort: low)
175
- - How they relate to existing tasks
176
- - Total task count in the project
177
- 2. Display this exit message to the user:
119
+ Summarize new tasks with effort levels, their relation to existing tasks, and total task count. Then display:
178
120
 
179
121
  \`\`\`
180
122
  Planning complete! To exit this session and run your tasks:
@@ -182,26 +124,12 @@ Planning complete! To exit this session and run your tasks:
182
124
  2. Then run: raf do <project>
183
125
  \`\`\`
184
126
 
185
- ## Important Rules
186
-
187
- 1. NEVER modify COMPLETED task plans - they are [PROTECTED] because their outcomes depend on the original plan
188
- 2. You MAY modify non-completed task plans (pending/failed) if the user requests changes - they are [MODIFIABLE]
189
- 3. ALWAYS interview the user before creating or modifying plans
190
- 4. New tasks start from number ${encodeTaskId(nextTaskNumber)}
191
- 5. Use descriptive, kebab-case names for plan files
192
- 6. Each plan should be self-contained with all context needed
193
- 7. Specify task dependencies using the ## Dependencies section with task IDs only (e.g., "1, 2")
194
- 8. Tasks without dependencies should omit the Dependencies section entirely
195
- 9. Be specific - vague plans lead to poor execution
196
- 10. ALWAYS include the \`effort\` frontmatter field in every plan file — assess each task's complexity
197
-
198
- ## Plan Output Style
199
-
200
- Plans can include whatever level of detail you deem helpful for the executing agent. Use your judgment:
201
- - Include implementation details when they clarify the approach
202
- - Code snippets are acceptable when they help illustrate a specific pattern
203
- - File paths are helpful when referencing existing project files, patterns, or directories
204
- - Focus on clarity — the goal is for the executing agent to understand what needs to be done`;
127
+ ## Rules
128
+
129
+ - Always interview the user before creating or modifying plans
130
+ - Each plan must be self-contained with all context needed
131
+ - Be specific vague plans lead to poor execution
132
+ - Include implementation details, code snippets, and file paths when they clarify the approach`;
205
133
  const userMessage = `I want to add the following new tasks to this project:
206
134
 
207
135
  ${newTaskDescription}
@@ -1 +1 @@
1
- {"version":3,"file":"amend.js","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAcjD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,MAAM,EACJ,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,oBAAoB,GAAG,aAAa;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,WAAW,CAAC;QACpB,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/D,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,gBAAgB,WAAW,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK;YACvG,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,UAAU,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;IACvF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GACtB,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,mBAAmB,GACvB,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxE,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,YAAY,GAAG;;;;;;;;kDAQ2B,YAAY,CAAC,cAAc,CAAC;;;;kBAI5D,WAAW;;;;;;EAM3B,oBAAoB;;;EAGpB,kBAAkB;;;EAGlB,mBAAmB;;;;;;;IAOjB,WAAW;;;IAGX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2BX,WAAW;;;;;;;;;;;IAWX,WAAW,UAAU,YAAY,CAAC,cAAc,CAAC;IACjD,WAAW,UAAU,YAAY,CAAC,cAAc,GAAG,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAsFxB,YAAY,CAAC,cAAc,CAAC;;;;;;;;;;;;;;6FAcgC,CAAC;IAE5F,MAAM,WAAW,GAAG;;EAEpB,kBAAkB;;wEAEoD,CAAC;IAEvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"amend.js","sourceRoot":"","sources":["../../src/prompts/amend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAcjD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,MAAM,EACJ,WAAW,EACX,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,GAAG,MAAM,CAAC;IAEX,MAAM,oBAAoB,GAAG,aAAa;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,WAAW,CAAC;QACpB,MAAM,aAAa,GACjB,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QAC/D,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,WAAW;YACzB,CAAC,CAAC,gBAAgB,WAAW,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK;YACvG,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,UAAU,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,aAAa,GAAG,UAAU,EAAE,CAAC;IACvF,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GACtB,cAAc,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,mBAAmB,GACvB,eAAe,CAAC,MAAM,GAAG,CAAC;QACxB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxE,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,YAAY,GAAG;;;;;;;gCAOS,YAAY,CAAC,cAAc,CAAC;;;;kBAI1C,WAAW;;;;EAI3B,oBAAoB;;;EAGpB,kBAAkB;;;EAGlB,mBAAmB;;;;;;2CAMsB,WAAW,0CAA0C,WAAW;;;;;;;;;;;yCAWlE,WAAW;;;;;;;;oCAQhB,WAAW,UAAU,YAAY,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FAuDU,CAAC;IAE9F,MAAM,WAAW,GAAG;;EAEpB,kBAAkB;;wEAEoD,CAAC;IAEvE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BxD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAkLxE"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BxD;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAgKxE"}
@@ -1,4 +1,5 @@
1
1
  import { getCommitFormat, getCommitPrefix, renderCommitMessage } from '../utils/config.js';
2
+ import { extractProjectName } from '../utils/paths.js';
2
3
  /**
3
4
  * Maximum characters for a dependency outcome summary.
4
5
  * Outcomes larger than this will be truncated to avoid context bloat.
@@ -49,9 +50,11 @@ ${previousOutcomes.map((o) => `### Task ${o.taskId}\n${o.content}`).join('\n\n')
49
50
  // Build example commit message from config template
50
51
  const commitTemplate = getCommitFormat('task');
51
52
  const commitPrefix = getCommitPrefix();
53
+ const projectName = extractProjectName(projectPath) ?? projectNumber;
52
54
  const exampleCommit = renderCommitMessage(commitTemplate, {
53
55
  prefix: commitPrefix,
54
- projectId: projectNumber,
56
+ projectId: projectName, // backwards compat: {projectId} resolves to projectName
57
+ projectName,
55
58
  taskId: paddedTaskNumber,
56
59
  description: '<description>',
57
60
  });
@@ -121,20 +124,19 @@ ${depOutcomesFormatted}
121
124
  2. Execute the task according to the plan
122
125
  3. Verify all acceptance criteria are met
123
126
  4. Signal completion with the appropriate marker
124
-
125
- ## Instructions
126
127
  ${retryContextSection}
128
+ ## Instructions
129
+
127
130
  ### Step 1: Read the Plan
128
131
 
129
- First, read the plan file to understand exactly what needs to be done.
132
+ Read the plan file to understand exactly what needs to be done.
130
133
 
131
134
  ### Step 2: Execute the Task
132
135
 
133
- Follow the implementation steps in the plan. Key guidelines:
134
- - Write clean, maintainable code
135
- - Follow existing code patterns in the project
136
- - Add appropriate error handling
136
+ Follow the implementation steps in the plan:
137
+ - Write clean, maintainable code following existing patterns
137
138
  - Follow any CLAUDE.md instructions
139
+ - If you encounter blockers, try to resolve them before giving up
138
140
  ${dependencyContextSection}${outcomesSection}
139
141
  ### Step 3: Verify Completion
140
142
 
@@ -145,48 +147,29 @@ Before marking the task complete:
145
147
  ${commitInstructions}
146
148
  ### Step 4: Write Outcome File
147
149
 
148
- **CRITICAL**: You MUST write an outcome file to document what was accomplished.
149
-
150
150
  **Outcome file path**: \`${outcomeFilePath}\`
151
151
 
152
- The outcome file should contain:
152
+ The outcome file must contain:
153
153
  1. A summary of what was done
154
154
  2. Key changes made (files modified, features added, etc.)
155
155
  3. Any important notes or follow-up items
156
- 4. The completion marker as the LAST line
156
+ 4. The completion marker as the LAST line (exactly one marker per file)
157
157
 
158
- **For code tasks**: Summarize what was changed and why
159
- **For documentation/report tasks**: The outcome IS the deliverable - include the full content
158
+ **For documentation/report tasks**: The outcome IS the deliverable — include the full content.
160
159
 
161
- **CRITICAL**: The outcome file MUST end with one of these markers:
160
+ The outcome file MUST end with one of these markers:
162
161
 
163
- If the task was completed successfully, end the file with:
162
+ On success:
164
163
  \`\`\`
165
164
  <promise>COMPLETE</promise>
166
165
  \`\`\`
167
166
 
168
- If the task failed and cannot be completed, end the file with:
167
+ On failure (do NOT commit just write the outcome and stop):
169
168
  \`\`\`
170
169
  <promise>FAILED</promise>
171
170
  Reason: [explain why the task failed]
172
171
  \`\`\`
173
172
 
174
- ## Important Rules
175
-
176
- 1. ALWAYS read the plan file first
177
- 2. Follow the plan precisely
178
- 3. Do not skip any acceptance criteria
179
- 4. If you encounter blockers, try to resolve them
180
- 5. The outcome file MUST contain EXACTLY ONE completion marker
181
- 6. The completion marker MUST be the LAST line in the outcome file
182
- 7. On SUCCESS: Commit code changes AND outcome file together BEFORE you finish
183
- 8. On FAILURE: Do NOT commit - just write the outcome file with FAILED marker
184
-
185
- ## Error Handling
186
-
187
- If you encounter errors:
188
- - Try to fix them yourself first
189
- - If an error prevents completion, write the outcome file with FAILED status and a clear reason
190
- - Do not mark COMPLETE if there are failing tests or unmet criteria`;
173
+ Do not mark COMPLETE if there are failing tests or unmet criteria.`;
191
174
  }
192
175
  //# sourceMappingURL=execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/prompts/execution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/prompts/planning.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA+LpF"}
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../src/prompts/planning.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA4FpF"}