Repository navigation
feat(queen): one kit, one meaning - #949
Merged
Merged
Conversation
The user, 2026-09-06: the buildings on the map are unreadable, cut everything superfluous, make the visual agree with itself. The field mixed two Kenney kits. Fourteen Space Kit models (hangars, a satellite dish, a generator, a gate complex, a crater, crystals, two astronauts, a rover and an alien) stood beside seven Hexagon Kit pieces, on a steel platform with yellow hazard rails. Two art directions in one scene, and half of them carried no fact at all. Now the kingdom is built from one set of parts, Kenney Hexagon Kit (CC0): a cabin for a module in the backlog, a mill for one running, an archery for one in review, a house, a market and a farm for the done columns, a wall where an issue is open, rocks where work was dropped. The castle keeps its plinth, walls, tower and wizard tower, and the Queen's own castle stands at the hub as the throne, replacing the hangar that used to share the cell with it. Cut, because nothing on the wire justified them: the crystals (hardware is not a GitHub fact, and the devices prop leaves the field), the three bee costumes and the larva (the server keeps bees anonymous, so drawing three different bodies invented a distinction the data does not carry - every bee is now the same glowing mote, bright while it works), the steel tile texture, the hazard rails, and the procedural hub cylinder and dome. One model per cell. Each Hexagon Kit building carries its own hex base, so the old multi-part shape grammar stacked hex on hex and the middle of the field turned to mush; the plan still chooses the core and the turn. The settlements lost their language tint too: the kit's palette reads on its own, and on this field colour means one thing, gold is done. A new honesty pin names all fourteen Space Kit models and fails if the field mentions any of them; red before this change. Loop cycle 045 (the visual coherence pass).
gHashTag
force-pushed
the
feat/queen-cycle-045-onekit
branch
from
September 6, 2026 05:11
0b4ea3c to
34420b9
Compare
github-actions Bot
added a commit
that referenced
this pull request
Sep 6, 2026
feat(queen): one kit, one meaning; the space station leaves the kingdom (#949) The user, 2026-09-06: the buildings on the map are unreadable, cut everything superfluous, make the visual agree with itself. The field mixed two Kenney kits. Fourteen Space Kit models (hangars, a satellite dish, a generator, a gate complex, a crater, crystals, two astronauts, a rover and an alien) stood beside seven Hexagon Kit pieces, on a steel platform with yellow hazard rails. Two art directions in one scene, and half of them carried no fact at all. Now the kingdom is built from one set of parts, Kenney Hexagon Kit (CC0): a cabin for a module in the backlog, a mill for one running, an archery for one in review, a house, a market and a farm for the done columns, a wall where an issue is open, rocks where work was dropped. The castle keeps its plinth, walls, tower and wizard tower, and the Queen's own castle stands at the hub as the throne, replacing the hangar that used to share the cell with it. Cut, because nothing on the wire justified them: the crystals (hardware is not a GitHub fact, and the devices prop leaves the field), the three bee costumes and the larva (the server keeps bees anonymous, so drawing three different bodies invented a distinction the data does not carry - every bee is now the same glowing mote, bright while it works), the steel tile texture, the hazard rails, and the procedural hub cylinder and dome. One model per cell. Each Hexagon Kit building carries its own hex base, so the old multi-part shape grammar stacked hex on hex and the middle of the field turned to mush; the plan still chooses the core and the turn. The settlements lost their language tint too: the kit's palette reads on its own, and on this field colour means one thing, gold is done. A new honesty pin names all fourteen Space Kit models and fails if the field mentions any of them; red before this change. Loop cycle 045 (the visual coherence pass).
Merged
19 of 21 tasks
11 tasks done
gHashTag
added a commit
that referenced
this pull request
Oct 8, 2026
…very task filtered in the address (Closes #1532) (#1533) * queen: one task view and its bees, from /queen/public-tasks or the board (Refs #1532) src/lib/queenTasks.ts mirrors gHashTag/t27 specs/queen/tasks.t27 (epic gHashTag/t27#7718): three kinds, seven states, three bee states, and task_matches line for line. It reads GET /queen/public-tasks, checks the body field by field, and drops a row whose kind or state this build has not met, because the spec says such a row matches nothing. When the route does not answer, tasksFromBoard builds the same shape from the public board and the activity feed the page already polls. Every card becomes an issue in its column, with one bee per running card. A bee is working when it was heard within BEE_QUIET_SECONDS and quiet otherwise. The feed says source "board", so the screen can say what it is drawing. The board filter (kind, state, repository, text) is read from and written to the address under kinds/states/repos/q. The universe already reads repo= and task=, so those names are not used. withEarliestSince keeps the earliest `since` stated for each bee: the live route re-stamps it on every answer. qa/fixtures/queen-public-tasks.json is a trimmed recording of the live route, 2026-10-08. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: the bee's body is one Kenney Space Kit ship, read once (Refs #1532) public/queen/models/craft_speederA.glb is "Models/GLTF format/craft_speederA.glb" from Kenney's Space Kit 2.0 (https://kenney.nl/assets/space-kit, CC0, kenney_space-kit.zip, 6,677,531 bytes). It is the same archive the field was built from in #912, before the 3D objects left in #949 and #960. Only this one 20,496-byte file is vendored, with the kit's License.txt (line endings normalised). The README says what is loaded and why. queenShipModel.ts reads the GLB subset this file uses: TRS nodes, triangle primitives and flat baseColorFactor materials. It writes each part's colour into the vertices, so the four parts become one mesh with one material, and every bee can be a thin instance of it. It does not use the glTF loader: the loader and the PBR material it creates added 130 KB brotli when the kit was on the field (#912), and this reader also runs under node, so the gate can open the vendored file. A file outside the subset is refused with a reason. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: in the game, the bees are spaceships over the issues they work on (Refs #1532) QueenCombBabylon takes liveBees: one per dispatch in flight, each with the cell of its issue. They are read through a ref, never through the scene's signature, so a bee that is offered, starts, goes quiet or finishes only moves a ship and never rebuilds the scene. The signature records only that live bees exist. Every ship is a thin instance of one mesh, so N ships are one draw call. The buffers are rewritten each frame and grow when more bees arrive. Ship positions are kept by bee id across rebuilds, so a new cell does not send every ship back to the hive. Queued bees, and bees whose issue has no cell on this map, wait in a row at the hive entrance. Working bees circle their issue along the cell rim, because zoomed in the cell's card covers its middle. Quiet bees hover at the rim, darkened, as does every bee while the feed is stale. Each lane has its own tint. With reduced motion the ships sit still. Hovering a ship, or tapping it, shows "#7513 · working · 12 min". The working ring follows working bees, not board columns. The canvas comb and the slot motes stay as they were when no live bees are given. QueenCatalogHive maps each bee to its cell by key, ignoring case: the atlas spells ghashtag/t27 and the supervisor gHashTag/t27. It adds the bees' issues that the 2026-10-04 atlas does not hold as observed cells (liveIssueRows in queenCatalogData.ts). Those cells are append-only and painted with the atlas's own "open", so a bee coming or going never repaints, and so never rebuilds, the map. The toolbar says "Bees live" only while the feed answers, and it says when the feed is derived from the board. The honesty contract now states the rule this changes: the cells draw no model, and the only model is the bee's ship, one GLB, no glTF loader, thin instances. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: one poll feeds the game's bees and a kanban over every task, filtered in the address (Refs #1532) useQueenTasks is the only new loop. While the kanban is not on screen it asks for state=running, which is about 2 KB gzipped and carries every bee. While the kanban is on screen it asks for every task, about 55 KB. After a failure it waits 30 s before asking again. Until the full answer arrives, the board is drawn from the public board, never from the running-only answer. The same feed gives the catalog hive its live bees and the repository comb its ships. The kanban draws tasks, not board cards: issues, reviews and jobs, each linked to its own GitHub address. One new row filters by text (title or #number), kind, state and repository. Each option shows its count over the whole feed, and the row shows "shown / arrived" and the feed's source. The filter lives in the address (#/queen?tab=kanban&states=running&repos=gHashTag/t27), so a filtered board can be shared. A keystroke is drawn at once. An address changed from outside is adopted, and an address the board wrote itself is not adopted a second time. Leaving the tab drops the keys. The direction chips stay, and the column counts and the 30-card paging apply after filtering. A "failed" column appears only when it has something in it or was asked for. A running card carries its bee: state, how long, when last heard, lane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: check:queen-tasks gates the task view, the fallback, the filter address and the ship (Refs #1532) qa/queen-tasks-contract.mjs, 109 checks, pure and offline: - the spec's eight task_matches vectors, plus three wrong mirrors (mask 0 as "none", no range check, masks swapped) that must each fail them; - the recorded route answer parses, unknown kinds, states and off-GitHub links are dropped, a body that is not the contract is refused, and a re-stamped `since` does not reset a bee's age; - the board fallback: rows by column, one bee per running card, working/quiet at BEE_QUIET_SECONDS, source "board"; - a filter only hides and keeps order, and its address round-trips without touching the universe's own repo=/task=; - the bees' issues beyond the atlas become cells in the atlas's spelling, and no cell already placed moves; - the vendored GLB: four parts, triangles, centred, nose at +z; - the scene signature carries no bee. It runs in website-checks.yml next to the direction filter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: the task view decides with the t27 card itself, not a hand mirror (Refs #1532) The owner, 2026-10-08: logic is written in .t27, not in .mjs or a copy in TypeScript. - The kinds, the states, the bee states and the limits now come from src/lib/queenTasks.generated.ts, the `t27c gen-js` output of gHashTag/t27 specs/queen/tasks.t27 (master blob 7443ffb). - task_matches and bee_state run as public/t27/queen/tasks.wasm. These are the same bytes the Queen's server runs: t27c gen-c, then zig cc wasm32-wasi, with no imports. The feed waits for the card, so nothing is shown that it did not decide. - qa/queen-tasks-contract.mjs, its npm script and its workflow step are removed. The card's own tests are the gate (4 tests, 49/49 mutants in t27). - The filter row folds behind a Filter chip, so a short screen keeps a whole card in every column. It is one declared sideways row on a phone. A failed job or review shows in dropped with its own badge. Checked locally: - vite build passes, and the typecheck ratchet stays at 179/26 with no file gaining errors. - The Queen viewport contract passes: 8 sizes × 3 views. - On the live /queen/public-tasks, the kanban filtered from the address, and the ships over running issues in the game. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * queen: vendor the task card as public/t27/queen/tasks.wasm (Refs #1532) The bytes the Queen's server runs, built from gHashTag/t27 specs/queen/tasks.t27 (master blob 7443ffb): t27c gen-c, then zig 0.16 cc --target=wasm32-wasi -Oz -DNDEBUG -mexec-model=reactor, exporting job_state, review_state, a2a_state, bee_state and task_matches. The sha256 starts baca275e and matches BrowserOS trios/agent-server/specs/PIN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- 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.
Cycle 045 — one kit, one meaning
The user: «надо подумать как сделать так чтобы визуал совпадал! там не понятные строения на карте!! убери все лишнее!!»
The cause. Two Kenney kits in one scene: 14 Space Kit models beside 7 Hexagon Kit pieces, on a steel platform with hazard rails.
The cut. Crystals, three bee costumes, the larva, the steel tiles, the hazard rails, the procedural hub, the
devicesprop, the multi-part shape grammar on the field, and the language tint on settlements.The kit. Kenney Hexagon Kit (CC0) only: cabin, mill, archery, house, market, farm, wall, rocks for the settlements; plinth, walls, tower, wizard tower for the castle; the castle itself as the throne at the hub.
The pin.
check:queen-honestyfails if any of the fourteen Space Kit models is named in the field. Red first.