@sma1lboy/rove 0.9.266 → 0.9.267

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 (214) hide show
  1. package/dist/cli/{chunk-e69s8s16.js → chunk-02htajas.js} +3 -3
  2. package/dist/cli/chunk-0bcs1v6n.js +2 -0
  3. package/dist/cli/{chunk-7wsxppwc.js → chunk-0fejmkz1.js} +1 -1
  4. package/dist/cli/{chunk-gskbzgc3.js → chunk-0g4wc808.js} +1 -1
  5. package/dist/cli/chunk-0t0ykzek.js +2 -0
  6. package/dist/cli/chunk-1b3pq6g6.js +2 -0
  7. package/dist/cli/{chunk-tz3eftty.js → chunk-1qvrn21x.js} +1 -1
  8. package/dist/cli/chunk-1z1tjqyy.js +3 -0
  9. package/dist/cli/{chunk-yk498qwr.js → chunk-1z2sze0v.js} +1 -1
  10. package/dist/cli/{chunk-3zsm2jbm.js → chunk-2a19815h.js} +2 -2
  11. package/dist/cli/chunk-2gc4kqrt.js +2 -0
  12. package/dist/cli/chunk-2geegpp7.js +2 -0
  13. package/dist/cli/chunk-2jzaabcy.js +11 -0
  14. package/dist/cli/{chunk-ag3txfg2.js → chunk-2r1fgng9.js} +1 -1
  15. package/dist/cli/{chunk-n3f5sdka.js → chunk-32j6y5d1.js} +1 -1
  16. package/dist/cli/{chunk-rbr6qapz.js → chunk-3gegmpff.js} +1 -1
  17. package/dist/cli/{chunk-8vkma6c4.js → chunk-3nf9zbm7.js} +1 -1
  18. package/dist/cli/{chunk-zprhxt1q.js → chunk-3qkhxem2.js} +1 -1
  19. package/dist/cli/chunk-3xrbb1yv.js +2 -0
  20. package/dist/cli/{chunk-31jxjkrq.js → chunk-48ynmrd8.js} +1 -1
  21. package/dist/cli/{chunk-b3pm5nvh.js → chunk-4bfwafzg.js} +1 -1
  22. package/dist/cli/{chunk-8saxdp88.js → chunk-4fa35dbn.js} +1 -1
  23. package/dist/cli/{chunk-ejd307we.js → chunk-4kdakncb.js} +1 -1
  24. package/dist/cli/{chunk-mr0z23fd.js → chunk-57qny54a.js} +1 -1
  25. package/dist/cli/chunk-5d3p4rqv.js +2 -0
  26. package/dist/cli/{chunk-hc6qpkpy.js → chunk-5m1ef9ez.js} +2 -2
  27. package/dist/cli/{chunk-wvaf3d9j.js → chunk-5r4d0h87.js} +1 -1
  28. package/dist/cli/chunk-5vetsh77.js +4 -0
  29. package/dist/cli/chunk-66zvkh5z.js +2 -0
  30. package/dist/cli/chunk-6xsc9crp.js +4 -0
  31. package/dist/cli/{chunk-7c4zdjr5.js → chunk-6z02cd58.js} +1 -1
  32. package/dist/cli/{chunk-ye4vt96f.js → chunk-7ag59vyh.js} +9 -7
  33. package/dist/cli/{chunk-hq3hd8qr.js → chunk-7maf6x1g.js} +1 -1
  34. package/dist/cli/{chunk-3342qzve.js → chunk-7mwvvj46.js} +1 -1
  35. package/dist/cli/{chunk-me656p3n.js → chunk-835qwnnq.js} +2 -2
  36. package/dist/cli/chunk-84m0d72d.js +2 -0
  37. package/dist/cli/chunk-85m74thf.js +31 -0
  38. package/dist/cli/{chunk-tdhk4dz8.js → chunk-8t7qbr1e.js} +1 -1
  39. package/dist/cli/{chunk-yztr951z.js → chunk-a0rz9g11.js} +1 -1
  40. package/dist/cli/{chunk-qpr14v8x.js → chunk-a4znycsh.js} +1 -1
  41. package/dist/cli/{chunk-kvwqh35r.js → chunk-a569ctz6.js} +1 -1
  42. package/dist/cli/{chunk-3x0ryj15.js → chunk-acqcph62.js} +1 -1
  43. package/dist/cli/chunk-ak0frbbw.js +3 -0
  44. package/dist/cli/chunk-ankt6yse.js +2 -0
  45. package/dist/cli/{chunk-80jqznbm.js → chunk-av482xxw.js} +1 -1
  46. package/dist/cli/chunk-awgsda64.js +2 -0
  47. package/dist/cli/chunk-axjcmamn.js +2 -0
  48. package/dist/cli/chunk-azpvsc5d.js +2 -0
  49. package/dist/cli/{chunk-zh0c8yzw.js → chunk-bejhca6z.js} +1 -1
  50. package/dist/cli/chunk-bm2baazf.js +2 -0
  51. package/dist/cli/{chunk-wqckm0k6.js → chunk-br8r72bf.js} +1 -1
  52. package/dist/cli/{chunk-sdya3r5j.js → chunk-bvsjep6w.js} +1 -1
  53. package/dist/cli/{chunk-1vtfzcca.js → chunk-c1dz3qg3.js} +1 -1
  54. package/dist/cli/{chunk-2gjrfqhs.js → chunk-c25vea1q.js} +1 -1
  55. package/dist/cli/{chunk-qwz9728j.js → chunk-cangy5wn.js} +1 -1
  56. package/dist/cli/chunk-dhcx1gna.js +3 -0
  57. package/dist/cli/chunk-e7h7w4n0.js +4 -0
  58. package/dist/cli/{chunk-sr4c9fve.js → chunk-eckrcmtz.js} +1 -1
  59. package/dist/cli/{chunk-7zyyvc3d.js → chunk-eqa843hf.js} +1 -1
  60. package/dist/cli/{chunk-n0rtj4z7.js → chunk-eqdbfgq5.js} +1 -1
  61. package/dist/cli/{chunk-cbc1h345.js → chunk-eyrt04mg.js} +1 -2
  62. package/dist/cli/{chunk-3126c9x9.js → chunk-f09ex46c.js} +1 -1
  63. package/dist/cli/{chunk-szjgjrar.js → chunk-f2bqrzsy.js} +1 -1
  64. package/dist/cli/chunk-f8gg8cqh.js +3 -0
  65. package/dist/cli/{chunk-wyn3zbh4.js → chunk-f8w52tsz.js} +2 -2
  66. package/dist/cli/{chunk-qs0526nj.js → chunk-fcnd49ce.js} +1 -1
  67. package/dist/cli/{chunk-ek6kywem.js → chunk-fcqtqpm1.js} +1 -1
  68. package/dist/cli/chunk-fjvefbnr.js +16 -0
  69. package/dist/cli/chunk-fvvb0072.js +3 -0
  70. package/dist/cli/{chunk-b4zqkdyq.js → chunk-ga412sby.js} +1 -1
  71. package/dist/cli/{chunk-5v02t4pz.js → chunk-gak4aag4.js} +25 -8
  72. package/dist/cli/{chunk-vxc90473.js → chunk-gg5f2ayw.js} +1 -1
  73. package/dist/cli/{chunk-30g1bgkg.js → chunk-ggnq2vvk.js} +1 -1
  74. package/dist/cli/{chunk-4018sjy3.js → chunk-ghkr7f4t.js} +1 -1
  75. package/dist/cli/{chunk-41x1hrqe.js → chunk-gq36nzg8.js} +1 -1
  76. package/dist/cli/{chunk-mh2s5ttr.js → chunk-gqh6atvp.js} +2 -2
  77. package/dist/cli/{chunk-y078swzq.js → chunk-gs6j7y6q.js} +1 -1
  78. package/dist/cli/chunk-gytx47yk.js +3 -0
  79. package/dist/cli/{chunk-1jz7ppsy.js → chunk-h6bbe9nd.js} +1 -1
  80. package/dist/cli/{chunk-9g2faw9a.js → chunk-h8t4xg1p.js} +1 -1
  81. package/dist/cli/{chunk-re15t5r1.js → chunk-heajz5tw.js} +1 -1
  82. package/dist/cli/{chunk-yadx0wc5.js → chunk-hf168gph.js} +1 -1
  83. package/dist/cli/{chunk-1ys1maw7.js → chunk-hsy5gebc.js} +1 -1
  84. package/dist/cli/{chunk-cajrtabt.js → chunk-hv79ys32.js} +1 -1
  85. package/dist/cli/{chunk-mb018hfg.js → chunk-hy0r635n.js} +3 -3
  86. package/dist/cli/{chunk-812et2xk.js → chunk-j1z9kgyd.js} +1 -1
  87. package/dist/cli/{chunk-w196jkg5.js → chunk-jj5f4n51.js} +1 -1
  88. package/dist/cli/{chunk-z80jjarw.js → chunk-jp8vfwqm.js} +1 -1
  89. package/dist/cli/chunk-kcd1w62f.js +2 -0
  90. package/dist/cli/{chunk-tshbjft4.js → chunk-ke19jzhg.js} +2 -2
  91. package/dist/cli/chunk-kq01awhv.js +3 -0
  92. package/dist/cli/{chunk-kmgheesn.js → chunk-krnacq08.js} +2 -2
  93. package/dist/cli/{chunk-t6hzyee7.js → chunk-kwyxwcr8.js} +1 -1
  94. package/dist/cli/chunk-kx7b5nht.js +11 -0
  95. package/dist/cli/{chunk-a42j8eek.js → chunk-mj7nfaaf.js} +1 -1
  96. package/dist/cli/{chunk-c47gag5r.js → chunk-mvnz68vh.js} +1 -1
  97. package/dist/cli/{chunk-j1fe3j54.js → chunk-mzk4p07t.js} +2 -2
  98. package/dist/cli/chunk-n1tfhd48.js +2 -0
  99. package/dist/cli/{chunk-rtkj4wdw.js → chunk-n1v59qgs.js} +2 -2
  100. package/dist/cli/{chunk-drt79f2t.js → chunk-n2j5sk0g.js} +1 -1
  101. package/dist/cli/chunk-npnbq79j.js +2 -0
  102. package/dist/cli/{chunk-5srsjs7r.js → chunk-nw4p86t1.js} +1 -1
  103. package/dist/cli/{chunk-dzmfexh8.js → chunk-p4fjynez.js} +1 -1
  104. package/dist/cli/{chunk-8sksdq95.js → chunk-p6jw0zcd.js} +1 -1
  105. package/dist/cli/{chunk-ve348rmz.js → chunk-p9t6ye6t.js} +2 -2
  106. package/dist/cli/{chunk-amc17enx.js → chunk-pv2334ak.js} +1 -1
  107. package/dist/cli/chunk-pxdnc5mz.js +91 -0
  108. package/dist/cli/{chunk-4rya4jmx.js → chunk-qeya7dv5.js} +2 -2
  109. package/dist/cli/{chunk-6a70wv2b.js → chunk-qgrg9a5n.js} +1 -1
  110. package/dist/cli/{chunk-4z01vg3t.js → chunk-qnpkhvrn.js} +1 -1
  111. package/dist/cli/{chunk-cgxgqc87.js → chunk-qykg15ks.js} +1 -1
  112. package/dist/cli/{chunk-625773dm.js → chunk-r0etc6vp.js} +1 -1
  113. package/dist/cli/chunk-r40aj7z6.js +2 -0
  114. package/dist/cli/{chunk-jrqtzp35.js → chunk-r67c54hn.js} +1 -1
  115. package/dist/cli/chunk-ra1m0gs4.js +3 -0
  116. package/dist/cli/{chunk-m6pp9gaf.js → chunk-rfp0ayra.js} +1 -1
  117. package/dist/cli/chunk-rn08whn3.js +20 -0
  118. package/dist/cli/chunk-s3cvbp3a.js +3 -0
  119. package/dist/cli/chunk-s4ghfrr9.js +2 -0
  120. package/dist/cli/chunk-s4nrmbqh.js +13 -0
  121. package/dist/cli/{chunk-p2vagan3.js → chunk-s7mzpdgb.js} +1 -1
  122. package/dist/cli/{chunk-tgfn5ykb.js → chunk-sfn4s219.js} +1 -1
  123. package/dist/cli/chunk-sq6zj3fb.js +5 -0
  124. package/dist/cli/{chunk-n9w0026r.js → chunk-tca0hx96.js} +1 -1
  125. package/dist/cli/{chunk-xh72jz7c.js → chunk-tst79jmx.js} +1 -1
  126. package/dist/cli/{chunk-mtw6nce9.js → chunk-twjt04z3.js} +1 -1
  127. package/dist/cli/{chunk-qga9xd2f.js → chunk-v8nvfyd4.js} +1 -1
  128. package/dist/cli/{chunk-m8shvh3j.js → chunk-v967kt9x.js} +1 -1
  129. package/dist/cli/{chunk-w78n33b8.js → chunk-vckr5yvb.js} +1 -1
  130. package/dist/cli/{chunk-67qa9eca.js → chunk-vd6z4v6p.js} +1 -1
  131. package/dist/cli/{chunk-gvmgabps.js → chunk-wa7jswp3.js} +1 -1
  132. package/dist/cli/{chunk-agt2sdaw.js → chunk-wd9n7cwz.js} +6 -6
  133. package/dist/cli/chunk-x4s60mnd.js +2 -0
  134. package/dist/cli/chunk-xex81qeb.js +2 -0
  135. package/dist/cli/{chunk-bwr6dygx.js → chunk-xfgqae9t.js} +1 -1
  136. package/dist/cli/chunk-xt543e2h.js +3 -0
  137. package/dist/cli/{chunk-z72f3d9m.js → chunk-xymn760d.js} +17 -17
  138. package/dist/cli/chunk-y1xnjx8x.js +4 -0
  139. package/dist/cli/chunk-y7a8h5xe.js +2 -0
  140. package/dist/cli/chunk-y8b2p44q.js +2 -0
  141. package/dist/cli/{chunk-yyjskza5.js → chunk-ycd28edp.js} +1 -1
  142. package/dist/cli/chunk-yfvt96ar.js +3 -0
  143. package/dist/cli/{chunk-rwmxpjrx.js → chunk-ykyertq9.js} +1 -1
  144. package/dist/cli/chunk-yssxs1fn.js +3 -0
  145. package/dist/cli/{chunk-z3zaa155.js → chunk-yzkhwn31.js} +1 -1
  146. package/dist/cli/{chunk-prqeddy7.js → chunk-z1nj22va.js} +1 -1
  147. package/dist/cli/chunk-z7d7gk7p.js +2 -0
  148. package/dist/cli/{chunk-0sm0wcx9.js → chunk-zg66t7k9.js} +1 -1
  149. package/dist/cli/chunk-zy2jdze4.js +3 -0
  150. package/dist/cli/index.js +8 -8
  151. package/dist/cli/pty-host-node.mjs +29 -7
  152. package/dist/cli/rove-run.js +1 -1
  153. package/dist/cli/rove.js +1 -1
  154. package/dist/completions/rove.bash +1 -1
  155. package/dist/completions/rove.fish +1 -1
  156. package/dist/completions/rove.zsh +1 -1
  157. package/dist/skills/rove/SKILL.md +25 -20
  158. package/dist/skills/rove/references/api-flags.md +3 -1
  159. package/dist/web/assets/index-BM0Pt6E-.js +111 -0
  160. package/dist/web/assets/index-DneB7YXQ.css +1 -0
  161. package/dist/web/index.html +2 -2
  162. package/dist/web-ui/assets/{harness-dYkQBfYz.js → harness-pEyVtWV4.js} +1 -1
  163. package/dist/web-ui/assets/index-Bsn8NuKa.css +1 -0
  164. package/dist/web-ui/assets/{index-ByMdqeTv.js → index-Dyg-qcgB.js} +2 -2
  165. package/dist/web-ui/index.html +2 -2
  166. package/package.json +3 -3
  167. package/dist/cli/chunk-09sfrqkr.js +0 -2
  168. package/dist/cli/chunk-1bmhygwd.js +0 -2
  169. package/dist/cli/chunk-1gawhhd0.js +0 -3
  170. package/dist/cli/chunk-1nrva2m2.js +0 -11
  171. package/dist/cli/chunk-1pg3247n.js +0 -16
  172. package/dist/cli/chunk-2gk96h3f.js +0 -2
  173. package/dist/cli/chunk-2vrx0pmv.js +0 -2
  174. package/dist/cli/chunk-4250pw6r.js +0 -3
  175. package/dist/cli/chunk-4b9f565d.js +0 -2
  176. package/dist/cli/chunk-4dsyczce.js +0 -2
  177. package/dist/cli/chunk-4gngf0mt.js +0 -70
  178. package/dist/cli/chunk-4sj2sqyt.js +0 -2
  179. package/dist/cli/chunk-56n0whme.js +0 -2
  180. package/dist/cli/chunk-696sqb6j.js +0 -2
  181. package/dist/cli/chunk-7nrzkqt5.js +0 -3
  182. package/dist/cli/chunk-aeswyjhk.js +0 -3
  183. package/dist/cli/chunk-b39sdtt0.js +0 -3
  184. package/dist/cli/chunk-b7xjhgts.js +0 -4
  185. package/dist/cli/chunk-bav3bh70.js +0 -4
  186. package/dist/cli/chunk-bc72rgkm.js +0 -2
  187. package/dist/cli/chunk-bnv1mm5h.js +0 -4
  188. package/dist/cli/chunk-chzn3px6.js +0 -31
  189. package/dist/cli/chunk-cqsc0wmp.js +0 -20
  190. package/dist/cli/chunk-g1px1rk6.js +0 -9
  191. package/dist/cli/chunk-kg8k1rar.js +0 -2
  192. package/dist/cli/chunk-m86qk3za.js +0 -2
  193. package/dist/cli/chunk-njvz867e.js +0 -2
  194. package/dist/cli/chunk-nyw4s1pv.js +0 -2
  195. package/dist/cli/chunk-pcqw7r50.js +0 -2
  196. package/dist/cli/chunk-qdvtz853.js +0 -3
  197. package/dist/cli/chunk-r4vfng2z.js +0 -2
  198. package/dist/cli/chunk-r6k3ve2g.js +0 -3
  199. package/dist/cli/chunk-s0gp5b9p.js +0 -10
  200. package/dist/cli/chunk-s27a0ckk.js +0 -3
  201. package/dist/cli/chunk-sgngkkp3.js +0 -2
  202. package/dist/cli/chunk-spee6wv8.js +0 -3
  203. package/dist/cli/chunk-swxq6yak.js +0 -2
  204. package/dist/cli/chunk-trhrdby1.js +0 -4
  205. package/dist/cli/chunk-tvbbnfp2.js +0 -2
  206. package/dist/cli/chunk-xgans9wf.js +0 -3
  207. package/dist/cli/chunk-xm7a6swz.js +0 -2
  208. package/dist/cli/chunk-y87f04kk.js +0 -2
  209. package/dist/cli/chunk-ywwm92e5.js +0 -2
  210. package/dist/cli/chunk-z5g3twhn.js +0 -2
  211. package/dist/cli/chunk-z99ynm4r.js +0 -3
  212. package/dist/web/assets/index-BsbDxm3K.js +0 -109
  213. package/dist/web/assets/index-DNv-oxrT.css +0 -1
  214. package/dist/web-ui/assets/index-nMJ42IGm.css +0 -1
