---
path: /studio/isis/web
surface: studio
domain: isis
auth:
  signed-in + studio entitlement; Studio Isis production boundary hard-blocks
  this AAA-only route. Automated lane verification uses the explicit
  localhost-only E2E bypass.
source: apps/oshun/web/src/app/studio/isis/web/page.tsx
status: walked
last_walked:
  '2026-07-23 automated desktop Chromium + Pixel 7 mobile walk — production
  hard-block, localhost-only lane entry, explicit composition boundary, five
  child lanes, absence of an aggregator request, route status, touch targets,
  responsive containment, and applicable axe verified'
---

# Studio · Isis · Web

## Purpose

UI-only, non-authoritative composition of five independent Isis workspaces:
Generation API, GPU Worker, Output Registry, Client SDK, and CLI. Each child
retains its own exact contract and state. The composition has no Isis Web
aggregator endpoint, retained session or release state, runtime action,
diagnostic or evidence authority, parity run, governance record, or release
decision.

## Entry points

- Breadcrumb in-page (`data-isis-web-breadcrumbs`): Studio → Isis Generation API
  → Web
- Sibling quick-actions: `/studio/isis/client-sdk`,
  `/studio/isis/generation-api`, `/studio/isis/gpu-worker`,
  `/studio/isis/output-registry`
- Studio index (`/studio`)
- Direct URL / bookmark (AAA-gated)

## Layout regions

`page.tsx` mounts `<ShellLayout active="studio">` plus a breadcrumb panel, the
workspace, the Route Map, and sibling quick-actions.

- **Header**: shell header
- **Breadcrumb panel** (`data-isis-web-breadcrumbs`,
  `aria-label="Isis Web breadcrumbs"`): Studio → Isis Generation API → Web
  (`aria-current="page"`)
- **Workspace panel** (`data-isis-web-workspace`):
  - `<h1>` (`WorkspaceHeading`) "Isis Web Workspace"
  - Honest summary and exact
    `ui_only_non_authoritative_embedded_lane_composition` disposition
  - **Composition Boundary** (`data-isis-web-capability-summary`) with four
    cards: independent lane authority, no Isis Web endpoint, no operational or
    evidence authority, and no governance or release authority
  - **Generation API Lane** (`data-isis-web-generation-api-lane`) →
    `StudioIsisGenerationApiWorkspace`
  - **GPU Worker Lane** (`data-isis-web-gpu-worker-lane`) →
    `<AaaGate routeSegment="gpu-worker">` wrapping
    `StudioIsisGpuWorkerWorkspace`
  - **Output Registry Lane** (`data-isis-web-output-registry-lane`) →
    `StudioIsisOutputRegistryWorkspace`
  - **Client SDK Lane** (`data-isis-web-client-sdk-lane`) →
    `StudioIsisClientSdkWorkspace`
  - **CLI Lane** (`data-isis-web-cli-lane`) → `StudioIsisCliWorkspace`
- **Route Map panel** (`data-isis-web-route-map`): one `mounted-composition` and
  five `documented-contract` entries
- **Sibling quick-actions panel**: `/studio/isis/client-sdk`,
  `/studio/isis/generation-api`, `/studio/isis/gpu-worker`,
  `/studio/isis/output-registry`, `/studio`

## States

No fetch at the composition level. Each child lane manages its own loading,
unauthorized, error, ready, and result states.

- [ ] **Generation API Lane** — see
      [`studio-isis-generation-api.md`](./studio-isis-generation-api.md)
- [ ] **GPU Worker Lane** — gated by `<AaaGate routeSegment="gpu-worker">`; see
      [`studio-isis-gpu-worker.md`](./studio-isis-gpu-worker.md)
- [ ] **Output Registry Lane** — see
      [`studio-isis-output-registry.md`](./studio-isis-output-registry.md)
- [ ] **Client SDK Lane** — see
      [`studio-isis-client-sdk.md`](./studio-isis-client-sdk.md)
- [ ] **CLI Lane** — see [`studio-isis-cli.md`](./studio-isis-cli.md)
- [ ] **Gated** — the Web route is production-hard-blocked; the GPU Worker child
      is additionally `AaaGate`-wrapped

## Interactions

### Breadcrumbs

- [ ] **Studio** → `/studio`
- [ ] **Isis Generation API** → `/studio/isis/generation-api`
- [ ] **Web** (`aria-current="page"`) — non-interactive

### Composition boundary

- [ ] **Boundary cards** ×4 — non-interactive and authority-limiting

### Embedded lanes

- [ ] Generation API / GPU Worker (AaaGate) / Output Registry / Client SDK / CLI
      — walk each in its own doc

### Route Map

- [ ] **Mounted composition** ×1
- [ ] **Documented route shapes without pages or authority** ×5

### Sibling quick-actions

- [ ] **Open Isis Client SDK workspace** → `/studio/isis/client-sdk`
- [ ] **Open Isis Generation API workspace** → `/studio/isis/generation-api`
- [ ] **Open Isis GPU Worker workspace** → `/studio/isis/gpu-worker`
- [ ] **Open Isis Output Registry workspace** → `/studio/isis/output-registry`
- [ ] **Back to Studio workspace index** → `/studio`

## Data & contracts

- **Reads / writes**: none from this composition directly; delegated to child
  lanes under their own exact contracts
- **Web state**: no session, workflow, release, evidence, parity, or governance
  record
- **Operations**: no runtime control, diagnostic trace, remediation, rollout,
  permission, audit, certification, approval, or release action
- **Realtime**: none
- **Auth/role check**: AAA-gated Studio route behind the signed-in + studio
  proxy gate; the GPU Worker child is additionally `AaaGate`-wrapped; embedded
  lanes are individually admin-scoped and fail closed
- **Component sources**:
  - `apps/oshun/web/src/components/studio/StudioIsisWebWorkspace.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisWebRouteMap.ts`

## Cross-references

- Studio overview: [`../../studio-overview.md`](../../studio-overview.md)
- Embedded lanes:
  - [`studio-isis-generation-api.md`](./studio-isis-generation-api.md)
  - [`studio-isis-gpu-worker.md`](./studio-isis-gpu-worker.md)
  - [`studio-isis-output-registry.md`](./studio-isis-output-registry.md)
  - [`studio-isis-client-sdk.md`](./studio-isis-client-sdk.md)
  - [`studio-isis-cli.md`](./studio-isis-cli.md)

## Open questions / known gaps

- [ ] Session, release, evidence, parity, and governance paths are documented
      shapes only, with no pages or corresponding aggregator authority
- [ ] There is no standalone Web control plane, retained session store,
      diagnostic/evidence record, parity certification, governance, approval, or
      release authority here
- [ ] The Output Registry child is itself a five-lane composition, so the Web
      route remains a deeply nested UI that should retain focused performance
      monitoring
- [ ] Breadcrumb names Generation API as the IA parent of Web — verify direction
