Task 8.1 is closed as a source/static re-baseline. Phase 8 and G9 remain open.
Counted baseline#
- 20 canonical admin workspaces across 29 page sources.
- 129 core surfaces, 131 semantic row classes, and 128 semantic action classes.
- 3 curated admin tours.
- 5/7 declared admin invocation points have a production consumer.
Workspace and row/action inventory#
| Workspace | Surfaces | Row classes | Action classes | Contextual coverage |
|---|---|---|---|---|
dashboard |
2 | workspace-summary, copilot-health | open-workspace | global only / none |
inbox |
1 | unified-inbox-item | assign-inbox-item, open-inbox-item, bulk-inbox-action | global only / none |
review |
19 | review-package, saved-review-view, review-triage-item, review-package-detail, review-copilot-suggestion, high-risk-approval, review-stage, review-stage-history, review-history-entry, review-audit-event, review-audit-timeline-event, review-template, review-blocker, workspace-entity-link, workspace-comment, investigation-export | open-review, apply-saved-view, triage-review, apply-review-copilot-suggestion, decide-review, delegate-review, escalate-review, decide-high-risk-approval, move-between-review-items, apply-review-template, resolve-review-blocker, change-workspace-link, add-workspace-comment, export-investigation-bundle | ReviewPackageList.tsx (selection-ask); ReviewSavedViewsSurface.tsx (selection-ask); KeyboardTriageReviewSurface.tsx (selection-ask) |
policy |
6 | identity-policy, compliance-review, policy-bundle, policy-deployment, policy-governance-event, configuration-entry | change-identity-policy, attest-policy, edit-policy-bundle, deploy-policy-bundle, approve-policy, rollback-policy, change-configuration | global only / none |
trust-safety |
10 | trust-safety-metric, crisis-escalation, moderation-content, user-report, cloned-voice-review, avatar-deception-review, image-moderation-review, offender-history, moderation-appeal, safety-rule-hit | respond-to-crisis, moderate-content, triage-user-report, decide-cloned-voice-review, decide-avatar-review, decide-image-review, open-offender-case, decide-appeal, inspect-safety-rule | global only / none |
lilith |
11 | live-room, room-takeover, concert-schedule, concert-calendar-entry, instructor-verification, tara-class-schedule, persona-behavior-review, generation-job, takedown-candidate, display-name-override, reputation-subject | open-live-room, take-over-room, schedule-concert, approve-concert, verify-instructor, schedule-class, publish-persona-policy, inspect-generation-job, execute-takedown, change-display-name, review-reputation | global only / none |
egbe |
5 | agent-welfare-signal, steward-conduct-review, behavior-welfare-signal, egbe-generation-job, egbe-operator-surface | decide-conduct-review, inspect-egbe-generation, open-egbe-surface | global only / none |
rights |
3 | provenance-inspection, watermark-verification, export-consent-inspection | inspect-provenance, verify-watermark, decide-export-consent | global only / none |
incidents |
4 | incident, incident-impact, incident-runbook, incident-postmortem | draft-incident-update, acknowledge-incident, change-incident-state, publish-incident-comms, update-runbook, publish-postmortem | IncidentDetailPanel.tsx (direct-entry) |
editorial |
5 | content-calendar-entry, content-qa-check, tara-lineage-review, teacher-publication, editorial-release | change-calendar-entry, decide-content-qa, decide-lineage-grounding, publish-teacher-content, change-editorial-release | global only / none |
research-integrity |
6 | research-integrity-case, citation-validation, research-source-review, research-claim-comparison, research-promotion, research-report-gate | triage-research-case, decide-citation, decide-source-review, compare-research-claim, promote-research-arm, decide-report-gate | global only / none |
personas |
10 | persona-registry-entry, persona-governance-entry, tone-calibration-run, persona-rehearsal, premium-cast-approval, voice-profile-review, avatar-pack-review, persona-sponsor, persona-sequence-script, persona-nameplate | change-persona-release, edit-persona-governance, decide-tone-calibration, decide-rehearsal, decide-premium-cast, decide-voice-profile, decide-avatar-pack, change-persona-sponsor, evaluate-persona-sequence, change-persona-nameplate | global only / none |
models |
8 | model-registry-entry, model-evaluation, mlops-deployment, model-governance-entry, provider-operation, output-spot-check, workflow-template, agentic-operation | change-model-release, inspect-model-evaluation, promote-model, rollback-model, decide-model-governance, change-provider-route, decide-output-check, change-workflow-template, change-agentic-operation | global only / none |
isis |
8 | civitai-intake-item, comfy-node, lora-training-run, model-merge, generated-output, runpod-endpoint, voice-cloning-job, isis-workflow | decide-civitai-intake, change-comfy-node, change-lora-training, change-model-merge, decide-output, change-runpod-endpoint, change-voice-cloning-job, edit-isis-workflow | global only / none |
support |
3 | support-case, billing-operation, conversation-thread, continuity-incident | assign-support-case, escalate-support-case, change-billing-operation, annotate-conversation, troubleshoot-continuity | global only / none |
privacy |
7 | privacy-request, dsar-review, retention-policy, deletion-job, retention-exception, consent-audit-entry, privacy-audit-event | process-privacy-request, decide-dsar-review, change-retention-policy, run-deletion-job, decide-retention-exception, inspect-consent | global only / none |
analytics |
11 | content-slo-signal, readiness-report, release-readiness-decision, admin-audit-event, bulk-operation, bulk-export, developer-credential, integration-registration, notification-template, communication, public-incident, crash-group, crash-issue, crash-rollup | inspect-readiness, decide-release-readiness, search-audit-log, run-bulk-operation, run-bulk-export, change-developer-credential, change-integration, change-notification-template, publish-communication, triage-crash | CrashOperationsWorkspace.tsx (direct-entry) |
admin-tools |
8 | assistant-tour-review, admin-audit-event, bulk-operation, bulk-export, developer-credential, integration-registration, notification-template, communication, public-incident | decide-assistant-tour, search-audit-log, run-bulk-operation, run-bulk-export, change-developer-credential, change-integration, change-notification-template, publish-communication | global only / none |
messaging |
1 | telegram-channel-binding | bind-telegram-channel, toggle-crisis-suppression, takedown-telegram-post | global only / none |
tenant-console |
1 | tenant-living-scene | change-living-scene-policy | global only / none |
Admin invocation declarations#
| Invocation point | Surface | State | Production consumers |
|---|---|---|---|
admin-web.assistant-panel |
global-launcher | wired | apps/oshun/admin/src/components/AdminAssistantPanel.tsxapps/oshun/admin/src/components/AdminHeader.tsxapps/oshun/admin/src/components/AdminShell.tsx |
admin-web.review-detail |
inline-help | declared, unwired | — |
admin-web.inbox-triage |
context-menu | declared, unwired | — |
admin-web.incident-acknowledgement |
inline-help | wired | apps/oshun/admin/src/components/IncidentDetailPanel.tsx |
admin-web.keyboard-shortcut |
keyboard-shortcut | wired | apps/oshun/admin/src/components/AdminShell.tsx |
admin-web.selection-ask |
context-menu | wired | apps/oshun/admin/src/components/AdminSelectionAsk.tsxapps/oshun/admin/src/components/AdminShell.tsx |
admin-web.crash-triage |
context-menu | wired | apps/oshun/admin/src/components/CrashOperationsWorkspace.tsx |
Feature-capability declarations#
| Shell | Capability | Declared available |
|---|---|---|
| adminWeb | streamingTransport | true |
| adminWeb | interruptionController | false |
| adminWeb | proactiveFollowup | false |
| adminWeb | personaSwitching | false |
| adminWeb | crossDomainCarryover | false |
| customerMobileBuffered | streamingTransport | false |
| customerMobileBuffered | interruptionController | false |
| customerMobileBuffered | proactiveFollowup | false |
| customerMobileBuffered | personaSwitching | false |
| customerMobileBuffered | crossDomainCarryover | false |
Admin web currently uses incremental SSE. Customer mobile consumes buffered JSON. Admin voice is browser dictation plus conditional synthetic speech playback; the mobile quick-prompt path is text submission, not voice.
Corrected drift#
- Mobile buffered JSON is no longer declared as streaming transport.
- No shell claims mid-response interruption without an operator cancellation control.
- No shell claims proactive follow-up without a proactive runtime.
- Persona previews are disabled because they do not alter active session or turn routing.
- The mobile quick-prompt journey no longer describes itself as voice coverage.
- Declared but unwired review-detail and inbox-triage invocation points remain explicit gaps.
Retained limitations#
- Only selection-ask and incident/crash direct-entry surfaces currently carry row-aware admin context; Task 8.3 owns contextual totality.
- admin-web.review-detail and admin-web.inbox-triage are registry declarations with no production consumer.
- Mobile remains buffered and has no in-flight cancel, proactive follow-up, or active-turn persona switching; Task 8.4 owns the measured transport decision.
- Admin streams SSE but has no user interruption control, proactive runtime, or active-turn persona switching.
- This source/static baseline does not prove screen-reader interoperability or live device behavior.
- The mobile project typecheck is red on three pre-existing strictness errors in libs/contracts; the changed sheet is covered by focused Jest and mobile lint.
Record digest:
d2c739731b67c3e4cd31cbde6f48ecdd34dd9107860cd1d6605467f8445a1ff1.