feat(queen): XP counts .t27 specs, because that is the goal the law names - #513
Merged
Merged
Conversation
…ames Owner's word, 2026-09-23: the specs themselves are the main thing this score should measure. That is not a preference - it is law L0, adopted today: the stack below the interface becomes .t27. A score that paid the same for a shell script and for the spec replacing it would reward every direction equally while the constitution names one. SPEC_XP = 200 on TOP of ACCEPTED_XP, not instead of it: the bonus says "and this one moved the goal", it does not pretend the rest was not work. WHAT COUNTS AS SPEC WORK, and why it needed no new plumbing. Nothing records which files a bee actually wrote - but `owned_paths` already records what the issue said it would touch, and that is the same claim the Queen reserves against. An accepted turn whose boundary names a .t27 file is spec work. It is derived per read from rows that already exist, so the number can be recomputed by anyone against the issues it came from. The count travels beside the total rather than folded into it. A score that hid which half moved the language would be a score nobody could check. `specs` cannot exceed `accepted`, whatever a row claims: a number that outran its own denominator would be unreadable against the issues behind it. 14 tests. Three of them are about this: the bonus adds rather than replaces, the same amount of work that moved a spec outranks the work that did not, and the count is clamped. One trap worth naming: a backtick inside the SQL comment ENDED the template literal and turned the rest into a tagged call. The comment now says so. 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.
Owner's word, 2026-09-23: the specs themselves are the main thing this score should measure.
That is not a preference — it is law L0, adopted today: the stack below the interface becomes
.t27. A score that paid the same for a shell script and for the spec replacing it would reward every direction equally while the constitution names one.The rule
SPEC_XP = 200on top ofACCEPTED_XP, not instead of it: the bonus says and this one moved the goal, it does not pretend the rest was not work.What counts as spec work, and why it needed no new plumbing
Nothing records which files a bee actually wrote — but
owned_pathsalready records what the issue said it would touch, and that is the same claim the Queen reserves against. An accepted turn whose boundary names a.t27file is spec work.Derived per read from rows that already exist, so the number can be recomputed by anyone against the issues it came from.
The count travels beside the total rather than folded into it: a score that hid which half moved the language would be a score nobody could check. And
specscannot exceedaccepted, whatever a row claims.Checks
bun test apps/server/tests/api/queen-leaderboard.test.ts— 14 pass. Three are about this: the bonus adds rather than replaces, the same amount of work that moved a spec outranks the work that did not, and the count is clamped.One trap worth naming: a backtick inside the SQL comment ended the template literal and turned the rest into a tagged call. The comment now says so.
Board side: gHashTag/trinity#1146.
🤖 Generated with Claude Code