---
path: /studio/yemaya/asset-library
surface: studio
domain: yemaya
auth: signed-in + studio entitlement
source: apps/oshun/web/src/app/studio/yemaya/asset-library/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 · Yemaya · Asset Library

## Purpose

Aggregator workspace that composes the Yemaya asset-library admin lanes — type
coverage, the asset-coverage pipeline, and asset organization — under one
four-card capability summary. It issues no `/v1` fetch of its own; each embedded
lane runs its own real-backed engine.

## Entry points

- Breadcrumb chain on this page: **Studio › Yemaya Asset Pipeline › Asset
  Library**.
- Reachable from the Studio index and from sibling Yemaya routes.
- Direct URL / bookmark (signed-in + studio entitlement).

## Layout regions

`page.tsx` renders `ShellLayout active="studio"` and:

- **Breadcrumbs panel** (`data-yemaya-asset-library-breadcrumbs`): Studio ›
  Yemaya Asset Pipeline › Asset Library.
- **Workspace panel** (`StudioYemayaAssetLibraryWorkspace`,
  `data-yemaya-asset-library-workspace`):
  - `<h1>` "Yemaya Asset Library Workspace" (`WorkspaceHeading`).
  - Summary paragraph (`data-yemaya-asset-library-summary`).
  - **Capability Summary** (`data-yemaya-asset-library-capability-summary`):
    `<h2>` + four cards — Library Catalog Governance, Pipeline Intake and
    Validation, Organization and Discovery, Security and Parity.
  - **Asset Type Coverage Lane**
    (`data-yemaya-asset-library-type-coverage-lane`) — embedded
    `StudioYemayaAssetTypeCoverageWorkspace`.
  - **Asset Pipeline Lane** (`data-yemaya-asset-library-pipeline-lane`) —
    embedded `StudioYemayaAssetPipelineWorkspace` (the coverage console
    documented in [`studio-yemaya-asset-pipeline.md`](./studio-yemaya-asset-pipeline.md)).
  - **Asset Organization Lane**
    (`data-yemaya-asset-library-organization-lane`) — embedded
    `StudioYemayaAssetOrganizationWorkspace`.
- **Route Map panel** (`data-yemaya-asset-library-route-map`): `<h2>` "Route
  Map" + six `STUDIO_YEMAYA_ASSET_LIBRARY_ROUTE_MAP` entries.
- **Quick-action panel**: four `quickAction` links.

## States

Per embedded lane (this page has no fetch of its own):

- [ ] **Asset Type Coverage Lane** — its own loading / unauthorized / error /
      ready / result states.
- [ ] **Asset Pipeline Lane** — see
      [`studio-yemaya-asset-pipeline.md`](./studio-yemaya-asset-pipeline.md).
- [ ] **Asset Organization Lane** — its own lane states.
- [ ] **Capability Summary** — static four-card panel, always rendered.

## Interactions

### Breadcrumbs

- [ ] **"Studio"** (link) → `/studio`
- [ ] **"Yemaya Asset Pipeline"** (link) → `/studio/yemaya/asset-pipeline`
- [ ] **"Asset Library"** (current page) — `aria-current="page"`.

### Embedded lanes

- [ ] **Asset Type Coverage Lane** —
      `StudioYemayaAssetTypeCoverageWorkspace`.
- [ ] **Asset Pipeline Lane** — `StudioYemayaAssetPipelineWorkspace`; see
      [`studio-yemaya-asset-pipeline.md`](./studio-yemaya-asset-pipeline.md).
- [ ] **Asset Organization Lane** —
      `StudioYemayaAssetOrganizationWorkspace`.

### Route map

`data-yemaya-asset-library-route-map` — six entries:

- [ ] `/studio/yemaya/asset-library`
- [ ] `/studio/yemaya/asset-library/collections/[collectionId]`
- [ ] `/studio/yemaya/asset-library/intake/[ingestJobId]`
- [ ] `/studio/yemaya/asset-library/curation/[curationId]`
- [ ] `/studio/yemaya/asset-library/parity/[parityId]`
- [ ] `/studio/yemaya/asset-library/governance/[policyId]`

### Quick actions

- [ ] **"Open Yemaya Asset Type Coverage workspace"** →
      `/studio/yemaya/asset-type-coverage`.
- [ ] **"Open Yemaya Asset Pipeline workspace"** →
      `/studio/yemaya/asset-pipeline`.
- [ ] **"Open Yemaya Asset Organization workspace"** →
      `/studio/yemaya/asset-organization`.
- [ ] **"Back to Studio workspace index"** → `/studio`.

## Data & contracts

- **Reads / Writes**: none at the aggregator boundary; each embedded lane issues
  its own admin GET catalog + POST verb.
- **Realtime**: none.
- **Caching**: delegated to the embedded lanes (client fetch on mount,
  `cache: 'no-store'`).
- **Auth/role check**: admin-scoped fail-closed inside each lane, behind the
  proxy studio gate.

## Cross-references

- Studio overview: [`studio-overview.md`](../../studio-overview.md)
- Workspace source:
  `apps/oshun/web/src/components/studio/StudioYemayaAssetLibraryWorkspace.tsx`
- Route map source:
  `apps/oshun/web/src/components/studio/StudioYemayaAssetLibraryRouteMap.ts`
- Embedded lane:
  `apps/oshun/web/src/components/studio/StudioYemayaAssetPipelineWorkspace.tsx`
- Sibling per-view docs:
  [`studio-yemaya-asset-pipeline.md`](./studio-yemaya-asset-pipeline.md),
  [`studio-yemaya-asset-type-coverage.md`](./studio-yemaya-asset-type-coverage.md),
  [`studio-yemaya-asset-organization.md`](./studio-yemaya-asset-organization.md)
- Feature spec: [`V1/features.md`](../../../../V1/features.md)

## Open questions / known gaps

- [ ] The Route Map advertises collections / intake / curation / parity /
      governance sub-routes; confirm whether those dynamic children exist as
      `page.tsx` files yet.
