---
path: /egbe-studio
surface: studio
domain: egbe
auth: signed-in + creator
source: apps/oshun/web/src/app/egbe-studio/page.tsx
status: walked
last_walked: '2026-06-03 automated runtime probe (Playwright headless) — prod build + mock BFF; render, HTTP 200, server-rendered <h1>, 0 page errors verified. Evidence: WALKTHROUGH/results/walkthrough-runtime-probe-2026-06-03.md'
v1_scope: out-of-v1
---

# Egbe Studio — Creator Suite (V6)

## Purpose

Authoring suite for the V6 **Egbe** domain: author agent dossiers (Ori seeds),
Orun ground/district layouts, Wilds discovery-encounter scenario seeds, and
inspect each artifact's provenance bundle. **Out of the V1 feature map** — a V6
creator surface that ships in `apps/oshun/web` (documented here for an
exhaustive route inventory). The page mounts four editor components in one
column under `ShellLayout active="studio"`; each runs the `@oshun/egbe-studio`
"foundry" computation client-side over a seed draft (no V1 BFF dependency).

## Entry points

- **Direct URL / bookmark** — `/egbe-studio` (signed-in creator; not in
  `PUBLIC_PATHS`)
- **Studio shell nav** — `active="studio"` (shortcut `6`)
- **V6 customer counterpart** — companion to the
  [`/v6` Steward web app](../../customer/00-public/v6.md)

## Layout regions

The page is a single column of four stacked editors. Each editor shares a
two-pane shape: a **left editor pane** (`aria-label` "… controls") and a **right
output pane** (`aria-label` "… output") plus a header and a status rail.

- **`EgbeAgentDossierEditor`** (`data-testid="egbe-agent-dossier-editor"`) — H1
  "Agent dossier editor"
- **`EgbeGroundDistrictAuthoring`** (`data-testid="egbe-ground-authoring"`) — H2
  "Ground and district authoring"
- **`EgbeScenarioAuthoring`** (`data-testid="egbe-scenario-authoring"`) — H2
  "Wilds discovery encounter seeds"
- **`EgbeProvenanceInspector`** (`data-testid="egbe-provenance-inspector"`) — H2
  "Audit bundle view"

## States

- [ ] **Hydration guard** — each editor holds a `hydrated` flag set in a mount
      `useEffect`; pre-hydration it renders the SSR-safe seed (`EGBE_*_SEED`),
      then re-renders with client interactivity (no loading spinner)
- [ ] **Populated (default)** — every editor renders its seed draft and the
      computed foundry/promotion/seed/provenance output immediately
- [ ] **Governance probe deny** (dossier) — the governance-probe select can
      drive a foundry pass into a rejecting verdict; the output pane surfaces it
- [ ] **Habitability fail** (ground) — habitability checks render pass/fail per
      check in the output pane
- [ ] **Loading / Error / Offline** — N/A: all computation is in-bundle
      (`@oshun/egbe-studio`); no network read on this page
- [ ] **Gated** — signed-in creator (shell); no V1 BFF policy (out-of-v1)
- [ ] **Standalone PWA** — renders within the shell

## Interactions

### Agent dossier editor

- [ ] **Premise** — name/handle inputs, premise textareas
- [ ] **Personality** — three selects (archetype / temperament / alignment-style
      dimensions)
- [ ] **Governance probe** (select) — drives the foundry's governance verdict
- [ ] **Publish / foundry** (button in header) — produces an
      `EgbeAgentDossierPublishReceipt`; output pane shows the **Foundry pass**,
      the **Generated Ori seed**, and a **Provenance manifest** (read-only
      `<textarea aria-label="Egbe agent provenance manifest">`)

### Ground and district authoring

- [ ] **Scene** — scene-type select, name input, description textarea
- [ ] **V3 Tooling** — three selects (tooling/biome/era dimensions)
- [ ] **Habitability** — habitability controls
- [ ] **Promote** (button) — produces an `EgbeGroundPromotionReceipt`; output:
      **Scene graph bridge**, **Habitability checks**, **Promotion manifest**
      (read-only textarea)

### Wilds discovery encounter seeds

- [ ] **Situation** — title/location inputs, premise/hook textareas
- [ ] **Cast and setting** — two selects
- [ ] **Arc hooks** — arc select + three textareas (beats / complications /
      resolution)
- [ ] **Seed** (button) — produces an `EgbeScenarioSeedReceipt`; output:
      **Encounter seed**, **Seed manifest** (read-only textarea)

### Provenance inspector

- [ ] **Artifact** (select, default `agent:abeni-reed`) — choose an
      `EgbeProvenanceArtifactId`; output: **Signature**, **Evidence refs**, and
      the **Raw bundle** (read-only
      `<textarea aria-label="Full provenance bundle">`)

## Data & contracts

- **Reads**: in-bundle seeds + computation from `@oshun/egbe-studio`
  (`EGBE_AGENT_DOSSIER_SEED`, `EGBE_GROUND_AUTHORING_SEED`,
  `EGBE_SCENARIO_AUTHORING_SEED`, foundry/promotion/seed builders,
  `EgbeProvenanceArtifactId`)
- **Writes**: _None on the wire._ All "publish/promote/seed" actions compute a
  receipt + manifest client-side; the V6 BFF persistence is a future-arc concern
- **Realtime**: _None._
- **Caching**: client components; SSR shell + seed
- **Auth/role check**: session (signed-in creator); no V1 BFF policy (out-of-v1)

## Cross-references

- V6 customer surface:
  [`../../customer/00-public/v6.md`](../../customer/00-public/v6.md)
- Sibling V7 future studio:
  [`mawu-studio-accessibility.md`](./mawu-studio-accessibility.md),
  [`mawu-studio-localization.md`](./mawu-studio-localization.md)
- Spec: `V6/V6_features.md`, `V6/V6_ARCHITECTURE.md`
- Component sources:
  `apps/oshun/web/src/app/egbe-studio/AgentDossierEditor.tsx`,
  `GroundDistrictAuthoring.tsx`, `ScenarioAuthoring.tsx`,
  `ProvenanceInspector.tsx`

## Open questions / known gaps

- [ ] Publish / promote / seed all compute local receipts + manifests; confirm
      the V6 BFF write endpoints that will persist Ori seeds, ground promotions,
      and scenario seeds before this surface leaves V6 preview.
- [ ] `/egbe-studio` is a top-level route (not under `/studio/*`). Confirm
      whether it will be canonicalized under `/studio/egbe/*` when V6 ships, or
      stay a standalone studio surface.
