Screen Flows — DM Portal
Screen IDs reference screens-dm-portal.md.
Audience: Internal digital marketers and HITL reviewers.
Platform: Web only.
Auth: reviewer role required; cross-tenant access based on reviewer assignments.
Status: Core screens are [Live] as of April 2026. Screens that depend on live SSE monitoring or intervention (P3 Activity Detail, P5 escalate/A-B compare) are [To Build]. Agent grid (P6), users (P7), approvals queue (P4), and Mission Control (P1) are confirmed working.
1. Top-Level Navigation
Content gates: No tenant selected → sidebar shows “Select a client to continue” and hides nav links. One accessible tenant → auto-selects via
/api/tenant/auto-select.
2. Mission Control — P1
Status: [Live]
Data flow: Stat cards + approval list call /dm/v1/overview-* on load and poll every 30s. The topbar bell uses the full notification dropdown (fetched once on mount, updated via Socket.IO notification:new).
Note: Active agents panel shows in_progress activities via /dm/v1/overview-running. SSE not required — polling only.
3. Activities — P2 → P3
Activity Detail Split View (P3)
| Pane | Content |
|---|---|
| Left — Live output | Terminal-style SSE stream from event_logs. Auto-scroll toggle. Pause button. |
| Right — Metadata | Tenant, campaign, activity type, agent, model, session ID, input payload, cost counter, output validators |
4. Approvals — P4 → P5
Status: P4 [Live] · P5 Blog [Live] · P5 Social [Live — stalls at design_pending without OPENAI_API_KEY]
Data source: GET /dm/v1/overview-approvals — blog posts + social posts in dm_review. Each item’s link field navigates to the correct review screen.
Not yet implemented: Bulk approve, risk level sorting, send-to-client, escalate, A/B compare.
5. Agents — P6
Status: [Live] — real-time Socket.IO monitoring.
Live state keyed by ${tenantId}:${agentRole}. Agent cards grouped by category. Read-only monitoring — no intervention actions on this screen.
6. Users — P7
Status: [Live]
“All Tenants” view was removed. Users page always shows the active tenant’s TenantMember list. 3-column table: User / Role / Joined.
7. Context — P9
Status: [Live]
DM cannot approve context — client-only action on the dashboard.
7b. Strategy — P10
Status: [Live]
DM cannot approve strategy — client-only. StatusDropdown shows only: draft / pending_review / rejected.
7c. Deliverable Plan — P10b
Status: [Live]
DM cannot approve the deliverable plan — client-only action.
7d. Goals — P11
Status: [Live]
7e. Archived Goals — P11b
Status: [Live]
7f. Deliverables — P12
Status: [Live]
7g. Activity Log — P13
Status: [Live]
No navigation from this screen. Last 100 entries, static load.