This is the entire-surface analysis of the operator/creator Studio workspace
layer for Oshun V1, the dominant remaining gap toward "every feature and flow
and journey fully and correctly implemented." It is evidence-backed: every
number below comes from a census of the actual component files, not estimates.
It complements the prior backend/engine audits
(V1_INDEPENDENT_REVERIFICATION_2026-05-30.md,
V1_PRODUCTION_READINESS_GAP_ANALYSIS_2026-05-30.md)
and the deploy-tier map
(V1_DEPLOYMENT_REQUIREMENTS.md).
Method#
Census of every apps/oshun/web/src/components/studio/Studio*Workspace.tsx
component (the unit a /studio/.../page.tsx route renders), classified three
ways by static inspection:
- WIRED — issues a real backend call (
fetch/buildBffAuthHeaders/ a/v1/...endpoint) and renders that data. - BREADCRUMB — ≤30 lines, renders only the shared
StudioHathorEconomyModelingLaneCardnavigational card; zero domain content. - STATIC — larger hand-written content (route-maps, capability lists, governance copy) but no backend call — it looks built yet is wired to nothing.
Headline census#
| Status | Count | Meaning |
|---|---|---|
Total Studio*Workspace components |
469 | the full studio surface |
WIRED (any /v1/ call) |
19 | …but 5 only call /v1/auth/validate-context (an auth shell, not a feature backend) → ~14 genuinely feature-wired |
| BREADCRUMB (pure stub) | 202 | render only the lane card |
| STATIC (fabricated, unwired) | 248 | substantial copy, no backend |
~450 of 469 studio components are not wired to a real backend. The earlier "~234" figure counted only components that render the lane card; the true surface (including the 248 fabricated-static pages that embed it indirectly or not at all) is larger.
Per-domain matrix#
| Domain | WIRED | BREADCRUMB | STATIC | TOTAL |
|---|---|---|---|---|
| Aja (mocap/animation) | 1 | 54 | 43 | 98 |
| Isis (generation) | 10 | 56 | 22 | 88 |
| Bellona (Meta Quest) | 1 | 1 | 80 | 82 |
| Yemaya (production) | 1 | 49 | 29 | 79 |
| Hathor (narrative/NPC) | 5 | 42 | 27 | 74 |
| Other (ApiGateway/Tara/misc) | 1 | 0 | 47 | 48 |
Notable shape: Bellona is 80/82 STATIC (hand-written Meta Quest feature pages, none wired); Aja is the largest pure-breadcrumb domain (54); Isis is the most-wired (the generation backends exist).
What IS genuinely wired (14 feature pages)#
Pre-existing: HathorQuestAuthoring, HathorStoryGraphAuthoring,
HathorTimelineModeling, HathorWorldConfiguration (the §Hathor studio record
routes), ApiGatewayBffComposition (the studio workflow-composition routes).
Built this program (Isis, 9, each with a real backend + tests):
CivitaiIntegration (intake review + decisions), ComfyuiNodes (node registry
- deprecation),
LoRATraining(§24.5 lifecycle),ModelMerging(provenance bundles),CollectionManagement(output-gallery bulk curation),GPUWorkerArchitecture(RunPod ops + secret rotation),TextToSpeech(§24.7 voice-clone lifecycle),JobManagement(generation queue list/retry),LineageGraph(provenance DAG).
Auth-shell-only (call /v1/auth/validate-context, no feature backend):
AjaApiEndpoints, BellonaClient, HathorClient, IsisGenerationApi,
YemayaApi.
Gap taxonomy (the ~450)#
-
Pure breadcrumbs (202) —
[domain] route with dense expert-mode controlsplaceholder text + the lane card. No domain logic, no data. Converting each = build the page's real feature and its backend (most have none), per the standing directive (full QuestAuthoring-density, build the backend too). -
Fabricated static (248) — these are the subtler gap: they pass a naive "is there code here?" check (hundreds of LOC of capability cards, route-maps, governance copy) but render invented constants, not real data. Example already corrected:
TextToSpeechwas 504 LOC of static governance sections embedding the breadcrumb; it is now wired to the real clone-workflow backend. The other 247 (esp. all of Bellona) remain fabricated-static.
Non-page V1 systems — status (cross-ref prior audits)#
These are real and reachable (verified in prior turns; not part of the 450): domain engines + the takedown/DSAR/crisis cascades; the Isis generation gate + async job queue + per-provider adapters; messaging transports + LTI 1.3 verify + SCORM 1.2/2004 RTE + the reminder planner/worker/delivery and now the 4 producers; the abuse-protection durable limiter; the agentic-studio kill-switch/budget guard and now its real full-mutation tool catalog; the Living-Scenes render→watermark→PSE→C2PA→durable-share pipeline.
Irreducible externals (not source code)#
Documented in V1_DEPLOYMENT_REQUIREMENTS.md: trained AI-video model weights +
GPU endpoint; live Twilio/SES/FCM/Meta + Suno/RunPod/Meshy credentials;
per-tenant LMS connector registrations; the reminder/worker cron host; expanded
editorial corpus; the C2PA signing key. Each has ready in-repo code that
consumes it and a functioning in-repo default without it.
Production-readiness verdict#
- Backend / safety / governance / generation / messaging layers: production-real and reachable. The algorithmic, security, protocol, and pipeline gaps the earlier audits flagged are closed.
- Operator/creator Studio frontend: ~3% wired (14 feature pages of 469). This is the dominant remaining in-repo gap. It is not blocked on missing engineering primitives — most pages need a straightforward read/mutate backend over an existing domain lib + the page itself, on the proven pattern. It is blocked on volume: ~450 pages × (backend + page + tests) is a multi-week, per-page program.
Definition of done (per user decision #11)#
Done = all in-repo code complete: all studio pages + their backends, plus the now-complete reminder producers + agentic catalog; externals documented (above), not blockers. Against that bar, the studio surface is the open item, quantified here at ~450 unwired components.
Recommended sequence (the executing pattern)#
Per the standing directive: one verified page per turn — read the page's V1/
feature, build the full-density workspace and its backend (mirror the
admin-isis pattern: store + admin-scoped fail-closed route + lib algorithm where
one exists), rewrite the breadcrumb-enshrining tests onto real behavior,
commit + push both refs. Priority order in flight: remaining Isis (most have
or are near a backend) → Aja → Yemaya → Hathor → Bellona.
Highest-leverage targets next: Isis pages with existing libs (ContentSafety,
ModelRegistry, ProvenanceTracking, CostTracking) before the net-new-backend
Aja/Yemaya domains.