bullswarm 0.35.2 → 0.35.4

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 (42) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/docs/design/runs-table-0.35.4/README.md +60 -0
  3. package/docs/design/runs-table-0.35.4/frames/runs-120.txt +70 -0
  4. package/docs/design/runs-table-0.35.4/frames/runs-200.txt +70 -0
  5. package/docs/design/runs-table-0.35.4/frames/runs-55.txt +70 -0
  6. package/docs/design/tidy-0.35.1/frames/colour/real-home-200.txt +2 -2
  7. package/docs/design/tidy-0.35.1/frames/colour/real-home-55.txt +1 -1
  8. package/docs/design/tidy-0.35.1/frames/colour/real-run-finished-200.txt +5 -5
  9. package/docs/design/tidy-0.35.1/frames/colour/real-run-finished-55.txt +5 -5
  10. package/docs/design/tidy-0.35.1/frames/colour/real-run-running-200.txt +5 -5
  11. package/docs/design/tidy-0.35.1/frames/colour/real-run-running-55.txt +5 -5
  12. package/docs/design/tidy-0.35.1/frames/colour/real-task-200.txt +3 -3
  13. package/docs/design/tidy-0.35.1/frames/colour/real-task-55.txt +2 -2
  14. package/docs/design/tidy-0.35.1/frames/real-home-120.txt +3 -3
  15. package/docs/design/tidy-0.35.1/frames/real-home-200.txt +2 -2
  16. package/docs/design/tidy-0.35.1/frames/real-home-55.txt +1 -1
  17. package/docs/design/tidy-0.35.1/frames/real-run-finished-120.txt +5 -5
  18. package/docs/design/tidy-0.35.1/frames/real-run-finished-200.txt +5 -5
  19. package/docs/design/tidy-0.35.1/frames/real-run-finished-55.txt +5 -5
  20. package/docs/design/tidy-0.35.1/frames/real-run-running-120.txt +5 -5
  21. package/docs/design/tidy-0.35.1/frames/real-run-running-200.txt +5 -5
  22. package/docs/design/tidy-0.35.1/frames/real-run-running-55.txt +5 -5
  23. package/docs/design/tidy-0.35.1/frames/real-task-120.txt +3 -3
  24. package/docs/design/tidy-0.35.1/frames/real-task-200.txt +3 -3
  25. package/docs/design/tidy-0.35.1/frames/real-task-55.txt +2 -2
  26. package/mods/bullswarm/README.md +8 -3
  27. package/mods/bullswarm/hooks/pane.tsx +20 -8
  28. package/mods/bullswarm/hooks/register.ts +54 -4
  29. package/mods/bullswarm/hooks/runs.ts +29 -0
  30. package/package.json +1 -1
  31. package/src/help.js +28 -1
  32. package/src/lib/cli-flags.js +2 -0
  33. package/src/lib/tasks.js +61 -6
  34. package/src/workflow/cli.js +50 -0
  35. package/src/workflow/dashboard.js +23 -18
  36. package/src/workflow/history-view.js +294 -141
  37. package/src/workflow/history.js +11 -2
  38. package/src/workflow/home-model.js +2 -13
  39. package/src/workflow/home-view.js +81 -25
  40. package/src/workflow/run-model.js +33 -1
  41. package/src/workflow/run-view.js +61 -22
  42. package/src/workflow/runs-view.js +25 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
1
1
  # bullswarm changelog
2
2
 
