Repository navigation
fix(queen): four honesty defects on the HUD, and an executable contract for them - #897
Merged
Merged
Conversation
…ct for them Loop cycle 001 (queen-game-loop), the P0 honesty pass. Each item was measured on the live page against its endpoint before it was changed: - The round line printed the refusal explanation on an ALLOW. At 01:39Z the tick allowed 4 bees and the gold block read "A new Bee may start · The current queue has no eligible specification". decisionDetail() now says what the round did (running count, latest dispatch) on ALLOW and the refusal only on a refusal; the popover uses the same function. - "rounds / 24h" read pulse.rounds, which counts the rows of a one-row lease table and can only ever be 0 or 1. It reads a dash until the server counts real rounds (backlog P3-2). - Tiles mixed lifetime and 24-hour figures without saying so, and ACCEPTED named a field no endpoint carries: the tile is now titled by the done column's own wire title, the two 24 h figures name their window, and FOUNDRY reads online/total with the programmed count in the sub-line (summary.online is 0 today; 1/1 read as fully online). - COPY TO AGENT handed out three https://api.t27.ai endpoints that fail TLS and 404; rewriteEndpoints() replaces the origin with the one the page itself reads from, keeping each path and query. qa/queen-honesty-contract.mjs runs the two pure functions under Node's type stripping (13 checks, with a self-test that can fail) and pins the four source facts; wired as check:queen-honesty. eslint, tsc, every Queen contract, check:api, the ratchet and the five-size viewport contract are green. A first attempt put "/ 24H" in the tile label and overflowed by 13 px at 1272x806; the probe caught it, so the window lives in the sub-line. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
github-actions Bot
added a commit
that referenced
this pull request
Sep 4, 2026
fix(queen): four honesty defects on the HUD, and an executable contract for them (#897) Loop cycle 001 (queen-game-loop), the P0 honesty pass. Each item was measured on the live page against its endpoint before it was changed: - The round line printed the refusal explanation on an ALLOW. At 01:39Z the tick allowed 4 bees and the gold block read "A new Bee may start · The current queue has no eligible specification". decisionDetail() now says what the round did (running count, latest dispatch) on ALLOW and the refusal only on a refusal; the popover uses the same function. - "rounds / 24h" read pulse.rounds, which counts the rows of a one-row lease table and can only ever be 0 or 1. It reads a dash until the server counts real rounds (backlog P3-2). - Tiles mixed lifetime and 24-hour figures without saying so, and ACCEPTED named a field no endpoint carries: the tile is now titled by the done column's own wire title, the two 24 h figures name their window, and FOUNDRY reads online/total with the programmed count in the sub-line (summary.online is 0 today; 1/1 read as fully online). - COPY TO AGENT handed out three https://api.t27.ai endpoints that fail TLS and 404; rewriteEndpoints() replaces the origin with the one the page itself reads from, keeping each path and query. qa/queen-honesty-contract.mjs runs the two pure functions under Node's type stripping (13 checks, with a self-test that can fail) and pins the four source facts; wired as check:queen-honesty. eslint, tsc, every Queen contract, check:api, the ratchet and the five-size viewport contract are green. A first attempt put "/ 24H" in the tile label and overflowed by 13 px at 1272x806; the probe caught it, so the window lives in the sub-line. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This was referenced Oct 4, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 4, 2026
… in CI (#1352) check:queen-honesty was FAIL (3) on main because its pins pointed at code that has since moved: - the round decision line (`decisionLine`) went with the command rail's second round button in 9316e9e. The pin now holds the popover that survived: the verb on its own line, then {decisionInfo} first and the skip count after; - H-C1 required Queen.tsx to name queen/foundation.json, but #1206 moved every corpus read into lib/queenCorpus.ts, and spec-sync rule B refuses that name anywhere else. The pin now holds what Queen.tsx still decides: - the foundation comes from the store, with the server's route as the wire; - only the board's own repository is kept; - the viewport shows count@date:source. The store's order is pointed to (spec-sync rule C), not restated; - yellow coverage now reads useCorpus("manifest") rather than a fetch. Negative controls: seven mutations of a mirrored Queen.tsx each fail with exactly the intended pin, and the unmutated mirror passes. website-checks.yml now runs the contract. No workflow had run it since #897 (2026-09-04). Closes #1351 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
github-actions Bot
added a commit
that referenced
this pull request
Oct 4, 2026
qa(queen): re-home the three stale honesty pins, and run the contract in CI (#1352) check:queen-honesty was FAIL (3) on main because its pins pointed at code that has since moved: - the round decision line (`decisionLine`) went with the command rail's second round button in 9316e9e. The pin now holds the popover that survived: the verb on its own line, then {decisionInfo} first and the skip count after; - H-C1 required Queen.tsx to name queen/foundation.json, but #1206 moved every corpus read into lib/queenCorpus.ts, and spec-sync rule B refuses that name anywhere else. The pin now holds what Queen.tsx still decides: - the foundation comes from the store, with the server's route as the wire; - only the board's own repository is kept; - the viewport shows count@date:source. The store's order is pointed to (spec-sync rule C), not restated; - yellow coverage now reads useCorpus("manifest") rather than a fetch. Negative controls: seven mutations of a mirrored Queen.tsx each fail with exactly the intended pin, and the unmutated mirror passes. website-checks.yml now runs the contract. No workflow had run it since #897 (2026-09-04). Closes #1351 Co-authored-by: Claude Opus 5.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.
What
Loop cycle 001, the P0 honesty pass on t27.ai/#/queen:
Verified
check:queen-honesty(new, executable, 13 checks with a self-test), eslint, tsc, allcheck:queen-*,check:api,typecheck:ratchet,check:queen-viewport25/25.🤖 Generated with Claude Code