Entity structure
An entity is a dictionary of components, identified by a UUID:_ prefixed fields are metadata. Everything else is a component.
Components
A component is a named JSON object with a defined schema. Components are:- Versioned — schemas evolve without breaking existing data
- Schema-validated — JSON Schema defines the structure; invalid data is rejected
- Composable — attach any combination of components to any entity
Common components
Entity relationships
Entities are connected through entity edges — parent-child links:- Account (parent)
- Claim 1 (child)
- Claim 2 (child)
- Remit 1 (child)
- Many-to-many — an entity can have multiple parents and multiple children
- Soft-deletable — removed links are marked as deleted, not physically removed
- Queryable — API endpoints for fetching children and parents of any entity
Modifying entities
Entities are updated by submitting a delta — a partial update containing only the changed fields:Checkpoints
Every entity change creates an immutable checkpoint containing:
Checkpoints enable:
- Audit trail — who changed what, when, and from what state
- Point-in-time recovery — reconstruct entity state at any moment
- Change propagation — checkpoints are what get delivered to users and services