@sma1lboy/rove 0.9.70 → 0.9.72

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.
@@ -291,7 +291,10 @@ rove api list --pretty
291
291
  ```
292
292
 
293
293
  `.running` means any hosted engine tab on the task is alive; a live shell,
294
- command, or content tab alone does not count.
294
+ command, or content tab alone does not count. It is process truth, not
295
+ progress: a task whose work is merged and whose worker has signed off still
296
+ reads `true` until somebody deletes it (see "A task is finished when it is
297
+ GONE").
295
298
  Omitting BOTH `--task-id` and `--tab` inside a task that has a dispatcher
296
299
  targets that dispatcher's tab (see the reply rule above); otherwise the
297
300
  target is the active task. Omitting only `--tab` targets a live engine tab
@@ -502,6 +505,43 @@ worker died (it may be mid-turn or stuck on a permission prompt): peek with
502
505
  `collect`/`get-task`, nudge with `send`, and never mark a silent task failed
503
506
  or auto-retry it.
504
507
 
508
+ ### A task is finished when it is GONE
509
+
510
+ The dispatcher closes tasks. A worker cannot delete itself, so when it reports
511
+ "done" the round is not over — its engine is still running, its Worktree still
512
+ holds a branch, and its row is still in the sidebar.
513
+
514
+ None of these mean a task is finished:
515
+
516
+ | Looks final | What it actually is |
517
+ |---|---|
518
+ | the worker said "done" | a message; it has no verb to remove itself |
519
+ | its PR is MERGED | the code landed; the task did not move |
520
+ | its issue is `status done` | a field in a different store |
521
+ | `set-status canceled` | a label — see Lifecycle above |
522
+
523
+ **The only evidence is that `rove api list` no longer shows it.** Check the
524
+ task, not the paperwork:
525
+
526
+ ```bash
527
+ rove api get-task --task-id <id> # .running true = its engine is still alive
528
+ rove api delete --task-id <id> --wait
529
+ ```
530
+
531
+ `--wait` is what turns "queued" into an answer; without it the call returns
532
+ before the Worktree is gone.
533
+
534
+ Before ending a round, sweep for both halves — they drift apart:
535
+
536
+ ```bash
537
+ rove api list # tasks whose work is done but which are still here
538
+ git worktree list # directories no task claims (delete finds tasks by id,
539
+ # so a stray one is only reachable via git)
540
+ ```
541
+
542
+ A worker that has taken over `main` in its Worktree will block the dispatcher's
543
+ own checkout — a release cannot even start until that task is closed.
544
+
505
545
  ### Closing a round
506
546
 
507
547
  After comparing attempts, finish the round instead of leaving tasks behind:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@sma1lboy/rove",
4
- "version": "0.9.70",
4
+ "version": "0.9.72",
5
5
  "description": "Rove — the agent multiplexer for your terminal. Run coding agents on parallel tasks with isolated worktrees and persistent sessions.",
6
6
  "keywords": [
7
7
  "terminal",