Message envelope
A message is a durable point-to-point delivery. The recipient owns its inbox and explicitly acknowledges consumption.
Persisted shape
The messages table stores typed routing/status columns, exact body text and internal notified_at state. Required values decode with typed errors.
The ordered public record is:
to_member_id is always an integer. ACK changes status_state to completed and stamps status_timestamp; completion means the delivery was consumed, independently of the assignment's progress.
Rendered shape
Output shapes owns each command's wrapper. Poll returns an array of full records; show/ACK wrap one record as message; send adds notification_sent. Wait returns full poll records inside its finite receive result. Listen emits that same full record inside a tagged message envelope, with separate ready/closed lifecycle records and explicit ACK consumption.
Text-mode projection
Text bodies use CAFLEET_MAX_TEXT_LEN codepoints plus …; JSON preserves the complete exact text. A pane notification line folds the full body under its own line contract, independent of CAFLEET_MAX_TEXT_LEN.