Repository navigation
Studio: the Live view is a 3D team floor, and the pipeline fills the seats a team lacks - #37
Merged
piotrlaczkowski merged 2 commits intoSep 10, 2026
Conversation
…seats a team lacks The Live page's centre is no longer a log. It is a floor: one table per team with the manager at the head and the team's board on the wall behind them, members at monitors that light up when they work, tickets on the table threaded to whoever holds them, contract conduits with packets between tables (amber when a consumer waits), gate-colored rims. The floor moves with the run — a dispatch arc when a manager sends someone onto a ticket, a spark on a handoff, a drop when a ticket appears, a burst when one finishes or fails, idle people glancing at the worker — and every change slides into a feed at the edge. Clicking a person or a ticket opens its dossier (status, manager or reports, tickets, recent log lines; every name a link) and the camera glides to it. Orbit, zoom, follow, spin. The scene is three.js via react-three-fiber, lazy-loaded as its own chunk only where WebGL exists; a flat SVG map draws the same model otherwise or on request, with the same dossier and feed. Both honor reduced motion. Everything drawn comes from a pure floor model (floorModel.ts) derived from the org chart, the board, the log and the composition, so the stages stay renderers and the derivation stays tested. A lone team gets its own table with every ticket, not a "pipeline crew" island. Around the floor: the phase rail is a journey track with progress and the five side tabs became one activity column with the log by default; the squads and tasks polls settle together so the floor never flashes a crew table before its teams arrive. Seats the pipeline fills: when a pipeline needs a seat a team did not name (a test phase, no tester), composer.FillSeats records who takes it and where they came from (`seats` with `source`, `gaps` in words). The composition, the preselect preview, the run setup panel, the charter log, the Teams page and the floor all show it — the borrowed tester sits at the team's table, drawn as such. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011RfCkcsbJZgHoQLzwkqFUL
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011RfCkcsbJZgHoQLzwkqFUL
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
The Live page's centre is no longer a log. It is a floor: one table per team with the manager at the head and the team's board on the wall behind them, members at monitors that light up when they work, tickets on the table threaded to whoever holds them, contract conduits with packets between tables (amber when a consumer waits), gate-colored rims. Several people can work at once, each unmistakably (lit monitor, rising code, a pool of light, a breathing ring, a pop-out naming the ticket and what they just said); idle people glance at whoever is working. The pipeline's own phase agents (planner, splitter, architect…) stand on a stage at the back under a screen naming the current phase.
The floor moves with the run: a dispatch arc when a manager sends someone onto a ticket, a spark on a handoff, a drop when a ticket appears, a burst when one finishes or fails. Every change slides into a feed in a reserved side column. Clicking a person or a ticket opens its dossier (status, manager or reports, tickets, recent log lines; every name a link) and the camera glides to it. Orbit, zoom, follow the worker, spin.
floorModel.ts) derived from the org chart, the board, the log and the composition, so the stages stay renderers and the derivation stays tested. A lone team gets its own table with every ticket.Seats the pipeline fills: when a pipeline needs a seat a team did not name (a test phase, no tester),
composer.FillSeatsrecords who takes it and where they came from (seatswithsource,gapsin words). The composition, the preselect preview, the run setup panel, the charter log, the Teams page and the floor all show it — the borrowed tester sits at the team's table, drawn as such.Verification
go test ./...,-raceon composer/orchestrator/server, coverage floor,go vet, gofmt, golangci-lint (only the pre-existing autoresearch gosec finding).Docs
docs/studio.md(The Live floor),docs/squads.md(seats the pipeline fills),docs/changelog.md.🤖 Generated with Claude Code
https://claude.ai/code/session_011RfCkcsbJZgHoQLzwkqFUL
Generated by Claude Code