Context. surface studio · domain yemaya · route /studio/yemaya/marketplace · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/yemaya/marketplace/page.tsx
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)
Purpose#
Aggregator workspace that composes the four Yemaya marketplace lanes — Asset
Marketplace, Plugin Marketplace, AI Model Marketplace, and Unified Marketplace
Search — under a single Yemaya Marketplace capability summary. It owns no /v1
fetch of its own; each embedded lane is its own admin-scoped console with
independent data and states.
Entry points#
- Breadcrumb chain on this page: Studio › Yemaya Asset Marketplace › Marketplace.
- Reachable from sibling Yemaya routes that quick-action to
/studio/yemaya/marketplace. - Direct URL / bookmark (signed-in + studio entitlement).
Layout regions#
page.tsx renders ShellLayout active="studio" and:
- Breadcrumbs panel: Studio › Yemaya Asset Marketplace › Marketplace.
- Workspace panel (
StudioYemayaMarketplaceWorkspace,data-yemaya-marketplace-workspace):<h1>(WorkspaceHeading) "Yemaya Marketplace Workspace".- Summary paragraph (
data-yemaya-marketplace-summary). - Capability Summary (
data-yemaya-marketplace-capability-summary,<h2>): four informational cards — Marketplace Catalog Orchestration, Plugin and Model Governance, Unified Search and Discovery, Security and Parity. - Asset Marketplace Lane (
data-yemaya-marketplace-asset-lane,<h2>): embeddedStudioYemayaAssetMarketplaceWorkspace. - Plugin Marketplace Lane (
data-yemaya-marketplace-plugin-lane,<h2>): embeddedStudioYemayaPluginMarketplaceWorkspace. - AI Model Marketplace Lane (
data-yemaya-marketplace-ai-model-lane,<h2>): embeddedStudioYemayaAiModelMarketplaceWorkspace. - Unified Marketplace Search Lane (
data-yemaya-marketplace-search-lane,<h2>): embeddedStudioYemayaUnifiedMarketplaceSearchWorkspace.
- Route Map panel (
data-yemaya-marketplace-route-map):<h2>"Route Map" + six entries fromSTUDIO_YEMAYA_MARKETPLACE_ROUTE_MAP. - Quick-action panel: five
quickActionlinks.
States#
The page renders the capability cards + four embedded lanes unconditionally; each lane owns its own Loading / Unauthorized (admin-scope 401/403) / Error / Ready / Result states.
- Asset Marketplace Lane — states owned by
/studio/yemaya/asset-marketplace. - Plugin Marketplace Lane — states owned by
/studio/yemaya/plugin-marketplace. - AI Model Marketplace Lane — states owned by
/studio/yemaya/ai-model-marketplace. - Unified Marketplace Search Lane — states owned by
/studio/yemaya/unified-marketplace-search.
Interactions#
Capability cards#
data-yemaya-marketplace-capability — four informational <article> cards
(Marketplace Catalog Orchestration, Plugin and Model Governance, Unified Search
and Discovery, Security and Parity); not interactive.
Embedded lanes#
- Asset Marketplace Lane — see
studio-yemaya-asset-marketplace.md. - Plugin Marketplace Lane — see
studio-yemaya-plugin-marketplace.md. - AI Model Marketplace Lane — see
/studio/yemaya/ai-model-marketplace. - Unified Marketplace Search Lane — see
/studio/yemaya/unified-marketplace-search.
Route map#
data-yemaya-marketplace-route-map — six non-interactive entries:
-
/studio/yemaya/marketplace— primary workspace -
/studio/yemaya/marketplace/assets/[assetId] -
/studio/yemaya/marketplace/plugins/[pluginId] -
/studio/yemaya/marketplace/models/[modelId] -
/studio/yemaya/marketplace/parity/[parityId] -
/studio/yemaya/marketplace/governance/[policyId]
Quick actions#
- "Open Yemaya Asset Marketplace workspace" →
/studio/yemaya/asset-marketplace. - "Open Yemaya Plugin Marketplace workspace" →
/studio/yemaya/plugin-marketplace. - "Open Yemaya AI Model Marketplace workspace" →
/studio/yemaya/ai-model-marketplace. - "Open Yemaya Unified Marketplace Search workspace" →
/studio/yemaya/unified-marketplace-search. - "Back to Studio workspace index" →
/studio.
Data & contracts#
- Reads: none at this aggregator boundary; each embedded lane issues its own
GET /v1/admin/yemaya/...on mount. - Writes: none at this boundary; each embedded lane owns its own POST verb.
- Realtime: none.
- Caching: aggregator owns no fetch; embedded lanes fetch on mount with
cache: 'no-store'. - Auth/role check: each embedded lane is admin-scoped and fail-closed; signed-in + studio entitlement enforced by the proxy/middleware.
Cross-references#
- Studio overview:
studio-overview.md - Workspace source:
apps/oshun/web/src/components/studio/StudioYemayaMarketplaceWorkspace.tsx - Route map source:
apps/oshun/web/src/components/studio/StudioYemayaMarketplaceRouteMap.ts - Embedded lanes:
studio-yemaya-asset-marketplace.md,studio-yemaya-plugin-marketplace.md,/studio/yemaya/ai-model-marketplace,/studio/yemaya/unified-marketplace-search - Feature spec:
V1/features.md
Open questions / known gaps#
- The route-map dynamic children (assets / plugins / models / parity /
governance) are sitemap-only — confirm whether any are backed by
page.tsxfiles yet.