diff options
| author | eunhhu <[email protected]> | 2026-09-25 11:48:51 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-25 11:48:51 +0100 |
| commit | efba82d75e4357c7e82b027b04a5ec9937f8443b (patch) | |
| tree | 9c874527466faf836e6fb4a03dd25c9c7160410a /docs/design/validation | |
| parent | 12410be7ec2a030e8c3adcf318d87d5ac2954e1d (diff) | |
| download | pure-efba82d75e4357c7e82b027b04a5ec9937f8443b.tar.gz pure-efba82d75e4357c7e82b027b04a5ec9937f8443b.zip | |
Add typed messages and keyed documents to Pure modules
Module format v2 adds byte values, message inputs with u32 and bytes-tail
fields, one keyed byte collection, replies and require. The verifier checks
every operand's type and the context each operation may run in, and allows
branches and joins only at an empty stack, so typed values never merge.
A message event opens its key's working version through a PureData host,
conflicts early on a stale base revision, runs its handlers, and commits
only if they succeed; a failed event leaves documents and states unchanged.
Replies lend payload or document extents, and a document reply is copied
before commit. pure_tree_data implements the host on tree store drafts, and
pure-edit-module offers the document CLI contract of pure-edit from a module.
test-module adds document semantics on an in-memory host (not found, create,
conflict before bounds, limits, short payloads, busy commits, stable replies,
require, state rollback), typed verifier rules, and 20,000 damaged message
modules run safely under ASan/UBSan.
Diffstat (limited to 'docs/design/validation')
0 files changed, 0 insertions, 0 deletions
