- The Rust runtime has durable workflow tests, including recovery and
- timers. Its public conformance file currently records{" "}
- runtime_execution: false. A separate{" "}
- workflow/0.1 claim will follow the shared execution
- fixture.
+ The mdbase-runtime-rs row claims{" "}
+ runtime/0.2 for durable admission, exact bindings,
+ recovery, and timers. The mdbase-rs row remains a
+ collection-engine claim; installing the collection crate alone does
+ not imply workflow execution.
Runtime profile 0.1
-Durable execution builds on interoperability.
+Runtime profile 0.2
+Durable execution uses the same contracts.
- The event/action profile defines portable messages and provider - resolution. The runtime adds journals, scheduling, retries, and - recovery without inventing a second contract system. + Contracts define meaning. Interoperability connects live + applications. The runtime adds admission, persistence, retries, + recovery, and honest outcomes when effects cannot be known.
Four related layers
+Four layers, one contract model
++ An application can consume a record type, publish an event, or provide an + action without becoming a workflow engine. Each layer has one job. +
Collection semantics
+1. Contracts define
- Loading, typing, validation, CEL queries, links, saved views, - revision-safe mutations, lifecycle policy, and watching. These - behaviors operate directly on the collection. + Record, event, and action artifacts share one identity, SemVer, + JSON Schema, digest, registry, and conflict model.
Event/action interoperability 0.1
+2. Applications connect
- CloudEvents envelopes, exact contract evidence, role declarations, - boundary validation, and one-provider action resolution. The - browser-safe reference bridge implements this layer. + CloudEvents and action envelopes carry exact contract evidence. + Source and provider declarations bind live implementations to + artifacts. Events are multicast; actions resolve to one provider.
Workflow execution 0.1
+3. The runtime admits
- Durable journals, idempotent actions, timers, recovery, and
- provider-neutral execution. The Rust mdbase-runtime{" "}
- crate implements this execution layer with in-memory, SQLite, and
- PostgreSQL storage.
+ A workflow names compatible contracts. Admission resolves and pins
+ the exact event source, action provider, handler, versions, and
+ digests that the run may use.
Connect embedding
+4. Durable execution recovers
- Connect compiles exact application grants into transport behavior, - supplies local or hosted collection authorities, and routes - notification signals. It can bind the same portable envelopes - durably without becoming mandatory for local applications. + Runs, attempts, leases, checkpoints, timers, cursors, and outcomes + survive crashes. The authorization host remains the final boundary + for every dispatch.
Conformance profiles
+Readable requirements become exact evidence
++ Authors name behavior and a compatible version. The admitted plan records + exact immutable bindings before any action runs. +
+{`type: runtime_workflow
+id: canvas.zone.set-status
+version: 1.0.0
+name: Set status from canvas zone
+enabled: true
+
+triggers:
+ - id: drop-on-status-zone
+ event:
+ id: canvas.drop
+ version: ^1.0.0
+
+steps:
+ - id: patch-task-status
+ action:
+ id: mdbase.record.patch
+ version: ^2.0.0
+ provider:
+ application: task-editor
+ input:
+ path:
+ $expr: event.data.record.path
+ patch:
+ status:
+ $expr: event.data.target.value`}
+ + A matching schema or SemVer range never grants access. The runtime + admits exact candidates, and the embedding host still authorizes the + actual event delivery and action dispatch. +
+Standard runtime records
- Conformance uses atomic profiles. Interoperability bridges claim{" "}
- event_action_interop/0.1. Durable workflow engines add{" "}
- workflow/0.1 after publishing shared fixture evidence.
+ The mdbase.runtime.standard@0.2.0 pack supplies ordinary
+ mdbase types, contracts, and JSON Schemas. Runtime state stays inspectable
+ with the same collection tools as other records.
| Records | +Purpose | +
|---|---|
runtime_workflow, runtime_policy |
+ Portable workflow intent, provider selection, and capability grants | +
runtime_run, runtime_action_attempt |
+ Run state, exact bindings, requests, attempts, and outcomes | +
runtime_checkpoint, runtime_timer |
+ Recovery position, leases, one-shot scheduling, and missed-run policy | +
runtime_diagnostic, runtime_dead_letter |
+ Portable failure evidence and work that needs operator attention | +
+ + Open the workflow JSON Schema + + {" ยท "} + + Inspect the complete standard pack + +
+Profiles and implementations
| Profile | Covered behavior | -Separate profiles | +Does not imply | ||
|---|---|---|---|---|---|
event_action_interop/0.1 |
- CloudEvents, declarations, validation, authorization boundaries, multicast, and action resolution | -Workflow syntax, scheduling, retries, persistence, or recovery | +CloudEvents, declarations, validation, multicast, action resolution, and exact evidence | +Persistence, retries, timers, or workflow recovery | |
runtime_contracts/0.1 |
- Legacy runtime-host behavior during migration to the interoperability substrate | -The portable event/action profile and durable execution evidence | -|||
workflow/0.1 |
- Durable workflow execution, action idempotency, timers, and recovery | -All collection semantics unless separately claimed | +runtime/0.2 |
+ Admission, deterministic execution, journals, attempts, leases, recovery, cancellation, and timers | +Authorization or unrelated collection profiles |
watch |
- Real collection event delivery and ordering | -Runtime provider or workflow behavior | +Collection change delivery and ordering | +Portable event contracts or durable workflow behavior |
+ The TypeScript{" "}
+ @callumalpass/mdbase-runtime
+ {" "}package provides browser-safe record validation and admission. The
+ Rust{" "}
+ mdbase-runtime
+ {" "}crate supplies durable in-memory, SQLite, and PostgreSQL execution.
+
Declare criteria in the application manifest
- Criteria use canonical runtime event contracts and CEL. Presentation is
- static manifest data, so private record content cannot be interpolated into
- a push. The approved grant stores an exact snapshot of each selected
- criterion.
+ Criteria use canonical Runtime 0.2 event contracts and CEL over CloudEvent
+ {" "}data. Presentation is static manifest data, so private
+ record content cannot be interpolated into a push. The approved grant
+ stores an exact snapshot of each selected criterion.