Reactive Topology
Diagram Syntax Error
flowchart LR;
classDef actionNode fill:#e3f2fd,stroke:#1e88e5,color:#0d47a1;
classDef eventNode fill:#e8f5e9,stroke:#4caf50,color:#1b5e20;
classDef errorNode fill:#ffebee,stroke:#ef5350,color:#b71c1c;
classDef externalNode fill:#f5f5f5,stroke:#9e9e9e,color:#616161,stroke-dasharray:4 4;
subgraph audio ["Audio"]
n0(["start-recording"])
n1(["pause-recording"])
n2(["resume-recording"])
n3(["stop-recording"])
n4(["play-audio"])
n17{{"recording-started"}}
n18{{"recording-stopped"}}
n27{{"recording-failed"}}
end
subgraph content-library ["Content Library"]
n5(["browse-library"])
n6(["select-practice"])
end
subgraph conversation ["Conversation"]
n7(["start-session"])
n8(["mark-moment"])
n9(["end-session"])
n19{{"session-started"}}
n20{{"moment-marked"}}
n21{{"session-ended"}}
n28{{"session-not-found"}}
end
subgraph memory-reflection ["Memory & Reflection"]
n10(["search-memory"])
n11(["add-note"])
n12(["update-privacy"])
n13(["query-ai"])
n22{{"insight-generated"}}
n23{{"privacy-updated"}}
n29{{"pattern-detection-failed"}}
end
subgraph speech-to-text ["Speech-To-Text (STT)"]
n14(["request-transcription"])
n24{{"transcription-completed"}}
n30{{"transcription-failed"}}
end
subgraph synchronization ["Synchronization"]
n15(["pair-device"])
n16(["sync-data"])
n25{{"device-paired"}}
n26{{"data-synced"}}
n31{{"sync-failed"}}
end
n7 -. "policy (success)" .-> n0
n9 -. "policy (success)" .-> n3
n21 -. "auto-transcription" .-> n14
n14 -. "policy (success)" .-> n24
n14 -. "policy (failed)" .-> n30
n7 -- success --> n19
n9 -- success --> n21
n8 -- success --> n20
n11 -- success --> n23
class n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16 actionNode;
class n17,n18,n19,n20,n21,n22,n23,n24,n25,n26 eventNode;
class n27,n28,n29,n30,n31 errorNode;
click n0 href "/domains/audio#start-recording" _self;
click n1 href "/domains/audio#pause-recording" _self;
click n2 href "/domains/audio#resume-recording" _self;
click n3 href "/domains/audio#stop-recording" _self;
click n4 href "/domains/audio#play-audio" _self;
click n5 href "/domains/content-library#browse-library" _self;
click n6 href "/domains/content-library#select-practice" _self;
click n7 href "/domains/conversation#start-session" _self;
click n8 href "/domains/conversation#mark-moment" _self;
click n9 href "/domains/conversation#end-session" _self;
click n10 href "/domains/memory-reflection#search-memory" _self;
click n11 href "/domains/memory-reflection#add-note" _self;
click n12 href "/domains/memory-reflection#update-privacy" _self;
click n13 href "/domains/memory-reflection#query-ai" _self;
click n14 href "/domains/speech-to-text#request-transcription" _self;
click n15 href "/domains/synchronization#pair-device" _self;
click n16 href "/domains/synchronization#sync-data" _self;
click n17 href "/domains/audio#recording-started" _self;
click n18 href "/domains/audio#recording-stopped" _self;
click n19 href "/domains/conversation#session-started" _self;
click n20 href "/domains/conversation#moment-marked" _self;
click n21 href "/domains/conversation#session-ended" _self;
click n22 href "/domains/memory-reflection#insight-generated" _self;
click n23 href "/domains/memory-reflection#privacy-updated" _self;
click n24 href "/domains/speech-to-text#transcription-completed" _self;
click n25 href "/domains/synchronization#device-paired" _self;
click n26 href "/domains/synchronization#data-synced" _self;
click n27 href "/domains/audio#recording-failed" _self;
click n28 href "/domains/conversation#session-not-found" _self;
click n29 href "/domains/memory-reflection#pattern-detection-failed" _self;
click n30 href "/domains/speech-to-text#transcription-failed" _self;
click n31 href "/domains/synchronization#sync-failed" _self;