Context. surface studio · domain isis · route /studio/isis/workflows · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/workflows/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#
Hybrid aggregator route for the Isis workflow surface. It carries its own wired
workflow-portability check lane (real @isis/comfyui-factory runner) and then
embeds five sibling workspaces — workflow registry, workflow definitions,
workflow versioning, workflow templates, and integration events — each running
its own real lane.
Entry points#
- Breadcrumb / quick-action card from
/studio/isis/workflow-registry - Studio index (
/studio) - Direct URL / bookmark
Layout regions#
page.tsx mounts ShellLayout active="studio" with a breadcrumb panel.
- Breadcrumb panel (
data-isis-workflows-breadcrumbs): Studio → Isis Workflow Registry → (current) - Workspace panel (
data-isis-workflows-workspace):<h1>"Isis Workflows Workspace" (WorkspaceHeading) + summary (data-isis-workflows-summary)- Capability Summary panel (
data-isis-workflows-capability-summary,<h2>) - Workflow Portability Check lane (the wired piece):
<h2>"Workflow Portability Check", summarydata-isis-wp-summary, formdata-isis-wp-check-form, resultdata-isis-wp-result - Five embedded lanes, each an
<h2>panel wrapping a sibling workspace viaWorkspaceSection:- Workflow Registry Lane (
data-isis-workflows-workflow-registry-lane) - Workflow Definitions Lane (
data-isis-workflows-workflow-definitions-lane) - Workflow Versioning Lane (
data-isis-workflows-workflow-versioning-lane) - Workflow Templates Lane (
data-isis-workflows-workflow-templates-lane) - Integration Events Lane (
data-isis-workflows-integration-events-lane)
- Workflow Registry Lane (
- Route map panel (
data-isis-workflows-route-map):<h2>"Route Map" enumeratingSTUDIO_ISIS_WORKFLOWS_ROUTE_MAP(6 entries) - Quick-actions panel:
quickActionlinks to/studio/isis/workflow-registry,/studio/isis/workflow-definitions,/studio/isis/workflow-versioning, and "Back to Studio workspace index" →/studio
States#
Portability check lane (wired)#
- Loading —
data-isis-wp-loading"Loading portability runner…" - Unauthorized —
data-isis-wp-unauthorized(admin-scope fail-closed on 401/403, "Isis workspace scope required to view workflow portability.") - Error —
data-isis-wp-erroron the mount GET - Ready (form) —
data-isis-wp-check-formrenders - Result —
data-isis-wp-result(data-isis-wp-portable,data-isis-wp-missing-nodes,data-isis-wp-missing-models,data-isis-wp-disallowed,data-isis-wp-drift) ordata-isis-wp-check-error
Embedded lanes#
Each drives its own Loading / Unauthorized / Error / Ready / Result states — see per-lane docs.
Interactions#
Workflow portability check (data-isis-wp-check-form)#
- Candidate fields —
data-isis-wp-field={key}inputs - Cost class —
data-isis-wp-field-costclassselect - Previous cost class —
data-isis-wp-field-prevcostselect - Run portability check —
data-isis-wp-check-submitsubmit; POSTs to/v1/admin/isis/workflow-portability/check
Embedded lanes#
- Workflow Registry Lane
- Workflow Definitions Lane
- Workflow Versioning Lane
- Workflow Templates Lane
- Integration Events Lane
Capability summary#
- Capability cards — non-interactive
Route map#
- Route-map articles ×6 — non-interactive path + purpose entries
Quick-actions#
- Open Isis Workflow Registry workspace →
/studio/isis/workflow-registry - Open Isis Workflow Definitions workspace →
/studio/isis/workflow-definitions - Open Isis Workflow Versioning workspace →
/studio/isis/workflow-versioning - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/workflow-portability(WP_ENDPOINT) on mount — catalog (costClasses); embedded lanes call their own endpoints - Writes:
POST /v1/admin/isis/workflow-portability/check(CHECK_ENDPOINT) — run a portability check - Realtime: None
- Caching: client
fetchon mount,cache: 'no-store',buildBffAuthHeaders(); embedded lanes likewise - Auth: admin-scoped fail-closed (own lane + each embedded lane); route behind the signed-in + studio proxy gate
- Component sources:
apps/oshun/web/src/components/studio/StudioIsisWorkflowsWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisWorkflowsPortabilityLane.tsxapps/oshun/web/src/components/studio/StudioIsisWorkflowsRouteMap.ts
Cross-references#
- Studio overview:
../../studio-overview.md - Embedded lanes:
Open questions / known gaps#
- Route-map deep routes are advertised contract paths, not implemented pages
- The portability check compares against a deploy target's declared node types / model hashes — confirm where deploy-target manifests are sourced