Context. surface studio · domain isis · route /studio/isis/provider-integration · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/provider-integration/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 the provider routing planner. The operator submits a set of
providers (with health and weights) as JSON; the planner normalizes healthy
provider weights into a routable distribution, naming the primary provider and
each provider's share. Reads and plans via /v1/admin/isis/provider-integration;
admin-scoped and fail-closed.
Entry points#
- Embedded as the "Provider Integration Lane" inside
/studio/isis/ai-providers - Sibling quick-action from
/studio/isis/video-production-workflows - 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-provider-integration-workspace):<h1>(WorkspaceHeading) "Isis Provider Integration Workspace"- Summary paragraph (
data-isis-provider-integration-summary) - Live Provider Routing Planner lane (
data-prl-lane,<h2 data-prl-heading>Live Provider Routing Planner</h2>): a JSON providers form (data-prl-form) + result (data-prl-result) withdata-prl-headline,data-prl-primary, and per-provider rows (data-prl-providers,data-prl-provider-rowwithdata-provider/data-healthy/data-routable/data-prl-share)
- Route Map panel (
data-isis-provider-integration-route-map):<h2>Route Map</h2>over the route map (5 entries) - Sibling quick-actions panel:
/studio/isis/video-production-workflows,/studio
States#
- Loading —
data-prl-loading - Unauthorized — 401/403 admin-scope fail-closed;
data-prl-unauthorized - Error — non-OK / malformed;
data-prl-error - Ready (form) — providers form renders
- Result —
data-prl-resultafter planning; plan failure →data-prl-plan-error
Interactions#
Routing planner form (data-prl-form)#
- Providers (JSON) (
data-prl-payload, textarea,aria-label="providers json") - Plan routing (
data-prl-submit, submit) —POST /v1/admin/isis/provider-integration/plan-routing
Route Map#
- Route-map articles ×5
Sibling quick-actions#
- Open Isis Video Production Workflows workspace →
/studio/isis/video-production-workflows - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/provider-integration(planner catalog probe) - Writes:
POST /v1/admin/isis/provider-integration/plan-routing(normalize provider weights into a routable distribution) - Realtime: none
- Caching: client fetch on mount,
cache: 'no-store',buildBffAuthHeaders() - Auth/role check: admin-scoped, fail-closed (401/403); route signed-in + studio entitlement (not AAA-gated)
- Component sources:
apps/oshun/web/src/components/studio/StudioIsisProviderIntegrationWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisProviderIntegrationRouteMap.ts
Cross-references#
- Studio overview:
../../studio-overview.md - Also embedded in:
studio-isis-ai-providers.md - Sibling routes:
Open questions / known gaps#
- No breadcrumb on this route — navigation via sibling quick-actions
- Also embedded as a lane inside the AI Providers aggregator
- Route-map sub-paths are declared but not yet implemented as separate pages