Context. surface studio · domain yemaya · route /studio/yemaya/project-creation-and-types · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/yemaya/project-creation-and-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 for project-creation validation. The Project Creation
Operations Lane wires the real @yemaya/projects Zod schemas via
/v1/admin/yemaya/project-creation-types: list the supported project types and
statuses, and validate a create-project payload against the canonical
CreateProjectSchema before creation.
Note: the URL segment is project-creation-and-types but the component / route
map / endpoint identifiers use ProjectCreationTypes /
project-creation-types (without "and").
Entry points#
- No breadcrumb panel on this page.
- Reachable from the Studio index and from the Project Workspaces quick-action (which links here).
- Direct URL / bookmark (signed-in + studio entitlement).
Layout regions#
page.tsx renders ShellLayout active="studio" and:
- Workspace panel (
StudioYemayaProjectCreationTypesWorkspace,data-yemaya-project-creation-types-workspace):<h1>"Yemaya Project Creation and Types Workspace" (WorkspaceHeading).- Summary paragraph (
data-yemaya-project-creation-types-summary). - Project Creation Operations Lane
(
data-yemaya-project-creation-types-operations-lane) —<h2>"Project Creation Operations Lane" + the real-backed form lane (loading / unauthorized / error / ready-form / result, see States).
- Route Map panel (
data-yemaya-project-creation-types-route-map):<h2>"Route Map" + fiveSTUDIO_YEMAYA_PROJECT_CREATION_TYPES_ROUTE_MAPentries. - Quick-action panel: two
quickActionlinks.
States#
- Loading —
data-yemaya-pct-loading"Loading project types…" while the GET catalog fetch is in flight. - Unauthorized —
data-yemaya-pct-unauthorized"Access restricted." on a 401/403 admin-scope failure (fail-closed). - Error —
data-yemaya-pct-error"Could not load the project types." on a non-OK / malformed catalog response. - Ready-form —
data-yemaya-pct-formonce the catalog resolves;data-yemaya-pct-typeslists project types + statuses. - Result —
data-yemaya-pct-resultwithdata-yemaya-pct-verdict(valid / N issues) and adata-yemaya-pct-issueslist; or a validation messagedata-yemaya-pct-validate-error.
Interactions#
Validation form (data-yemaya-pct-form)#
- Create-project payload (JSON) —
textareadata-yemaya-pct-project(aria-label "create project json"); must parse to JSON. - Submit —
buttondata-yemaya-pct-submit"Validate payload" → POST/v1/admin/yemaya/project-creation-types/validatewith{ project }.
Route map#
data-yemaya-project-creation-types-route-map — five entries:
-
/studio/yemaya/project-creation-and-types -
/studio/yemaya/project-creation-and-types/templates/[templateId] -
/studio/yemaya/project-creation-and-types/types/[typeId] -
/studio/yemaya/project-creation-and-types/revisions/[revisionId] -
/studio/yemaya/project-creation-and-types/governance/[gateId]
Quick actions#
- "Open Yemaya Project Workspaces workspace" →
/studio/yemaya/project-workspaces. - "Back to Studio workspace index" →
/studio.
Data & contracts#
- Reads: GET
/v1/admin/yemaya/project-creation-types(catalog:projectTypes,projectStatuses) on mount. - Writes: POST
/v1/admin/yemaya/project-creation-types/validate. - Realtime: none.
- Caching: client fetch on mount,
cache: 'no-store',buildBffAuthHeaders(). - Auth/role check: admin-scoped fail-closed (401/403 → unauthorized state) behind the proxy studio gate.
Cross-references#
- Studio overview:
studio-overview.md - Workspace source:
apps/oshun/web/src/components/studio/StudioYemayaProjectCreationTypesWorkspace.tsx - Route map source:
apps/oshun/web/src/components/studio/StudioYemayaProjectCreationTypesRouteMap.ts - Engine:
@yemaya/projects(CreateProjectSchema) - Sibling Yemaya bridges: see folder index
- Feature spec:
V1/features.md
Open questions / known gaps#
- The URL segment includes "and" but the component / route-map / endpoint identifiers omit it — confirm canonical naming.
- The Route Map advertises templates / types / revisions / governance sub-routes that the live validation lane does not expose.