---
path: /studio/hathor/simulation
surface: studio
domain: hathor
auth: signed-in + studio entitlement
source: apps/oshun/web/src/app/studio/hathor/simulation/page.tsx
status: walked
last_walked:
  '2026-05-29 automated runtime walk (Playwright headless) — render, /v1 data
  (2xx), console/page-errors, expected content, screenshot verified; live
  screen-reader, touch, offline, and telemetry-delivery checks pending a manual
  AT pass. Evidence: WALKTHROUGH/results/runtime-sweep-2026-05-29.md; body
  re-derived 2026-06-03 from current source (lane-console architecture)'
---

# Studio Hathor · Simulation

## Purpose

Canonical aggregator for the Hathor simulation cluster. It fronts a Capability
Summary and four embedded simulation lanes (economy, politics, culture
evolution, simulation worker), and its IA-contract route map links the remaining
flat-sibling lanes (simulation-physics, simulation-state-persistence). It owns no
`/v1` fetch of its own.

## Entry points

- **Quick-action link from the sibling simulation lanes** (e.g.
  `/studio/hathor/simulation-physics` — "Back to Hathor Simulation aggregator")
- **Direct URL / bookmark** — yes; `alternates.canonical` set to
  `/studio/hathor/simulation`
- **Studio overview** — see
  [`../../studio-overview.md`](../../studio-overview.md)

## Layout regions

`page.tsx` renders inside `<ShellLayout active="studio">`:

- **Breadcrumb panel** (`data-hathor-simulation-breadcrumbs`) — `<nav>` ol:
  Studio (link) / Hathor / Simulation (aggregator, current)
- **Workspace** `<StudioHathorSimulationWorkspace />`
  (`data-hathor-simulation-workspace`):
  - `WorkspaceHeading` `<h1>` — "Hathor Simulation Workspace"
  - Summary `<p data-hathor-simulation-summary>`
  - **Capability Summary** panel (`data-hathor-simulation-capability-summary`,
    `<h2>` "Capability Summary") listing `HATHOR_SIMULATION_CAPABILITIES`
    (`data-hathor-simulation-capability`)
  - Four embedded lanes, each a `<section>` with an `<h2>` and a
    `WorkspaceSection`:
    - **Economy Simulation Lane** (`data-hathor-simulation-economy-lane`) →
      `<StudioHathorEconomySimulationWorkspace />`
    - **Politics Simulation Lane** (`data-hathor-simulation-politics-lane`) →
      `<StudioHathorPoliticsSimulationWorkspace />`
    - **Culture Evolution Simulation Lane**
      (`data-hathor-simulation-culture-lane`) →
      `<StudioHathorCultureEvolutionSimulationWorkspace />`
    - **Simulation Worker Lane** (`data-hathor-simulation-worker-lane`) →
      `<StudioHathorSimulationWorkerWorkspace />`
- **Route Map panel** `data-hathor-simulation-route-map` — `<h2>` "Hathor
  Simulation cluster — IA contract"; a role-tagged list from
  `STUDIO_HATHOR_SIMULATION_ROUTE_MAP` (7 entries): the `aggregator`
  (`/studio/hathor/simulation`, "you are here") plus 6 `sibling-lane` entries
  (economy-simulation, politics-simulation, culture-evolution-simulation,
  simulation-worker, simulation-physics, simulation-state-persistence)
- **Quick-action lane** — seven `Link.quickAction` anchors: Economy Simulation,
  Politics Simulation, Culture Evolution Simulation, Simulation Worker,
  Simulation Physics, Simulation State Persistence, Back to Studio workspace
  index

## States

States are owned by each embedded lane; the aggregator itself has no fetch.

- [ ] **Economy Simulation Lane** — see
      [`./studio-hathor-economy-simulation.md`](./studio-hathor-economy-simulation.md)
- [ ] **Politics Simulation Lane** — see
      [`./studio-hathor-politics-simulation.md`](./studio-hathor-politics-simulation.md)
- [ ] **Culture Evolution Simulation Lane** — see
      [`./studio-hathor-culture-evolution-simulation.md`](./studio-hathor-culture-evolution-simulation.md)
- [ ] **Simulation Worker Lane** — see
      [`./studio-hathor-simulation-worker.md`](./studio-hathor-simulation-worker.md)

## Interactions

### Embedded lanes

- [ ] Each lane's own controls — walk per the per-lane doc

### Route Map panel

- [ ] **Role-tagged entries** — verify aggregator / sibling-lane roles against
      `STUDIO_HATHOR_SIMULATION_ROUTE_MAP` (7 entries)

### Quick-action lane

- [ ] **"Open Hathor Economy Simulation workspace"** → `/studio/hathor/economy-simulation`
- [ ] **"Open Hathor Politics Simulation workspace"** → `/studio/hathor/politics-simulation`
- [ ] **"Open Hathor Culture Evolution Simulation workspace"** → `/studio/hathor/culture-evolution-simulation`
- [ ] **"Open Hathor Simulation Worker workspace"** → `/studio/hathor/simulation-worker`
- [ ] **"Open Hathor Simulation Physics workspace"** → `/studio/hathor/simulation-physics`
- [ ] **"Open Hathor Simulation State Persistence workspace"** → `/studio/hathor/simulation-state-persistence`
- [ ] **"Back to Studio workspace index"** → `/studio`

## Data & contracts

- **Reads / Writes**: none at the aggregator level — delegated to the four
  embedded lane workspaces
- **Realtime**: none
- **Caching**: each embedded lane manages its own fetch lifecycle
- **Auth/role check**: per embedded lane; route gated signed-in + studio by the
  BFF proxy

## Cross-references

- Parent: [`../../studio-overview.md`](../../studio-overview.md)
- Shell:
  [`../../../shell/04-auth-session.md`](../../../shell/04-auth-session.md)
- Sibling lanes:
  [`./studio-hathor-simulation-physics.md`](./studio-hathor-simulation-physics.md),
  [`./studio-hathor-simulation-worker.md`](./studio-hathor-simulation-worker.md),
  [`./studio-hathor-simulation-state-persistence.md`](./studio-hathor-simulation-state-persistence.md),
  [`./studio-hathor-economy-simulation.md`](./studio-hathor-economy-simulation.md),
  [`./studio-hathor-politics-simulation.md`](./studio-hathor-politics-simulation.md),
  [`./studio-hathor-culture-evolution-simulation.md`](./studio-hathor-culture-evolution-simulation.md)
- Component sources:
  - `apps/oshun/web/src/components/studio/StudioHathorSimulationWorkspace.tsx`
  - `apps/oshun/web/src/components/studio/StudioHathorSimulationRouteMap.ts`

## Open questions / known gaps

- [ ] Hathor is `unconfirmed-v1` per `WALKTHROUGH/matrix/routes.csv`. Confirm
      whether the dedicated `/studio/hathor/` routes ship at V1 or are
      internal-only.
- [ ] The aggregator embeds four lanes but the route map and quick-actions cover
      six siblings (physics and state-persistence are flat siblings, not
      embedded). Confirm this split is intentional.
