Context. surface studio · domain aja · route /studio/aja/output-retrieval · auth signed-in + studio entitlement · source apps/oshun/web/src/app/studio/aja/output-retrieval/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 wired to the real @aja/result-aggregation
assembly-readiness helpers via /v1/admin/aja/output-retrieval: it reports a
job's stage-weighted assembly progress (from collected/used results, conflict
resolution, gap-fill counts) and whether the output has reached a terminal,
retrievable state.
Entry points#
- Direct URL —
/studio/aja/output-retrieval(signed-in + studio entitlement) - Sibling quick-actions from this page — Queue Statistics, Back to Studio
Layout regions#
page.tsx mounts ShellLayout with active="studio" and renders three panels.
- Workspace panel (
data-aja-output-retrieval-workspace):<h1>"Aja Output Retrieval Workspace" (viaWorkspaceHeading)<p data-aja-output-retrieval-summary>— "Dedicated Output Retrieval route with dense expert-mode controls, progressive disclosure, and canonical route map. The operations lane reports assembly progress and terminal retrieval readiness on the real result-aggregation engine."<h2 data-aja-or-lane-heading>"Retrieval Readiness Operations Lane" wrappingdata-aja-or-engine-summary+ the readiness form
- Route Map panel (
data-aja-output-retrieval-route-map):<h2>"Route Map"- one
<article>perSTUDIO_AJA_OUTPUT_RETRIEVAL_ROUTE_MAPentry (5 entries)
- one
- Quick actions panel:
.quickAction<Link>s — see Interactions
States#
- Loading —
data-aja-or-loading"Loading aggregation engine…" - Unauthorized — on 401/403,
data-aja-or-unauthorized("Access restricted." + reason, default "Aja workspace scope required to inspect output retrieval.") - Error — non-OK / malformed / unreachable →
data-aja-or-error - Ready (form) — catalog present:
data-aja-or-engine-summary+ the readiness form - Result —
data-aja-or-resultdata-aja-or-headline(status · N% assembled · retrievable / terminal (not retrievable) / in progress) - Validation error —
data-aja-or-readiness-error"All counts must be non-negative integers."
Interactions#
Readiness form (data-aja-or-form)#
- Status —
select data-aja-or-status(options fromcatalog.statuses) - Collected —
input data-aja-or-collected - Used —
input data-aja-or-used - Conflicts —
input data-aja-or-conflicts - Resolved —
input data-aja-or-resolved - Gap frames —
input data-aja-or-gaps - Gaps filled —
input data-aja-or-filled - Check readiness —
button data-aja-or-submit;POST /v1/admin/aja/output-retrieval/readinesswith{ status, totalResultsCollected, resultsUsed, conflictsDetected, conflictsResolved, totalGapFrames, gapsFilled }→{ result: Readiness }
Route Map panel (data-aja-output-retrieval-route-map)#
Non-interactive <article> blocks from STUDIO_AJA_OUTPUT_RETRIEVAL_ROUTE_MAP
(5 entries): /studio/aja/output-retrieval plus …/scenes/[sceneId],
…/exports/[exportId], …/revisions/[revisionId], …/governance/[policyId].
Quick actions panel#
- Open Aja Queue Statistics workspace →
/studio/aja/queue-statistics - Back to Studio workspace index →
/studio
Data & contracts#
- Reads:
GET /v1/admin/aja/output-retrieval(catalog:summary,statuses,stageWeights) on mount viabuildBffAuthHeaders(),cache: 'no-store' - Writes:
POST …/readiness→{ result: { status, progress, complete, retrievable } } - Realtime: none
- Caching: client fetch on mount (no-store); SSR shell only
- Auth: BFF endpoints admin-scoped + fail-closed (401/403 → unauthorized render); the route is signed-in + studio (proxy gate)
Cross-references#
- Parent:
../../studio-overview.md - Component sources:
apps/oshun/web/src/components/studio/StudioAjaOutputRetrievalWorkspace.tsxapps/oshun/web/src/components/studio/StudioAjaOutputRetrievalRouteMap.ts
- Embedded by aggregator:
apps/oshun/web/src/components/studio/StudioAjaResultAggregationWorkspace.tsx(Output Retrieval Lane) - Sibling from quick-actions:
/studio/aja/queue-statistics
Open questions / known gaps#
- Route-map sub-routes are descriptive only; confirm implementation status
- Document the exact studio entitlement / proxy gate governing
/studio/aja/*