@@ -3,7 +3,7 @@ name: rove
3
3
  description: Use when controlling Rove tasks, parallel coding attempts, hosted agent sessions, task lifecycle, or the daemon-owned issue tracker from a shell. Also the ONLY channel for messaging another agent session on this machine — `rove api send`, never a peer/MCP side channel.
4
4
  ---
5
5
 
6
- <!-- rove-skill-version: 72 — bump in lockstep with ROVE_SKILL_VERSION (src/lib/skill-install.ts). -->
6
+ <!-- rove-skill-version: 73 — bump in lockstep with ROVE_SKILL_VERSION (src/lib/skill-install.ts). -->
7
7
 
8
8
  # Rove shell control
9
9
 
@@ -90,22 +90,23 @@ retired vocabulary for Terminal Tab. A user saying "in this workspace" means
90
90
  the worktree they are looking at — answer the intent, keep writing the real
91
91
  term.
92
92
 
93
- They nest — **Task ⊃ Terminal Tab ⊃ Split** — and isolation drops at every
94
- level down:
93
+ A Task is ONE engine conversation. Another conversation is a **child task**
94
+ shown under it. Isolation drops at every level down:
95
95
 
96
96
  ```text
97
- new Task → own worktree + own branch (parallel work can't collide)
98
- new Tab → own engine session, SAME files (a helper in the same checkout)
99
- new Split → same session's screen, one tab divided (a monitor beside the work)
97
+ new Task → own worktree + own branch (parallel work can't collide)
98
+ child, own worktree → `spawn`: worktree cut from the parent's branch tip
99
+ child, shared dir → `send --tab new`: own engine session, SAME files (a helper in the same checkout)
100
+ new Split → same session's screen, one tab divided (a monitor beside the work)
100
101
  ```
