Documentation / Start here

The Resource model

Understand the shared contract.

ROM 0.1.0 · SOURCE CANDIDATE Markdown

A Resource is the domain entity that ROM manages through a shared contract. Applications declare state and domain behavior. ROM supplies common execution and observation boundaries.

Resource

Declare the shape, codecs, actions and authority rules. A descriptor describes this contract; it is not the current value. Discovery exposes authorized metadata.

Action

An action requests an operation on a Resource. The runtime checks authority, validates the request and executes domain behavior. A rejected action must not change state or produce a success event. Action inputs define the accepted request shape.

Commit and event

The commit contract coordinates durable state and event writes. An event records a fact about a committed change. Acknowledgement is separate from commit. A lost response can leave an unknown outcome.

Reaction

A reaction follows an event and can invoke another action. Earlier commits remain committed when a later step fails. Compensation is an explicit domain action. It does not erase history.

Live query

A live query observes an authorized result that changes with data. A stream cursor and a query anchor have different contracts. Read query semantics before choosing pagination behavior.

Recovery

An unresolved mutation retains its original operation identity. A stored receipt supports durable idempotency. Recovery still requires current authority and the retained request codec. Read operator recovery before retrying uncertain work.

One contract, several interfaces

Rust applications, the CLI, HTTP clients and Studio use the same Resource boundaries. Studio selects editors from disclosed descriptors. Application layout and policy remain the consuming application's responsibility.

This page follows the captured repository source.View the source