66 lines
1.6 KiB
Plaintext
66 lines
1.6 KiB
Plaintext
@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
|