101
102
 
102
- The distinction that decides every routing call: **a new tab shares the
103
- worktree and branch; only a new task gets its own.** Two tabs in one task
104
- edit the same files, so they can collide — that is a feature when the user
105
- wants a helper in the same checkout, and a bug when they wanted parallel
106
- attempts. A split isolates nothing at all: it is a layout, for watching
107
- something (logs, `btop`, a test loop) next to the work — never the answer to
108
- "do this work".
103
+ The distinction that decides every routing call: **a shared child uses the
104
+ parent's worktree and branch; only a new task (or `spawn`) gets its own.**
105
+ Two conversations in one directory edit the same files, so they can collide —
106
+ that is a feature when the user wants a helper in the same checkout, and a
107
+ bug when they wanted parallel attempts. A split isolates nothing at all: it
108
+ is a layout, for watching something (logs, `btop`, a test loop) next to the
109
+ work — never the answer to "do this work".
109
110
 
110
111
  One boundary the isolation model does NOT cover: **never `git stash` in a
111
112
  managed worktree.** The stash stack lives in the repo's common dir
@@ -125,8 +126,8 @@ the first row that fits:
125
126
  | "try it N ways", "compare approaches" | N new tasks | `rove api add --repo "$PWD" --count N --prompt "…"` |
126
127
  | "split", "side by side", "keep an eye on X while…" | a new region in the CURRENT tab | `rove api pane-open --command "…"` |
