@open-tomato/rafa 0.37.0 → 0.39.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 (29) hide show
  1. package/README.md +23 -6
  2. package/dist/PROMPT.md +3 -1
  3. package/dist/bundled/agents/loop-implementer.md +5 -0
  4. package/dist/bundled/agents/qa-bug-reporter.md +2 -2
  5. package/dist/bundled/operators/.claude-plugin/plugin.json +1 -1
  6. package/dist/bundled/operators/agents/rafa-stretch-analyst.md +7 -0
  7. package/dist/bundled/operators/agents/rafa-stretch-engineer.md +21 -45
  8. package/dist/bundled/operators/agents/rafa-stretch-watchtower.md +7 -0
  9. package/dist/bundled/operators/skills/rafa-stretch-pit-stop/SKILL.md +1 -1
  10. package/dist/bundled/operators/skills/rafa-stretch-sweep/SKILL.md +1 -1
  11. package/dist/bundled/skills/dev-planner/SKILL.md +2 -2
  12. package/dist/bundled/stretch/engineer-prompt-default.md +5 -0
  13. package/dist/cli.js +28586 -22631
  14. package/dist/{describe-5hqfwbjc.js → describe-pwhh0vws.js} +3 -3
  15. package/dist/effort/store/index.js +4 -4
  16. package/dist/{index-1mxv55ec.js → index-1r2b1052.js} +8 -7
  17. package/dist/{index-k6sd4ym5.js → index-eyjq63mx.js} +2 -2
  18. package/dist/{index-7bb0fdb7.js → index-g4116t9m.js} +2 -2
  19. package/dist/{index-jfas157k.js → index-m0wt4nr1.js} +11 -2
  20. package/dist/{index-fzhd3d4y.js → index-m2ahxjw8.js} +5 -1
  21. package/dist/{index-35ze56rz.js → index-nwgwxfkt.js} +9886 -7920
  22. package/dist/{index-b16va6he.js → index-psv1sxkv.js} +5721 -1968
  23. package/dist/{index-3mzw3kzh.js → index-sr3kc4mf.js} +1 -1
  24. package/dist/index.js +10 -8
  25. package/dist/plan/index.js +3 -3
  26. package/dist/plan-prompt.md +27 -0
  27. package/dist/plans/resolve-conflict-lockfile.md +2 -2
  28. package/dist/plans/resolve-conflict-manifest.md +1 -1
  29. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  describeValue
4
- } from "./index-fzhd3d4y.js";
4
+ } from "./index-m2ahxjw8.js";
5
5
 
6
6
  // src/cli/spends.ts
7
7
  var SPENDS_GLYPH = "\uD83E\uDE99";
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  report,
10
10
  start,
11
11
  validateManifest
12
- } from "./index-35ze56rz.js";
12
+ } from "./index-nwgwxfkt.js";
13
13
  import {
14
14
  PLAN_BLOCK_KINDS,
15
15
  PLAN_HEADER_FIELDS,
@@ -23,7 +23,7 @@ import {
23
23
  renderInjection,
24
24
  runPreflight,
25
25
  runShellProbe
26
- } from "./index-7bb0fdb7.js";
26
+ } from "./index-g4116t9m.js";
27
27
  import {
28
28
  CORE_ADAPTER_REGISTRY,
29
29
  DISK_FILE_SYSTEM,
@@ -52,7 +52,7 @@ import {
52
52
  scopeAt,
53
53
  selectEffortStore,
54
54
  selfAndAncestors
55
- } from "./index-1mxv55ec.js";
55
+ } from "./index-1r2b1052.js";
56
56
  import {
57
57
  CONFIG_DEFAULTS,
58
58
  CONFIG_FILE,
@@ -69,11 +69,12 @@ import {
69
69
  parseReport,
70
70
  readRafaBlocks,
71
71
  resolveConfig
72
- } from "./index-jfas157k.js";
72
+ } from "./index-m0wt4nr1.js";
73
73
  import"./index-d6d0942q.js";
74
- import"./index-k6sd4ym5.js";
75
- import"./index-3mzw3kzh.js";
74
+ import"./index-eyjq63mx.js";
75
+ import"./index-sr3kc4mf.js";
76
76
  import {
77
+ BOARD_PROJECT_TEMPLATE_DEFAULT,
77
78
  BOARD_RELATIONSHIP_MODES,
78
79
  CLAUDE_SETTING_SOURCES,
79
80
  CONFIG_VERSIONS,
@@ -83,7 +84,7 @@ import {
83
84
  RELEASE_AUTO,
84
85
  STORE_BACKENDS,
85
86
  SYNC_STRATEGIES
86
- } from "./index-fzhd3d4y.js";
87
+ } from "./index-m2ahxjw8.js";
87
88
  import"./index-wp8c28fd.js";
