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.

A Data Definition JSON View
{
  "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.