Document ID: DOC-2026-021 Owner: VP Product Date: 2026-02-18 Status: Draft Product: Legionis (legionis.ai) V2V Phase: Phase 3 — Strategic Commitments Related: PRD V3.0, Execution Plan V3.2, Interaction Patterns V2.0, Architecture Stack V1.4 Origin: PLT session (VP Product, Director PM, BizOps) — Communication Layer architecture + Platform Blueprint
This document specifies two foundational elements of the Legionis platform:
The Communication Layer is the architectural realization of USP #4 (Collaborative Agent Architecture). It transforms Legionis from a collection of individually-addressable agents into a self-organizing workforce.
When a user interacts with the Product Org OS through Claude Code, the experience has two structural problems:
Problem 1: The Visible Orchestrator. There is always a "Claude" voice that mediates between the user and agents. It says things like "I'm calling the PM agent to handle this" or "Let me route this to competitive intelligence." After the agent responds, Claude summarizes or presents the output. The user never feels like they're talking TO agents — they're always talking THROUGH an intermediary.
Problem 2: Explicit Routing Required. Users must know which agent to address (@pm, @vp-product, @plt) or which skill to invoke (/prd, /decision-record). There is no mode where the user simply describes what they need and the right agents step forward autonomously.
These problems prevent the "AI workforce" promise from landing. A real workforce doesn't require you to memorize org charts. You describe what you need, the right people show up, and they coordinate among themselves. The Communication Layer makes this real.
The Communication Layer is a platform primitive — a distinct architectural layer that sits between the Workforce Layer (agents) and the user interface. It governs:
It is NOT:
| Component | Role | Relationship to Communication Layer |
|---|---|---|
| Gateway Engine (Week 7) | Parses @product, @plt, etc. | Becomes a sub-component of the Communication Layer |
| Auto-routing (Week 5) | Keyword-based intent matching | Becomes the first routing strategy within the Communication Layer |
| Delegation Patterns (Week 6) | [CONSULTATION], [DELEGATION], [REVIEW], [DEBATE] | Become cooperation primitives that the Communication Layer can trigger |
| spawnAgent tool (Week 6) | Nested generateText() calls | Becomes the execution mechanism the Communication Layer uses to invoke agents |
| Meeting Mode UI (Week 7) | Multi-agent response display | Becomes the presentation component for Communication Layer multi-agent responses |
The Communication Layer formalizes and unifies what Weeks 5-7 build as separate features into a coherent architectural layer.
What it does: Analyzes any user input and determines which agent(s) should respond, without requiring the user to specify.
Three routing modes:
| Mode | User Experience | When Active |
|---|---|---|
| Explicit | User types @pm write user stories — PM responds | User includes @ or / notation |
| Assisted | User types "write user stories" — system shows "Routing to PM" briefly, PM responds | Cooperation profile set to "Assisted" |
| Invisible | User types "write user stories" — PM responds directly, no routing indication | Cooperation profile set to "Invisible" (default) |
Routing decision process (progressive refinement):
1. Explicit mention? (@agent or /skill)
→ Route directly to that agent/skillConversation context? (an agent already "in the room")
→ Continue with current agent UNLESS topic clearly shifts domainsDomain keyword match?
→ Match against routing table (weighted keywords per agent)Context layer signal?
→ Check workspace context for active bets, decisions, feedback on the topic
→ Weight routing toward agents whose domain intersects with existing contextTeam configuration?
→ Filter routing candidates to agents the user has provisioned
→ If no match in provisioned teams, suggest team additionComplexity assessment?
→ Single-domain → route to one agent
→ Multi-domain → invoke gateway logic (SINGLE/PRIMARY+/MULTI)
→ Portfolio-level → invoke PLTAmbiguous?
→ In Invisible mode: make best judgment, route, allow user to redirect
→ In Assisted mode: show top 2-3 options, let user pick
Contextual routing intelligence: The routing engine considers:
What it does: When an agent's output changes something that affects other agents' domains, the Communication Layer detects this and notifies or triggers follow-up work.
Cascade triggers:
| Agent Action | Affected Agents | Cascade Type |
|---|---|---|
| PM updates PRD scope | PMM (positioning), BizOps (business case), UX Lead (design) | Notification: "PRD scope changed — may affect positioning/business case" |
| VP Product creates new strategic bet | PM (roadmap), BizOps (financial model), PMM (GTM) | Notification: "New bet created — check roadmap and GTM alignment" |
| CI reports competitive threat | VP Product (strategy), PMM (positioning), PM (feature priority) | Notification: "Competitive intel updated — review strategic impact" |
| BizOps updates pricing model | PMM (positioning/messaging), PM (feature packaging) | Notification: "Pricing changed — messaging may need updating" |
Cascade levels:
| Level | Behavior | When to Use |
|---|---|---|
| Notify (default) | Surface implication to user as a suggestion: "This change may affect PMM's positioning. Want me to ask PMM to review?" | Safe, non-disruptive, always appropriate |
| Auto-review | Automatically spawn affected agent in [REVIEW] mode against the changed artifact | When cooperation profile is set to high, and the change is clearly in another agent's domain |
| Auto-update | Automatically spawn affected agent to update their own deliverables | Advanced — only with explicit user opt-in per cascade rule |
Initial implementation (MVP): Notify level only. The system detects cascade triggers and surfaces them as suggestions. User decides whether to act.
Post-MVP enhancement: Auto-review and auto-update levels, configurable per cascade rule in the cooperation profile.
What it does: Ensures the user never sees an "operator" voice. Agents speak directly. No mediation, no summarization, no "here's what the agent said."
Rules:
[Routed to: 📝 Product Manager] as metadata, not as the agent "saying" it.Prohibited patterns (the Communication Layer must suppress these):
| Never Say | Instead |
|---|---|
| "I'm calling the PM agent" | PM simply responds |
| "Let me route this to..." | Agent responds directly |
| "The agent recommends..." | Agent speaks in first person |
| "Here's what the team thinks:" | Each agent speaks individually |
| "I'll summarize the agents' responses:" | Synthesis section speaks for itself |
What it does: Provides configurable presets that control how agents collaborate, how aggressively the system cascades, and how visible the routing is.
Five configurable dimensions:
| Dimension | Low | Medium | High |
|---|---|---|---|
| Cooperation Level | Agents work in isolation; only respond when directly addressed | Agents consult others when they detect cross-domain implications | Agents proactively tip each other, offer to review related artifacts |
| Cascade Sensitivity | No cascade notifications | Notify on major scope changes | Notify on any change that could affect another domain |
| Conflict Escalation | Disagreements resolved silently by the senior agent | Tension surfaced in responses, user decides | Structured debate triggered automatically for genuine tradeoffs |
| Routing Autonomy | Explicit only — user must @ mention or / invoke | Assisted — system suggests, user confirms | Invisible — system routes autonomously |
| Agent Initiative | Agents only respond to direct requests | Agents suggest follow-ups at end of responses | Agents proactively surface relevant observations from context |
Preset profiles:
| Profile | Cooperation | Cascade | Conflict | Routing | Initiative | Best For |
|---|---|---|---|---|---|---|
| Collaborative (default) | High | Medium | Medium | Invisible | Medium | Users who want a self-organizing workforce |
| Directed | Low | Off | Low | Explicit | Low | Power users who want precise control |
| Balanced | Medium | Low | Medium | Assisted | Low | New users learning the system |
| Full Autonomy | High | High | High | Invisible | High | Advanced users who trust the system completely |
Storage: Cooperation profile stored as JSON in the workspaces table (cooperation_profile column). Editable in Settings > AI Configuration.
UI: A "Cooperation Style" section in AI Configuration settings, showing the presets as selectable cards, with an "Advanced" disclosure that reveals the five individual dimension sliders.
What it does: Maintains awareness of which agents are "in the room" within a conversation, enabling natural multi-turn interactions without re-routing.
Rules:
@mention a specific agent to override the sticky routing and bring someone new in. ┌─────────────────────────────────────┐
│ USER INTERFACE │
│ (Chat, Skill Palette, Agent Picker) │
└──────────────────┬──────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ COMMUNICATION LAYER │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │
│ │ Request │ │ Cooperation │ │ Presentation │ │
│ │ Router │ │ Engine │ │ Governor │ │
│ │ │ │ │ │ │ │
│ │ - Intent │ │ - Cascade │ │ - Operator suppression │ │
│ │ parsing │ │ rules │ │ - Meeting Mode trigger │ │
│ │ - Domain │ │ - Tipping │ │ - Agent attribution │ │
│ │ matching │ │ - Conflict │ │ - Error presentation │ │
│ │ - Context │ │ mgmt │ │ │ │
│ │ signals │ │ - Profile │ │ │ │
│ │ - Room │ │ loading │ │ │ │
│ │ tracking │ │ │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Gateway Engine │ │
│ │ (@product, @plt, @design, @architecture, @marketing, etc.) │ │
│ │ SINGLE / PRIMARY+ / MULTI agent selection │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Parallel Executor │ │
│ │ Promise.allSettled, max 4 agents, 500ms stagger │ │
│ └──────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
│
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ WORKFORCE │ │ CONTEXT │ │ COMPUTE │
│ LAYER │ │ LAYER │ │ LAYER │
│ │ │ │ │ │
│ 81 agents │ │ Decisions │ │ BYOT keys │
│ 11 teams │ │ Bets │ │ Managed pool │
│ 80+ skills │ │ Feedback │ │ Quality │
│ 11 gateways │ │ Learnings │ │ toggle │
│ Delegation │ │ Documents │ │ Metering │
│ patterns │ │ Cross-refs │ │ Provider │
│ Knowledge │ │ Auto-inject │ │ factory │
│ packs │ │ │ │ │
└─────────────┘ └──────────────┘ └──────────────┘
The Communication Layer USES the other three layers:
The Communication Layer does not require a new development phase. It formalizes and extends what's already planned:
| Execution Plan Task | Communication Layer Component | Enhancement Needed |
|---|---|---|
| Week 5: Auto-routing (5.2) | Request Router (keyword matching) | Add context signals, room tracking, routing mode config |
| Week 6: spawnAgent (6.1) | Parallel Executor substrate | Already sufficient |
| Week 6: Delegation patterns (6.1) | Cooperation Engine primitives | Add cascade trigger detection |
| Week 7: Gateway Engine (7.1) | Gateway Engine (absorbed) | Already sufficient |
| Week 7: Meeting Mode UI (7.2) | Presentation Governor (multi-agent) | Add operator suppression for single-agent |
| Week 7: Parallel Executor (7.1) | Parallel Executor (absorbed) | Already sufficient |
New components to build:
| Component | Scope | Suggested Timing |
|---|---|---|
| Request Router (contextual) | Upgrade keyword matching to context-aware routing | Week 5 (extend existing auto-routing) |
| Presentation Governor | Suppress operator voice in single-agent responses | Week 5 (modify chat route response assembly) |
| Cooperation Profile schema | DB column + settings UI + preset system | Week 5 (add to settings alongside quality toggle) |
| Room Tracker | Conversation-level agent tracking state | Week 5 (add to conversation metadata) |
| Cascade Detector | Event-based detection of cross-domain implications | Post-MVP (Week 9+) |
| Agent-to-Agent Tipping | Notification system for cascade events | Post-MVP (Week 9+) |
MVP scope (Weeks 5-7): Request Router, Presentation Governor, Cooperation Profile (presets only), Room Tracker.
Post-MVP scope (Weeks 9+): Cascade Detector, Agent-to-Agent Tipping, Advanced cooperation profile tuning, auto-review/auto-update cascade levels.
Legionis is a four-layer platform connected to three external resource categories.
═══════════════════════════════════════════════════════════════════════════════
LEGIONIS PLATFORM BLUEPRINT
═══════════════════════════════════════════════════════════════════════════════ ╔═══════════════════════════════════════════════════════════════════════════╗
║ USERS ║
║ Web UI | Voice Input | Cmd+K Palette | @ / / ║
╚═══════════════════════════════╤═══════════════════════════════════════════╝
│
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ LAYER 4: WORKFORCE ┃
┃ ┃
┃ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┃
┃ │ Product │ │Marketing │ │ Finance │ │ Legal │ │Operations│ ┃
┃ │ 13 agents│ │16 agents │ │ 9 agents │ │ 8 agents │ │ 8 agents │ ┃
┃ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ ┃
┃ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┃
┃ │ Design │ │ Arch │ │Executive │ │Corp Dev │ │IT Govern │ ┃
┃ │ 7 agents │ │ 7 agents │ │ 2 agents │ │ 5 agents │ │ 6 agents │ ┃
┃ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ ┃
┃ ┃
┃ 80+ Skills | 11 Gateways | 34 Knowledge Packs | 4 Patterns ┃
┃ (Consultation | Delegation | Review | Debate) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
│
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ LAYER 3: COMMUNICATION ┃
┃ ┃
┃ Request Router ──── Cooperation Engine ──── Presentation Governor ┃
┃ │ │ │ ┃
┃ Intent Parsing Cascade Rules Operator Suppression ┃
┃ Domain Matching Agent-to-Agent Meeting Mode Trigger ┃
┃ Context Signals Conflict Mgmt Agent Attribution ┃
┃ Room Tracking Profile Loading Error Presentation ┃
┃ │ │ │ ┃
┃ ┌─────────────────────────────────────────────────────────────────┐ ┃
┃ │ Gateway Engine | Parallel Executor | Routing Table │ ┃
┃ └─────────────────────────────────────────────────────────────────┘ ┃
┃ ┃
┃ Cooperation Profiles: Collaborative | Directed | Balanced | Auto ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
│
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ LAYER 2: CONTEXT (Organizational Memory) ┃
┃ ┃
┃ Decisions ── Bets ── Feedback ── Learnings ── Documents ┃
┃ │ │ ┃
┃ Cross-Reference Graph Auto-Context Injection ┃
┃ Topic / Product / Phase Index Session Continuity ┃
┃ Interaction Logging Portfolio State ┃
┃ ┃
┃ Storage: User's Cloud Drive (stable file IDs, portable markdown) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
│
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ LAYER 1: COMPUTE ┃
┃ ┃
┃ BYOT Key Manager ──── Managed Token Pool ──── Quality/Efficiency ┃
┃ │ │ │ ┃
┃ Per-request key 30% markup 3-tier toggle ┃
┃ Envelope encryption Spend tracking (Quality/Balanced/ ┃
┃ Provider factory Usage metering Efficiency) ┃
┃ Model resolution Billing integration Per-agent override ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
│
┌───────────────────────┼───────────────────────┐
│ │ │
╔═══════╧═══════╗ ╔════════╧════════╗ ╔════════╧════════╗
║ LLM COMPUTE ║ ║ CLOUD STORAGE ║ ║ CLOUD SERVICES ║
║ (Tokens) ║ ║ (Context/Files) ║ ║ (Awareness) ║
║ ║ ║ ║ ║ ║
║ Anthropic ║ ║ Google Drive ║ ║ Jira ║
║ OpenAI ║ ║ OneDrive* ║ ║ Slack ║
║ Google AI ║ ║ Dropbox ║ ║ GitHub ║
║ ║ ║ ║ ║ Salesforce* ║
║ ( planned) ║ ║ ( planned) ║ ║ HubSpot* ║
╚═══════════════╝ ╚═════════════════╝ ║ (* planned) ║
╚═════════════════╝
| # | USP | Primary Layer | How the Layer Delivers It |
|---|---|---|---|
| 1 | Cloud Storage Connectivity | External: Cloud Storage + Context Layer | Cloud APIs provide stable file IDs. Context Layer stores organizational memory as portable markdown files in the user's Drive. |
| 2 | Bring Your Own Tokens (BYOT) | Compute Layer | Per-request key routing. Envelope encryption. Provider factory resolves model + key per request. Zero markup path. |
| 3 | Modular Agent Provisioning | Workforce Layer | 11 teams as purchasable modules. Start with one, expand. Each team brings agents + skills + knowledge packs + gateway. |
| 4 | Collaborative Agent Architecture | Communication Layer + Workforce Layer | Communication Layer governs cooperation profiles, routing, cascade, conflict. Workforce Layer provides delegation patterns (Consultation/Delegation/Review/Debate). |
| 5 | Organizational Memory | Context Layer + Cloud Storage | Decisions, bets, feedback, learnings stored as cross-referenced markdown. Auto-injected into agent context. Compounds over time. |
| 6 | Full Data Ownership | Architectural Principle (all layers) | Tokens stay with providers (Compute). Files stay in user's Drive (Context + Cloud Storage). Nothing stored on Legionis servers except subscription metadata. |
| Layer | Revenue Mechanism | Type |
|---|---|---|
| Compute | Managed Tokens (30% markup over provider costs) | Usage-based |
| Workforce | Team module subscriptions ($5-25/user/month) | Subscription |
| Context | Retention driver (switching cost compounds over time) | Indirect (churn reduction) |
| Communication | Expansion driver (more teams = more cross-team collaboration value) | Indirect (upsell catalyst) |
| External: Cloud Services | Integration marketplace (future) | Platform fee (future) |
| Layer | Defensibility | Why Hard to Copy |
|---|---|---|
| Compute | Low (commoditized by design) | BYOT means zero lock-in. This is intentional — trust builds the moat, not compute. |
| Workforce | Medium | 81 agents with deep domain SKILL.md files, knowledge packs, and collaboration rules. Can be approximated but the depth takes months. |
| Communication | High | Cooperation profiles, cascade detection, invisible routing, contextual room tracking. No competitor has this as infrastructure. |
| Context | Very High | Organizational memory compounds. After 3+ months, the context layer becomes irreplaceable. Portable (markdown) but deeply integrated. |
// Stored in workspaces.cooperation_profile (JSONB)
interface CooperationProfile {
preset: 'collaborative' | 'directed' | 'balanced' | 'full_autonomy' | 'custom';
dimensions: {
cooperationLevel: 'low' | 'medium' | 'high'; // Agent-to-agent collaboration eagerness
cascadeSensitivity: 'off' | 'low' | 'medium' | 'high'; // When to notify about cross-domain impact
conflictEscalation: 'low' | 'medium' | 'high'; // How disagreements are surfaced
routingAutonomy: 'explicit' | 'assisted' | 'invisible'; // How requests reach agents
agentInitiative: 'low' | 'medium' | 'high'; // How proactively agents suggest follow-ups
};
}
// Stored in conversations.metadata (JSONB) as 'room' key
interface ConversationRoom {
activeAgents: string[]; // Agent keys currently "in the room"
primaryAgent: string | null; // The agent currently "holding the floor"
lastRoutingDecision: {
agentKey: string;
reason: string; // Why this agent was selected
mode: 'explicit' | 'assisted' | 'invisible';
timestamp: string;
};
domainHistory: string[]; // Domains touched in this conversation
}
// For post-MVP cascade detection
interface CascadeEvent {
sourceAgent: string; // Agent whose output triggered the cascade
sourceAction: string; // What they did (e.g., "updated PRD scope")
affectedAgents: string[]; // Agents whose domains are impacted
severity: 'info' | 'review' | 'update';
message: string; // Human-readable description
autoAction: 'notify' | 'review' | 'update'; // Governed by cooperation profile
status: 'pending' | 'acknowledged' | 'acted_on' | 'dismissed';
}
Here is the full flow for a message in Invisible routing mode:
User types: "How should we price the enterprise tier?"
│
▼
┌─────────────────────────────────────┐
│ COMMUNICATION LAYER: Request Router │
│ │
│ 1. Explicit mention? No │
│ 2. Agent in room? Check... │
│ - Conversation is new, room │
│ is empty │
│ 3. Domain keywords: │
│ "price" + "enterprise" │
│ Matches: BizOps (0.85), │
│ VP Product (0.60) │
│ 4. Context signals: │
│ - DR-2026-001 exists (pricing) │
│ - SB-2026-001 (enterprise bet) │
│ Boosts: BizOps (0.90) │
│ 5. Team config: User has Product │
│ team (BizOps included) │
│ 6. Complexity: Single-domain │
│ │
│ DECISION: Route to BizOps │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Assemble BizOps system prompt │
│ (L1 Core + L2 Persona + L3 Domain) │
│ + Auto-Context: DR-2026-001 + │
│ SB-2026-001 injected │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Execute via Compute Layer │
│ (User's BYOT key, model per │
│ quality preference) │
└──────────────┬──────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Presentation Governor │
│ │
│ - Format: Single agent response │
│ - Attribution: "🧮 BizOps:" │
│ - NO operator preamble │
│ - Update room: BizOps now active │
└──────────────┬──────────────────────┘
│
▼
User sees BizOps responding directly:
"🧮 BizOps: Looking at enterprise
pricing, I see two patterns worth
considering..."
| Document | Relationship |
|---|---|
| Execution Plan V3.2 | Communication Layer formalizes Weeks 5-7 features into a unified architecture. Recommend updating Week 5 task list to reference this spec for routing and presentation requirements. |
| PRD V3.0 | Section 3.8 (Agent Orchestration) should reference the Communication Layer as the governing system. USP #4 description should evolve to reference the Communication Layer by name. |
| Interaction Patterns V2.0 | Chat interaction flows should reference the routing modes (explicit/assisted/invisible) and room tracking behavior from this spec. |
| Architecture Stack V1.4 | The layer model in this spec should be reflected in the Architecture Stack as the canonical platform architecture. |
| # | Question | Owner | Impact |
|---|---|---|---|
| 1 | Should cooperation profiles be per-workspace or per-user? Per-workspace means a team shares settings; per-user means individual preferences. | VP Product | Profile schema |
| 2 | How does invisible routing handle genuinely ambiguous requests that could go to 3+ agents with similar confidence? | Director PM | Routing algorithm |
| 3 | Should cascade notifications appear in the chat thread or in a separate notification panel? | UX Lead | UI design |
| 4 | What is the performance budget for contextual routing (reading context layer + making routing decision)? | Architecture | Latency SLA |
| 5 | Should the "room" persist across conversation sessions, or always start fresh? | Director PM | Conversation continuity |
| Metric | Target | Timeline |
|---|---|---|
| Invisible routing accuracy | >80% correct first-attempt routing | Launch + 1 month |
| Operator voice elimination | 0 occurrences of "I'm routing..." in agent responses | Launch |
| Cooperation profile adoption | >60% of workspaces on non-default profile within 3 months | Launch + 3 months |
| Cascade notification utility | >50% of cascade notifications acted upon | Post-MVP + 3 months |
| User perception | "Feels like talking to a team" in user interviews | Launch + 2 months |
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-02-18 | PLT (VP Product, Director PM, BizOps) | Initial specification: Communication Layer + Platform Blueprint |