88
89
  export {
89
90
  validateManifest,
@@ -157,5 +158,6 @@ export {
157
158
  CONFIG_FILE,
158
159
  CONFIG_DEFAULTS,
159
160
  CLAUDE_SETTING_SOURCES,
160
- BOARD_RELATIONSHIP_MODES
161
+ BOARD_RELATIONSHIP_MODES,
162
+ BOARD_PROJECT_TEMPLATE_DEFAULT
161
163
  };
@@ -12,7 +12,7 @@ import {
12
12
  renderInjection,
13
13
  runPreflight,
14
14
  runShellProbe
15
- } from "../index-7bb0fdb7.js";
15
+ } from "../index-g4116t9m.js";
16
16
  import {
17
17
  FINDING_KINDS,
18
18
  FINDING_SIGNALS,
@@ -21,10 +21,10 @@ import {
21
21
  isRafaBlockKind,
22
22
  parseReport,
23
23
  readRafaBlocks
24
- } from "../index-jfas157k.js";
24
+ } from "../index-m0wt4nr1.js";
25
25
  import {
26
26
  INJECT_MODES
27
- } from "../index-fzhd3d4y.js";
27
+ } from "../index-m2ahxjw8.js";
28
28
  import"../index-wp8c28fd.js";
29
29
  export {
30
30
  runShellProbe,
@@ -89,6 +89,33 @@ criteria — **do not execute the plan**.
89
89
  prove a tool with `<tool> --version`, `<tool> --help` or `which <tool>`.
90
90
  * Do not create or touch any tracker file — the loop derives it from the plan.
91
91
 
92
+ ## The effort-store rule for plans that carry migrations
93
+
94
+ A plan task that names a migration by its id (``migration `<id>` `` in the task line)
95
+ is one the loop's installed runtime must be able to read before the task runs. If the
96
+ task changes the store's schema, the loop's own open would fail once the branch code
97
+ runs.
98
+
99
+ **In a plan that carries an effort-store migration:**
100
+
101
+ * Every `bun src/rafa.ts` command on a still-to-run task line must carry
102
+ `RAFA_EFFORT_DIR=<absolute path of the scratch copy>` as the first assignment on
103
+ the same line. That names the copy made by the command the plan should declare
104
+ under Prerequisites, `bun src/rafa.ts effort copy --to=.rafa/scratch/<stub>-effort`
105
+ (spelled unprefixed, as that step makes the copy). Once made, every branch
106
+ subcommand runs over the copy, and the loop's own store stays unaffected until the
107
+ installed runtime has brought it forward.
108
+
109
+ * The PREREQUISITES file (`PREREQUISITES-<stub>.md`) must carry an `[auto]` item
110
+ probing exactly `rafa effort schema --check`, the probe that holds the plan back
111
+ until the installed rafa can read the store that branch code will migrate. Write
112
+ it as: `- [ ] The installed rafa can read and write the live store: \`rafa effort
113
+ schema --check\`` under an `[auto]` section.
114
+
115
+ `rafa plan create` checks both rules when a plan carries a migration and refuses the
116
+ plan if either breaks, moving it into `rejected/` so the loop does not pick it up.
117
+ The same checks run in the loop's preflight before any task starts.
118
+
92
119
  {PLAN_FORMAT}
93
120
 
94
121
  {ROUTING}
@@ -19,8 +19,8 @@ This plan resolves a pull request with a `bun.lock` conflict by taking the base'
19
19
 
20
20
  # Stage: Resolve
21
21
 
22
- - [ ] Merge the base branch into the current branch using `git merge origin/main` {agent=loop-implementer}
23
- - [ ] Take the base's `bun.lock` with `git checkout origin/main -- bun.lock` {agent=loop-implementer}
22
+ - [ ] Merge the base branch into the current branch using `git merge origin/{BASE}` {agent=loop-implementer}
23
+ - [ ] Take the base's `bun.lock` with `git checkout origin/{BASE} -- bun.lock` {agent=loop-implementer}
24
24
  - [ ] Run `bun install` (plain, not `--frozen-lockfile`) to re-anchor dependencies to the merged state {agent=loop-implementer}
25
25
  - [ ] Run `bun install --frozen-lockfile` to verify the lockfile is now consistent with the merged manifests {agent=loop-implementer}
26
26
  - [ ] Run the gates (`env -u CLAUDECODE bun test`, `bunx tsc --noEmit`, `bunx eslint .`) to verify no other conflicts arose {agent=loop-implementer}
@@ -19,7 +19,7 @@ This plan resolves a pull request with a `package.json` conflict by merging the
19
19
 
20
20
  # Stage: Resolve
21
21
 
22
- - [ ] Merge the base branch into the current branch using `git merge origin/main` {agent=loop-implementer}
22
+ - [ ] Merge the base branch into the current branch using `git merge origin/{BASE}` {agent=loop-implementer}
23
23
  - [ ] Resolve the `package.json` conflict by keeping both sides' entries and taking the higher version where both sides bumped a dependency {agent=loop-implementer}
24
24
  - [ ] Run `bun install` (plain, not `--frozen-lockfile`) to ensure both sides' dependencies are installed and the lockfile is updated {agent=loop-implementer}
25
25
  - [ ] Run `bun install --frozen-lockfile` to verify the lockfile is now consistent with the merged manifests {agent=loop-implementer}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tomato/rafa",
3
- "version": "0.37.0",
3
+ "version": "0.39.0",
4
4
  "description": "Alpha. Runs a plan through the ralph loop: one Claude Code session per task, one commit per task, then a pull request and a CI wait.",
5
5
  "private": false,
6
6
  "publishConfig": {