# M3 — Full Experience Center

**Priority:** P2 → P3 → P4  
**Target date:** End of April 2026  
**Duration:** ~20 days post-M2  
**Source:** [MOM 20260326](../phase-2/conversations/20260326-mom.md#act-iii--m1--m2--m3-milestones-locked-visualization-framework-priorities-0032--0057)

---

## Objective

Deliver the **fully integrated experience center** as originally envisioned: a system that blends reactive (user-triggered) and proactive (autonomous) modes, orchestrates multiple data sources, maintains real-time data refresh, and operates end-to-end in production.

This is the culmination milestone — the complete Enterprise Brain decision-intelligence platform for CXOs.

---

## What Ships

### Functional Deliverables

- **Fully integrated experience center:** Reactive + proactive modes working seamlessly
- **Multi-data source orchestration:** Queries synthesize insights across Invictus, Gmail, Jira, and future sources
- **Real-time data refresh pipeline:** Daily org data storage with RBAC
- **Proactive insights:** System autonomously surfaces alerts and recommendations without user query
- **Production-ready architecture:** All technical debt from M1/M2 resolved

### Core System Components

- **RT core agent (full capabilities):**
  - Cross-source snapshot synthesis
  - RBAC for daily org data storage
  - Integration with two red boxes + one pink box
  - User identity and preference management
  - Question mode routing (ad hoc, training, data refresh)
- **Experience center engine:**
  - Autonomous insight detection
  - Proactive alert generation
  - Contextual dashboard composition
  - Time-based and event-based triggers
- **Multi-source data orchestration:**
  - Unified query layer across data sources
  - Cross-source relationship mapping
  - Conflict resolution for overlapping data
  - Source prioritization logic

---

## Priority Breakdown (Explicitly Decided)

Naveen was explicit about the priority order within M3:

### P2: Full Experience Center Integration

**Focus:** Blending reactive and proactive modes  
**Deliverables:**

- Proactive insight engine operational
- User receives both:
  - Reactive answers (when they ask)
  - Proactive alerts (when system detects)
- Dashboard dynamically composed based on proactive triggers
- Experience center feels autonomous, not just responsive

**Success metric:** System surfaces a critical insight (e.g., production bottleneck) before user asks for it.

---

### P3: Multi-Data Source Orchestration

**Focus:** Querying and synthesizing across multiple sources  
**Deliverables:**

- Unified query layer across Invictus, Gmail, Jira
- Cross-source relationship mapping (e.g., Jira ticket → email thread → production data)
- Single query can trigger multi-source synthesis
- Conflict resolution when sources disagree

**Example query:**  
_"What delayed the Q1 deliverable for Project Phoenix?"_

**Expected orchestration:**

1. Jira agent: Identify delayed tasks and assignees
2. Gmail agent: Find email threads discussing delays
3. Invictus agent: Check if production dependencies were late
4. RT core: Synthesize timeline showing root cause across sources

**Success metric:** Multi-source query returns coherent synthesized answer with traceability to each source.

---

### P4: Data Refresh Pipeline

**Focus:** Real-time data ingestion and RBAC  
**Deliverables:**

- Daily org data snapshot refresh
- RBAC controls for data access by user role
- Data staleness indicators
- Refresh scheduling and monitoring
- Historical snapshot storage for trend analysis

**Technical requirements:**

- Orange box (PostgreSQL) fully operational
- Architectural databases set up
- Data source APIs stable and monitored
- RBAC policies defined and enforced

**Success metric:** Data visible in UI is never more than 24 hours old; users see only data they have permission to access.

---

## Architecture Scope (Complete RT Core Agent)

The RT core agent assumes full responsibilities deferred from M1/M2:

### Cross-Source Snapshot Synthesis

- Aggregate data from multiple sources into unified snapshot
- Maintain temporal consistency (align timestamps)
- Resolve entity references across sources (e.g., user "nvputtagunta" in Jira = "naveen.puttagunta@..." in Gmail)

### RBAC for Daily Org Data Storage

- User roles mapped to data access permissions
- Row-level security for sensitive data
- Audit trail for data access
- Dynamic filtering based on logged-in user

### Integration with Red Boxes + Pink Box

- **Two red boxes:** [Document specific components when architecture finalized]
- **One pink box:** [Document specific component when architecture finalized]
- Communication protocols established
- Fallback behavior if integration fails

---

## Cross-Cutting Architectural Cleanup

M3 resolves all technical debt accumulated in M1/M2:

### Orange Box (PostgreSQL for Instructions)

- **M1 debt:** System prompts hardcoded in Python
- **M3 resolution:** All agent instructions, training updates, system prompts stored in PostgreSQL
- **Benefit:** Runtime updates without code deployment; centralized instruction management

### Orchestration Wiring

- **M1 debt:** Orchestration being "stitched together"
- **M3 resolution:** Clean, testable orchestration layer with dependency injection
- **Benefit:** Reliable, maintainable, production-grade routing

### Architectural Databases

- **M1 debt:** Databases not fully set up
- **M3 resolution:** All databases operational: prompts, user data, snapshots, RBAC, audit logs
- **Benefit:** Scalable, secure, performant data layer

---

## Parallel Workstreams

### Workstream 1: Experience Center Engine

**Owner:** Yeshwanth + product team  
**Tasks:**

- [ ] Define proactive trigger logic (time-based, event-based, threshold-based)
- [ ] Implement autonomous insight detection algorithms
- [ ] Build alert generation and delivery system
- [ ] Create contextual dashboard composition logic
- [ ] Test proactive mode with real user scenarios

---

### Workstream 2: Multi-Source Orchestration

**Owner:** Backend team + data engineers  
**Tasks:**

- [ ] Build unified query layer API
- [ ] Implement cross-source entity resolution
- [ ] Define conflict resolution policies
- [ ] Create source prioritization logic
- [ ] Test multi-source queries end-to-end

---

### Workstream 3: Data Refresh Pipeline

**Owner:** Data engineers + backend team  
**Tasks:**

- [ ] Implement daily snapshot refresh jobs
- [ ] Build RBAC enforcement layer
- [ ] Create data staleness monitoring
- [ ] Implement historical snapshot storage
- [ ] Test refresh under load

---

### Workstream 4: Technical Debt Resolution

**Owner:** Backend team  
**Tasks:**

- [ ] Migrate all hardcoded prompts to orange box
- [ ] Refactor orchestration wiring for production
- [ ] Set up all architectural databases
- [ ] Integrate red boxes + pink box
- [ ] Comprehensive integration testing

---

## Definition of Done

✅ **Functional:**

- [ ] System autonomously surfaces insights without user query (proactive mode)
- [ ] User can ask questions and receive answers (reactive mode)
- [ ] Single query can synthesize data from multiple sources
- [ ] Dashboard dynamically composed based on context and triggers
- [ ] Data refresh pipeline updates data daily
- [ ] RBAC restricts data access based on user role

✅ **Technical:**

- [ ] RT core agent manages cross-source synthesis
- [ ] Orange box stores all instructions and training
- [ ] All architectural databases operational
- [ ] Two red boxes + one pink box integrated
- [ ] RBAC policies enforced at query time
- [ ] Data staleness never exceeds 24 hours

✅ **Quality:**

- [ ] System passes end-to-end integration tests
- [ ] Load testing confirms performance under concurrent users
- [ ] Security audit validates RBAC implementation
- [ ] All M1/M2 technical debt resolved
- [ ] Production deployment runbook complete

✅ **Documentation:**

- [ ] System architecture fully documented
- [ ] API contracts for all components finalized
- [ ] User guide for reactive + proactive modes
- [ ] Admin guide for RBAC configuration
- [ ] Runbook for data refresh monitoring

---

## Success Criteria

### Demo Scenario 1: Proactive Insight

**Setup:** User logs in Monday morning  
**System behavior (autonomous):**

1. RT core detects production bottleneck in Invictus data (automated analysis)
2. Cross-references with Jira: related task is delayed
3. Checks Gmail: no communication about delay in last 48 hours
4. **Proactive alert:** _"Production bottleneck detected in Line 3. Related task STEEL-421 delayed by 2 days with no recent communication. Recommend immediate follow-up."_
5. Dashboard dynamically composes:
   - Production trend chart showing bottleneck
   - Jira task card with delay timeline
   - Recommended action: contact task owner

**User action:** None required; insight surfaced proactively

---

### Demo Scenario 2: Multi-Source Reactive Query

**User asks:** _"Why was the Q1 Phoenix deliverable delayed?"_

**System orchestration:**

1. RT core routes to Jira agent: Find task "Phoenix Q1 deliverable" and dependencies
2. Jira agent responds: Task PHOENIX-101 delayed due to dependency STEEL-421
3. RT core routes to Gmail agent: Find emails about STEEL-421
4. Gmail agent responds: Email thread shows supplier issue caused delay
5. RT core routes to Invictus agent: Check production logs for supplier issue
6. Invictus agent responds: Raw material shortage confirmed in production logs
7. **RT core synthesizes:**  
   _"Phoenix Q1 deliverable delayed due to raw material shortage from Supplier X. Production logs show shortage started March 5. Email thread confirms supplier communicated delay March 7. Jira task STEEL-421 blocked as result."_

**UI renders:**

- Timeline visualization showing cascade
- Links to Jira task, email thread, production logs
- Supplier status dashboard widget

---

### Demo Scenario 3: RBAC Data Filtering

**Setup:** Two users with different roles  
**User 1 (CXO role):** Can see all production data, all emails, all Jira tasks  
**User 2 (Plant manager role):** Can see only Plant 3 production data, own emails, assigned Jira tasks

**Query (same for both):** _"Show me production status"_

**System behavior:**

- RT core checks user role
- Applies RBAC filters before querying data sources
- User 1 sees: All plants, all tasks, all insights
- User 2 sees: Only Plant 3, only own tasks, filtered insights

**Success metric:** User 2 cannot access User 1's data even if they craft custom queries.

---

## Quality Bar

**Performance:**

- Reactive query response time < 10 seconds (95th percentile)
- Proactive insight detection latency < 5 minutes from trigger event
- Data refresh completes within 4-hour window
- System supports 50 concurrent users without degradation

**Reliability:**

- 99.5% uptime during business hours
- Graceful degradation if one data source unavailable
- Automatic retry with exponential backoff for failed queries
- All errors logged and alertable

**Security:**

- RBAC enforcement validated by external audit
- No unauthorized data access in penetration testing
- All API endpoints authenticated and authorized
- Sensitive data encrypted at rest and in transit

---

## Risks & Mitigations

| Risk                                         | Likelihood | Impact   | Mitigation                                                             |
| -------------------------------------------- | ---------- | -------- | ---------------------------------------------------------------------- |
| Multi-source orchestration logic too complex | High       | Critical | Phased rollout: 2 sources first, then 3+; simplify conflict resolution |
| RBAC policy definition incomplete            | Medium     | High     | Engage security team early; use existing org RBAC as baseline          |
| Data refresh pipeline performance issues     | Medium     | High     | Incremental refresh, not full snapshot; optimize queries               |
| Red/pink box integration breaks              | Medium     | Critical | Stub interfaces early; integration testing throughout sprint           |
| Proactive insight logic generates noise      | High       | Medium   | Conservative thresholds initially; user feedback loop for tuning       |
| Timeline too aggressive                      | High       | Critical | Flex end-of-April to early May if needed; communicate early            |

---

## Post-M3 Roadmap

Once M3 ships, the platform is production-ready. Next priorities:

1. **Onboarding additional data sources:** HR systems, financial data, external market feeds
2. **Advanced trainer features (arbback):** Multi-user training, conflict resolution, training analytics
3. **Mobile experience:** Responsive design, native apps, push notifications for proactive alerts
4. **Analytics layer:** Usage patterns, query performance, insight effectiveness metrics
5. **Customization:** User-defined dashboards, custom alert rules, personalized insights

---

## Related Work

**Todos from MOM:**

- [ ] Connect with Watana for LLM compatibility solution — Yeshwanth, ongoing
- [ ] Work with Gopal to drive operational rollout and shift estimation to story points — Yeshwanth, ongoing

**Related milestones:**

- [M1 — Reactive Copilot](M1-reactive-copilot.md) — Foundation
- [M2 — Dynamic Workspace](M2-dynamic-workspace.md) — AI-driven UI + agent training

**Related docs:**

- [User Interaction Modes](user-interaction-modes.md) — Reactive vs proactive framing
- [Data Flow Understanding](../phase-2/data-flow-understaning.md) — Architecture context
- [Alert Lifecycle Backend](../phase-2/alert-lifecycle-be.md) — Proactive alert implementation

---

**Last updated:** March 27, 2026
