Enhanced Description
Conversation Recording & Export System tracks DreamNode invocations during FaceTime calls and generates email summaries with AI-powered conversation highlights. The system embeds invocation events directly into the real-time transcript for temporal alignment, then exports a pre-filled email draft with timestamped DreamNode links and conversation summary.
Parent Specification : #269
Parent Epic : #257
Technical Approach
1. Conversation Recording Architecture
Trigger : Start recording when "Start Video Call" command executes
Track : DreamNode invocations (click-based, not hotkey)
Data structure : { timestamp: Date, nodeName: string, dreamUUID: string }
Real-time transcript embedding : Append (Invoked: NodeName) inline to active transcript
Storage : Local-only, ephemeral (cleared on "End Video Call")
2. AI Summary System (Future-Proof Architecture)
Provider abstraction layer : Interface for swappable LLM providers
Initial implementation : Claude API via plugin settings
Future-ready : OpenRouter integration, open-source model support
Summary scope : Conversation summary with explicit attention to (Invoked: NodeName) markers
Output : Contextualized DreamNode references with plain text deep links
3. Obsidian URI Deep Links
Single node link : obsidian://interbrain-clone?vault=<vault>&uuid=<dreamUUID>
Batch clone link : obsidian://interbrain-clone-batch?vault=<vault>&uuids=<uuid1,uuid2,uuid3>
Behavior : Opens Obsidian, triggers InterBrain clone command with UUID(s)
User flow : Click link → Obsidian opens → DreamNode(s) cloned to vault
Current status : Proof of concept (logs + Notice), clone logic deferred to networking epic
4. Email Export via AppleScript
Trigger : Automatic on "End Video Call" command
Pre-filled fields :
To : FaceTime contact email (auto-populated)
Subject : "Call Summary: [Contact Name] - [Date]"
Body :
User action : Review and send, or dismiss draft
5. Plugin Settings Integration
Settings tab : Standard Obsidian PluginSettingTab with text input
Field : "Claude API Key" (password-style input)
Storage : Obsidian's built-in saveData() / loadData() system
Future : Additional fields for OpenRouter, model selection
Enhanced Acceptance Criteria
Conversation Timeline Tracking
AI Summary Generation
Obsidian URI Deep Links
Email Export System
Data Management
Integration Points
Copilot System (Complete Copilot System with Real-time Search #327 ) : Hooks into click-based invocation (DreamspaceCanvas.tsx)
Transcription Service : Appends invocation markers to active transcript
FaceTime Integration : Uses contact info for email auto-population
Settings Framework : Standard Obsidian plugin settings pattern
Implementation Notes
Click-based invocation : Records when user clicks DreamNode in copilot mode
CORS workaround : Uses Obsidian's requestUrl() instead of fetch() for Claude API
Transcript preservation : Reads content before stopping transcription service
Plain text emails : Working implementation after HTML attempt failed
Deep links : Proof of concept established, actual clone logic deferred
Definition of Done
Enhanced Description
Conversation Recording & Export System tracks DreamNode invocations during FaceTime calls and generates email summaries with AI-powered conversation highlights. The system embeds invocation events directly into the real-time transcript for temporal alignment, then exports a pre-filled email draft with timestamped DreamNode links and conversation summary.
Parent Specification: #269
Parent Epic: #257
Technical Approach
1. Conversation Recording Architecture
{ timestamp: Date, nodeName: string, dreamUUID: string }(Invoked: NodeName)inline to active transcript2. AI Summary System (Future-Proof Architecture)
(Invoked: NodeName)markers3. Obsidian URI Deep Links
obsidian://interbrain-clone?vault=<vault>&uuid=<dreamUUID>obsidian://interbrain-clone-batch?vault=<vault>&uuids=<uuid1,uuid2,uuid3>4. Email Export via AppleScript
5. Plugin Settings Integration
PluginSettingTabwith text inputsaveData()/loadData()systemEnhanced Acceptance Criteria
Conversation Timeline Tracking
(Invoked: NodeName)AI Summary Generation
Obsidian URI Deep Links
obsidian://interbrain-cloneEmail Export System
Data Management
Integration Points
Implementation Notes
requestUrl()instead offetch()for Claude APIDefinition of Done