Mutations & Change Events

Structured write operations batched into atomic ChangeSets. Every mutation emits a ChangeEvent for subscriptions. Schema evolution via reversible Migration steps.

Mutation Types

MutationFields
CreateObjecttype_id, instance_id, properties
UpdatePropertiesinstance_id, properties (partial update)
DeleteObjectinstance_id
CreateLinklink_type, source, target, properties
DeleteLinklink_type, source, target
ExecuteActionaction_id, target, parameters

ChangeSets

Atomic batches with principal tracking and timestamps. BatchResult reports per-mutation outcomes (Success, Rejected, Skipped).

Subscriptions

ChangeKindPayload
ObjectCreatedtype_id, instance_id
ObjectUpdatedtype_id, instance_id, changed_properties
ObjectDeletedtype_id, instance_id
LinkCreatedlink_type, source, target
LinkDeletedlink_type, source, target
ActionExecutedaction_id, target

Delivery modes: InternalBus, Webhook (url + headers), Stream (topic).

Schema Migration

StepDescription
AddPropertyAdd with optional default value
RemovePropertyRemove by name
RenamePropertyRename from → to
ChangeTypeType coercion: NumericCast, Parse, DefaultOnFailure, Expression, Strict
AddConstraintAdd constraint to property
RemoveConstraintRemove constraint by index
Add/RemoveInterfaceInterface implementation changes

Every Migration includes rollback steps. is_reversible() checks if rollback steps are defined.

Questions?

Reach out for help with integration, deployment, or custom domain codecs.