Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
ecd4c32
feat(queen): preserve continuous hive and link source spec cells to s…
gHashTag Sep 7, 2026
3a5d9bd
fix(queen): keep entire linked hexes clear on short mobile views
gHashTag Sep 7, 2026
ec9f724
fix(queen): adapt hive controls and unify touch context across devices
gHashTag Sep 7, 2026
aba1c93
chore(queen): publish mobile map status notes
gHashTag Sep 7, 2026
5e1024d
fix(queen): keep shared spec cells transparent
gHashTag Sep 7, 2026
8b352fc
feat(queen): expose specs on mobile and homepage
gHashTag Sep 7, 2026
7a60868
fix(queen): prioritize the hive field on mobile
gHashTag Sep 7, 2026
3eb0620
fix(queen): use global language control
gHashTag Sep 7, 2026
184a24e
docs(queen): add continuation handoff instructions
gHashTag Sep 7, 2026
bf853ec
fix(queen): keep repository labels inside the field on phones
gHashTag Sep 7, 2026
a1e9b10
chore(website): pin the Node floor the swc plugin needs
gHashTag Sep 7, 2026
5bfc534
fix(queen): give the field the screen back on landscape phones
gHashTag Sep 7, 2026
c6748ab
refactor(website): move the article off the landing onto its own pages
gHashTag Sep 7, 2026
9368d2b
feat(queen): put the hive itself on the landing, not a picture of it
gHashTag Sep 7, 2026
4913230
feat(website): put the Spec Explorer itself on the landing
gHashTag Sep 7, 2026
3f07ebd
refactor(website): compose the hive and the spec as one pair, not two…
gHashTag Sep 7, 2026
dae8461
fix(queen): the hive brings its own styles to the landing
gHashTag Sep 8, 2026
6b0cc2a
fix(specs): give the code the screen back in both embeds
gHashTag Sep 8, 2026
3477afe
fix(specs): the editor fills its pane, so the empty box under the cod…
gHashTag Sep 8, 2026
7842ca4
fix(specs): give the code the phone screen back
gHashTag Sep 8, 2026
9316e9e
feat(queen): the Queen answers from a full-height sidebar, and the fe…
gHashTag Sep 8, 2026
c1c2626
feat(queen): a real model answers, from our own network
gHashTag Sep 8, 2026
9bb58a7
refactor(queen): give the field the pixels the chrome was holding
gHashTag Sep 8, 2026
a694ad5
docs(queen): a restore template, and the worlds bar stops taking the …
gHashTag Sep 8, 2026
288b078
feat(queen): one sky under every module, and the HUD floats on it
gHashTag Sep 8, 2026
0006003
fix(queen): the sky is drawn at the size it is shown, not its old box
gHashTag Sep 8, 2026
5d5d83a
chore(deploy): declare the root build as the Dockerfile it already is
gHashTag Sep 8, 2026
b4e38c4
fix(queen): take the black sheet out from between the sky and the chrome
gHashTag Sep 8, 2026
39f2462
feat(queen): the sky reaches every panel, and the overview moves to t…
gHashTag Sep 8, 2026
df39f3c
chore(deploy): describe the project as code, and say why it must not …
gHashTag Sep 8, 2026
6dfa3cb
feat(queen): the 3D map is the container, every panel floats on it
gHashTag Sep 8, 2026
cb8c077
feat(queen): no frame around the map, and every panel can leave it
gHashTag Sep 8, 2026
d5d029b
refactor(queen): the header, the rails and the footer move inside the…
gHashTag Sep 8, 2026
8fddb67
fix(queen): the worlds bar joins the map, and the overlays land where…
gHashTag Sep 8, 2026
70adc66
fix(agent): the bees' runtime builds and boots for the first time
gHashTag Sep 8, 2026
aa8c20a
refactor(queen): the footer retires, and the map reframes when its bo…
gHashTag Sep 8, 2026
e03a4dc
fix(agent): the bees answer — valid HTTP, the real target, and IPv6
gHashTag Sep 8, 2026
ab913db
fix(queen): the bar stops moving, and the overlays measure from one p…
gHashTag Sep 8, 2026
4b2db2c
fix(queen): every tab lets the map through, not just the comb
gHashTag Sep 8, 2026
02928e1
fix(agent): make the bees observable — a line per request, a readable…
gHashTag Sep 8, 2026
c60a5e8
feat(queen): one header, and the counts live in a dropdown
gHashTag Sep 8, 2026
3ec5637
fix(queen): the halves swap, the header reads as one design, the roun…
gHashTag Sep 8, 2026
8683eb7
feat(agent): the Queen can task a bee and close the task after review
gHashTag Sep 8, 2026
6297f2c
feat(queen): she sets the tasks and closes them after review, herself
gHashTag Sep 8, 2026
b30aa65
refactor(queen): rebuild the header as one container, and give the ma…
gHashTag Sep 8, 2026
ca3e3e6
feat(agent): the bees keep their work — SCRAM, a real protocol reader…
gHashTag Sep 8, 2026
fc17e00
revert(queen): put the header back, and move the worlds onto the map
gHashTag Sep 8, 2026
b0e9a87
fix(queen): raise the HUD to the top, align the map's row, move the o…
gHashTag Sep 8, 2026
4010ae8
fix(queen): connect the chat to trios-agent-server, and say why when …
gHashTag Sep 8, 2026
ba1cbaf
fix(queen): the overview's numbers into the bar, and the sky under ev…
gHashTag Sep 8, 2026
168642b
fix(queen): keep the page when the scene dies, and stop the old strip…
gHashTag Sep 8, 2026
591a19c
fix(queen): a canvas per mount, so the map comes back — and the strip…
gHashTag Sep 8, 2026
f6140aa
fix(queen): give Babylon a pixel budget, so Safari stops refusing the…
gHashTag Sep 8, 2026
b20c77d
fix(queen): the canvas gets its own element, and the wait for the sce…
gHashTag Sep 8, 2026
9947aaa
fix(queen): the law to the foot of the map, the commands across it, t…
gHashTag Sep 8, 2026
738d3aa
fix(queen): one WebGL context per component — the Safari fix, measure…
gHashTag Sep 8, 2026
f4d5e11
style(queen): the board on one veil, in one hand
gHashTag Sep 8, 2026
cd3443a
feat(queen): the specs tab floats — a transparent Explorer, all its t…
gHashTag Sep 8, 2026
55a22a6
style(queen): a spec opened from a cell floats with the rest
gHashTag Sep 8, 2026
af56c52
feat(queen): the hive draws under every tab, and the panels over it a…
gHashTag Sep 8, 2026
376a0f9
refactor(queen): the quick commands become icons in the map's row, an…
gHashTag Sep 8, 2026
447f390
feat(site): the six modules presented on the homepage, and each tab a…
gHashTag Sep 8, 2026
7ac154a
feat(site): every module gets its own screen on the homepage, live
gHashTag Sep 8, 2026
dbc1753
refactor(queen): the factory loses the board it was borrowing
gHashTag Sep 8, 2026
b40f8ff
Merge remote-tracking branch 'origin/main' into codex/queen-hive-stat…
gHashTag Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 67 additions & 3 deletions .claude/skills/queen-hive-visuals/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,33 @@ description: Maintain QUEEN's floating hive, original point-down TRINITY logo, s
- Original TRINITY logo: flat top, apex DOWN, exact27 petals/135 edges, inside
the hub hexagon. Never substitute a generic triangle or mirror the mark.
The header SVG and central scene mark must agree on screen orientation.
- The game logo is the symbol only, NO wordmark (`withLabel={false}`). Keep the
existing black full-screen Babylon hive and HUD; do not replace them with a
dashboard or SVG atlas. Shared specs, contributing repo cells and provenance
edges are data layers in the same renderer. Only actual `.t27` contributors
belong on the common map. Gold resources do not imply accepted GitHub issues.
- CANON approved 2026-09-07: central golden comb, outer repository hexes, thin
provenance lines, black catalog-star space. Extend this view iteratively.
Repository issue drill-down reuses the existing Babylon displays/status law
in ONE continuous scene: every repo issue region coexists with the shared core.
`world`/`task` are camera focus, not different scene identities or filtered
membership. Picking/projection use the same region geometry; epic children
join by repository AND issue number. Run `npm run check:queen-continuous`.
Each canonical spec has a shared-core placement plus a placement inside every
contributing repository's gold center. Issues occupy outer rings. Count
unique spec IDs, never placements as new resources. Selecting either endpoint
highlights all same-ID placements and frames their provenance links; close-up
is a separate action. Use `npm run check:queen-spec-mirrors`, including fan-out.
Issue/spec inspection and collaboration
stay inside the game window: no automatic new tabs. Share links and agent
packets carry canonical repo+issue identity, not leases or online-presence claims.
- `/specs?spec=<exact manifest path>` is the central spec surface. Reuse the
existing Spec Explorer in embedded mode inside the game; do not maintain a
second source viewer/compiler. The hive and atlas derive from its manifest and
vendored source files. Validate exact paths and revision hashes, fail visibly
on missing paths, and put canonical t27.ai catalog URLs in agent packets.
Edited Explorer text is a draft, not a published or accepted specification.
Run `npm run check:spec-catalog` after changing the catalog/map integration.
- The field faces the viewer vertically. Its180-degree turn uses the shared
`queenHiveOrientation.ts` transform: local(x,height,z)→world(-x,z,height).
Camera stays at+Z. Changing camera alpha by pi is a back-side view, not a
Expand All @@ -16,16 +43,53 @@ description: Maintain QUEEN's floating hive, original point-down TRINITY logo, s
using existing assets/tokens. Keep cells translucent and the viewport fully
filled after resize. Catalog stars require source, epoch, units and license;
the HYG4.1/J2000 projection is not live sky ephemerides or random decoration.
- Surface material: the user rejected matte honey glass too. YELLOW spec faces
are nearly transparent like the outer portals: no blur, inset haze or
directional gradients. Keep golden contours and sharp text. Update both CSS
faces and GPU caps; zoom must not restore an opaque fill. Do not restyle red
issues or repository portals for this correction.
Do not draw a stacked honey GPU cap for catalog specs: the gold contour is the
spec surface. Never cover the cell with a second card, volume or gradient.
Repo portals scale down with projected cells, never fixed-size overlays at
overview. Keep portals nearly transparent with NO backdrop blur; it smears the
gold core. Hide tiny text at low LOD. Preserve the approved light original look.
- All input uses the same coordinate convention: inverse ray-plane picking
including wall drift, pan, cursor zoom, Inspect and bounds. Cell lift still
comes toward the viewer. Native issue/epic text and HUD remain upright.
- Preserve original logo geometry in `QueenComb.tsx`, the same repo+issue
identity across polls, exact event joins and canonical GitHub links. Historical
GitHub titles are quoted source; only their individual nodes may be language
exempt, never controls or whole cards.
- Honey is hover/focus feedback. T27-yellow needs real coverage provenance;
red needs evidence of manual code. Missing issue→module proof is UNKNOWN,
not completed/generated code. Do not invent events or worker throughput.
- Issue mode: fill the WHOLE occupied hex, including overview LOD. Initial or
unresolved goals are red; blockers bright red/!; running neon blue; review
violet/◇; paused slate/Ⅱ; completed + proven T27
is honey. Red task-goal fill does not assert manual-code provenance. Show the
GitHub state separately; closed without issue→module proof still needs proof.
Keep module-mode coverage law separate. Never infer coverage by title/position.
- Honey hover/focus is outline/lift only, never a status-fill replacement.
Scene batches, native cards and whole-field counts share one paint resolver;
same-identity state/proof changes must invalidate GPU paint without losing
camera/selection. Do not invent events or worker throughput.
- Signal protocol: `docs/QUEEN_HIVE_SIGNALS.md`. Separate permanent fill from
temporary event ring and interaction rim. Failure state beats a success-like
event kind; result/finished is white, approved review green (never T27 proof).
Fresh new identities only; initial/reconnect snapshots seed the cursor quietly.
Newer recovery updates ring color without resetting its short TTL. Running
board rows alone drive working rings. Stale data retains fills but suppresses
relevant live animation; reduced-motion is static. Duplicate meanings in text.

