bullswarm 0.38.6 → 0.38.7

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/AGENTS.md CHANGED
@@ -57,6 +57,9 @@ before doing anything. Their readers and stored formats are unchanged.
57
57
  price, not a spent or dead pool: the pool stays pickable with its other
58
58
  models, and the record ends when the subscription changes or the operator
59
59
  turns the model back on (`src/lib/strategy.js`).
60
+ A pool whose latest meter reading is a sign-in failure (a 401, or a 403
61
+ its provider calls an auth error) is out of picks until a later reading
62
+ succeeds; it is that latest reading, not a remembered state.
60
63
  Recursion depth is core-owned via env (`BULLSWARM_DEPTH`).
61
64
  5. Workflow dispatches honor the same guarantees as single runs, in
62
65
  `src/workflow/v2-dispatch.js`: `BULLSWARM_DEPTH` is checked and propagated
@@ -67,7 +70,12 @@ before doing anything. Their readers and stored formats are unchanged.
67
70
  only and never stored. A step's `route`, the run's pin and the step's
68
71
  capability tier are hard filters applied before pace ranks what is left. The failure rule is one automatic retry per step (a
69
72
  process failure on another eligible pool, a gate failure on the same pool
70
- with the failure attached), then the caller. An `act` step is never retried
73
+ with the failure attached), then the caller. A refusal at start (a sign-in
74
+ failure or a model the plan does not include, before any file change or
75
+ tool call) is picked again at once and does not use the step's one retry,
76
+ at most 3 times per step, only for an analyze, build or chore step with a
77
+ retry (never an `act` or `outward` step, nor one with `retry: 0`).
78
+ An `act` step is never retried
71
79
  once its worker started. A usage limit (a spent 5-hour or weekly window, or
72
80
  no credit left) ends the step and sends it to the caller: no wait, no
73
81
  automatic move, no retry. The pool's meter is re-read after it
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.38.7 — honest reviews by default; dead sign-ins and instant refusals no longer cost a retry
6
+
7
+ - pick: a pool whose latest meter read was refused for its sign-in (HTTP 401, or a 403 its provider calls an auth error) is out of the pick with the reason `sign-in failed (meter read 401)`, however old its cached numbers are, and `bullswarm pools` and the strategy preview show it as not ready (no tier's route). Nothing is remembered beyond that reading: when its hold ends the next pick reads again, and a successful read makes the pool pickable. A 429 or a network error on the meter read changes nothing.
8
+ - retry: a refusal at start (failure kind `auth` or `model-not-in-plan` with no file changed and no tool call) is picked again at once and does not use the step's one automatic retry: a dead sign-in skips that credential's pools, a model the plan does not include lets the same pool run another model of the tier. At most 3 such re-picks per step, counted from its stored attempts so a resume does not reset them; only for an analyze, build or chore step with a retry, never an `act` or `outward` step; any tool-call record in the stream counts as work whatever its name (a codex `mcp_tool_call`, any Claude Code tool, MCP tools included), an empty stream is no work, and a missing or unreadable one is not a refusal; the needs-you try line and the step page read `refused at start: sign-in failed · picked again`.
9
+ - guidance: a review is now placed by quota like any step, kept honest by `blindTo` and numbered checks; `route.independentOf` is documented as an opt-in for when you want another provider (which may still serve the same model). Examples in the skill, the docs and `plan contract` no longer use it. No behaviour change.
10
+
5
11
  ## 0.38.6 — no import cycles
6
12
 
7
13
  - internal: no module under `src/` imports itself back through its imports any more (13 import cycles removed by moving four small helpers into their own files; `reprice`'s command-line part is now `src/workflow/reprice-cli.js`). Behaviour is unchanged; a new test fails if a cycle comes back.