Phase 6/7 Bridge — Event Graph + Family Dashboard
Director Decision: Phase 7-ready, not MVP. Family iPad dashboard with proper auth.
Timeline: Aggressive — this week for skeleton, next week for features
Dispatch: Socrates (backend) + Daedalus (frontend) — parallel with API contract
Event Graph (Socrates)
Schema Requirements (Phase 7-Ready)
events
id, source, source_id, event_type, title, description
start_date, end_date, all_day, timezone
location, location_lat, location_lon
family_member, assigned_to, status
confidence, extracted_at, created_at, updated_at
raw_text, document_url
coordination
id, event_id, context, needs_confirmation, blocking
assigned_to, child, extracted_dates
confirmed_at, confirmed_by
maintenance
id, event_id, item_name, category, who
last_done, next_due, interval_days, interval_miles
service_type, provider, cost, warranty_expires
document_url, confidence
conflicts
id, event_ids[], conflict_type, severity
detected_at, resolved_at, resolution
notified, acknowledged_at
members
id, name, role, email, telegram_id
calendar_url, preferences
API Contract
POST /api/v1/events — create from document pipeline
GET /api/v1/events — list with filters (date_range, member, type)
GET /api/v1/events/:id — single event
PUT /api/v1/events/:id — update
DELETE /api/v1/events/:id — soft delete
GET /api/v1/briefing — HBM hierarchical briefing
Query: date, member, scope (day/week/month)
Response: { daily: {}, upcoming: [], coordination: [], maintenance: [] }
GET /api/v1/maintenance — upcoming maintenance items
GET /api/v1/conflicts — active conflicts
POST /api/v1/conflicts/:id/acknowledge
WebSocket /ws/events — real-time updates
Integration Points
- Document pipeline writes to
eventstable after classification - Coordination extraction writes to
coordinationtable - Conflict scanner reads from
events, writes toconflicts - HBM generator reads all tables, produces briefing
Family Dashboard (Daedalus)
iPad-First Design
- 1024×768 minimum, touch-optimized
- Cards, not tables
- Large tap targets (min 44pt)
- No hover states
Views
- Today — what's happening now/soon
- Week — upcoming events, maintenance due
- Documents — recent documents with preview
- Family — per-member view
- Settings — preferences, notifications
Auth
- Same middleware sessions as existing Icarus
- Family user table with roles (admin/parent/child/viewer)
- Session cookie + CSRF protection
- No passwords stored locally — delegate to OAuth or use secure cookie tokens
Real-Time
- WebSocket connection for live updates
- Briefing cards auto-refresh on new documents
API Contract (Both Agents)
Data Shapes
interface Event {
id: string;
type: 'calendar' | 'coordination' | 'maintenance' | 'document';
title: string;
description?: string;
startDate: string; // ISO
endDate?: string;
allDay: boolean;
member: string; // 'matt' | 'aundrea' | 'sullivan' | 'harper' | 'family'
location?: string;
status: 'confirmed' | 'tentative' | 'needs_action';
source: string; // 'email' | 'document' | 'manual' | 'inference'
confidence: number;
}
interface Briefing {
date: string;
sections: {
urgent: Event[]; // next 24h
today: Event[];
coordination: Event[]; // needs confirmation
maintenance: Event[]; // due soon
documents: Document[]; // recent
}
}
Endpoint Prefix
/api/v1/
Auth Header
Authorization: Bearer <session_token>
Dispatch Instructions
Socrates — Immediate
- Create Event Graph schema (SQLite + SQLAlchemy)
- Implement CRUD API (FastAPI)
- Integrate with document pipeline
- Build HBM briefing generator
- WebSocket endpoint for real-time
Daedalus — After API contract confirmed
- React/Next.js scaffold
- Auth middleware integration
- Today view (consumes GET /api/v1/briefing)
- Week view
- Document browser
- iPad optimization pass
Parallel Work
- Socrates builds API
- Daedalus builds UI with mock data
- Both test with staging API
- Integration at end of week
Files
shared/api-specs/event-graph-api.md— full API contractshared/api-specs/dashboard-ui-spec.md— component specshared/design-tokens/ipad-layout.json— layout tokens
Status: Approved for dispatch
Next: Socrates spec first, Daedalus UI spec parallel