@startuml Discussion State Machine !theme plain skinparam state { BackgroundColor white BorderColor black } title Discussion Lifecycle State Machine [*] --> OPEN : Create discussion state "OPEN" as OPEN : Active discussion\nAccepting comments state "READY_FOR_DESIGN" as DESIGN : Consensus reached\nApproved for design state "READY_FOR_IMPLEMENTATION" as IMPL : Design approved\nReady to implement state "CLOSED" as CLOSED : Discussion ended OPEN --> OPEN : Add comments\nRun turns OPEN --> DESIGN : Consensus reached\n(in consensus_vote phase) OPEN --> CLOSED : Manual close\nor REJECT consensus DESIGN --> DESIGN : Design discussion DESIGN --> IMPL : Design consensus IMPL --> CLOSED : Implementation complete CLOSED --> [*] note right of OPEN **Phase Flow (Feature Template)** 1. initial_feedback (no voting) 2. detailed_review (no voting) 3. consensus_vote (voting) **Phase Flow (Brainstorm Template)** 1. seed (no voting) 2. diverge (no voting) 3. cluster (voting - 50%) 4. sketch (no voting) 5. reality_check (no voting) 6. decide (voting - 67%) end note note bottom of DESIGN **Voting Thresholds** - READY: 67% required - REJECT: Any blocks - Human approval required end note == Vote Types == state "READY" as V_READY #lightgreen state "CHANGES" as V_CHANGES #lightyellow state "REJECT" as V_REJECT #lightcoral note "Approve - no concerns" as N_READY V_READY .. N_READY note "Conditional approval" as N_CHANGES V_CHANGES .. N_CHANGES note "Blocks progression" as N_REJECT V_REJECT .. N_REJECT @enduml