V1 Web PWA · Surface walkthrough

Studio · Yemaya · Developer SDKs

A per-surface walkthrough of the V1 Web PWA studio surface: layout, states, interactions, data, and cross-references.

walked
8sections3 minread

On this page

Context. surface studio · domain yemaya · route /studio/yemaya/developer-sdks · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/yemaya/developer-sdks/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#

Admin lane console that validates an SDK code-generation spec — target language, package naming, version, base URL, auth scheme and endpoints — against the generation requirements before SDK builds run. The validation lane is wired to the live SDK-spec validator over /v1/admin/yemaya/developer-sdks; access is admin-scoped and fail-closed. Four capability cards summarise the surface above the lane.

Entry points#

  • Breadcrumb chain on this page: Studio › Yemaya API › Developer SDKs.
  • Reachable from sibling Yemaya routes that quick-action here (e.g., the cli aggregator, api).
  • Direct URL / bookmark (signed-in + studio entitlement).

Layout regions#

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

  • Breadcrumbs panel: Studio › Yemaya API › Developer SDKs.
  • Workspace panel (StudioYemayaDeveloperSdksWorkspace, data-yemaya-developer-sdks-workspace):
    • <h1> (WorkspaceHeading) "Yemaya Developer SDKs Workspace".
    • Summary paragraph (data-yemaya-developer-sdks-summary).
    • Capability Summary (<h2>): four informational cards — SDK Control Plane, Integration Diagnostics, Security and Compliance Controls, Parity and Contract Validation.
    • SDK Generation Spec Validation Lane (data-yemaya-ds-lane-heading, <h2>): the catalog-loaded form (data-yemaya-ds-form).
  • Route Map panel (data-yemaya-developer-sdks-route-map): <h2> "Route Map" + six entries from STUDIO_YEMAYA_DEVELOPER_SDKS_ROUTE_MAP.
  • Quick-action panel: three quickAction links.

States#

  • Loadingdata-yemaya-ds-loading "Loading SDK-spec validator…" until the GET catalog resolves.
  • Unauthorizeddata-yemaya-ds-unauthorized "Access restricted." on a 401/403 (Yemaya admin scope required).
  • Errordata-yemaya-ds-error "Could not load the SDK-spec validator." on a non-OK / malformed catalog response.
  • Ready (form) — engine summary (data-yemaya-ds-engine-summary) + the spec form render once the catalog loads.
  • Resultdata-yemaya-ds-result with a verdict headline (data-yemaya-ds-headline); submit-side validation surfaces in data-yemaya-ds-validate-error.

Interactions#

SDK Generation Spec Validation Lane#

  • "SDK generation spec (JSON)"<textarea data-yemaya-ds-spec> (aria-label "sdk generation spec json"), prefilled with a sample spec.
  • "Validate SDK spec"<button data-yemaya-ds-submit>; submitting POSTs the spec to /v1/admin/yemaya/developer-sdks/validate and renders the valid/error/warning verdict + per-field issues.

Capability cards#

data-yemaya-developer-sdks-capability — four informational <article> cards (SDK Control Plane, Integration Diagnostics, Security and Compliance Controls, Parity and Contract Validation); not interactive.

Route map#

data-yemaya-developer-sdks-route-map — six non-interactive entries:

  • /studio/yemaya/developer-sdks — primary workspace
  • /studio/yemaya/developer-sdks/scenes/[sceneId]
  • /studio/yemaya/developer-sdks/exports/[exportId]
  • /studio/yemaya/developer-sdks/revisions/[revisionId]
  • /studio/yemaya/developer-sdks/parity/[parityId]
  • /studio/yemaya/developer-sdks/governance/[policyId]

Quick actions#

  • "Open Yemaya API workspace"/studio/yemaya/api.
  • "Open Yemaya Unified Marketplace Search workspace"/studio/yemaya/unified-marketplace-search.
  • "Back to Studio workspace index"/studio.

Data & contracts#

  • Reads: GET /v1/admin/yemaya/developer-sdks (catalog: summary, languages, auth schemes, HTTP methods) on mount.
  • Writes: POST /v1/admin/yemaya/developer-sdks/validate (spec → validation result).
  • Realtime: none.
  • Caching: client fetch on mount with cache: 'no-store'; buildBffAuthHeaders().
  • Auth/role check: admin-scoped, fail-closed (401/403 → unauthorized state); signed-in + studio entitlement enforced by the proxy/middleware.

Cross-references#

  • Studio overview: studio-overview.md
  • Workspace source: apps/oshun/web/src/components/studio/StudioYemayaDeveloperSdksWorkspace.tsx
  • Route map source: apps/oshun/web/src/components/studio/StudioYemayaDeveloperSdksRouteMap.ts
  • Embedded by: studio-yemaya-cli.md (Developer SDKs Lane)
  • Feature spec: V1/features.md

Open questions / known gaps#

  • The route-map dynamic children (scenes / exports / revisions / parity / governance) are sitemap-only — confirm whether any are backed by page.tsx files yet.