Guide

Motive

Durable statecharts that run everywhere: type-safe, topology-safe, and composable.

Durable statecharts that run everywhere.

Type-safe.Topology-safe.Composable.

Build local interactions, durable workflows, and distributed systems from one executable domain model.

Model the world once

A statechart is executable domain topology. It says which facts are active together, which events matter there, which work exists because a state is active, and what must happen before the system may honestly claim a new state.

The same authored chart can run in memory, survive a service restart, coordinate across a cluster, or remain durable across browser tabs. The engine changes operational guarantees. It does not change what the chart means.

The domain is the state. The state is the behavior. The topology is the application.

Make the hard parts structural

Motive is designed so that correctness-critical relationships are authored rather than reconstructed from callbacks and status fields.

State owns data

A facet exists exactly while its state is active. Queries and guards read facts with topological proof instead of searching an unstructured context object.

State owns work

Activities, timers, children, and Resources are mounted citizens. Entry creates their lifetime; exit cancels or settles it.

One event, one decision

Selection, guards, updates, exits, and entries fold into one deterministic macrostep and one atomic commit.

Failure keeps its meaning

Refusal, typed failure, author defects, operational failure, and interruption remain different outcomes with different remedies.

Effects remain recoverable

Durable engines commit effect intent with state and enact it afterward, preserving enough identity to retry without pretending the outside world is transactional.

External values stay external

Resources let charts coordinate secrets, documents, credentials, and capacity by durable identity without putting those values in chart state.

Choose your path

Know the current boundary

This site documents a sealed release candidate. Examples are compiled against the same workspace source that defines the language, and live examples run those exact charts. Package availability and installation instructions remain deliberately narrow until the publication decision is complete.

Start with Getting Started, or read the Concepts pages when you want the precise computational model first.