Context. surface studio · domain isis · route /studio/isis/output-manifest · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/output-manifest/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 wires the real @isis/outputs manifest builder +
validator + license presets via /v1/admin/isis/output-manifest: the operator
assembles an output manifest from generated files, attaches a license, aggregates
the file totals, and validates it. It is admin-scoped and fails closed.
Entry points#
- Sibling quick-action from
/studio/isis/multi-gpu-orchestration - Studio index (
/studio) - Direct URL / bookmark
Layout regions#
page.tsx mounts <ShellLayout active="studio"> (no breadcrumb panel) and three
panels: the workspace, the Route Map, and sibling quick-actions.
- Header: shell header
- Workspace panel (
data-isis-output-manifest-workspace):<h1>(WorkspaceHeading) "Isis Output Manifest Workspace"- Summary paragraph (
data-isis-om-summary) - Manifest-build form (
data-isis-om-build-form)
- Route Map panel (
data-isis-output-manifest-route-map):<h2>Route Map</h2>overSTUDIO_ISIS_OUTPUT_MANIFEST_ROUTE_MAP(5 entries) - Sibling quick-actions panel:
/studio/isis/multi-gpu-orchestration,/studio
States#
- Loading —
data-isis-om-loading - Unauthorized — 401/403 admin-scope fail-closed;
data-isis-om-unauthorized - Error — non-OK or malformed catalog;
data-isis-om-error - Ready (form) — catalog present; license select populated from
catalog.licensePresets - Result — after a build POST,
data-isis-om-resultshowsdata-isis-om-files(file count + total bytes),data-isis-om-license(identifier + commercial use), anddata-isis-om-valid(valid flag + error / warning counts); build errors surface indata-isis-om-build-error
Interactions#
Manifest-build form (data-isis-om-build-form)#
- Manifest name (
data-isis-om-field-name, text input) - Files (
data-isis-om-field-files, text input — "filename:category:mime:ext:bytes; …") - License preset (
data-isis-om-field-license,<select>fromcatalog.licensePresets) - Submit (
data-isis-om-build-submit) —POST /v1/admin/isis/output-manifest/build
Route Map#
- Route-map articles ×5
Sibling quick-actions#
- Open Isis Multi-GPU Orchestration workspace →
/studio/isis/multi-gpu-orchestration - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/output-manifest({ licensePresets }catalog) - Writes:
POST /v1/admin/isis/output-manifest/build(assemble + validate; returns{ manifest: { fileCount, totalSizeBytes, license, valid, errorCount, warningCount } }) - Realtime: none
- Caching: client fetch on mount,
cache: 'no-store',buildBffAuthHeaders() - Auth/role check: admin-scoped, fail-closed (401/403); route gated on signed-in + studio entitlement
- Component sources:
apps/oshun/web/src/components/studio/StudioIsisOutputManifestWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisOutputManifestRouteMap.ts
Cross-references#
- Studio overview:
../../studio-overview.md - Sibling routes:
Open questions / known gaps#
- No breadcrumb on this route — navigation is via sibling quick-actions
- Files are entered as a packed delimited string rather than structured rows; confirm whether a per-file editor is planned