Evolutionary Model reference
The Evolutionary Model is modelARch’s normalized representation of product intent. The canonical machine format is versioned JSON; author it through modelARch surfaces rather than editing exported JSON by hand.
Root domains
Section titled “Root domains”SdmModel├── metadata: id, name, description, version, timestamps├── domain│ ├── areas and domain objects│ ├── queries, errors, modules│ ├── infrastructure, brand, layout, locale│ └── shared types├── boundedContexts and contextMap├── actors, timers, external systems, auth providers├── flows and reactions├── product thinking and experience intent├── surfaces, processes, views, transitions, custom screens├── rules and applications└── discovery status and explicit decisionsExact fields evolve under a versioned schema. Consumers must reject unknown required shapes or migrate older revisions; they must not reinterpret them silently.
Structure
Section titled “Structure”- Area/Subdomain: business capability in the problem space.
- Bounded Context: solution-space linguistic boundary linked to a subdomain.
- Aggregate/Domain Object: consistency boundary with root entity, fields, values, behavior, and lifecycle.
- Entity: identity-bearing concept inside an aggregate.
- Value Object: value defined by its attributes rather than identity.
- Enum: closed named value catalog.
Behavior
Section titled “Behavior”- Command: intent to change state, including parameters, permissions, scope, mutations, events, and rationale.
- Mutation: typed assignment or collection change against a real target.
- Domain Event: past-tense fact emitted after successful behavior.
- Reaction: event-to-command effect, optionally matching affected rows.
- Timer: scheduled trigger for a command.
- Rule/Domain Error: constraint and typed rejection.
- State Machine: lifecycle states and allowed transitions.
Read side
Section titled “Read side”A query defines parameters, fixed filters, source-mapped output fields, sort, pagination, return cardinality, permissions, scope, and rationale. Computed fields use structured derivation expressions where supported.
Access
Section titled “Access”Actors can be human, system, external, or explicitly anonymous. Operations combine role permission with optional row scope: all, relationship/self, attribute, any-of, or membership reachability. Actor inheritance grants invocation permission but does not erase the operation’s scope.
Experience
Section titled “Experience”The product model can include activities, user stories, processes, surfaces, experience blueprint decisions, persona homes and navigation, view patterns, composition overrides, transitions, and custom screens.
Generated screens are projections. Authored transitions and overrides remain model intent.
Integration and platform
Section titled “Integration and platform”External systems define direction, kind, transport, authentication, capabilities, callbacks, and configuration names. Modules configure prefab capabilities. Infrastructure selects supported database, cache, and task-queue adapters.
Invariants
Section titled “Invariants”Every reference must resolve; concepts have one canonical representation; destinations derive from current model state; generators cover supported generable constructs; and derived relationships are not separately authored.
For task-oriented explanations, start with Modeling overview. For implementation output, see Generator targets.
