OSS-first docs
These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.
Discriminated union for live graph update events.
| `kind` | Payload | Notes | | --- | --- | --- | | `node-added` | `node: SubscriptionNode` | New node arrived | | `node-updated` | `node`, `previous?` | Partial patch; previous is optional | | `node-removed` | `nodeId: string` | Node deleted | | `edge-added` | `edge: SubscriptionEdge` | New edge | | `edge-updated` | `edge`, `previous?` | Edge attribute change | | `edge-removed` | `edgeId: string` | Edge deleted | | `snapshot-replace` | `nodes[]`, `edges[]` | Full resync — replace all state |
`snapshot-replace` is emitted on initial connect, reconnect after gap, or server invalidation. Clients must exhaustively switch on `kind` for forward-compatibility.