V1 Web PWA · Surface walkthrough

Studio · Yemaya · Pipeline Step Types

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

walked
8sections2 minread

On this page

Context. surface studio · domain yemaya · route /studio/yemaya/pipeline-step-types · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/yemaya/pipeline-step-types/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 wired to the @yemaya/orchestration DAG analyzers: browse the production step-type catalog and validate a pipeline step graph — detect dependency cycles and compute the parallel execution waves (topological levels) the orchestrator would run.

Entry points#

  • Studio index quick-actions.
  • No breadcrumb panel on this page.
  • This page links out to /studio/yemaya/cross-domain-integration; reachable inbound from /studio/yemaya/external-tool-integrations.
  • Direct URL / bookmark (signed-in + studio entitlement).

Layout regions#

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

  • Workspace panel (StudioYemayaPipelineStepTypesWorkspace, data-yemaya-pipeline-step-types-workspace):
    • <h1> "Yemaya Pipeline Step Types Workspace".
    • Summary <p data-yemaya-pipeline-step-types-summary> (browse catalog + validate step graph for cycles and parallel waves).
    • Analyze lane — loading / unauthorized / error / ready-form / result; data-yemaya-pst-catalog lists the step types.
  • Route Map panel (data-yemaya-pipeline-step-types-route-map): <h2> "Route Map" with five entries.
  • Quick-action panel: two quickAction links.

States#

  • Loadingdata-yemaya-pst-loading ("Loading step-type catalog…").
  • Unauthorized — 401/403 → data-yemaya-pst-unauthorized with reason "Yemaya workspace scope required to view pipeline step types.".
  • Error — non-OK / malformed catalog → data-yemaya-pst-error.
  • Ready-form — catalog (stepTypes) loaded; the analyze form renders.
  • Result — 200 → data-yemaya-pst-result with data-yemaya-pst-cycle (node count + acyclic/cycle), and when acyclic data-yemaya-pst-waves (each data-yemaya-pst-wave).
  • Validation error — invalid JSON, empty/non-array graph, or a non-200 POST → data-yemaya-pst-analyze-error.

Interactions#

Analyze lane#

<form data-yemaya-pst-analyze-form>:

  • Step graph (JSON)<textarea data-yemaya-pst-field-nodes> (aria-label "step graph json"), seeded with a diamond DAG [{ id, dependsOn[] }].
  • "Analyze step graph" submit (data-yemaya-pst-analyze-submit) — POSTs { nodes }.

Route map#

data-yemaya-pipeline-step-types-route-map — five entries:

  • /studio/yemaya/pipeline-step-types
  • /studio/yemaya/pipeline-step-types/scenes/[sceneId]
  • /studio/yemaya/pipeline-step-types/exports/[exportId]
  • /studio/yemaya/pipeline-step-types/revisions/[revisionId]
  • /studio/yemaya/pipeline-step-types/governance/[policyId]

Quick actions#

  • "Open Yemaya Cross-Domain Integration workspace"/studio/yemaya/cross-domain-integration.
  • "Back to Studio workspace index"/studio.

Data & contracts#

  • Reads: GET /v1/admin/yemaya/pipeline-step-types (catalog; stepTypes) on mount with buildBffAuthHeaders(), cache: 'no-store'.
  • Writes: POST /v1/admin/yemaya/pipeline-step-types/analyze{ analysis: { nodeCount, hasCycle, cycles[], parallelGroups[] } }.
  • Realtime: None.
  • Caching: client fetch on mount, no-store; aborted on unmount.
  • Auth/role check: admin-scoped, fail-closed; route additionally signed-in + studio via the proxy gate.

Cross-references#

  • Workspace source: apps/oshun/web/src/components/studio/StudioYemayaPipelineStepTypesWorkspace.tsx
  • Route map source: apps/oshun/web/src/components/studio/StudioYemayaPipelineStepTypesRouteMap.ts
  • Page source: apps/oshun/web/src/app/studio/yemaya/pipeline-step-types/page.tsx
  • Sibling: studio-yemaya-external-tool-integrations.md
  • Studio overview: studio-overview.md
  • Feature spec: V1/features.md

Open questions / known gaps#

  • Step graph is entered as raw JSON; verify whether a visual DAG editor is planned.
  • Route-map children (scenes/exports/revisions/governance) are a sitemap contract; confirm which dynamic pages exist.