bullswarm 0.25.0 → 0.25.2
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.
- package/CHANGELOG.md +22 -0
- package/README.md +38 -11
- package/data/openrouter-benchmarks.json +13422 -13387
- package/package.json +1 -1
- package/skill/SKILL.md +12 -1
- package/skill/references/operations.md +15 -1
- package/src/help.js +23 -9
- package/src/workflow/cli.js +37 -4
- package/src/workflow/dashboard.js +25 -8
- package/src/workflow/watch-cli.js +461 -36
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# bullswarm changelog
|
|
2
2
|
|
|
3
|
+
## 0.25.2 — event-based watch
|
|
4
|
+
|
|
5
|
+
- `workflow watch <run> --next` is safe to relaunch after every wake-up: each
|
|
6
|
+
such exit prints `next: bullswarm workflow watch <id> --next --after <seq>
|
|
7
|
+
--since <time>`; relaunching with those values replays notable events that
|
|
8
|
+
landed while no watcher was attached, reports a level at most once, and does
|
|
9
|
+
not repeat a stall already reported (its recovery line still prints). `--jsonl`
|
|
10
|
+
objects carry `sequence`.
|
|
11
|
+
|
|
12
|
+
- `workflow watch` for V2 runs is event-based by default: one attach line,
|
|
13
|
+
then one line per notable event (action finished/failed/blocked/cancelled,
|
|
14
|
+
evidence, stage completion, planner turn, stall/recovery, cancellation)
|
|
15
|
+
and silence while work is merely in progress. `--next` prints no attach
|
|
16
|
+
line and exits after the first notable event (0 while the run continues or
|
|
17
|
+
delivered, 1 when it ended without delivering or the kernel is not
|
|
18
|
+
running). `--stall-after <seconds>` (default 300) reports a silent running
|
|
19
|
+
agent; `--heartbeat <seconds>` is opt-in for V2 (legacy still defaults to
|
|
20
|
+
60s). `--jsonl` emits one object per event with a stable `type`. Agent
|
|
21
|
+
starts, mechanical retries, and steering delivery remain `--verbose` only.
|
|
22
|
+
`--once` and legacy (non-V2) transition-plus-heartbeat output are
|
|
23
|
+
unchanged.
|
|
24
|
+
|
|
3
25
|
## 0.25.0 — shared programs that finish with the graph
|
|
4
26
|
|
|
5
27
|
- New goal workflows share the target worktree by default. File territories
|
package/README.md
CHANGED
|
@@ -302,7 +302,9 @@ The detached response includes a short ID and exact observation commands:
|
|
|
302
302
|
|
|
303
303
|
```bash
|
|
304
304
|
bullswarm workflow runs show <shortId>
|
|
305
|
-
bullswarm workflow watch <shortId> #
|
|
305
|
+
bullswarm workflow watch <shortId> # V2: attach, then one line per notable event
|
|
306
|
+
bullswarm workflow watch <shortId> --next # print the next notable event and exit
|
|
307
|
+
# relaunch with the --after/--since it prints
|
|
306
308
|
bullswarm workflow # unified human workflow home
|
|
307
309
|
bullswarm workflow tui <shortId> # jump directly to one run timeline
|
|
308
310
|
bullswarm workflow tui --json <shortId>
|
|
@@ -482,20 +484,45 @@ auditing completed runs.
|
|
|
482
484
|
|
|
483
485
|
### Live workflow dashboard
|
|
484
486
|
|
|
485
|
-
For ordinary observation, use the non-interactive watcher.
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
487
|
+
For ordinary observation, use the non-interactive watcher. For V2 runs it
|
|
488
|
+
prints one attach line, then one line per notable event as it happens
|
|
489
|
+
(action finished/failed/blocked/cancelled, evidence, stage completion,
|
|
490
|
+
planner turn, stall/recovery, cancellation, and the existing pause and
|
|
491
|
+
terminal `outcome:` / `next:` lines) and stays silent while work is merely
|
|
492
|
+
in progress. Agent starts, mechanical retries, and steering delivery print
|
|
493
|
+
only with `--verbose`. The periodic heartbeat is off unless you pass
|
|
494
|
+
`--heartbeat <seconds>`; `--stall-after <seconds>` (default 300) reports a
|
|
495
|
+
running agent that has gone silent. `--next` prints no attach line and
|
|
496
|
+
exits after the first notable event so a background terminal can wake the
|
|
497
|
+
caller; relaunch until the outcome line reports a pause or a terminal
|
|
498
|
+
status (exit 0 while the run continues or delivered, 1 when it ended
|
|
499
|
+
without delivering or the kernel is not running). Every `--next` exit that
|
|
500
|
+
leaves the run going ends with a relaunch line —
|
|
501
|
+
`next: bullswarm workflow watch <shortId> --next --after <sequence> --since <iso>` —
|
|
502
|
+
and the relaunch should copy those two values verbatim: `--after` starts
|
|
503
|
+
from the durable event sequence the previous watcher consumed, so events
|
|
504
|
+
committed while nothing was attached are printed instead of skipped, and
|
|
505
|
+
`--since` is that watcher's exit time, so an agent whose silence it already
|
|
506
|
+
reported does not produce a duplicate stall line (its recovery still
|
|
507
|
+
prints). `--jsonl` emits one JSON object per notable event with a stable
|
|
508
|
+
`type` (`attach`, `action.finished`,
|
|
509
|
+
`evidence.recorded`, `stage.completed`, `planner.finished`, `agent.stalled`,
|
|
510
|
+
`agent.recovered`, `cancellation.requested`, `paused`, `finished`,
|
|
511
|
+
`interrupted`, and with `--verbose` `action.started`, `attempt.retrying`,
|
|
512
|
+
`steering.delivered`); in that mode the relaunch line is not printed and
|
|
513
|
+
every object instead carries the `sequence` it was emitted at, which is the
|
|
514
|
+
value to pass as `--after`. `--once` still prints one current snapshot. Legacy
|
|
515
|
+
(non-V2) runs keep the compact transition-plus-heartbeat stream unchanged.
|
|
493
516
|
|
|
494
517
|
```bash
|
|
495
518
|
bullswarm workflow watch <shortId>
|
|
496
|
-
bullswarm workflow watch <shortId> --
|
|
519
|
+
bullswarm workflow watch <shortId> --next # next notable event, then exit
|
|
520
|
+
bullswarm workflow watch <shortId> --next --after 42 --since 2026-09-08T10:15:00.000Z
|
|
521
|
+
# the relaunch: values copied from the previous next: line
|
|
522
|
+
bullswarm workflow watch <shortId> --jsonl # one JSON object per event
|
|
497
523
|
bullswarm workflow watch <shortId> --once # one current/terminal snapshot
|
|
498
|
-
bullswarm workflow watch <shortId> --verbose #
|
|
524
|
+
bullswarm workflow watch <shortId> --verbose # started / retry / steering too
|
|
525
|
+
bullswarm workflow watch <shortId> --stall-after 120 --heartbeat 30
|
|
499
526
|
```
|
|
500
527
|
|
|
501
528
|
`workflow tui` is the interactive, Claude-style `/workflows` view. For an
|