Seeds
Defined data. Compact changes. Shared understanding.
Shared Structure
Data Definitions
Agree on the fields before sending the values. Producers, storage, and readers use the same definition.
Order, Types & Dictionaries
Field order supplies position. Types specify how values are encoded. A dictionary gives common strings stable IDs.
Portable Format, Application Rules
CDDL describes the portable definition structure. Trie-Trunk adds resource bindings and checks for event identity, collection roles, and other application conventions.
Room for Extensions
Definitions can declare @fields for additional values. Extensible annotations carry metadata; selected validators enforce rules.
{
"pil": 0,
"definition": "orders",
"version": 0,
"fields": [
{ "name": "id", "type": "UUID" },
{ "name": "revision_id", "type": "U16" },
{ "name": "state", "type": "STRING",
"values": ["pending", "paid", "shipped"] }
]
}One Registration Path
Planned: JSON folder ingestion, upload, and a definition editor feeding the same validation and registration pipeline.
Validate & Bind
Check the portable structure, compile the field layout, then apply the selected application validators before publishing a binding.
Preserve the Contract
Readers need the exact definition used by the producer. Definition changes create a new binding; metadata and unknown annotations can be retained when forwarding the definition document.