Context. surface studio · domain isis · route /studio/isis/model-quality-assessment · auth signed-in + studio entitlement (NOT AAA-gated) · source apps/oshun/web/src/app/studio/isis/model-quality-assessment/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 §24.9 release-gate lane console: it runs an asset's delivery signals
through the real 3d-quality-gates release-gate evaluator for a chosen use-case,
returning a pass/fail decision, a passed/total score, per-check findings, and
remediation actions. All reads and assessments flow through
/v1/admin/isis/model-quality; it is admin-scoped and fails closed.
Entry points#
- Sibling quick-action from
/studio/isis/model-comparison - 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-model-quality-assessment-workspace):<h1>(WorkspaceHeading) "Isis Model Quality Assessment Workspace"- Summary paragraph (
data-quality-summary) - Assess form (
data-quality-form) - Assessment list (
data-quality-assessments, eachdata-quality-assessment=<assessmentId>); empty statedata-quality-assessments-empty
- Route Map panel (
data-isis-model-quality-assessment-route-map):<h2>Route Map</h2>overSTUDIO_ISIS_MODEL_QUALITY_ASSESSMENT_ROUTE_MAP(5 entries) - Sibling quick-actions panel:
/studio/isis/model-comparison,/studio
States#
- Loading —
data-quality-loading - Unauthorized — 401/403 admin-scope fail-closed;
data-quality-unauthorized - Error — non-OK or malformed response;
data-quality-error - Ready (form) — response present; use-case select populated; form + list render
- Result — after an assess POST,
data-quality-resultshowsdata-quality-decision/data-quality-verdict,data-quality-signals, and failed checks (data-quality-failed/data-quality-failed-check); malformed signals JSON →data-quality-json-invalid
Interactions#
Assess form (data-quality-form)#
- Assessment id (
data-quality-assessmentid, text input) - Use-case (
data-quality-usecase,<select>from the gate templates; selecting one loads its all-pass template) - Delivery signals (JSON) (
data-quality-signals,<textarea>— prefilled with an all-pass template; degrade fields to model the asset) - Assess (
data-quality-assess, button) — disabled until valid;POST /v1/admin/isis/model-quality
Route Map#
- Route-map articles ×5
Sibling quick-actions#
- Open Isis Model Comparison workspace →
/studio/isis/model-comparison - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/isis/model-quality(gate templates per use-case + prior assessments) - Writes:
POST /v1/admin/isis/model-quality(evaluate signals against the release gate; returns decision, passed/total score, findings, remediation) - 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/StudioIsisModelQualityAssessmentWorkspace.tsxapps/oshun/web/src/components/studio/StudioIsisModelQualityAssessmentRouteMap.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