3
+ ## 0.35.4 — one Runs table for workflows and tasks
4
+
5
+ - mod: a live single task no longer replaces the selected workflow; each task
6
+ gets its own `task <8-char-tail>` pane button and a real dashboard Step model
7
+ from the read-only `workflow task show` command.
8
+ - runs: workflow and task rows share one set of columns — status, id, project,
9
+ what, kind (`7/7 steps` or `task`), active time, cost and start clock — sized
10
+ once for the whole page, so every day section lines up; long project names
11
+ stop at 18 cells with `…`.
12
+ - runs: a task says what it is about: its first Markdown heading, else a
13
+ labelled subject line (`Outcome:`, `Goal:`, `Task:`, `Defect:` …), else the
14
+ first sentence that is neither setup (`You are …`, `Workspace: …`) nor a
15
+ standing rule (`Edit only …`, `Do not commit.`, `Never …`).
16
+ - runs: tasks recorded before the task ledger show their start clock, their
17
+ project when the cwd was recorded, and a dim `build task on codex`-style
18
+ description instead of a row of dashes.
19
+ - runs: money is one cents cell: `$0.32` measured, `≈$4.01` or `~$25.87`
20
+ estimated, `≥$138.12` when some attempts are unpriced, and `~<$0.01` below
21
+ a cent; rows no longer print `API`, `summed`, `estimated`, `unmeasured` or
22
+ `span`. Day rules read `6 runs · 7 tasks · ≥$374.85 · 3 unpriced`, dropping
23
+ the money and then the unpriced count at narrow widths, never the words.
24
+ - runs: the description shrinks first, then start, kind and project drop as
25
+ the terminal narrows; status, id, time and cost always stay, and no line is
26
+ wider than the page from 40 to 260 columns.
27
+ - runs: the cursor bar is one even inverse band; the grey cost and clock cells
28
+ no longer show as darker blocks inside it.
29
+
30
+ ## 0.35.3 — whole right edges in Ghostty and herdr, Enter opens the row you are on, named phases
31
+
32
+ - dashboard: every row is erased before it is painted instead of after, so a
33
+ row that fills the terminal keeps its last cell in Ghostty and herdr (both
34
+ cleared it, turning `50%` into `50` and `16` into `1` on Home's right edge).
35
+ - home: from 110 columns the spent-per-day chart grows to the height of the
36
+ stacked breakdowns beside it; the summary band sizes `Spent` to its text and
37
+ wraps at ` · ` rather than cutting a figure; the closing sentence wraps too.
38
+ - runs: Enter and a click open exactly the row the cursor is on. Tasks recorded
39
+ before the task ledger have no id, and all of them shared one empty key, so
40
+ Enter on a workflow row could open one of those tasks instead.
41
+ - run: phase rules name the phase: `Phase 2 · Build · time-box · docs`
42
+ (Build, Integrate, Verify, Digest, Design, Repair from the steps' kinds,
43
+ joined with ` + ` when a phase mixes them); the phase number and name are
44
+ never cut, step names shorten first.
45
+ - home: day keys no longer build an `Intl.DateTimeFormat` per call to learn
46
+ the zone (it is cached against `TZ`); a Home paint takes about 40% less time.
47
+
3
48
  ## 0.35.2 — the Step page reads like a transcript; prices without a command, honest totals, a home that stops growing
4
49
 
5
50
  - step: detail is now a scrollable transcript of every turn in order: the full
@@ -0,0 +1,60 @@
1
+ # Runs table 0.35.4
2
+
3
+ The Runs page uses one row grammar for workflow runs and standalone tasks in
4
+ both the active section and dated history sections:
5
+
6
+ ```text
7
+ status id project what kind time cost start
8
+ ✓ gbnq62 bullswarm unify the Runs table 7/7 steps 1h34m $65.56 09:10
9
+ ✓ a938c8b5 portal repair the customer import task 26m ~$25.87 08:00
10
+ ```
11
+
12
+ The status vocabulary and palette are shared: `✓` succeeded/verified, `✗`
13
+ failed, `●` running, and the existing stopped/pending marks where applicable.
14
+ Workflow ids use their short id; task ids use the stable eight-character tail.
15
+ Projects use the same recorded-project/cwd derivation for both kinds. `what`
16
+ is the workflow goal or a task's first Markdown heading; without a heading it
17
+ is the first labelled subject line (`Outcome:`, `Goal:`, `Task:`, `Question:`,
18
+ `Problem:`, `Defect:`, `Bug:`, then `Deliver:`), and otherwise the first
19
+ sentence that is neither worker, workspace or worktree setup prose nor a
20
+ standing rule such as `Edit only …`, `Do not commit.` or `Never …`.
21
+ Missing legacy task text becomes a dim description from the recorded lane and
22
+ pool, such as `build task on codex`.
23
+
24
+ Time is active time. A legacy record that can prove only wall time keeps that
25
+ number in the same dimmed cell; the row never prints `span`. A legacy task's
26
+ start is reconstructed from its recorded finish and duration when the old
27
+ record omitted `startedAt`. Cost is one right-aligned, cents-only cell: `$`
28
+ provider-measured, `≈$` transcript-summed, `~$` estimated, `≥$` a known lower
29
+ bound, `<$0.01` for a positive sub-cent amount, and a dim dash when unknown.
30
+ The row does not spell out API, summed, estimated, unmeasured or unpriced.
31
+
32
+ The page computes one column layout from the active rows and every loaded day,
33
+ then shares it across every section. Loading older days may widen it. Project
34
+ is capped at 18 cells with an ellipsis. The description is elastic and
35
+ contracts first. If it reaches its useful floor, start drops, then kind, then
36
+ project. Status, the eight-cell id slot, time and cost remain at every width;
37
+ 40–260 columns are one line per item with no overflow. At 55 columns the row
38
+ stays one line because keeping interleaving and numeric alignment is more
39
+ useful than a second description line.
40
+
41
+ Day rules always spell out `runs` and `tasks`. When a narrow rule cannot carry
42
+ every fact it drops the money first, then the unpriced count; it never
43
+ abbreviates the nouns to `r` and `t`.
44
+
45
+ The day rule is the only coverage sentence:
46
+
47
+ ```text
48
+ ── Mon 21 Sep ──── 6 runs · 7 tasks · ≥$374.85 · 3 unpriced ──
49
+ ```
50
+
51
+ It sums workflow attempts and standalone tasks. Unknown attempts contribute to
52
+ the unpriced count, while the displayed amount remains the known lower bound.
53
+ Click and Enter resolve through the same row action, and hover reverses only
54
+ the row text. The cursor row is one inverse band: inside it only the status
55
+ glyph keeps its colour, because reverse video paints a coloured cell's text
56
+ colour as its background. Paging, search and active/all filtering are unchanged.
57
+
58
+ Reproducible frames are under `frames/`; run
59
+ `node scripts/render-runs-0.35.4-frames.mjs` to regenerate them from
60
+ `tests/fixtures/home-351` in the pinned Hong Kong timezone.
@@ -0,0 +1,70 @@
1
+ Home Runs Budget Stats Fleet
2
+ bullswarm · runs · all · 6 days · 1–66/79
3
+
4
+ ── active ──────────────────────────────────────────────────────────────────────────────────────────────────────────────
5
+ nothing in flight · bullswarm workflow goal "<goal>" launches one
6
+
7
+ ── Sun 20 Sep ──────────────────────────────────────────────────────────── 6 runs · 24 tasks · ≥$181.26 · 44 unpriced ──
8
+ ✓ 9e481d57 project-a build task on grok task 19m ≈$4.01 15:31
9
+ ✓ 8eebd0ff project-a build task on grok task 15m ≈$5.02 15:15
10
+ ✓ d7f99bde project-a build task on command-code task 12m ~<$0.01 15:15
11
+ ✓ 8b9b1b6f project-a build task on codex task 18m $0.22 15:03
12
+ ✓ 7d432faa project-a analyze task on codex task 23m $0.33 08:33
13
+ ✓ 5453ef44 project-a analyze task on codex task 20m $0.38 08:33
14
+ ✓ f684c5f3 project-b build task on codex task 14m — 06:15
15
+ ✓ 3155fb3c project-a sample task qui consequat et nulla ex amet magna ullamco en… task 24m — 06:04
16
+ ✓ 1e733624 project-b build task on codex task 6m — 06:18
17
+ ✓ 7f320764 project-a build task on codex task 14m — 06:03
18
+ ✓ rensha project-b sample goal for rensha nostrud lorem nostrud mollit labore … 9/9 steps 59m ≥$9.52 05:13
19
+ ✓ 5aab47e2 project-a build task on codex task 4m — 06:04
20
+ ✓ euqrni project-a sample goal for euqrni minim labore magna eiusmod quis labo… 5/5 steps 1h56m ≈$9.76 04:05
21
+ ✓ 21078132 project-a build task on codex task 29m — 04:41
22
+ ✓ 70ea992d project-a build task on codex task 7m — 04:45
23
+ ✓ rw3dhi project-a sample goal for rw3dhi lorem sed sint ipsum lorem laborum m… 7/7 steps 1h38m ≈$16.16 03:04
24
+ ✓ g6d6q2 project-b sample goal for g6d6q2 laborum ex id occaecat consequat ad … 14/14 steps 6h01m ≥$86.79 15:24
25
+ ✓ 677871be project-a build task on codex task 31m — 04:05
26
+ ✓ 0efb3eb7 project-a build task on codex task 17m — 04:05
27
+ ✓ 6118b6db project-a build task on codex task 13m — 04:05
28
+ ✓ va7k9a project-a sample goal for va7k9a proident fugiat fugiat tempor exerci… 8/8 steps 2h46m ≥$15.27 01:18
29
+ ✓ gbnq62 project-a sample goal for gbnq62 officia ut tempor labore cillum amet… 13/13 steps 4h14m ≥$33.80 23:13
30
+ ✓ 91b7d09a project-a build task on codex task 16m — 02:32
31
+ ✓ f6dc2b47 project-a build task on codex task 42m — 02:00
32
+ ✓ ac594979 project-a build task on codex task 18m — 02:21
33
+ ✓ b386c2f5 project-a analyze task on codex task 19m — 01:52
34
+ ✓ ead18bde project-a build task on codex task 34m — 01:16
35
+ ✓ 8f2f2618 project-a build task on codex task 31m — 01:16
36
+ ✓ 13c6f3bc project-a analyze task on codex task 34m — 01:12
37
+ ✓ 52109621 project-a build task on codex task 26m — 01:16
38
+
39
+ ── Sat 19 Sep ─────────────────────────────────────────────────────────────── 2 runs · 7 tasks · ≥$18.26 · 7 unpriced ──
40
+ ✓ qvh8e2 project-a sample goal for qvh8e2 proident irure eiusmod ex mollit exe… 2/2 steps 28m ≈$4.00 23:24
41
+ ✓ c71e896e project-a sample task dolore proident et ex ullamco incididunt labori… task 16m — 20:18
42
+ ✓ 6a4e8085 project-a sample task incididunt adipiscing exercitation task 24m — 19:56
43
+ ✓ a9e254cc project-a sample task aliqua incididunt laboris excepteur task 20m — 19:56
44
+ ✓ — — build task on codex task 19m — 19:25
45
+ ✓ — — build task on codex task 29m — 05:21
46
+ ✓ — — build task on codex task 29m — 04:51
47
+ ✓ 7e4w3i project-a sample goal for 7e4w3i ullamco cillum dolore quis voluptate… 8/8 steps 3h28m ≈$14.25 01:21
48
+ ✓ — — build task on codex task 27m — 01:07
49
+
50
+ ── Fri 18 Sep ───────────────────────────────────────────────────────────── 7 runs · 3 tasks · ≥$110.31 · 43 unpriced ──
51
+ ✓ kresj2 project-c sample goal for kresj2 ipsum proident enim ex sed officia m… 11/11 steps 1h24m ≥$9.61 18:46
52
+ ✓ u9d48s project-a sample goal for u9d48s esse tempor fugiat occaecat deserunt… 23/23 steps 6h41m ≥$57.91 12:47
53
+ ✓ is9aaa project-a sample goal for is9aaa reprehenderit non qui esse sint exce… 9/9 steps 1h06m ≥$2.54 14:09
54
+ ✓ uamgfi project-b sample goal for uamgfi pariatur ullamco pariatur aliqua in … 2/2 steps 34m ≈$2.16 14:09
55
+ ✓ cqxyw2 project-a sample goal for cqxyw2 anim pariatur pariatur tempor anim d… 2/2 steps 4m — 14:12
56
+ ✓ 2yrcxi project-b sample goal for 2yrcxi est nostrud ipsum nulla dolore nulla… 8/8 steps 1h45m ≥$8.02 10:57
57
+ ✓ — — build task on codex task 1h00m — 10:05
58
+ ✗ — — build task on opencode task 0m — 09:45
59
+ ✓ fuyyca project-a sample goal for fuyyca aute non ad id laboris et culpa ut d… 5/5 steps 3h28m ≥$30.06 02:13
60
+ ✗ — — analyze task on opencode task 18m — 01:06
61
+
62
+ ── Thu 17 Sep ───────────────────────────────────────────────────────────────────── 0 runs · 4 tasks · — · 4 unpriced ──
63
+ ✗ — — build task on opencode task 7m — 18:56
64
+ ✓ — — build task on codex task 22m — 11:18
65
+ ✓ — — build task on codex task 24m — 11:09
66
+ ✓ — — build task on codex task 14m — 04:25
67
+
68
+ ── Wed 16 Sep ───────────────────────────────────────────────────────────────────── 0 runs · 3 tasks · — · 3 unpriced ──
69
+ 6 days loaded · older days load as you scroll
70
+ [ ?.help ] [ quit ]
@@ -0,0 +1,70 @@
1
+ Home Runs Budget Stats Fleet
2
+ bullswarm · runs · all · 6 days · 1–66/79
3
+
4
+ ── active ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
5
+ nothing in flight · bullswarm workflow goal "<goal>" launches one
6
+
7
+ ── Sun 20 Sep ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 6 runs · 24 tasks · ≥$181.26 · 44 unpriced ──
8
+ ✓ 9e481d57 project-a build task on grok task 19m ≈$4.01 15:31
9
+ ✓ 8eebd0ff project-a build task on grok task 15m ≈$5.02 15:15
10
+ ✓ d7f99bde project-a build task on command-code task 12m ~<$0.01 15:15
11
+ ✓ 8b9b1b6f project-a build task on codex task 18m $0.22 15:03
12
+ ✓ 7d432faa project-a analyze task on codex task 23m $0.33 08:33
13
+ ✓ 5453ef44 project-a analyze task on codex task 20m $0.38 08:33
14
+ ✓ f684c5f3 project-b build task on codex task 14m — 06:15
15
+ ✓ 3155fb3c project-a sample task qui consequat et nulla ex amet magna ullamco enim cupidatat nulla laborum sit et nostrud commodo nulla tempor excepteur consequ… task 24m — 06:04
16
+ ✓ 1e733624 project-b build task on codex task 6m — 06:18
17
+ ✓ 7f320764 project-a build task on codex task 14m — 06:03
18
+ ✓ rensha project-b sample goal for rensha nostrud lorem nostrud mollit labore labore laboris qui dolore ullamco in ex consequat minim aute ad ipsum anim ea oc… 9/9 steps 59m ≥$9.52 05:13
19
+ ✓ 5aab47e2 project-a build task on codex task 4m — 06:04
20
+ ✓ euqrni project-a sample goal for euqrni minim labore magna eiusmod quis labore elit aute culpa enim dolore laborum excepteur laboris elit commodo culpa exer… 5/5 steps 1h56m ≈$9.76 04:05
21
+ ✓ 21078132 project-a build task on codex task 29m — 04:41
22
+ ✓ 70ea992d project-a build task on codex task 7m — 04:45
23
+ ✓ rw3dhi project-a sample goal for rw3dhi lorem sed sint ipsum lorem laborum mollit magna voluptate amet est culpa amet in officia duis quis in cupidatat exce… 7/7 steps 1h38m ≈$16.16 03:04
24
+ ✓ g6d6q2 project-b sample goal for g6d6q2 laborum ex id occaecat consequat ad elit consequat nulla ut laboris non consequat aliquip duis tempor qui duis ipsum… 14/14 steps 6h01m ≥$86.79 15:24
25
+ ✓ 677871be project-a build task on codex task 31m — 04:05
26
+ ✓ 0efb3eb7 project-a build task on codex task 17m — 04:05
27
+ ✓ 6118b6db project-a build task on codex task 13m — 04:05
28
+ ✓ va7k9a project-a sample goal for va7k9a proident fugiat fugiat tempor exercitation sint aliquip ipsum commodo consectetur minim mollit ex officia laboris ex… 8/8 steps 2h46m ≥$15.27 01:18
29
+ ✓ gbnq62 project-a sample goal for gbnq62 officia ut tempor labore cillum amet officia ea minim id velit lorem laborum occaecat consequat laborum aliqua tempo… 13/13 steps 4h14m ≥$33.80 23:13
30
+ ✓ 91b7d09a project-a build task on codex task 16m — 02:32
31
+ ✓ f6dc2b47 project-a build task on codex task 42m — 02:00
32
+ ✓ ac594979 project-a build task on codex task 18m — 02:21
33
+ ✓ b386c2f5 project-a analyze task on codex task 19m — 01:52
34
+ ✓ ead18bde project-a build task on codex task 34m — 01:16
35
+ ✓ 8f2f2618 project-a build task on codex task 31m — 01:16
36
+ ✓ 13c6f3bc project-a analyze task on codex task 34m — 01:12
37
+ ✓ 52109621 project-a build task on codex task 26m — 01:16
38
+
39
+ ── Sat 19 Sep ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 2 runs · 7 tasks · ≥$18.26 · 7 unpriced ──
40
+ ✓ qvh8e2 project-a sample goal for qvh8e2 proident irure eiusmod ex mollit exercitation magna occaecat laborum minim est labore voluptate nisi irure laboris t… 2/2 steps 28m ≈$4.00 23:24
41
+ ✓ c71e896e project-a sample task dolore proident et ex ullamco incididunt laboris dolore task 16m — 20:18
42
+ ✓ 6a4e8085 project-a sample task incididunt adipiscing exercitation task 24m — 19:56
43
+ ✓ a9e254cc project-a sample task aliqua incididunt laboris excepteur task 20m — 19:56
44
+ ✓ — — build task on codex task 19m — 19:25
45
+ ✓ — — build task on codex task 29m — 05:21
46
+ ✓ — — build task on codex task 29m — 04:51
47
+ ✓ 7e4w3i project-a sample goal for 7e4w3i ullamco cillum dolore quis voluptate dolor irure ut anim tempor ex adipiscing reprehenderit eiusmod ut quis dolor do… 8/8 steps 3h28m ≈$14.25 01:21
48
+ ✓ — — build task on codex task 27m — 01:07
49
+
50
+ ── Fri 18 Sep ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 7 runs · 3 tasks · ≥$110.31 · 43 unpriced ──
51
+ ✓ kresj2 project-c sample goal for kresj2 ipsum proident enim ex sed officia mollit mollit commodo et eiusmod ea deserunt esse anim amet veniam amet ex nisi a… 11/11 steps 1h24m ≥$9.61 18:46
52
+ ✓ u9d48s project-a sample goal for u9d48s esse tempor fugiat occaecat deserunt commodo nostrud mollit est aute elit est qui cupidatat duis mollit ullamco sint… 23/23 steps 6h41m ≥$57.91 12:47
53
+ ✓ is9aaa project-a sample goal for is9aaa reprehenderit non qui esse sint excepteur ut sint consequat fugiat aliquip dolore exercitation laborum culpa minim n… 9/9 steps 1h06m ≥$2.54 14:09
54
+ ✓ uamgfi project-b sample goal for uamgfi pariatur ullamco pariatur aliqua in duis mollit culpa excepteur aliquip sunt duis qui anim enim ut velit quis culpa … 2/2 steps 34m ≈$2.16 14:09
55
+ ✓ cqxyw2 project-a sample goal for cqxyw2 anim pariatur pariatur tempor anim do dolore occaecat laboris commodo minim cillum et id deserunt ipsum consequat in… 2/2 steps 4m — 14:12
56
+ ✓ 2yrcxi project-b sample goal for 2yrcxi est nostrud ipsum nulla dolore nulla est magna proident incididunt dolor commodo esse nisi reprehenderit amet quis v… 8/8 steps 1h45m ≥$8.02 10:57
57
+ ✓ — — build task on codex task 1h00m — 10:05
58
+ ✗ — — build task on opencode task 0m — 09:45
59
+ ✓ fuyyca project-a sample goal for fuyyca aute non ad id laboris et culpa ut dolor mollit dolor veniam non eiusmod magna anim nostrud lorem consectetur exerci… 5/5 steps 3h28m ≥$30.06 02:13
60
+ ✗ — — analyze task on opencode task 18m — 01:06
61
+
62
+ ── Thu 17 Sep ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0 runs · 4 tasks · — · 4 unpriced ──
63
+ ✗ — — build task on opencode task 7m — 18:56
64
+ ✓ — — build task on codex task 22m — 11:18
65
+ ✓ — — build task on codex task 24m — 11:09
66
+ ✓ — — build task on codex task 14m — 04:25
67
+
68
+ ── Wed 16 Sep ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0 runs · 3 tasks · — · 3 unpriced ──
69
+ 6 days loaded · older days load as you scroll
70
+ [ ?.help ] [ quit ]
@@ -0,0 +1,70 @@
1
+ Home Runs Budget Stats Fleet
2
+ bullswarm · runs · all · 6 days · 1–66/79
3
+
4
+ ── active ─────────────────────────────────────────────
5
+ nothing in flight · bullswarm workflow goal "<goal>" …
6
+
7
+ ── Sun 20 Sep ────── 6 runs · 24 tasks · 44 unpriced ──
8
+ ✓ 9e481d57 project-a build task on … 19m ≈$4.01
9
+ ✓ 8eebd0ff project-a build task on … 15m ≈$5.02
10
+ ✓ d7f99bde project-a build task on … 12m ~<$0.01
11
+ ✓ 8b9b1b6f project-a build task on … 18m $0.22
12
+ ✓ 7d432faa project-a analyze task o… 23m $0.33
13
+ ✓ 5453ef44 project-a analyze task o… 20m $0.38
14
+ ✓ f684c5f3 project-b build task on … 14m —
15
+ ✓ 3155fb3c project-a sample task qu… 24m —
16
+ ✓ 1e733624 project-b build task on … 6m —
17
+ ✓ 7f320764 project-a build task on … 14m —
18
+ ✓ rensha project-b sample goal fo… 59m ≥$9.52
19
+ ✓ 5aab47e2 project-a build task on … 4m —
20
+ ✓ euqrni project-a sample goal fo… 1h56m ≈$9.76
21
+ ✓ 21078132 project-a build task on … 29m —
22
+ ✓ 70ea992d project-a build task on … 7m —
23
+ ✓ rw3dhi project-a sample goal fo… 1h38m ≈$16.16
24
+ ✓ g6d6q2 project-b sample goal fo… 6h01m ≥$86.79
25
+ ✓ 677871be project-a build task on … 31m —
26
+ ✓ 0efb3eb7 project-a build task on … 17m —
27
+ ✓ 6118b6db project-a build task on … 13m —
28
+ ✓ va7k9a project-a sample goal fo… 2h46m ≥$15.27
29
+ ✓ gbnq62 project-a sample goal fo… 4h14m ≥$33.80
30
+ ✓ 91b7d09a project-a build task on … 16m —
31
+ ✓ f6dc2b47 project-a build task on … 42m —
32
+ ✓ ac594979 project-a build task on … 18m —
33
+ ✓ b386c2f5 project-a analyze task o… 19m —
34
+ ✓ ead18bde project-a build task on … 34m —
35
+ ✓ 8f2f2618 project-a build task on … 31m —
36
+ ✓ 13c6f3bc project-a analyze task o… 34m —
37
+ ✓ 52109621 project-a build task on … 26m —
38
+
39
+ ── Sat 19 Sep ──────── 2 runs · 7 tasks · 7 unpriced ──
40
+ ✓ qvh8e2 project-a sample goal fo… 28m ≈$4.00
41
+ ✓ c71e896e project-a sample task do… 16m —
42
+ ✓ 6a4e8085 project-a sample task in… 24m —
43
+ ✓ a9e254cc project-a sample task al… 20m —
44
+ ✓ — — build task on … 19m —
45
+ ✓ — — build task on … 29m —
46
+ ✓ — — build task on … 29m —
47
+ ✓ 7e4w3i project-a sample goal fo… 3h28m ≈$14.25
48
+ ✓ — — build task on … 27m —
49
+
50
+ ── Fri 18 Sep ─────── 7 runs · 3 tasks · 43 unpriced ──
51
+ ✓ kresj2 project-c sample goal fo… 1h24m ≥$9.61
52
+ ✓ u9d48s project-a sample goal fo… 6h41m ≥$57.91
53
+ ✓ is9aaa project-a sample goal fo… 1h06m ≥$2.54
54
+ ✓ uamgfi project-b sample goal fo… 34m ≈$2.16
55
+ ✓ cqxyw2 project-a sample goal fo… 4m —
56
+ ✓ 2yrcxi project-b sample goal fo… 1h45m ≥$8.02
57
+ ✓ — — build task on … 1h00m —
58
+ ✗ — — build task on … 0m —
59
+ ✓ fuyyca project-a sample goal fo… 3h28m ≥$30.06
60
+ ✗ — — analyze task o… 18m —
61
+
62
+ ── Thu 17 Sep ──── 0 runs · 4 tasks · — · 4 unpriced ──
63
+ ✗ — — build task on … 7m —
64
+ ✓ — — build task on … 22m —
65
+ ✓ — — build task on … 24m —
66
+ ✓ — — build task on … 14m —
67
+
68
+ ── Wed 16 Sep ──── 0 runs · 3 tasks · — · 3 unpriced ──
69
+ 6 days loaded · older days load as you scroll
70
+ [Top] [End] [?.Help]
@@ -43,8 +43,8 @@ Home · Today · 20 Sep 2026 · top 3 runs (active first)
43
43
  Mon Tue Wed Thu Fri Sat Sun project-b ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 4
44
44
   ~ bars leave 66 unpriced attempts out project-c ▇▇▇▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1
45
45
 
46
- Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unmeasured · sub unknown (no pl…
47
- Busiest project: project-a (10) Favourite model: gpt-5.6-luna Median run: 1h45m
46
+ Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unmeasured · sub unknown (no plan price)
47
+ Busiest project: project-a (10) Favourite model: gpt-5.6-luna Median run: 1h45m
48
48
 
49
49
  Your 15 runs in this period recorded at least $299.87 api · 66 unmeasured of API-equivalent work
50
50
 
@@ -1,5 +1,5 @@
1
1
  Home Runs Budget Stats Fleet
2
- bullswarm · home · 1–57/86
2
+ bullswarm · home · 1–57/88
3
3
  Home · Today · 20 Sep · top 3 runs (active first)
4
4
  ┌─ sample goal for rensha nostrud lorem nostrud moll…─┐
5
5
  │ project-b · completed · verified │
@@ -14,15 +14,15 @@
14
14
  ── timeline · 5 phases · 5 attempts · Enter on a step opens it ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
15
15
  ── Preflight ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
16
16
  04:05 ● goal accepted · goal.json
17
- ── ✓ 1 · home-extraction ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
17
+ ── ✓ Phase 1 · Mechanical · home-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
18
18
  04:05 ✓ home-extraction · codex · gpt-5.6-luna · low 28m25s
19
- ── ✓ 2 · runs-extraction ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
19
+ ── ✓ Phase 2 · Mechanical · runs-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
20
20
  04:34 ✓ runs-extraction · codex · gpt-5.6-luna · low 30m32s
21
- ── ✓ 3 · run-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
21
+ ── ✓ Phase 3 · Mechanical · run-extraction ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
22
22
  05:04 ✓ run-extraction · codex · gpt-5.6-luna · low 31m52s
23
- ── ✓ 4 · integrate ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:36 → 05:41 · 4m38s · 1/1
23
+ ── ✓ Phase 4 · Integrate · integrate ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:36 → 05:41 · 4m38s · 1/1
24
24
  05:36 ✓ integrate · codex · gpt-5.6-sol · high 4m38s
25
- ── ✓ 5 · verify ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:41 → 06:01 · 20m27s · 1/1
25
+ ── ✓ Phase 5 · Verify · verify ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:41 → 06:01 · 20m27s · 1/1
26
26
  05:41 ✓ verify · claude-code · claude-opus-5 · high 20m27s
27
27
 
28
28
 
@@ -19,19 +19,19 @@
19
19
  ── timeline · 5 phases · 5 attempts ───────────────────
20
20
  ── Preflight
21
21
  04:05 ● goal accepted · goal.json
22
- ── ✓ 1 · home-extraction
22
+ ── ✓ Phase 1 · Mechanical · home-extraction
23
23
  04:05 → 04:34 · 28m25s · 1/1
24
24
  04:05 ✓ home-extraction · codex 28m25s
25
- ── ✓ 2 · runs-extraction
25
+ ── ✓ Phase 2 · Mechanical · runs-extraction
26
26
  04:34 → 05:04 · 30m32s · 1/1
27
27
  04:34 ✓ runs-extraction · codex 30m32s
28
- ── ✓ 3 · run-extraction
28
+ ── ✓ Phase 3 · Mechanical · run-extraction
29
29
  05:04 → 05:36 · 31m52s · 1/1
30
30
  05:04 ✓ run-extraction · codex 31m52s
31
- ── ✓ 4 · integrate
31
+ ── ✓ Phase 4 · Integrate · integrate
32
32
  05:36 → 05:41 · 4m38s · 1/1
33
33
  05:36 ✓ integrate · codex 4m38s
34
- ── ✓ 5 · verify
34
+ ── ✓ Phase 5 · Verify · verify
35
35
  05:41 → 06:01 · 20m27s · 1/1
36
36
  05:41 ✓ verify · claude-code 20m27s
37
37
 
@@ -14,15 +14,15 @@
14
14
  ── timeline · 5 phases · 4 attempts · Enter on a step opens it ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
15
15
  ── Preflight ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
16
16
  04:05 ● goal accepted · goal.json
17
- ── ✓ 1 · home-extraction ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
17
+ ── ✓ Phase 1 · Mechanical · home-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
18
18
  04:05 ✓ home-extraction · codex · gpt-5.6-luna · low 28m25s
19
- ── ✓ 2 · runs-extraction ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
19
+ ── ✓ Phase 2 · Mechanical · runs-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
20
20
  04:34 ✓ runs-extraction · codex · gpt-5.6-luna · low 30m32s
21
- ── ✓ 3 · run-extraction ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
21
+ ── ✓ Phase 3 · Mechanical · run-extraction ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
22
22
  05:04 ✓ run-extraction · codex · gpt-5.6-luna · low 31m52s
23
- ── ▶ 4 · integrate ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:36 → now · 2m19s · 0/1
23
+ ── ▶ Phase 4 · Integrate · integrate ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 05:36 → now · 2m19s · 0/1
24
24
  05:36 ▶ integrate · codex · gpt-5.6-sol · high · running 2m19s
25
- ── ○ 5 · verify ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── — → — · — · 0/1
25
+ ── ○ Phase 5 · Verify · verify ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── — → — · — · 0/1
26
26
 
27
27
 
28
28
 
@@ -20,19 +20,19 @@
20
20
  ── timeline · 5 phases · 4 attempts ───────────────────
21
21
  ── Preflight
22
22
  04:05 ● goal accepted · goal.json
23
- ── ✓ 1 · home-extraction
23
+ ── ✓ Phase 1 · Mechanical · home-extraction
24
24
  04:05 → 04:34 · 28m25s · 1/1
25
25
  04:05 ✓ home-extraction · codex 28m25s
26
- ── ✓ 2 · runs-extraction
26
+ ── ✓ Phase 2 · Mechanical · runs-extraction
27
27
  04:34 → 05:04 · 30m32s · 1/1
28
28
  04:34 ✓ runs-extraction · codex 30m32s
29
- ── ✓ 3 · run-extraction
29
+ ── ✓ Phase 3 · Mechanical · run-extraction
30
30
  05:04 → 05:36 · 31m52s · 1/1
31
31
  05:04 ✓ run-extraction · codex 31m52s
32
- ── ▶ 4 · integrate
32
+ ── ▶ Phase 4 · Integrate · integrate
33
33
  05:36 → now · 2m19s · 0/1
34
34
  05:36 ▶ integrate · codex · running 2m19s
35
- ── ○ 5 · verify
35
+ ── ○ Phase 5 · Verify · verify
36
36
  — → — · — · 0/1
37
37
 
38
38
 
@@ -16,9 +16,9 @@
16
16
  │ excepteur consequat ad ipsum deserunt labore irure do consequat…
17
17
  │
18
18
  │ ── cost ─────────────────────────────────────────────────────────
19
- │ API rate — no recorded rate
20
- │ codex plan — no meter reading for this attempt
21
-
19
+ │ API rate — no-rate-card
20
+ │ codex plan — no API cost to price
21
+ │ $100/mo · weekly window
22
22
 
23
23
 
24
24
 
@@ -18,8 +18,8 @@
18
18
  commodo nulla tempor excepteur consequat ad ipsum…
19
19
 
20
20
  ── cost ───────────────────────────────────────────────
21
- API rate — no recorded rate
22
- codex plan — no meter reading
21
+ API rate — no-rate-card
22
+ codex plan — no API cost · $100/mo weekly
23
23
 
24
24
 
25
25
 
@@ -43,8 +43,9 @@ Home · Today · 20 Sep 2026 · top 3 runs (active first)
43
43
  Mon Tue Wed Thu Fri Sat Sun project-b ▇▇▇▇▇▇▇▇▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░ 4
44
44
  ~ bars leave 66 unpriced attempts out project-c ▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1
45
45
 
46
- Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unme…
47
- Busiest project: project-a (10) Favourite model: gpt-5.6-luna Median run: 1h45m
46
+ Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unmeasured
47
+ Busiest project: project-a (10) Favourite model: gpt-5.6-luna sub unknown (no plan price)
48
+ Median run: 1h45m
48
49
 
49
50
  Your 15 runs in this period recorded at least $299.87 api · 66 unmeasured of API-equivalent work
50
51
 
@@ -56,5 +57,4 @@ Home · Today · 20 Sep 2026 · top 3 runs (active first)
56
57
  ✓ va7k9a project-a · sample goal for va7k9a proident fugi… 2h46m · at least $15.27 api · 6 unmeasured … 15h56m ago
57
58
 
58
59
 
59
-
60
60
  [ ?.help ] [ quit ]
@@ -43,8 +43,8 @@ Home · Today · 20 Sep 2026 · top 3 runs (active first)
43
43
  Mon Tue Wed Thu Fri Sat Sun project-b ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 4
44
44
  ~ bars leave 66 unpriced attempts out project-c ▇▇▇▇▇░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1
45
45
 
46
- Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unmeasured · sub unknown (no pl…
47
- Busiest project: project-a (10) Favourite model: gpt-5.6-luna Median run: 1h45m
46
+ Workflows: 15 · verified 10 (67%) Favourite pool: codex Spent: at least $299.87 api · 66 unmeasured · sub unknown (no plan price)
47
+ Busiest project: project-a (10) Favourite model: gpt-5.6-luna Median run: 1h45m
48
48
 
49
49
  Your 15 runs in this period recorded at least $299.87 api · 66 unmeasured of API-equivalent work
50
50
 
@@ -1,5 +1,5 @@
1
1
  Home Runs Budget Stats Fleet
2
- bullswarm · home · 1–57/86
2
+ bullswarm · home · 1–57/88
3
3
  Home · Today · 20 Sep · top 3 runs (active first)
4
4
  ┌─ sample goal for rensha nostrud lorem nostrud moll…─┐
5
5
  │ project-b · completed · verified │
@@ -14,15 +14,15 @@
14
14
  ── timeline · 5 phases · 5 attempts · Enter on a step opens it ─────────────────────────────────────────────────────────
15
15
  ── Preflight ───────────────────────────────────────────────────────────────────────────────────────────────────────────
16
16
  04:05 ● goal accepted · goal.json
17
- ── ✓ 1 · home-extraction ────────────────────────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
17
+ ── ✓ Phase 1 · Mechanical · home-extraction ─────────────────────────────────────────────── 04:05 → 04:34 · 28m25s · 1/1
18
18
  04:05 ✓ home-extraction · codex · gpt-5.6-luna · low 28m25s
19
- ── ✓ 2 · runs-extraction ────────────────────────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
19
+ ── ✓ Phase 2 · Mechanical · runs-extraction ─────────────────────────────────────────────── 04:34 → 05:04 · 30m32s · 1/1
20
20
  04:34 ✓ runs-extraction · codex · gpt-5.6-luna · low 30m32s
21
- ── ✓ 3 · run-extraction ─────────────────────────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
21
+ ── ✓ Phase 3 · Mechanical · run-extraction ──────────────────────────────────────────────── 05:04 → 05:36 · 31m52s · 1/1
22
22
  05:04 ✓ run-extraction · codex · gpt-5.6-luna · low 31m52s
23
- ── ✓ 4 · integrate ───────────────────────────────────────────────────────────────────────── 05:36 → 05:41 · 4m38s · 1/1
23
+ ── ✓ Phase 4 · Integrate · integrate ─────────────────────────────────────────────────────── 05:36 → 05:41 · 4m38s · 1/1
24
24
  05:36 ✓ integrate · codex · gpt-5.6-sol · high 4m38s
25
- ── ✓ 5 · verify ─────────────────────────────────────────────────────────────────────────── 05:41 → 06:01 · 20m27s · 1/1
25
+ ── ✓ Phase 5 · Verify · verify ──────────────────────────────────────────────────────────── 05:41 → 06:01 · 20m27s · 1/1
26
26
  05:41 ✓ verify · claude-code · claude-opus-5 · high 20m27s
27
27
 
28
28