seated in seats · unseated · hot seats · sky deck · chart

— tap a seat
Unseated ·
The pit · lectern

Cold-call equity

calls recorded
Geometry bias
back rowsevenfront rows

Most asked

Tool tape

Both buttons are refused on purpose — a 409 names the placement it collided with, a 422 names the field it rejected. Watch it happen.

Nothing yet. Every action shows up here as the tool call it really is.

Reading the hall — hot seats, the sky deck, and why there are no photos
Hot seats (red edge)
Front arc, dead centre. Nowhere to hide.
Sky deck (violet tiles)
Back arc, out on the wings — where you sit when you would rather not be asked. The cold-call model exists to counteract exactly this.
Sight lines
Toggle "Sight lines" to colour every seat by how easily the pit sees it: a depth penalty per tier and a squared penalty off-centre. A model, not a measurement — but a stable one, which is what the equity maths needs.

Three tiers, one grid. The room is stored in the ordinary schema — tier is the row, seat index is the column, the dark cells are simply not seats. No migration made this shape possible.

Every name is synthesized. First and last names are assembled from syllables at build time — no list of real-sounding names anywhere in the code — and Reset deals a wholly new section. Any resemblance to an actual person is an accident of phonetics. Photos are refused for the same reason: inventing portraits for fictional students is a fabricated-person artifact, so the tiles carry initials on a colour that is stable per person.

Your own copy. This hall belongs to your browser. Reset rebuilds the identical room — same tiers, same seats, same scores — around a freshly generated cast. Everything above runs the same services the /v1/seating REST surface and the seating_admin MCP tools run — that is what the tool tape shows.