127
128
  | names a tab: "tell the agent in tab 3" | that exact tab | `rove api send --task-id <id> --tab tab-3 --prompt "…"` |
128
- | a LOCATION word: "in this workspace/worktree/checkout", "on this branch", "here", "same task" | THIS task, a NEW Terminal Tab | `rove api send --task-id "$ROVE_TASK_ID" --tab new --prompt "…"` |
129
- | names an ENGINE for the same files: "let codex take over here", "try this one with claude instead" | THIS task, a new tab pinned to that engine | `rove api send --task-id "$ROVE_TASK_ID" --tab new --command codex --prompt "…"` |
129
+ | a LOCATION word: "in this workspace/worktree/checkout", "on this branch", "here", "same task" | a shared CHILD of THIS task (same directory) | `rove api send --task-id "$ROVE_TASK_ID" --tab new --prompt "…"` |
130
+ | names an ENGINE for the same files: "let codex take over here", "try this one with claude instead" | a shared child of THIS task on that engine | `rove api send --task-id "$ROVE_TASK_ID" --tab new --command codex --prompt "…"` |
130
131
  | **anything else — no row above matched** | a NEW task — new worktree + branch | `rove api add --repo "$PWD" --prompt "…"` |
131
132
 
132
133
  Order is the tiebreak: a count ("3 ways in this workspace") beats a location
