Formal Speech and Seals
Formal speech is implemented for seal, swear, vow, and declare, and for ordinary speech inside rooms tagged contract-room or council-chamber.
> swear I will return before dawn
Traveler says, "I will return before dawn"
[seal and witness record]
The engine builds a canonical payload from actor, verb, room, text, and timestamp; hashes it; signs it; records a speech_signed event; and renders the seal with its witnesses. The room and every NPC present are collected as witnesses in the current TUI path.
The present trust boundary
The signature is made with the realm keypair while the event records the player’s DID as signer. A client-side signature path is specified but not yet integrated. The resulting record proves what the realm attested it observed; it does not yet prove direct possession of the player’s private key at utterance time.
There is also no /witnesses query command in the live meta-command dispatcher, and the seal renderer is currently attached to formal speech rather than to mail or item provenance.
Formal speech is therefore useful as a durable, realm-attested event. Treat player-sovereign signing, portable seals, and cross-realm verification as the next boundary, not the current one.