@sma1lboy/kobe 0.9.18 → 0.9.19

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.
@@ -286,7 +286,13 @@ command, or content tab alone does not count.
286
286
  Omitting BOTH `--task-id` and `--tab` inside a task that has a dispatcher
287
287
  targets that dispatcher's tab (see the reply rule above); otherwise the
288
288
  target is the active task. Omitting only `--tab` targets a live engine tab
289
- (`tab-1` first, then any surviving engine tab). Only when the task has NO live session at all does `send`
289
+ (`tab-1` first, then any surviving engine tab). **Trap: omitting only
290
+ `--task-id` while giving `--tab tab-N` inside a dispatched task delivers to
291
+ `tab-N` of the DISPATCHER's task** — the dispatcher's id fills in for
292
+ `--task-id`, but an explicit `--tab` is kept, so your `send --tab tab-3`
293
+ lands in the middle of another session's tab-3, not yours. Target your own
294
+ task's tab with `--task-id "$ROVE_TASK_ID" --tab tab-N`. Only when the task
295
+ has NO live session at all does `send`
290
296
  auto-start the canonical engine in the task's worktree (`started: true` in
291
297
  the result marks that fresh session). If live tabs exist but none resolves
292
298
  as an engine, it refuses with `NO_ENGINE_TAB` — address one with `--tab
@@ -330,18 +336,19 @@ logs, dashboards), don't scatter panes for work `add` should own.
330
336
  | `set-branch --task-id ID --branch B` | Rename its branch |
331
337
  | `set-command --task-id ID --command CMD` | Change the engine launch command for the next launch |
332
338
  | `set-status --task-id ID --status S` | Set lifecycle status |
333
- | `archive --task-id ID [--archived=false]` | Archive/unarchive; stops live sessions |
334
339
  | `pin --task-id ID [--pinned=false]` | Pin/unpin |
335
340
  | `set-active --task-id ID` / `--none` | Change shared active task |
336
341
  | `ensure-worktree --task-id ID` | Materialize without starting an engine |
337
- | `land --task-id ID [--strategy merge\|squash] [--delete-branch] [--then-archive] [--remove-worktree=false]` | Merge the task's branch into the base repo's current branch; the Worktree is removed by default (`--remove-worktree=false` keeps it). The branch always stays; dirty/self/base removals are refused, outcome in the result's `worktree` field |
342
+ | `land --task-id ID [--strategy merge\|squash] [--delete-branch] [--remove-worktree=false]` | Merge the task's branch into the base repo's current branch; the Worktree is removed by default (`--remove-worktree=false` keeps it). The branch always stays; dirty/self/base removals are refused, outcome in the result's `worktree` field |
338
343
  | `delete --task-id ID [--force] [--delete-branch]` | Remove task + Worktree; the git branch stays unless `--delete-branch` (and `--force` never implies it) |
339
344
  | `discover-adoptable --repo PATH` | Find untracked Worktrees |
340
345
  | `adopt --repo PATH --worktree PATH` | Import a Worktree |
341
346
 
342
347
  Once a task's work is merged, `delete` is the normal cleanup — the branch is
343
- git's durable record and survives. `archive` remains as a manual "hide the
344
- row" override. `--delete-branch` (or a dirty-worktree `--force`) still needs
348
+ git's durable record and survives. There is no "hide the row without
349
+ deleting" verb anymore (`archive` was removed); a merged task you want out of
350
+ the way is a `delete`, and its branch is still there if you need the history
351
+ back. `--delete-branch` (or a dirty-worktree `--force`) still needs
345
352
  explicit user authorization.
346
353
 
347
354
  ## Issue tracker
@@ -462,15 +469,17 @@ After comparing attempts, finish the round instead of leaving tasks behind:
462
469
  ```bash
463
470
  # Land the winner: merge its branch into the base repo's CURRENT branch.
464
471
  # Verify the base checkout is on the intended branch first.
465
- rove api land --task-id <winner> --then-archive
472
+ rove api land --task-id <winner>
466
473
 
467
- # Archive the losers (non-destructive; branches survive).
468
- rove api archive --task-id <loser1>
469
- rove api archive --task-id <loser2>
474
+ # Delete the losers: task + worktree go away, the git branch survives
475
+ # (recoverable). NOT --delete-branch — that destroys history and needs
476
+ # explicit user authorization.
477
+ rove api delete --task-id <loser1>
478
+ rove api delete --task-id <loser2>
470
479
  ```
471
480
 
472
481
  `land` refuses a dirty base checkout; on merge conflict it aborts cleanly and
473
- returns the conflicted files for manual resolution. `delete` removes a loser's
474
- Worktree but keeps its branch (recoverable); still don't use it — or
475
- `--delete-branch`, which destroys the history without explicit user
476
- authorization.
482
+ returns the conflicted files for manual resolution. `delete` removes a
483
+ loser's Worktree but keeps its branch (recoverable); `--delete-branch`
484
+ destroys the history and is never part of closing a round without explicit
485
+ user authorization.
@@ -41,6 +41,7 @@ Four flag names that have actually been guessed wrong here, and what they are:
41
41
 
42
42
  | Gone | Now |
43
43
  |---|---|
44
+ | `archive` | `delete` (task + worktree go; the git branch survives unless `--delete-branch`) |
44
45
  | `fan-out` | `add --count N` / `add --agents claude:2,codex:1` |
45
46
  | `task-list` | `list` |
46
47
  | `send-tab` | `send --tab tab-N` |
@@ -52,7 +53,7 @@ Seeing one of these in guidance means that guidance predates the rename —
52
53
  ## read
53
54
 
54
55
  ```text
55
- list (none) every task, archived included
56
+ list (none) every task
56
57
  get-task --task-id(REQ) one task + .tabs[] — the read before `send --tab`
57
58
  collect --task-ids <csv> --repo comparison snapshot across tasks
58
59
  inspect --task-id daemon activity + pty walk + tab snapshots
@@ -113,9 +114,8 @@ rename --task-id(REQ) --title(REQ)
113
114
  set-branch --task-id(REQ) --branch(REQ)
114
115
  set-command --task-id(REQ) --command(REQ) next launch only
115
116
  set-status --task-id(REQ) --status(REQ)[backlog|in_progress|in_review|done|canceled|error]
116
- archive --task-id(REQ) --archived(true)
117
117
  pin --task-id(REQ) --pinned(true)
118
- land --task-id(REQ) --strategy[merge|squash] --delete-branch --then-archive --remove-worktree(true)
118
+ land --task-id(REQ) --strategy[merge|squash] --delete-branch --remove-worktree(true)
119
119
  delete --task-id(REQ) --force --delete-branch
120
120
  ```
121
121
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@sma1lboy/kobe",
4
- "version": "0.9.18",
4
+ "version": "0.9.19",
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",