bullswarm 0.28.6 → 0.28.8

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 CHANGED
@@ -1,5 +1,44 @@
1
1
  # bullswarm changelog
2
2
 
3
+ ## 0.28.8 — a README for visitors and a documentation site
4
+
5
+ - docs: README rewritten for external visitors landing on the GitHub page —
6
+ pitch, why it exists, install, quick start, how routing picks a pool, and
7
+ what a run gives back — with the detailed reference material moved to a
8
+ GitHub Pages site under `docs/`: `guide/entry-points`, `guide/doctrine`,
9
+ `guide/getting-started`, `guide/strategy`, `guide/workflows`,
10
+ `guide/operations`, `guide/dashboard`, `guide/repository-operations`, and
11
+ `guide/routing`. Terms a newcomer would trip on (pool, lane, kernel,
12
+ envelope, rung) are defined on first use; the 5-hour gate is documented as
13
+ clock-relative. The site needs the repository owner to enable Pages
14
+ (Settings → Pages → deploy from branch `main`, folder `/docs`) before
15
+ `https://cowcow02.github.io/bullswarm/` serves it; until then the same pages
16
+ are readable directly under `docs/guide/` in the repository.
17
+
18
+ ## 0.28.7 — pools about to reset spend their leftover first
19
+
20
+ - routing: quota that expires sooner is worth more. A pool whose pacing window
21
+ resets within 24 hours (weekly) or 3 days (monthly) is now ranked on urgency
22
+ — its effective surplus divided by the fraction of the window still to run —
23
+ ahead of every pool whose window is not about to close, instead of on the
24
+ surplus alone. At 2026-09-11 12:26 HKT the medium lane went to
25
+ `claude-code:wati` (+22.9 points, 13h33m and 8.1% of its week left) over
26
+ `grok` (+13.8 points, 2h02m and 1.2% left, urgency ~1150 against wati's
27
+ ~283), and grok's points expired unspent two hours later; the owner had been
28
+ pinning grok by hand for such runs. Three states for an expiring pool:
29
+ `urgent` (surplus still to spend and a pacing forecast — the reading plus
30
+ in-flight work plus this candidate, each clipped at the reset — below 95%,
31
+ with 5 points of extra headroom demanded when no spend rate was measured),
32
+ which outranks incumbency and a configured effort assignment but never a
33
+ strict pin or the 5-hour rules; `draining` (forecast at/above 95%), ranked
34
+ behind every normal pool so a window about to be emptied is not fed one more
35
+ run; and `normal` (on or ahead of pace), ranked exactly as today. A pool with
36
+ no parsable `paceResetsAt`, a reset already past, or any other window is
37
+ never expiring soon and nothing about it changes. `bullswarm pools` ends an
38
+ expiring pool's line with `resets in 2h02m EXPIRING-SOON urgency=1150`, and
39
+ each routing candidate row carries `paceResetsInMinutes`, `expiringSoon`,
40
+ `urgency`, `forecastPacingPct` and `urgencyState`.
41
+
3
42
  ## 0.28.6 — the 5-hour near-limit line reads the clock
4
43
 
5
44
  - routing: the 5-hour near-limit line is now clock-relative. A pool is