Sequence: Join Testnet → Play Oregon Trail from Node UI
1 wagon = 1 game = 1 context graph. Each player runs a node and plays from their UI. Min 3 players; votes via workspace; GM proposes CG entry; at least floor(2/3*N) signatures to commit on-chain.
sequenceDiagram
autonumber
actor PlayerA as Player A
actor PlayerB as Player B
actor PlayerC as Player C
participant NodeA as Node A GM
participant NodeB as Node B
participant NodeC as Node C
participant Workspace as Workspace
participant CG as Context Graph
Note over PlayerA, CG: Each player runs node, join testnet, open Node UI on own machine
PlayerA->>NodeA: start node, open UI
NodeA->>Workspace: connect to contextGraph
PlayerB->>NodeB: start node, open Node UI
PlayerC->>NodeC: start node, open Node UI
NodeB->>Workspace: connect to contextGraph
NodeC->>Workspace: connect to contextGraph
Note over PlayerA, CG: Lobby - wagons are context graphs, min 3 players to create
PlayerA->>NodeA: Create wagon or Join existing
NodeA->>Workspace: create wagon, new context graph
Workspace-->>NodeB: wagon created
Workspace-->>NodeC: wagon created
NodeA->>CG: bootstrap context graph
NodeA-->>PlayerA: wagon view
Note over PlayerA, CG: Vote on next action - travel, hunt, rest, ford, ferry
PlayerA->>NodeA: vote Travel pace 2
PlayerB->>NodeB: vote Rest
PlayerC->>NodeC: vote Travel pace 2
NodeA->>Workspace: publish vote
NodeB->>Workspace: publish vote
NodeC->>Workspace: publish vote
Workspace-->>NodeA: all votes
Workspace-->>NodeB: all votes
Workspace-->>NodeC: all votes
Note over NodeA, CG: GM proposes new CG entry - floor 2/3 N signatures to commit on-chain
NodeA->>NodeA: compute outcome, build new state entry
NodeA->>NodeB: request signature for CG entry
NodeA->>NodeC: request signature for CG entry
NodeB->>NodeB: verify, sign
NodeC->>NodeC: verify, sign
NodeB->>NodeA: signature
NodeC->>NodeA: signature
NodeA->>CG: commit entry on-chain
CG-->>NodeA: entry accepted
CG-->>NodeB: entry accepted
CG-->>NodeC: entry accepted
NodeA-->>PlayerA: updated wagon view
NodeB-->>PlayerB: updated wagon view
NodeC-->>PlayerC: updated wagon view