---
path: /studio/isis/workflows
surface: studio
domain: isis
auth: signed-in + studio entitlement (NOT AAA-gated)
source: apps/oshun/web/src/app/studio/isis/workflows/page.tsx
status: walked
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)'
---

# Isis Workflows

## 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", summary `data-isis-wp-summary`, form
    `data-isis-wp-check-form`, result `data-isis-wp-result`
  - Five embedded lanes, each an `<h2>` panel wrapping a sibling workspace via
    `WorkspaceSection`:
    - 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`)
- **Route map panel** (`data-isis-workflows-route-map`): `<h2>` "Route Map"
  enumerating `STUDIO_ISIS_WORKFLOWS_ROUTE_MAP` (6 entries)
- **Quick-actions panel**: `quickAction` links 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-error` on the mount GET
- [ ] **Ready (form)** — `data-isis-wp-check-form` renders
- [ ] **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`) or
      `data-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-costclass` select
- [ ] **Previous cost class** — `data-isis-wp-field-prevcost` select
- [ ] **Run portability check** — `data-isis-wp-check-submit` submit; 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 `fetch` on 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.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisWorkflowsPortabilityLane.tsx`
  - `apps/oshun/web/src/components/studio/StudioIsisWorkflowsRouteMap.ts`

## Cross-references

- Studio overview: [`../../studio-overview.md`](../../studio-overview.md)
- Embedded lanes:
  - [`studio-isis-workflow-registry.md`](./studio-isis-workflow-registry.md)
  - [`studio-isis-workflow-definitions.md`](./studio-isis-workflow-definitions.md)
  - [`studio-isis-workflow-versioning.md`](./studio-isis-workflow-versioning.md)
  - [`studio-isis-workflow-templates.md`](./studio-isis-workflow-templates.md)
  - [`studio-isis-integration-events.md`](./studio-isis-integration-events.md)

## 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
