docs/diagrams/clanker-activity.mmd

flowchart TD subgraph Hub["Shared Attention Hub"] Active["ACTIVE
Clanker is engaged"] Ambient["AMBIENT
Clanker is in the room"] end

subgraph Promotion["Promotion / Sustain Signals"]
    TextDirect["Text direct mention<br/>reply-to-bot<br/>bot-name mention"]
    VoiceDirect["Voice wake word<br/>voice direct address"]
    Followup["Recent engaged follow-up<br/>same conversation still live"]
end

subgraph Text["Text Spoke"]
    TextReply["Reactive text replies<br/>main brain may answer or [SKIP]"]
    TextAmbient["Ambient text delivery<br/>initiative / thought post"]
end

subgraph Voice["Voice Spoke"]
    VoiceReply["Voice reply path<br/>main brain may answer or [SKIP]"]
    VoiceAmbient["Ambient voice delivery<br/>voice thought surface"]
end

subgraph Reflex["Reflex / Overlay Layers"]
    Interrupt["Interrupt safety<br/>acoustic gate / interrupt classifier"]
    Music["Music overlay<br/>playing / paused_wake_word / ducking"]
    Controls["Compact playback controls<br/>optional mini music brain"]
end

TextDirect --> Active
VoiceDirect --> Active
Followup --> Active
Active --> Ambient

Active --> TextReply
Ambient --> TextAmbient

Active --> VoiceReply
Ambient --> VoiceAmbient

Music -. room overlay .-> Active
Music -. room overlay .-> Ambient
Interrupt -. transport guardrail .-> VoiceReply
Controls -. music reflex .-> VoiceReply