@@ -324,6 +325,10 @@ rove api add --repo "$PWD" --title "focused title" --command claude \
324
325
  # Parallel attempts of the same prompt (hard cap 10; prefer 3-4).
325
326
  rove api add --repo "$PWD" --count 3 --prompt "<prompt>"
326
327
  rove api add --repo "$PWD" --agents claude:2,codex:1 --prompt "<prompt>"
328
+ # A child of THIS task (a second conversation, shown under its parent): its own
329
+ # worktree from the parent's current tip by default; --no-worktree shares the directory.
330
+ rove api spawn --prompt "<prompt>"
331
+ rove api spawn --no-worktree --command codex --prompt "<prompt>"
327
332
 
328
333
  # Follow up. Use an explicit id for unattended work; the active task can drift.
329
334
  # From inside a Rove task this auto-prefixes [ROVE PEER] provenance
@@ -347,10 +352,10 @@ rove api send --prompt "succeeded: <one line> (branch <final branch>)"
347
352
  # task's snapshot plus daemon activity and live pty sessions.
348
353
  rove api inspect --task-id <id>
349
354
  rove api send --task-id <id> --tab tab-3 --prompt "<turn>" # exact alive tab
350
- rove api send --task-id <id> --tab new --prompt "<turn>" # fresh engine tab
351
- # Same worktree, DIFFERENT agent — the API twin of the TUI's ctrl+e pick. The
352
- # engine is pinned to that tab (survives restarts, unaffected by a later
353
- # update --command) and the task's own engine is left alone. --tab new only.
355
+ rove api send --task-id <id> --tab new --prompt "<turn>" # shared child: reply adds childTaskId
356
+ # Same directory, DIFFERENT agent — the API twin of the TUI's ctrl+e pick. The
357
+ # engine is stored on the new child task (survives restarts) and the target's own
358
+ # engine is left alone. --tab new only.
354
359
  rove api send --task-id <id> --tab new --command codex --prompt "<turn>"
