--- id: PLAY-1 family: RT-PLAY level: core profiles: [runtime, editor-client] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-play/play-1 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # PLAY-1 — Playground sessions and messages are addressed and published by UUID *RT-PLAY (Part II) · level: core · profiles: runtime, editor-client · added in 1.0* ## The rule > **Normative.** This is the rule. > > 1. Every playground route parameter naming a session or a message is a UUID, and every `id` published (a session row's, a message row's, and a message row's `sessionId`) is that UUID, never an internal record identifier. > > 2. The single exception is the session list's `ids` filter, which takes a comma-separated list of internal identifiers, dropping values that are not positive integers: it is a narrowing of what the caller can already see, not a client-facing identifier. > > 3. So that one door accepts internal identifiers inbound and answers UUIDs outbound, deliberately. ## Related rules - Names: PLAY-5 - Referenced by: PLAY-2, PLAY-5 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.