UmweltDocs
Concepts/Writing

Writing

A commit writes one event with its records and transitions, atomically: all of it or nothing. Every commit carries an attempt id; sending the same commit again with the same attempt id returns the original outcome instead of writing twice, so a client can retry safely. An optional expected version makes the commit fail if the timeline moved since the client last read it. A record or a transition that gives no position or provenance takes those of its event, and a Holding is available with confidence 1 unless it says otherwise; who holds it, with which attitude and how it was acquired is always stated.

A world’s projects, entity types, entities, predicates and axes can be declared in one manifest (world.ensure): it creates what is missing, leaves the rest untouched, and can run every time the file is opened.

Higher-level writes build commits for common cases: transmit (one holder tells another), witness (everyone at a scene sees the same claims), holding.adjustBatch, transition.batch and disposition.setBatch (changes to many records at once, such as a night of forgetting).

A proposal holds a commit for review instead of applying it: each operation is accepted or rejected with a rationale, and only the accepted ones are applied.

Was this page helpful?