V1 Web PWA · Surface walkthrough

Isis Unified Provider Architecture

A per-surface walkthrough of the V1 Web PWA studio surface: layout, states, interactions, data, and cross-references.

walked
8sections2 minread

On this page

Context. surface studio · domain isis · route /studio/isis/unified-provider-architecture · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/unified-provider-architecture/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 unified provider-selection layer. Given a provider's cost/latency parameters and a generation input, it estimates the cost and latency and returns a weighted provider score (cost / quality / latency / reliability), the same scorer the routing layer uses to pick providers.

Entry points#

  • Sibling quick-action card from /studio/isis/provider-factory
  • Studio index (/studio)
  • Direct URL / bookmark

Layout regions#

page.tsx mounts ShellLayout active="studio" and three panels (no breadcrumb panel).

  • Workspace panel (data-isis-unified-provider-architecture-workspace):
    • <h1> "Isis Unified Provider Architecture Workspace" (WorkspaceHeading)
    • Summary paragraph (data-isis-upa-summary)
    • The "Score provider" form (data-isis-upa-evaluate-form)
    • Result block (data-isis-upa-result) with data-isis-upa-cost, data-isis-upa-latency, data-isis-upa-score
  • Route map panel (data-isis-unified-provider-architecture-route-map): <h2> "Route Map" enumerating STUDIO_ISIS_UNIFIED_PROVIDER_ARCHITECTURE_ROUTE_MAP
  • Quick-actions panel: quickAction links to /studio/isis/conversational-ai and "Back to Studio workspace index" → /studio

States#

  • Loadingdata-isis-upa-loading "Loading provider scorer…"
  • Unauthorizeddata-isis-upa-unauthorized (admin-scope fail-closed on 401/403)
  • Errordata-isis-upa-error on non-OK / malformed response
  • Ready (form) — score form renders (quality-tier options from the catalog)
  • Resultdata-isis-upa-result (kind evaluated) or data-isis-upa-evaluate-error (kind error)

Interactions#

Score provider (data-isis-upa-evaluate-form)#

  • base costdata-isis-upa-field-basecost input
  • per-unit costdata-isis-upa-field-perunit input
  • avg latency msdata-isis-upa-field-latency input
  • success ratedata-isis-upa-field-success input
  • provider max qualitydata-isis-upa-field-maxquality select (catalog quality tiers)
  • prompt lengthdata-isis-upa-field-promptlen input
  • imagesdata-isis-upa-field-images input
  • videosdata-isis-upa-field-videos input
  • required qualitydata-isis-upa-field-quality select (catalog quality tiers)
  • Score providerdata-isis-upa-evaluate-submit submit; POSTs to /v1/admin/isis/unified-provider-architecture/evaluate

Route map#

  • Route-map articles — non-interactive path + purpose entries

Quick-actions#

  • Open Isis Conversational AI workspace/studio/isis/conversational-ai
  • Back to Studio workspace index/studio

Data & contracts#

  • Reads: GET /v1/admin/isis/unified-provider-architecture (UPA_ENDPOINT) on mount — catalog (qualityTiers)
  • Writes: POST /v1/admin/isis/unified-provider-architecture/evaluate (EVALUATE_ENDPOINT) — estimate cost/latency + score
  • Realtime: None
  • Caching: client fetch on mount, cache: 'no-store', buildBffAuthHeaders()
  • Auth: admin-scoped fail-closed (401/403 → unauthorized state); route behind the signed-in + studio proxy gate
  • Component sources:
    • apps/oshun/web/src/components/studio/StudioIsisUnifiedProviderArchitectureWorkspace.tsx
    • apps/oshun/web/src/components/studio/StudioIsisUnifiedProviderArchitectureRouteMap.ts

Cross-references#

Open questions / known gaps#

  • The score weights (cost / quality / latency / reliability) are server-side constants; this view does not expose tuning them
  • Single-provider scoring only — there is no comparative leaderboard across multiple providers in this surface