Guard / API

foldkit-guard/sync

foldkit-guard/sync: a guard set's rules on foldkit-sync's edits to a server-owned Entity. A cell edit is a write to a member of a row, through the journal instead of a Remote mutation, so it answers to the same rules.

Writes are checked in two halves, by where each can run. What needs only the principal (always, the row's and each member's Update principal guards) is the journal's authorize, under its lock. What reads the row is the exchange's admit, before the journal sees the edit, reading the row through the Entity's guarded Source.

Reads are one audience: every replica that opens a document receives every edit committed to it. So a document names its readers, who alone may open it, and is refused where it is declared when an edit could carry a value to someone the Entity's Read rules would not show it to.

Namespaces

Interfaces

CellChangeOne cell's change, as foldkit-sync/entity's Change carries it.
GuardedDocumentA document of edits to an Entity's members, and who may open it.