Nordhavn / specs / convene / core / Writing

convene / coredata

Writing

Purpose

What a member wrote — the message's content in the clear. A writing exists only on a member's device: before sealing on the sender's side, and after unsealing on a reader's. It never rests in a store and never crosses a port; the moment it travels, it travels sealed. Keeping the writing a named value keeps that boundary visible — everything that holds a Writing is, by that fact, on a device.

Attributes

Invariants

Scenarios

A writing carries its text

Given: the text "The hearing moved to Thursday." When: a Writing is created Then: it is accepted and reads back with that text

An empty writing is rejected

Given: an empty text When: a Writing is created Then: the creation is rejected because a message says something

spoken of by