- UX guardrails: this is one game window and one dynamic context panel. Do not
open new browser tabs for issue/spec collaboration, do not replace the game
with a generic dashboard, and do not change the shared header/logo treatment
while tuning mobile UX. Improve by small, reversible iterations against the
existing canon. GitHub issue identity stays visible at repository level and
on the selected issue; controls remain English and source titles are quoted
data, never translated by mutating the upstream issue.
On narrow screens the Specs command stays in the same bottom rail, keeps a
44px touch target, and remains explicitly labelled instead of collapsing to
an ambiguous icon. The homepage may expose a compact Queen launch block below
the existing Hero, but it must reuse the atlas and route into the same game;
never embed a second Queen scene or fork its data logic.

Before changing orientation, add a failing projection/interaction regression.
Run `npm run check:queen-displays` in `apps/website` (includes Babylon projection
Expand Down
98 changes: 98 additions & 0 deletions .github/instructions/queen-continuation.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
name: queen-continuation
applyTo: "apps/website/src/pages/Queen*.tsx,apps/website/src/pages/Queen*.css,apps/website/src/components/Queen*.tsx,apps/website/src/components/Queen*.css,apps/website/src/components/queen*.ts,apps/website/src/components/queen*.tsx,.claude/skills/queen-hive-visuals/SKILL.md"
---

# QUEEN continuation handoff

Use this file before continuing work in another chat.

## Repository and runtime

- Canonical source repo: `/Users/playra/Documents/Codex/2026-09-01/new-chat-2/work/queen-hive-coverage-2026-09-07/trinity`.
- Website package: `apps/website`.
- Local game URL: `http://127.0.0.1:4179/#/queen`.
- The active local page is the source of truth for current UI work. Do not inspect the old public apex page first.
- Work on the existing browser page only. Do not open another browser tab for QA, issue inspection, Specs, or collaboration.
- The current branch is `codex/queen-hive-status-fill`; latest published checkpoint is `3eb06200`.
- Do not force-push or merge into `main`. Publish through the existing branch/PR workflow and verify the green publish workflow before claiming that `t27.ai` has changed.

## Canonical product rules

This is a game, not a dashboard.

- One black Babylon hive scene contains the shared core, repository worlds, .t27 source cells, GitHub issue cells, provenance links, hover state, and one dynamic context/detail panel.
- The original point-down TRINITY symbol is the only game logo. Keep `withLabel={false}`. Do not add a wordmark to the game HUD.
- The central shared core is golden and translucent. Repository portals are outer regions. Provenance edges are thin. Catalog stars remain black-space background data.
- Yellow spec cells are transparent outlines. Never add a gradient, blur, matte frosting, stacked honey GPU volume, or second card over a cell. Do not restyle red issue cells or repository portals while fixing spec transparency.
- Hover is outline/lift only. Selection can show a temporary interaction rim. Do not replace status fills with hover colors.
- Every canonical spec may have a shared-core placement and source-repository placements. Count unique spec IDs, not placements. Selecting either endpoint highlights all same-ID placements and their provenance links.
- GitHub issue identity must stay visible at repository level and in the selected issue context. Preserve canonical `https://github.com/<repo>/issues/<number>` links.
- Source GitHub titles are quoted upstream data. Do not mutate or silently translate upstream issue text. Interface controls and Queen copy remain English by policy; the global site language controls localization.
- Use the existing `/specs?spec=<exact manifest path>` Spec Explorer as the central source surface. Do not create another compiler/source viewer.
- Do not infer T27 proof from a closed issue, lexical match, title, position, or gold color. Honey requires verified completion plus T27 proof.

## UX rules

- Keep the viewport focused on the field. Buttons are secondary chrome and should not consume the map.
- Use one context window/panel at a time. Selecting an issue or spec replaces the current context in the same game screen.
- On narrow screens, the Specs tab stays in the bottom command rail, has at least a 44px touch target, and has an explicit `Specs` label. The rail may scroll horizontally; do not shrink controls to unreadable icons.
- On phones, prioritize the field over metrics and search controls. Keep search behind the visible `Find cells` action and preserve pan, pinch zoom, hover, tap, and fit-view behavior.
- The homepage mounts the hive itself below the Hero, not a picture of it: the block
renders the same `QueenCatalogHive` the `#/queen` route renders, lazily, and keeps the
links to `#/queen`, `#/specs` and `#/queen?view=core`. One instance is ever mounted,
because the homepage and `#/queen` are different routes. Reuse that component and the
shared atlas — never fork atlas logic or write a second Babylon scene.
- The homepage and game must not acquire generic gradients, nested cards, purple defaults, or a redesigned global header.
- The language selector is global. Never add a local `RU / EN` switch inside QueenUniverse or Queen.
- Existing local browser page must remain the page used for visual QA. Refresh or resize it; do not open a new tab.

## Current implementation checkpoint

Recent published branch commits, newest first:

- `3eb06200`: removed Queen's duplicate local language switcher; Queen now reads global I18n only.
- `7a60868b`: field-first mobile shell; compact world nav, reduced top HUD, collapsed catalog search, larger map body.
- `8b352fc1`: visible/touchable mobile Specs tab and compact homepage Queen launch block below Hero.
- `5e1024dc`: translucent shared spec contours; removed stacked honey GPU cap and lowered spec contour alpha.

The current local UI has been visually checked at `390x844`. The map body is approximately `556px` high, the mobile `Find cells` action is visible, and the local language button is absent.

## Validation order

From `apps/website` run the narrowest relevant checks first:

```sh
npm run check:queen-responsive
npm run check:queen-displays
npm run check:queen-continuous
npm run check:queen-spec-mirrors
npm run check:spec-catalog
npm run build
```

`npm run check:queen-foundation` may report `no Chrome found - skipping the pick check`; that is an environment limitation, not proof that pointer picking passed.

Use browser QA on the already-open local page at these viewports when possible:

- 390x844 phone: field-first shell, no local language button, visible Specs label, 44px controls.
- 320x568 phone: Specs remains reachable through the horizontal rail.
- 768x1024 tablet: no clipped nav, no overlap, map remains dominant.
- 1440x900 desktop: original full hive composition, logo orientation, repo labels, links and transparent spec cells.

## Publication and blockers

- A successful local build does not mean the apex site is updated.
- Verify the GitHub Actions run for the exact published commit. Do not claim `t27.ai` is updated while publish is pending or failed.
- Known unrelated CI blocker: S3AI Brain CI can fail because `tri stress --health` is still a TODO and emits no `Score:` line. Do not change Queen code to fix that unrelated gate.
- Claude Code Review may fail from the Bun `tsconfig directory mismatch` infrastructure error before reviewing code. Rerun the failed job once; report it as infrastructure if it repeats.
- Local 4179 may show CORS errors when calling the production Railway health endpoint because Railway allows `https://t27.ai`, not `http://127.0.0.1:4179`. This does not justify changing the Queen visual or data model without a backend task.

## First action in a new chat

1. Read this file and `.claude/skills/queen-hive-visuals/SKILL.md`.
2. Check `git status --short --branch` and `git log -5 --oneline --decorate` in the Trinity repo.
3. Inspect the already-open `127.0.0.1:4179/#/queen` page; do not open a new tab.
4. State one local hypothesis and one cheap browser or contract check before editing.
5. Make the smallest reversible edit, run a focused validation immediately, then build.
6. Leave unrelated backend, global navigation, logo, source-title, and public-deployment behavior untouched unless the task explicitly asks for it.
Loading
Loading