355
360
 
356
361
  rove api get-task --task-id <id>
@@ -384,7 +389,7 @@ has NO live session at all does `send`
384
389
  auto-start the canonical engine in the task's worktree (`started: true` in
385
390
  the result marks that fresh session). If live tabs exist but none resolves
386
391
  as an engine, it refuses with `NO_ENGINE_TAB` — address one with `--tab
387
- tab-N` or spawn one with `--tab new`; it never silently spawns a duplicate
392
+ tab-N` or start another conversation with `--tab new`; it never silently spawns a duplicate
388
393
  engine. Its `hint` names `pty-list` — the live-PTY read (key, alive, pid,
389
394
  command); use it when `.tabs[]` and reality disagree.
390
395
 
@@ -229,13 +229,15 @@ add --repo(REQ) --clone --allow-fork --title --branch --base-branch --workt
229
229
  --agents <claude:2,codex:1>
230
230
  --status{backlog|in_progress|in_review|done|canceled|error}(backlog) --pin
231
231
  --require-report --expect-report --activate(false) --prompt|--prompt-file
232
+ spawn --parent --worktree(true) --no-worktree --base-branch --isolate-in --title
233
+ --command --prompt|--prompt-file
232
234
  update --task-id(REQ) --title --tab --branch --command --model --effort --pinned
233
235
  --require-report{on|off}
234
236
  --status{backlog|in_progress|in_review|done|canceled|error} --report-branch
235
237
  --report-pr --report-summary
236
238
  land --task-id(REQ) --dry-run --strategy{merge|squash}(merge) --delete-branch
237
239
  --remove-worktree(true)
238
- delete --task-id --group --force --delete-branch --delete-remote --wait
240
+ delete --task-id --group --cascade --force --delete-branch --delete-remote --wait
239
241
  ```
240
242
  <!-- generated:end -->
241
243