LANES: the swarm's width, and whether the width is working - #1043
Merged
Merged
Conversation
groups.triByAgent got its '-' bucket only when some tri command had no agent, so the day every command gained one the key vanished and qa/tools-spec-contract read undefined where it asks for a list -- the same shape the contract's own message promises, "unbound under '-'". This is the second time today the same class of bug surfaced in this file: a structure that held only while the data had a particular property, and broke when the property went away. "Nothing is unbound" is a fact worth stating, so the bucket is always there and empty when it is empty. Группа '-' создавалась, только если существовали команды без агента. Как только агент появился у всех, ключ исчез, и контракт получил undefined там, где просил список. Теперь группа есть всегда и пуста, когда пуста. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
On 2026-09-17 the swarm reached 100% utilisation for the first time and produced nothing. Ten lanes were busy; every turn ended refused in zero seconds, because all five provider keys answered HTTP 429. A lane held by a refusal looks exactly like a lane doing work, so the headline number lied. The view prints utilisation beside the evidence for whether it is work — a turn refused in under a second never reached the provider — and states the lane law: capacity is live keys times lanes per key, and a worker ceiling cannot conjure a lane a key does not pay for. It also states how a player widens the swarm and how XP is earned for it: per turn that reached a branch, never per dispatch, because paying per dispatch would pay best when the swarm is most broken. No field accepts a provider key and none ever will; this is a public static page. The contributor board, per-key health and the XP ledger have no endpoint yet. Per the contract in queenHud.ts they are named as missing, with the shape the endpoint would carry, rather than invented. Co-Authored-By: Claude Code <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
On 2026-09-17 the swarm reached 100% utilisation for the first time — and produced zero branches. Ten lanes were busy; every turn ended
refusedin zero seconds, because all five provider keys answeredHTTP 429(z.ai code 1302, "Rate limit reached"). A lane held by a refusal looks exactly like a lane doing work, so the headline number lied for the better part of an hour.A fourteenth view, on the letter
l.What it shows
/queen/status, which already sendsworkers(theQueenStatusinterface simply never named the field; it does now).capacity = live keys × lanes per key. The worker ceiling is only a ceiling: it cannot conjure a lane a key does not pay for.What it refuses to do
No field accepts a provider key, and none ever will. This is a public static page; a secret typed into it is a secret published. The repository already asserts this in
.env.example.queen("a provider key must never appear here") and the view says it in both languages.The contributor board, per-key health and the XP ledger need an endpoint that does not exist:
Following the contract stated at the top of
queenHud.ts— "if a panel needs a number that is not derivable from these types, the number does not exist yet and the panel must say so rather than invent it" — those panels name what is missing instead of rendering a placeholder leaderboard.Checks
tsc --noEmitqa/agents-spec-contract.mjs1234567890tprlcheck:queen-languagesvite buildcheck:queen-honestyNot visually verified: a dev server could not be started from this session, so the view is confirmed by typecheck, the tab contract and a production build, not by a screenshot.
🤖 Generated with Claude Code