Surface · Internal Reference
Full Feature Matrix
Surface is Swift's sovereign work platform replacing Monday.com, Clockify, Fireflies, and Discord with a single owned application. Everything here is MVP-grade v1 - every Full item works end-to-end but is first-iteration quality. Roadmapped items represent the next depth layer, not distant future. This matrix is the team's shared view of where we are and what's next.
39
Fully functional
18
Partial / scoped
8
UI shell / stub
6
In-flight branches
56
Roadmapped
8
Grid-integrated infra
FullWorks end-to-end, real data, v1
PartialLive but incomplete or scoped
StubUI shell - mock or hardcoded data
- Not built
In flightOpen branch, not yet merged
RoadmappedDefined, sequenced, no code yet
GridInfra outside Surface repo
BlockedHas a named gate or dependency
HM · Home DashboardPersonal command center and situational awareness - the / route▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| HM-01 | Eve briefing strip AI daily briefing bar; summarizes priorities, mentions, anomalies | Full | Partial | Iris daily brief factory not yet wired to Home - PM.2 |
| HM-02 | Quick actions bar New item, log time, message, start call via keyboard shortcut | Full | Full | - |
| HM-03 | 4-up stat cards Overdue / Due today / Messages / Time today - live from DB | Full | Partial | Scope to logged-in user - SURFID.2 |
| HM-04 | Client health grid Per-client status dots, hours tracked, open item counts | Full | Full | - |
| HM-05 | Your week view Day-grouped items due this week with completion bars | Full | Partial | Scope to logged-in member - SURFID.2 |
| HM-06 | Mentions & DMs panel Recent @mentions and unread DM count | Full | Partial | Scope to logged-in member - SURFID.4 |
| HM-07 | Resume rail 3 most-recently-touched items for quick re-entry | Full | Partial | Scope to logged-in member - SURFID.2 |
| HM-08 | Time today sidebar Today’s logged time with quick-log shortcut | Full | Partial | Scope to logged-in member - SURFID.3 |
WM · Work ManagementProjects, items, and multi-view work hub - replaces Monday.com▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| WM-01 | Project list view Status-grouped item list with key, owner, due date, burn bar | Full | Full | - |
| WM-02 | Project board view 5-column kanban; drag-and-drop status changes | Full | Full | - |
| WM-03 | Card view Card-density item grid with priority color coding | Full | Full | - |
| WM-04 | Item detail page 4 tabs: Thread (item comments + @mentions), Fields, Activity log, Time. Status picker, due date, description, sub-items, attachments, SOPs panel, agent notes sidebar. | Full | Full | SURFID.1Filter assignments to logged-in user |
| WM-05 | My Work queue Items grouped: Overdue / Today / Tomorrow / This week / Waiting / Done; j/k keyboard nav; triage panel | Full | Partial | Shows all members’ items - SURFID.1 |
| WM-06 | Work hub multi-view List / board / card with sort, multi-axis filter, project and priority facets | Full | Full | - |
| WM-07 | Inline status management Status picker on items in all views; status category set defines columns | Full | Full | - |
| WM-08 | Burn bars & variance chips Green <70% / amber 70-90% / red >90% of baseline_minutes; risk + over chips | Full | Full | - |
| WM-09 | New item / project portals Global creation portals via keyboard shortcut or sidebar button | Full | Full | - |
| WM-10 | Project item groups Items assignable to named sections (groups) within a project; group name shown on cards and list view | Full | Partial | Group creation UI and drag-to-reorder not yet built |
| WM-11 | SOP surfacing on items Linked SOPs panel on item detail; agent notes propose relevant runbooks | Full | Partial | Full SOP authoring and linking - PM.5 |
| WM-12 | Gantt view Timeline bars showing item duration across calendar dates | - | - | Roadmapped PM.5 - defined in WorkViewBar, disabled flag |
| WM-13 | Sprint view Sprint-scoped item queue with velocity tracking | - | - | Roadmapped PM.5 - defined in WorkViewBar, disabled flag |
| WM-14 | Client portal (external-facing) Scoped read-only workspace for client contacts | - | - | Roadmapped PM.5 - blocked on PM-D1 scope decision |
| WM-15 | Monday.com data migration Full historical board and item migration from Monday before cancellation | - | - | Roadmapped PM.5 - one-time extraction factory; PM-D4 depth decision |
WL · Workload & CapacityTeam-level capacity visibility - replaces Monday workload view▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| WL-01 | Workload matrix Members × time buckets; item key chips per cell; ≥5 items highlights amber | Full | Partial | Scope to team/client filter - PM.5 |
| WL-02 | Workload report Per-engagement hours vs. budget by role class; ok / risk / over status | Full | Full | - |
| WL-03 | Assignment balancing Drag-and-drop reassignment from workload matrix to rebalance members | - | - | Roadmapped PM.5 |
| WL-04 | Capacity alerts Threshold-triggered notification when a member’s queue exceeds capacity | - | - | Roadmapped PM.5 |
TM · Time TrackingManual and signal-based time capture - replaces Clockify▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| TM-01 | Manual time logging Date, duration, client / project / item selectors, billable toggle, notes | Full | Full | SURFID.3Default to current user; admin sees all |
| TM-02 | Signal-aware time view Bar chart split by provenance; percentage caught by signals; catches-waiting section | Full | Partial | Signal auto-feed needs PM.1 |
| TM-03 | Passive time accrual Auto-log from meeting attendance, status transitions, file delivery, factory runs | - | - | Roadmapped PM.3 - blocked on PM.1 meeting pipeline |
| TM-04 | Clockify import One-time historical time data migration from Clockify | - | - | Roadmapped PM.0 - extraction factory in scope |
| TM-05 | Timer (start/stop) One-click running timer on any item; auto-logs on stop; ended_at set on insert, state mapping confirmed→approved live | Full | Full | PM.3 Clockify migration pending |
RP · Reports & AnalyticsDelivery analytics, engagement economics, benchmark reporting▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| RP-01 | Time reports Date range tabs, KPI strip, daily bar chart, by-client and by-member breakdown | Full | Full | - |
| RP-02 | Benchmark - budget vs actuals Per-client hours vs. role-class budget; semimonthly period; ok / risk / over | Full | Full | - |
| RP-03 | Client dashboard - KPIs Delivery / overdue / due-this-week / hours / leads / sessions per client | Full | Stub | Data stubbed - SURFID.CONN |
| RP-04 | Client dashboard - source connections GHL LIVE, GA4 / Google Ads / Search Console / Meta Ads READY per client | Full | Partial | GHL live; remaining connections need SURFID.CONN |
| RP-05 | Work reports hub Workload + benchmark rolled into /work/reports | Full | Full | - |
| RP-06 | Factory & signal report Run counts, factory spend, signal extraction rate, HAG approval rate | - | - | Roadmapped CONSOLE.0 - requires ClickHouse telemetry |
| RP-07 | Referral & activation metrics Activation rate, K-factor, referral ROI, payout liability - tenant health dashboard | - | - | Roadmapped TENANT-0.5 - Eve / Scout / Fin own this surface |
CL · ClientsPer-client workspaces with health, work, comms, and brand▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| CL-01 | Client workspace - Overview Health strip, our team, needs-attention items, links, contacts, activity spine | Full | Full | - |
| CL-02 | Client workspace - Discourse tab Ask bar, channel tabs, message feed, meetings rail, decisions logged | Full | Full | - |
| CL-03 | Client workspace - Work tab Filtered item list scoped to client | Full | Full | - |
| CL-04 | Client Brief AI On-demand AI-generated brief streamed from /api/client-brief/[id] | Full | Full | - |
| CL-05 | Client workspace - Brand tab Brand guidelines stored and surfaced per client; read/write via /api/studio/brand | Full | Partial | Brand editor UI is read-only display - ST |
| CL-06 | Client workspace - Dashboard tab KPI strip, delivery throughput, engagement economics, source connections grid | Full | Stub | All data mock - SURFID.CONN |
| CL-07 | Agency grouping Clients nested under agencies in sidebar and reports | Full | Full | - |
| CL-08 | Client contacts Our team + Theirs sections on client overview; add/edit contacts | Full | Full | - |
| CL-09 | Client meetings section Meeting list with transcript links per client workspace | - | - | Roadmapped PM.1 - placeholder in code |
| CL-10 | Client vertical template Pre-configured workspace template per vertical (pet/storage/wellness/general) seeded at tenant genesis | - | - | Roadmapped TENANT-1.1 - Vault Genesis handoff |
DB · Dashboard EngineClickHouse + ECharts tile engine, client record redesign, and Framework ingestion▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| DB-01 | Client record redesign Overview / Strategies / Work / Analytics tabs replacing the flat client page | - | - | Roadmapped DASH.3 |
| DB-02 | Tile registry Governance-gated tile registry; tiles read named versioned metric views only (DB1 doctrine) | - | - | Roadmapped DASH.2 |
| DB-03 | Goals and alerts Goal object in graph, default alert rules, generated health-check drafts | - | - | Roadmapped DASH.4 |
| DB-04 | Portal dashboard publish Publish client-scoped dashboards to portal as static shell with live guest tile fetches | - | - | Roadmapped DASH.5 |
| DB-05 | Framework version view FrameworkVersion graph entity display; ratification status, tier hour totals, defect flags | - | - | Roadmapped DASH.2 |
AQ · AI QueueAgent-extracted action items gated by human approval - the HAG▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| AQ-01 | AI-extracted item queue Action items, decisions, commitments, questions, signals; vera_score and evidence; filter by kind | Full | Full | Auto-fed once PM.1 lands |
| AQ-02 | Approve / edit / reject Human approval gate; edit before approving; approve creates item in work graph | Full | Full | - |
| AQ-03 | Queue attention strip on My Work Count strip appears at top of My Work when queue has pending items | Full | Full | - |
| AQ-04 | Extraction stats Cards this month, approval latency, precision rate in queue header | Full | Partial | Stats live; based on manually-seeded data until PM.1 |
| AQ-05 | Meeting pipeline - Whisper transcription Auto-capture audio, diarization, extraction chain on ArcRigs; integrates into AQ | - | - | Roadmapped PM.1 - Blocked PM-D5 (Sarah: recording consent) + ArcRig route |
| AQ-06 | Historical transcript import Fireflies full export ingestion before cancellation | - | - | Roadmapped PM.IMM.1 - transcript corpus at risk, Charles initiates |
| AQ-07 | Standing approval policies Recurring approval rules with expiry - approve “all action items from Aria” for 7 days | - | - | Roadmapped PM.2 - reduces repeated HAG friction |
| AQ-08 | ArcQA Playwright smoke tests 39 routes in smoke manifest; auth.setup, auth smoke, route smoke; authenticated tests skip without E2E_SUPABASE_TOKEN | Partial | Partial | Add E2E_SUPABASE_TOKEN to CI to unlock authenticated route coverage |
DC · Discourse - CommsChannels, DMs, presence, unified inbox - replaces Discord▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| DC-01 | Project channels Real-time Supabase Realtime messaging, file / image attachments, @mentions | Full | Full | - |
| DC-02 | Direct messages 1-on-1 DMs, presence dot in header, DM call buttons | Full | Full | - |
| DC-03 | Group DMs Multi-participant rooms via channel_participants; leave / close removes user | Full | Full | - |
| DC-04 | Two-way human ↔ agent comms Humans message agents in DMs and channels; agents reply via webhook; TTS auto-plays | Full | Full | - |
| DC-05 | GIF support Giphy search picker inline; full rendering in feed | Full | Full | - |
| DC-06 | Emoji reactions Picker on messages; reactions grouped by emoji with counts; toggle your own | Full | Full | - |
| DC-07 | Real-time presence Online / offline rail; heartbeat every 60s; custom avatars for humans and agents | Full | Full | - |
| DC-08 | Pinned messages Pin any message; pins tab in channel header; pin count badge | Full | Full | - |
| DC-09 | Channel mute & pin-to-top Per-member mute and pin ordering persisted in Supabase | Full | Full | - |
| DC-10 | Polls Poll messages with poll_votes; vote counts per option | Full | Partial | Poll creation UI needs composer integration |
| DC-11 | @mentions autocomplete @-triggered member list; mention chip in feed | Full | Full | - |
| DC-12 | File uploads in channels Upload via /api/channels/upload; renders as attachment | Full | Partial | Full file browser tab planned - DC-14 |
| DC-13 | Reply threads Thread panel on message; replies scoped to parent | - | - | In flight PR feat/surface-reply-threads - branch open |
| DC-14 | Files tab in channel Dedicated channel file browser tab | - | - | Roadmapped - gates on DC-12 completion |
| DC-15 | Channel search Full-text search within a single channel | - | - | Roadmapped - gates on SR-02 |
| DC-16 | Channel notes tab Per-channel notes/docs tab | - | - | Roadmapped |
| DC-17 | Voice / Video in project channels Voice and video from non-DM channels (currently DM-only) | - | - | Roadmapped - buttons present, disabled ‘coming soon’ PM.4 |
| DC-18 | Unified email inbox Multi-account sidebar, thread list with read / star / pin / important flags, compose drawer | Full | Stub | Thread data is mock - Gmail sync when SURFID.CONN activates |
| DC-19 | Unread / notification badges Channel-level unread dot; notification bell with count in topbar | Full | Partial | SURFID.4Scope to logged-in member |
| DC-20 | Discord bridge (PM.4 exit) Migrate team from Discord to Surface as primary comms; Discord bots remain available externally | - | - | Roadmapped PM.4 - requires DC-17 + calling parity + full notification coverage |
CA · CallingLiveKit-powered voice and video▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| CA-01 | Voice / video call overlay Full call UI, participant tiles, mute, camera toggle; persists across navigation | Full | Full | Internal calls auto-feed meeting pipeline at PM.4 |
| CA-02 | DM call buttons One-click audio / video call from any DM channel header | Full | Full | - |
| CA-03 | Incoming call signal Call initiate / respond / end API; signaling between members | Full | Partial | In-app ring notification needs DC-19 scoping |
| CA-04 | Agent participation in LiveKit calls Iris and other agents joinable as participants in LiveKit rooms | - | - | In flight PR feat/surface-agent-livekit-api - branch open |
| CA-05 | Screen share / Present Screen share tile in call overlay | - | - | Roadmapped - button present in channel header, disabled ‘coming soon’ |
| CA-06 | Call to meeting pipeline feed Surface calls auto-captured and piped into transcription + extraction chain | - | - | Roadmapped PM.4 - after Whisper pipeline (PM.1) lands |
FL · Flows - ArcFlowWorkflow builder and factory runner embedded in Surface▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| FL-01 | Workflow list Grid of workflows: status, version, run count, last run | Full | Full | - |
| FL-02 | Workflow builder Flow editor; 10 most-recent run records inline | Full | Partial | Visual node DAG editor not yet built |
| FL-03 | Create workflow Name + description form; redirects to builder | Full | Full | - |
| FL-04 | Workflow run history Per-workflow run list with status, duration, step count | Full | Full | - |
| FL-05 | HAG approval gate Human-in-loop step surfaced from /api/arcflow/runs/[id]/approve | Full | Full | - |
| FL-06 | Cancel workflow run Stop a running workflow; sets status to cancelled | - | Full | API live; no Surface UI trigger button yet |
| FL-07 | Trigger workflow from Surface Trigger a run from Surface UI with input payload | - | - | Roadmapped - API exists, no UI |
| FL-08 | Webhook trigger UI Configure and display inbound webhook URL for a workflow | - | - | Roadmapped - API exists, no UI |
| FL-09 | Run log viewer Step-by-step run log with timing and output per step | - | - | Roadmapped - API has run detail; viewer not built |
| FL-10 | Scheduled workflow display Show cron schedule and next-run time per workflow | - | - | Roadmapped - scheduler tick exists; display not built |
| FL-11 | ArcFlow standalone service Extract engine from Surface into arcflow-control / arcflow-dispatch / arcflow-worker on ArcHelm; Surface Flows page calls standalone control API | - | - | Roadmapped ARCFLOW.1.5 - after Phase 0 skeleton (ARCFLOW.1) ships |
| FL-12 | n8n shadow execution Each n8n factory runs in parallel on ArcFlow; output diffs logged; 80% parity gate before cutover | - | - | Roadmapped ARCFLOW.2 - after FL-11 |
| FL-13 | n8n decommission n8n container removed; all 182 active factories migrated to ArcFlow | - | - | Roadmapped ARCFLOW.3 - after ARCFLOW.2 parity gate |
CY · ArcCycleCycle-control primitive above ArcFlow - governs whether work repeats▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| CY-01 | Cycle Board List and detail view for active Cycles, state machine display, Turn history | - | - | Roadmapped CYCLE.1 |
| CY-02 | Cycle Proposal Draft + submit a Cycle Proposal; 72 h expiry countdown; approval workflow | - | - | Roadmapped CYCLE.1 |
| CY-03 | CycleMeter Real-time budget display (cash + GPU-seconds) in dispatch path; burn rate and ceiling enforcement | - | - | Roadmapped CYCLE.1 |
| CY-04 | Cycle tree view Program root and subtree visualisation; depth and gate rollup; settle protocol display | - | - | Roadmapped CYCLE.3 |
| CY-05 | Console lens - Cycles ArcCycle widget in Console sidebar; active Cycles, budget status, last Turn result | - | - | Roadmapped CYCLE.2 |
AG · Agent InfrastructureAgent identity, TTS, routing, factories, knowledge graph, bot integrations▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| AG-01 | Agent identity in Surface Iris, Trebek, Donut as role=agent members with avatar, presence, message authorship | Full | Full | - |
| AG-02 | Agent TTS auto-play Agent messages spoken aloud via Kokoro TTS API; playback control in UI | Full | Full | - |
| AG-03 | Agent avatar management Upload avatar in Settings; mirrors to members table | Full | Full | - |
| AG-04 | Agent voice & config settings Per-agent TTS voice, JSON config, display name in Settings > Agents | Full | Full | - |
| AG-05 | Agent message post API /api/agents/post-message enables any Grid agent to post into any Surface channel | Full | Full | - |
| AG-06 | LiteLLM model routing aliases: communications (llama3.1:8b), coding (qwen2.5-coder:32b), analysis + design (qwen3-fast); 90/10 local/Anthropic target | - | Grid | Grid infra - Surface calls LiteLLM proxy on port 4000 |
| AG-07 | ArcFlow factory runtime 182 factories authored; n8n-backed; pg-boss queue and scheduler; QA Review Loop live | - | Grid | Grid infra - Surface reads workflow state |
| AG-08 | ArcFlow - Surface integration Workflow list reads live ArcFlow DB (status, version, run count, last run) | Full | Full | Trigger + log viewer from Surface - FL-07 FL-09 |
| AG-09 | Human Approval Gate (HAG) Approval queue for agent-proposed items; hard-gate on removal, payments, outbound batches | Full | Full | Standing approval policies - AQ-07 |
| AG-10 | Neo4j knowledge graph Roadmap tasks, entities, agent configs, relationship graph - Trebek is query broker | - | Grid | Grid infra - Surface agents query via Trebek |
| AG-11 | Discord bot integrations Chucky (8003), Trebek (8004), Donut (8005), Scout (8006) - parallel channel to Surface | - | Grid | Grid infra - DC-20 is the Surface migration gate |
| AG-12 | Iris - voice & meeting bot PulseAudio virtual sinks; joins calls and speaks; Google auth session | - | Partial | Meeting capture + transcription loop needs PM.1 |
| AG-13 | MCP tool access mcp-local-models exposes ask_chat / ask_coder / ask_analyst / ask_designer to agent fleet | - | Grid | Grid infra |
| AG-14 | Agent memory & context Per-agent persistent memory store; context injection into agent sessions | - | - | In flight PR feat/agent-memory - branch open |
| AG-15 | BRAIN cognitive architecture Seven-layer architecture: world model, identity, memory, perception, executive function, metacognition, self-learning | - | - | Roadmapped Phase BRAIN - BRAIN.0 owner decisions required; blueprint phase |
| AG-16 | 21-agent full fleet in Surface All 21 rostered agents (Scout, Aria, Dax, Eve, Fin, Quill, Raye, Louis, Odo, Ghost, Argus, Guardian, Locutus, and others) accessible as Surface members | - | - | Roadmapped - gates on AG-15 + GV-01 governance |
SR · SearchFull-text search across the work graph▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| SR-01 | Item search Search by title, key, description with ?q=; results grouped by project | Full | Partial | Items only - expand scope per SR-02 |
| SR-02 | Cross-entity search Single query across projects, items, messages, time entries, members, files | - | - | Roadmapped - prerequisite for DC-15 |
CB · CalendarDue dates, meetings, content schedule▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| CB-01 | Week / month calendar grid Item due dates on real week/month grid; layer toggles for Meetings, Content, Periods, Availability | Full | Partial | Due date layer only live; other layers are UI stubs |
| CB-02 | Google Calendar sync Meetings layer from user’s Google Calendar via OAuth | - | - | Blocked Google Cloud OAuth creds - SURFID.CONN |
| CB-03 | Content calendar layer Scheduled content assets from Studio shown on calendar | - | - | Roadmapped - gates on ST-06 + CB-02 |
NT · NotificationsSystem-wide notification feed and preferences▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| NT-01 | Notifications feed page Global feed of last 50 notifications with type, channel, body, actor, read_at | Full | Partial | Scope to logged-in member - SURFID.4 |
| NT-02 | Topbar badge count Unread bell badge driven by /api/notifications/unread-count | Full | Partial | Scope to logged-in member - SURFID.4 |
| NT-03 | Notification preferences Per-type in-app and email toggles; persisted in notification_preferences | Full | Full | Email delivery requires RESEND_API_KEY |
| NT-04 | Email delivery Outbound notification emails via Resend API | Full | Partial | API key required; template design - PM.2 |
| NT-05 | Subnav order persistence Sidebar navigation item order saved per member | - | - | In flight PR feat/surface-nav-order-persistence - branch open |
CN · ConsoleFleet monitoring - Grid infra health inside Surface▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| CN-01 | Fleet monitoring dashboard Network / Compute / Models / Agents / Business tabs; node status grid; event feed; query bar | Full | Stub | All data is static mock - CONSOLE.0 |
| CN-02 | Live ClickHouse telemetry Real-time node health, run/step telemetry from ArcFlow, inference metrics from LiteLLM | - | - | Roadmapped CONSOLE.0 - ClickHouse pipeline required first |
| CN-03 | Fleet log query Natural-language query over live fleet logs | - | - | Roadmapped CONSOLE.1 - gates on CN-02 |
| CN-04 | Brain health surface Per-layer circuit breakers, behavioral drift monitor, cognitive health dashboard (BRAIN.6) | - | - | Roadmapped - BRAIN.4 Scout instantiated on full BRAIN architecture |
| CN-05 | OpenObserve alerting feed Error rate alerts, auth failure rate, isolation boundary violation, backup run failure routed to Console | - | - | Roadmapped LOG.6 - gates on CN-02 live feeds |
ST · StudioAgent-assisted content creation - Text, Sheet, Site, Layout, Video▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| ST-01 | Asset type catalog Template type cards; factory-ready banner; per-client artifact counts; Quill agent status | Full | Stub | All data static mock - agent authoring layer needed |
| ST-02 | Recent artifacts table Artifacts with state (approved/at_gate/draft/returned/factory); 4-up stats | Full | Stub | Static mock - gates on live /api/studio/artifacts |
| ST-03 | Asset workbench / editor Workbench shell with blame gutter; agent assumptions propose, never write directly | Full | Stub | Shell renders; live artifact loading and agent authoring not wired |
| ST-04 | Media library / copyright ledger Asset browser with source, license type, rights holder, expiry, used-in artifacts | Full | Stub | All static mock - Drive integration needed |
| ST-05 | Brand guidelines editor Per-client brand rules stored and editable via /api/studio/brand | Full | Partial | Write API live; editor UI is display-only |
| ST-06 | Agent-composed artifact creation Quill agent drafts content assets; blame gutter tracks agent vs human edits | - | - | Roadmapped - agent authoring layer; gates on ST-03 workbench |
| ST-07 | Publish pipeline DNS-as-code publish for sites; approved snapshots only | - | - | Roadmapped - gates on ST-06 |
| ST-08 | Version history Artifact version snapshots; restore any approved state | - | - | Roadmapped - gates on ST-03 |
| ST-09 | Sandbox / playground mode Non-destructive preview editing of site assets and pages; versioned snapshots; diff vs. live shown inline; designed for non-devs to prototype without risk | - | - | Roadmapped STUDIO.4 - gates on ST-03 canvas primitives + CMS/page-snapshot topology decision; originated from Brandon Davis feedback 2026-07-15 |
| ST-10 | CopilotKit vs assistant-ui decision ADR-03 spike: one-week evaluation before any canvas build | - | - | Roadmapped STUDIO.0 - prerequisite for ST-03 v2 |
| ST-11 | Penpot design canvas integration Validate Penpot as design canvas; Figma as fallback; SOURCE-REGISTER-001 intake | - | - | Roadmapped STUDIO.2 - after ST-10 decision |
PR · PersonalizationAppearance, Trim cosmetics, sounds▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| PR-01 | Theme - Light / Medium / Dark 3 palettes persisted per member via localStorage | Full | Full | - |
| PR-02 | Density - Cozy / Compact / Spacious Controls spacing, font-size, component padding app-wide | Full | Full | - |
| PR-03 | Font size slider XS / S / M / L / XL adjustment in Settings > Appearance | Full | Full | - |
| PR-04 | Trim cosmetics catalog & equip Avatar frame, nameplate, banner, effect, message badge, presence dot; equip flow; preview live | Full | Full | - |
| PR-05 | Trim packs Curated cosmetic bundles; equip-all-in-one-click; pack browser | Full | Full | - |
| PR-06 | Custom image uploads Hero and banner upload to Supabase Storage; persisted across Profile and Home | Full | Full | - |
| PR-07 | Avatar crop modal Crop preview before confirming avatar upload | Full | Full | - |
| PR-08 | Sounds - ringtone selection 4 built-in procedural tones + custom audio upload; Web Audio API preview | Full | Full | - |
| PR-09 | Trim topbar emoji User-selected emoji next to avatar in topbar | - | - | In flight PR feat/surface-topbar-emoji - branch open |
SE · SettingsAll member, agent, and workspace configuration▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| SE-01 | Profile Display name, title, bio, timezone, avatar upload / crop / color picker | Full | Full | - |
| SE-02 | Appearance Theme, density, font size - all persisted per member | Full | Full | - |
| SE-03 | Members management Member list with avatar, role badge, cost rate; Invite button; admin view | Full | Full | - |
| SE-04 | Agent management Per-agent avatar, color, TTS voice, JSON config, display name | Full | Full | - |
| SE-05 | Agency management Agency list with client groupings, color and avatar per agency | Full | Full | - |
| SE-06 | Notification preferences Per-type in-app and email toggles | Full | Full | - |
| SE-07 | Vault - sovereign work record Portable work history: hours tracked, items contributed, member since; CSV export | Full | Partial | Vault auth lock planned PM.6; Tenant Vault Genesis at TENANT-1.1 |
| SE-08 | Contract - member rates & budgets Per-member cost rate, contract type, role, engagement budgets | Full | Partial | Agreement upload at PM.7; inline rate edit wired to benchmark |
| SE-09 | Connections - external OAuth Google Workspace, GHL, GitHub, Clockify, Stripe, Notion, media integration cards | Full | Stub | Blocked Google Cloud OAuth creds + GHL per-tenant wiring - SURFID.CONN |
| SE-10 | Member invite flow Invite team members with role assignment; invitation-token delivery | Full | Partial | Full invitation-token flow needs SURFID.AUTH-EXT |
| SE-11 | System info Build version, auth provider, latest migration, AI runtime - informational | Full | Full | - |
| SE-12 | Permissions page Owner-only Settings > Permissions page with member roster + permission matrix. Unified roles: owner / admin / member / agent / guest (migrations 121-123, 127). RLS on projects + clients scoped by assignments. Middleware route guards on admin+ and owner-only routes. | Full | Full | - |
| SE-13 | Feature flags per tenant tenant_features join table; hasFeature() utility gates UI and API routes per isolation tier | - | - | Roadmapped TENANT-0.6 - covers: referral codes, dedicated schema, dedicated inference lane, vault export, client workspace, content templates |
ID · Auth, Identity & TenancySession auth, cross-system identity spine, multi-tenancy, referral distribution▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| ID-01 | Google OAuth - internal Restricted to @teamresources.io via Workspace internal consent screen; auth callback resolves Cloudflare Tunnel origin | Full | Full | - |
| ID-02 | Session identity getCurrentMember() server utility + CurrentMemberProvider client context; AppShell wraps all routes | Full | Full | - |
| ID-03 | Per-user data scoping (Layer 1) My Work, Home, Time, Inbox, Connections and Settings scoped to logged-in member | - | - | Roadmapped SURFID.0–5 - biggest active gap; all members currently see all data |
| ID-04 | Invitation-token auth (external) Non-@teamresources.io users auth via signed invitation token; provisions tenant on callback | - | - | Roadmapped SURFID.AUTH-EXT - blocked on TENANT-0.2 + D1 decisions |
| ID-05 | Per-user downstream OAuth connections Each member connects their own Google Calendar, Gmail, GHL independently; member_connections credential store | - | - | Blocked Google Cloud OAuth creds in .env.local - SURFID.CONN (branch scaffolded) |
| ID-06 | Tenant isolation (L2) tenants table; tenant_id on all Surface tables; RLS policies tenant-scoped | - | - | Roadmapped SURFID.L2 - blocked on TENANT-0 schema + D1–D6 open decisions |
| ID-07 | Multi-tenancy - sovereign workspaces Each invited person gets their own workspace, vault, and data isolation; Vault Genesis onboarding flow | - | - | Roadmapped TENANT phases - D1–D8 owner decisions required before TENANT-0 build |
| ID-08 | Referral & distribution engine Referral codes, payout ledger (W-9, hold period, HAG-gated release), second-order client loop | - | - | Roadmapped TENANT-3 - after Phase 1 activation gate (≥60%) passes |
| ID-09 | Discord user ID link Store Discord user ID on members record; Chucky and Trebek resolve Discord actions to a Surface member_id | - | - | Roadmapped IDENTITY.1 - gates on IDENTITY.0 canonical design |
| ID-10 | GHL contact link Store GHL contact_id on members/tenants; resolves Surface member to CRM contact without duplication | - | - | Roadmapped IDENTITY.2 - gates on IDENTITY.0 |
| ID-11 | Neo4j Person node link Every members record has a corresponding neo4j Person node with surface_member_id; Trebek resolves Discord to graph entity | - | - | Roadmapped IDENTITY.3 - gates on IDENTITY.0 |
| ID-12 | Cross-system trace ID Request correlation ID flowing across Surface → Supabase → n8n → agents; every logged event for one user action carries same trace_id | - | - | Roadmapped IDENTITY.5 - blocked on IDENTITY.0 + LOG.0 |
LG · Logging & AuditStructured logging across all surfaces - required for TENANT-001 compliance and SOC2▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| LG-01 | Surface request logging middleware Next.js middleware logs every request: timestamp, member_id, route, method, status, duration; auth events typed separately; ships to OpenObserve | - | - | Roadmapped LOG.1 - gates on LOG.0 audit of current state |
| LG-02 | Agent action structured logging Every tool call by fleet agents emits: agent_id, tool_name, input_summary, outcome, duration, trace_id; ships to OpenObserve | - | - | Roadmapped LOG.2 - gates on LOG.0 |
| LG-03 | Audit trail table Append-only audit_log in Supabase: tenant_id, member_id, action_type, entity_type, entity_id, actor, timestamp. INSERT-only, permanent retention. Compliance record for TENANT-001 and SOC2 AU-2. | - | - | Roadmapped LOG.3 - required before any non-Swift tenant goes live |
| LG-04 | n8n execution shipping n8n execution summaries (workflow_id, status, duration, error) shipped to OpenObserve | - | - | Roadmapped LOG.4 - gates on LOG.0 |
| LG-05 | Business event logging Structured events: tenant_activated, referral_code_used, vault_milestone_reached, client_workspace_created, second_order_invite_sent; feeds K-factor and activation rate dashboards | - | - | Roadmapped LOG.5 - Blocked TENANT-1.x (tenants must exist first) |
| LG-06 | Alerting rules Error rate >5%, auth failure >10 in 5 min, isolation boundary violation, backup run failure - alert to Discord Scout channel + email | - | - | Roadmapped LOG.6 - gates on LOG.1 and CN-02 live feeds |
GV · Agent GovernanceArcCharter - agent identity, enrollment ceremonies, co-signed approval trail▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| GV-01 | Agent identity registry Canonical identity record per agent on ArcHelm (k3d/k3s namespace); ArcCharter-issued identity linked to Surface agent member | - | - | Roadmapped ARCCHARTER.1 - ARCCHARTER.0 audit gate first (38 features, EXISTS/ROADMAPPED/ABSENT) |
| GV-02 | Enrollment ceremony UI Co-signed enrollment per AGOV-007 deployment sequence; each agent onboards with documented identity commitment | - | - | Roadmapped ARCCHARTER.1 - gates on GV-01 |
| GV-03 | Agent approval trail in Surface All consequential agent actions carry ArcCharter-issued identity; approval trail queryable in Console | - | - | Roadmapped ARCCHARTER.2 - all fleet agents carry ArcCharter identity |
| GV-04 | Agent governance dashboard Per-agent health, approval rate, action log, last enrollment timestamp; surfaced in Console or dedicated GV page | - | - | Roadmapped ARCCHARTER.2 - gates on GV-03 approval trail live |
OB · OnboardingFirst-run experience, Vault Genesis, tenant distribution▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| OB-01 | Onboarding flow shell /onboarding route; guards: redirect to /login if unauthenticated, to / if already completed | Full | Stub | No functional steps yet |
| OB-02 | Spend baseline capture Document current Monday / Clockify / Fireflies / Discord monthly spend before cancellation | - | - | Roadmapped PM.IMM.2 - 1-day task, Charles initiates |
| OB-03 | Vault Genesis walkthrough Pre-populated book of business + workspace setup; first-run guided tour of Surface; signed vault ownership agreement at handoff | - | - | Roadmapped TENANT-1.1 - blocked on TENANT-0.1 contractual stack + Louis review |
| OB-04 | Referral code surfacing Referral code appears in-product at natural moments (after vault milestone, after first client workspace created); personalized link auto-generated; FTC disclosure on every surface | - | - | Roadmapped TENANT-3.1 - blocked on TENANT-2.x + D3 (referral structure) + D4 (receive-side reward) |
| OB-05 | Vertical template selection Pre-configured workspace template selection at tenant genesis: pet / storage / wellness / general operator | - | - | Roadmapped TENANT-4.1 - blocked on TENANT-3.x performing at benchmark K |
| OB-06 | Public template gallery Public-facing vertical template gallery viewable before signup; Notion gallery pattern | - | - | Roadmapped TENANT-4.2 - gates on OB-05 |
WB · Wiki & Knowledge BaseSovereign knowledge base - articles, team docs, and internal reference pages▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| WB-01 | Knowledge Base home Wiki home with article list, recent edits, and new article entry | Full | Full | - |
| WB-02 | Article view + markdown render Inline markdown rendering, article metadata, and sidebar nav | Full | Full | - |
| WB-03 | Article editor & create GFM markdown editor with toolbar (B/I/H1-H3/Link/Image/Code/Table), [[Title]] wiki links with autocomplete, image uploads to Supabase storage; autosave 3s debounce; Ctrl+B/I/K/S shortcuts | Full | Full | - |
| WB-04 | Article search Full-text search via pg_trgm + tsvector (migration 116); 2-col grid index with tag + category filter pills, pagination PAGE_SIZE=20 | Full | Full | - |
| WB-05 | Version history + trash Revision log with per-version restore and word-level diff viewer; trash with restore + permanent delete; duplicate article action | Full | Full | - |
| WB-06 | Categories + Tags management Categories manager (/wiki/categories); Tags manager (/wiki/tags) with rename, delete, counts; article subscriptions (Watch button + notifications) | Full | Full | - |
| WB-07 | Sidebar tree, template picker, bulk actions Sidebar tree with draft visibility; template picker (Blank, How-to Guide, Meeting Notes, Reference, Decision Record); bulk actions (publish drafts, delete); sticky TOC (3+ headings) | Full | Full | - |
GA · Gaming LineArcGrid Gaming - IP-gated titles, real-time backend, AI NPC service, and advergame platform▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| GA-01 | IP Gate + Asset Library Louis IP Gate intake checklist; Glitch (CC0) + Freedoom (BSD) asset library with provenance manifest | Roadmapped | Roadmapped | GAMING.0 |
| GA-02 | Title development pipeline First 3 titles: Colossal Cave (AI text adventure), idle loop, Spacewar! duel; each clears IP Gate first | Roadmapped | Roadmapped | GAMING.1 - gates on GAMING.0 exit |
| GA-03 | Real-time backend service Dogfooded on Spacewar! duel; externalized as a standalone service with SDK + metering | Roadmapped | Roadmapped | GAMING.2 |
| GA-04 | AI NPC service Persona, memory, safety, and cost routing per AI NPC spec; dogfooded on Colossal Cave | Roadmapped | Roadmapped | GAMING.2 |
| GA-05 | Procedural content API ProcGen API per spec; dogfooded on Canabalt-style runner title | Roadmapped | Roadmapped | GAMING.2 |
| GA-06 | Advergame service 3-tier offer: Micro (branded mini-game), Campaign (leaderboard + lead-capture), Platform (persistent gamified feature). Pitched to DV8 and PIR. | Roadmapped | Roadmapped | Pitch starts now; delivery gates on GAMING.0 - GAMING.ADV |
GP · Grid PacksPack architecture - Capability Packs, Industry Packs, Pack Library, and website solutions door▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| GP-01 | Pack taxonomy + doctrine Four-class taxonomy (Core/Capability/Industry/Bespoke), toll inversion (default 0 toll points), maturity modes, IP harvest contract clause. Buyer validation interviews required. | Roadmapped | Roadmapped | Charles approval gate - GRIDPACK.0 |
| GP-02 | Pack Manifest schema validator pack-manifest.schema.json, validator.py (V-01 through V-09), reserved-registry.yaml, charter-registry.yaml; CI integration on every push | Roadmapped | Roadmapped | Gates on GRIDPACK.0 - GRIDPACK.1 |
| GP-03 | Capability Pack definitions Eight Capability Packs: Community, FinMo, Intel, Studio, Demo, Ops, Media, Commerce; plus seven Industry Pack verticals | Roadmapped | Roadmapped | Gates on GRIDPACK.1 - GRIDPACK.2 |
| GP-04 | Pack Library Surface MVP Installed / Available catalog, pack cards from manifest data, locked previews for uninstalled packs, installation request / HAG approval flow | Roadmapped | Roadmapped | Gates on validator live + 3 manifests in listed status - GRIDPACK.3 |
| GP-05 | Website Solutions / Platform door Two-door website structure (Solutions by industry, Platform by capability) with pack cards from same manifest renderer | Roadmapped | Roadmapped | Gates on buyer validation + card renderer - GRIDPACK.4 |
WB · Wiki & Knowledge BaseSovereign knowledge base - articles, team docs, and internal reference pages▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| WB-01 | Knowledge Base home Wiki home with article list, recent edits, and new article entry | Full | Full | - |
| WB-02 | Article view + markdown render Inline markdown rendering, article metadata, and sidebar nav | Full | Full | - |
| WB-03 | Article editor & create GFM markdown editor with toolbar (B/I/H1-H3/Link/Image/Code/Table), [[Title]] wiki links with autocomplete, image uploads to Supabase storage; autosave 3s debounce; Ctrl+B/I/K/S shortcuts | Full | Full | - |
| WB-04 | Article search Full-text search via pg_trgm + tsvector (migration 116); 2-col grid index with tag + category filter pills, pagination PAGE_SIZE=20 | Full | Full | - |
| WB-05 | Version history + trash Revision log with per-version restore and word-level diff viewer; trash with restore + permanent delete; duplicate article action | Full | Full | - |
| WB-06 | Categories + Tags management Categories manager (/wiki/categories); Tags manager (/wiki/tags) with rename, delete, counts; article subscriptions (Watch button + notifications) | Full | Full | - |
| WB-07 | Sidebar tree, template picker, bulk actions Sidebar tree with draft visibility; template picker (Blank, How-to Guide, Meeting Notes, Reference, Decision Record); bulk actions (publish drafts, delete); sticky TOC (3+ headings) | Full | Full | - |
| WB-08 | Keyboard shortcuts Ctrl+B/I/K/S in editor; reference modal (Shift+?) with full shortcut list | Full | Full | - |
| WB-09 | PDF export Export any article to PDF via pdfkit; full markdown rendering preserved | Full | Full | - |
| WB-10 | Cover image + markdown export Article cover image upload; export as .md file | Full | Full | - |
| WB-11 | Article visibility field Public / team / draft visibility on articles; image upload fixes | Full | Full | - |
| WB-12 | Inline comments Per-paragraph inline comment threads on articles | Full | Full | - |
WI · Wire IntelligenceReal-time intelligence pipeline - media ingestion, triage, and team reading surface▼
| ID | Feature | Live UI | Functional | What's Next / Gate |
|---|---|---|---|---|
| WI-01 | Wire navigation Wire in left nav; Topics, Library, Mentions sub-panel tabs | Full | Full | - |
| WI-02 | Wire card component MediaItem card with relevance score, topic badge, source, and action row | Full | Full | - |
| WI-03 | For You + Library + Mentions feeds Personalized feed, bookmarked items, and @mention tracking views | Full | Full | Ingestion pipeline (WIRE.4-WIRE.11) needed for live data |
| WI-04 | Watch / Mute / Pin edges Per-user signal edges on stories and sources; stored in Neo4j | Full | Full | - |
| WI-05 | Tuning panel Pin and mute management panel showing all active edges with remove actions | Full | Full | - |
| WI-06 | Convert to Task Convert a Wire story directly into a work item | Full | Full | Studio ref, Client note, Discourse thread convert actions pending |
| WI-07 | Topic posting + MediaItem sharing Post into Topics via Discourse engine; share an item to a Topic with comment | Roadmapped | Roadmapped | WIRE.13 - gated on Discourse engine wiring |
| WI-08 | Ingestion pipeline W1 WirePoll (ArcFlow), RSS/YT/arXiv connectors, Neo4j schema, dedupe | Grid | Partial | WIRE.1 + WIRE.4 complete; connectors (WIRE.5) pending |
| WI-09 | Daily digest (WireDigest) Automated daily digest generation; 90+ score alert lane | Roadmapped | Roadmapped | WIRE.8 - gated on triage (WIRE.6) |