feat(queen): faces on the leaderboard, a way in on the roadmap, and rules that stopped being true - #1132
Merged
Conversation
The connection to GitHub is direct - the issues, the branches and the pull requests a bee opens all live there - so a lane signed `@login` in TRIOS_KEY_OWNERS now draws that person's avatar and links their profile. A leaderboard of faces is an invitation; a leaderboard of `key #7` is a log. The avatar is `github.com/<login>.png`, a public redirect: no API call, no token, no rate limit, and a 404 leaves the row readable. The login is checked AGAIN here rather than trusted from the wire, because it ends up in an href and an img src, and a page that trusts a remote string to build a profile link can be pointed at somebody else's account by whoever writes that string. Also fixes the row on a phone: the three numbers now ride in one box, so "Accepted" and "Bee hours" can no longer land on top of each other when the row wraps (seen at 440 px on the live board). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The tab said how far the rewrite has to go and never said that anyone could push it. A measurement is not a reason for a stranger to stay. So the count of OPEN port issues is now a button that opens the real GitHub search - not a page about the project, the issues themselves - and the text says the two things a newcomer does not know: that the work is cut into one file per issue, and that they need neither permission nor prior .t27 to take one. Underneath, the other way in for someone with no time to write code: lend the swarm a lane and its work earns XP. The number costs no extra request. It is the same stage-progress search the bars already make, read as `all - done`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`onboarding.t27` is the rules of the game as a machine can read them - it
compiles, its test blocks are evaluated, and only then is it published at
t27.ai/llms.txt and t27.ai/agents.t27. One of its stated unknowns was:
"what a contribution is worth: there is no reward, no token and no
ranking, and inventing one would break the honesty law above"
That stopped being true on 2026-09-23, when lanes started earning XP and the
LEADERBOARD tab shipped. Under a law that says a claim which cannot be traced
to a source is removed, a claim contradicted by the thing we just built cannot
be left standing.
So the ranking is now stated where it can be checked: the two addresses, the
two numbers (100 per accepted issue, 10 per bee hour), how it is derived, and -
in the same breath - that it buys nothing and converts to nothing. The stated
unknown becomes the honest remainder: what a contribution is worth in anything
but the record of it.
A seventh way in joins the six: a person who would rather lend than write can
lend one provider key, which runs one bee. The pair that could quietly rot is
tested together - a ranking arrived, and the rule against asking a reader for a
credential did not move. An agent that hands over its owner's key because a
file it read mentioned XP has done the one thing this document tells it not to.
10 test blocks, 54 asserts, all hold.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The LEADERBOARD tab invites people to lend a lane and nothing anywhere told them how. This is that missing page: what the game is, the two ways in, the board tab by tab, the seven laws, and where a free provider key comes from. The part that took the research is the fourth column of the provider table. The invitation "lend us your API key" runs into provider terms that forbid exactly that, and the post says so with names: Cerebras, Mistral, Fireworks and Moonshot bar transferring a key in those words; NVIDIA's trial terms bar production use and bar making the service available to others; Groq bars orchestrating usage between organisations. OpenRouter is the one whose terms do not stand in the way. Checked live on 2026-09-23 - and the same read found that GitHub Models was retired on 2026-07-30 and that Cerebras and Together have dropped their free tiers, so most advice on the web about this is stale. Saying that costs us the simplest version of the pitch. Publishing the simple version instead would be asking strangers to breach an agreement they signed, on our behalf, without telling them - which is not a thing this project gets to do under its own honesty law. The roadmap's "how to join" link now points here instead of at a file that does not exist, and two var() fallbacks that named colours no token declares are corrected (the fallback-parity gate caught them). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…words
The first draft said "some providers forbid sharing a key". A second read of
the actual agreements says something much harder, and quoting them is the only
honest version:
OpenAI - "buy, sell, or transfer API keys from, to, or with a third party"
Anthropic - "You may not share your Account login information, Anthropic API
key, or Account credentials with anyone else"
Google - "Developer credentials may not be embedded in open source projects"
and separately, no sublicensing an API to a third party
There is no carve-out for non-commercial or charitable use. Three consequences
follow and the post now names them: a key is not scoped to inference (it can
revoke itself and mint new keys, so whoever holds it holds the account), every
clause puts responsibility for all activity on the account holder, and pooling
keys for throughput is itself forbidden - per-account rate limits are the point,
not an accident.
The post therefore leads with the design that asks nobody to breach anything:
the key never moves, the swarm hands out the task, the bee runs on the
contributor's own machine under their own account, and the patch comes back.
That is how AI Horde and BOINC have always worked. It is not built here, and
the post says so rather than implying it exists.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
github-actions Bot
added a commit
that referenced
this pull request
Sep 23, 2026
feat(queen): faces on the leaderboard, a way in on the roadmap, and rules that stopped being true (#1132) * feat(queen): the leaderboard shows the GitHub people behind the lanes The connection to GitHub is direct - the issues, the branches and the pull requests a bee opens all live there - so a lane signed `@login` in TRIOS_KEY_OWNERS now draws that person's avatar and links their profile. A leaderboard of faces is an invitation; a leaderboard of `key #7` is a log. The avatar is `github.com/<login>.png`, a public redirect: no API call, no token, no rate limit, and a 404 leaves the row readable. The login is checked AGAIN here rather than trusted from the wire, because it ends up in an href and an img src, and a page that trusts a remote string to build a profile link can be pointed at somebody else's account by whoever writes that string. Also fixes the row on a phone: the three numbers now ride in one box, so "Accepted" and "Bee hours" can no longer land on top of each other when the row wraps (seen at 440 px on the live board). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * feat(queen): the roadmap asks people in, not just counts The tab said how far the rewrite has to go and never said that anyone could push it. A measurement is not a reason for a stranger to stay. So the count of OPEN port issues is now a button that opens the real GitHub search - not a page about the project, the issues themselves - and the text says the two things a newcomer does not know: that the work is cut into one file per issue, and that they need neither permission nor prior .t27 to take one. Underneath, the other way in for someone with no time to write code: lend the swarm a lane and its work earns XP. The number costs no extra request. It is the same stage-progress search the bars already make, read as `all - done`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(specs): the rules said there was no ranking, and now there is one `onboarding.t27` is the rules of the game as a machine can read them - it compiles, its test blocks are evaluated, and only then is it published at t27.ai/llms.txt and t27.ai/agents.t27. One of its stated unknowns was: "what a contribution is worth: there is no reward, no token and no ranking, and inventing one would break the honesty law above" That stopped being true on 2026-09-23, when lanes started earning XP and the LEADERBOARD tab shipped. Under a law that says a claim which cannot be traced to a source is removed, a claim contradicted by the thing we just built cannot be left standing. So the ranking is now stated where it can be checked: the two addresses, the two numbers (100 per accepted issue, 10 per bee hour), how it is derived, and - in the same breath - that it buys nothing and converts to nothing. The stated unknown becomes the honest remainder: what a contribution is worth in anything but the record of it. A seventh way in joins the six: a person who would rather lend than write can lend one provider key, which runs one bee. The pair that could quietly rot is tested together - a ranking arrived, and the rule against asking a reader for a credential did not move. An agent that hands over its owner's key because a file it read mentioned XP has done the one thing this document tells it not to. 10 test blocks, 54 asserts, all hold. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs(blog): how to join the swarm, in both languages The LEADERBOARD tab invites people to lend a lane and nothing anywhere told them how. This is that missing page: what the game is, the two ways in, the board tab by tab, the seven laws, and where a free provider key comes from. The part that took the research is the fourth column of the provider table. The invitation "lend us your API key" runs into provider terms that forbid exactly that, and the post says so with names: Cerebras, Mistral, Fireworks and Moonshot bar transferring a key in those words; NVIDIA's trial terms bar production use and bar making the service available to others; Groq bars orchestrating usage between organisations. OpenRouter is the one whose terms do not stand in the way. Checked live on 2026-09-23 - and the same read found that GitHub Models was retired on 2026-07-30 and that Cerebras and Together have dropped their free tiers, so most advice on the web about this is stale. Saying that costs us the simplest version of the pitch. Publishing the simple version instead would be asking strangers to breach an agreement they signed, on our behalf, without telling them - which is not a thing this project gets to do under its own honesty law. The roadmap's "how to join" link now points here instead of at a file that does not exist, and two var() fallbacks that named colours no token declares are corrected (the fallback-parity gate caught them). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * docs(blog): state what the provider terms actually say, in their own words The first draft said "some providers forbid sharing a key". A second read of the actual agreements says something much harder, and quoting them is the only honest version: OpenAI - "buy, sell, or transfer API keys from, to, or with a third party" Anthropic - "You may not share your Account login information, Anthropic API key, or Account credentials with anyone else" Google - "Developer credentials may not be embedded in open source projects" and separately, no sublicensing an API to a third party There is no carve-out for non-commercial or charitable use. Three consequences follow and the post now names them: a key is not scoped to inference (it can revoke itself and mint new keys, so whoever holds it holds the account), every clause puts responsibility for all activity on the account holder, and pooling keys for throughput is itself forbidden - per-account rate limits are the point, not an accident. The post therefore leads with the design that asks nobody to breach anything: the key never moves, the swarm hands out the task, the bee runs on the contributor's own machine under their own account, and the patch comes back. That is how AI Horde and BOINC have always worked. It is not built here, and the post says so rather than implying it exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <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.
Three changes that answer one complaint: the board measured the game and never invited anyone into it.
The leaderboard shows people, not lane numbers
A lane signed
@logininTRIOS_KEY_OWNERSnow draws that person's GitHub avatar and links their profile. The connection is direct — the issues, the branches and the pull requests a bee opens all live on GitHub — so a leaderboard of faces is an invitation where a leaderboard ofkey #7was a log.The avatar is
github.com/<login>.png, a public redirect: no API call, no token, no rate limit, and a 404 leaves the row readable. The login is validated twice — once on the server, once again on the page — because it ends up in anhrefand an<img src>, and a page that trusts a remote string to build a profile link can be pointed at somebody else's account.@alex/../torvalds,@alex.png,mail@example.comand a 40-character handle are each refused by name in a test.This also fixes a real defect seen at 440 px on the live board: "Accepted" and "Bee hours" landed on top of each other. The three numbers now ride in one box.
The roadmap asks people in
The tab said how far the rewrite has to go and never said that anyone could push it. A measurement is not a reason for a stranger to stay.
The count of open port issues is now a button that opens the real GitHub search — the issues themselves, not a page about the project — and the text says the two things a newcomer does not know: that the work is cut into one file per issue, and that they need neither permission nor prior
.t27to take one. The number costs no extra request; it is the stage-progress search the bars already make, read asall - done.The rules said there was no ranking
specs/catalog/onboarding.t27is the rules of the game as a machine reads them: it compiles, its test blocks are evaluated, and only then is it published att27.ai/llms.txtandt27.ai/agents.t27. One of its stated unknowns was:That stopped being true when LEADERBOARD shipped. Under a law that removes any claim which cannot be traced to a source, a claim contradicted by the thing we just built cannot be left standing.
The ranking is now stated where it can be checked — both addresses, both numbers, how it is derived — and in the same breath, that it buys nothing and converts to nothing. A seventh way in joins the six: a person who would rather lend than write can lend one provider key, which runs one bee. The pair that could quietly rot is tested together: a ranking arrived, and the rule against asking a reader for a credential did not move.
The tutorial
The LEADERBOARD tab invites people to lend a lane and nothing anywhere told them how.
how-to-join-the-swarmis that missing page, in English and Russian: the game, the two ways in, the board tab by tab, the seven laws, and where a free provider key comes from.The research behind its provider table is the part worth reading. The invitation runs into agreements that forbid it in explicit words — OpenAI bars transferring API keys, Anthropic names the API key directly, Google says credentials "may not be embedded in open source projects" — with no carve-out for non-commercial use. So the post leads with the design that asks nobody to breach anything: the key never moves and the bee runs on the contributor's own machine, the way AI Horde and BOINC work. That is named as missing here rather than implied as available.
Checks
qa/queen-contrast-contract.mjs— 24 pairs over a lit and a dark field, worst 5.39:1.qa/tri-identity-contract.mjs— 669 checks.qa/queen-language-contract.mjs— 375 EN / 375 RU.scripts/onboarding-from-spec.mjs— 10 test blocks, 54 asserts, all hold; 7 join steps published.npm run typecheck:ratchet— no file gained errors (179 baseline).Server side: gHashTag/BrowserOS#511.
{ "version": 1, "head_sha": "f22bf5d35b58c14f4f226578707bf162259ca70c", "summary": "The leaderboard draws the GitHub people behind the lanes, the roadmap turns its open-issue count into a way in, and the machine-readable rules stop claiming there is no ranking now that XP exists.", "changes": [ "Draw a lane holder's GitHub avatar and link their profile when the operator signed the lane as an at-login", "Validate the login again on the page rather than trusting the wire, because it becomes an href and an image source", "Put the three leaderboard numbers in one box so they cannot overlap when a row wraps on a phone", "Turn the roadmap's count of open port issues into a button that opens the real GitHub search", "Say on the roadmap that the work is one file per issue and needs neither permission nor prior t27", "Correct the onboarding spec, which stated there was no reward, no token and no ranking", "State the XP rule, both addresses and the fact that XP buys nothing, where the spec's own tests check it", "Add a seventh way in for a person who would rather lend a provider key than write code", "Publish a bilingual tutorial that explains the game, every tab of the board, the seven laws and both ways in", "State in that tutorial what each provider agreement actually says about handing a key to somebody else, quoting it" ], "tests": [ { "command": "node scripts/onboarding-from-spec.mjs", "result": "the spec compiles and publishes; 10 test blocks, 54 asserts, all hold, 7 join steps", "status": "passed", "evidence": "The generator refuses to publish unless every test block in the spec evaluates true." }, { "command": "node --experimental-strip-types qa/queen-contrast-contract.mjs", "result": "24 pairs measured over a lit and a dark field, worst 5.39 to 1, 28 stylesheets walked", "status": "passed", "evidence": "The new roadmap invitation panel is grounded on the veil and measured with the rest." }, { "command": "node --experimental-strip-types qa/queen-language-contract.mjs", "result": "Queen language contract PASS with 375 English keys and 375 Russian keys", "status": "passed", "evidence": "Every new string on the roadmap is written in both languages and the counts stay balanced." }, { "command": "npm run typecheck:ratchet", "result": "179 errors across 26 files against a baseline of 179; no file gained type errors", "status": "passed", "evidence": "Ratchet output on this branch." } ], "limitations": [ "A face appears only where the operator wrote an at-login in TRIOS_KEY_OWNERS; until a person can submit their own key there is no self-service way onto the board", "The roadmap's open count comes from the first stage that carries a progress query, so it understates the work available across the other seven stages" ], "tags": [ "queen", "leaderboard", "onboarding" ], "blog": { "title": "A board that measured the game but never invited anyone in", "summary": "The leaderboard now shows the GitHub people behind the lanes, the roadmap turns its own count into a way in, and the machine-readable rules were corrected where shipping XP had made them false.", "outline": [ "A leaderboard of key numbers is a log; a leaderboard of faces is an invitation, and the connection to GitHub was there all along.", "The login is checked twice because it becomes a profile link, and a page that trusts a remote string can be pointed at a stranger's account.", "The roadmap counted how far the rewrite has to go and never said that a passing reader could push it along.", "The rules of the game are a spec whose tests run before publication, and one of its stated unknowns had been made false by our own work.", "Correcting it was not optional: the same law that forbids an unsourced number forbids a claim contradicted by the thing we shipped." ] } }🤖 Generated with Claude Code