Characteristics
-
Schema-Driven: Applications declaratively define
TemplatesandRelations. This represents the data structure of your application. This can be further enhanced byUnions. -
Schema-first: Applications are defined declaratively via a builder DSL that compiles to immutable definition objects (similar to GraphQL SDL → schema)
-
Hierarchical: Items form a rooted tree structure with parent-child relationships and key-path addressing
-
Event-driven: First-class event primitives with listener registration, bubble propagation up the hierarchy, and cron scheduling
-
CQRS: Strict separation between read paths (Query/ReadRuntimeInstance) and write paths (Mutation/WriteRuntimeInstance)
-
Relational: Typed relations between templates with explicit cardinality constraints (1:1, 1:N, N:1, N:N)
-
Stateful: Templates embed finite state machines with typed transitions
-
Role-based: Declarative RBAC at both application and entity levels with grant-based property access
-
Modular: Applications compose via dependency injection with topological resolution
-
Multi-tenant: All entities (Item) are workspace-scoped with tenant isolation at the data layer