Spec refactor: fold posta.room.broadcast/v1 into posta.room/v1 with action discriminator #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
Refactor the room-broadcast wrapper kind so that all room-related payloads live under a single content kind, distinguished by an `action` field. Folds the existing wrapper into a more general taxonomy that can host future control actions (`leave`, `join`, `kick`, …) without bloating the namespace.
The wire shape becomes:
```json
{ "kind": "posta.room/v1", "action": "broadcast", "envelopeBytes": "...", "signature": "..." }
```
A receiver matches on `payload.kind == "posta.room/v1"`, then dispatches on `payload.action`. Unknown actions are tolerated per §13.1 (additive evolution).
Includes:
Since nothing has shipped externally, this is a normative revision of proposal 1, not a wire-format-version bump.
Acceptance criteria
Blocked by
None - can start immediately.