Expand description
§ObzenFlow Runtime
Runtime owns stage execution, pipeline supervision, and replay. Application
authors implement its handler contracts through obzenflow::stages and use
obzenflow::effects and obzenflow::middleware for effects and observers.
This layer depends on Core, obzenflow-topology, and obzenflow-fsm.
Outer layers supply journal backends, adapters, and hosting.
§Responsibilities
- Handler contracts for sources, transforms, stateful stages, joins, and sinks.
- Effect execution, typed outcomes, and delivery evidence.
- Pipeline and stage state machines, lifecycle control, and resource settlement.
- Journal publication, replay, and resume through Core’s storage contracts.
- Backpressure, edge verification, and deterministic input ordering where required.
- Execution measurements and snapshots for optional reporting.
Observers receive immutable views at defined execution boundaries. They are attachments to stages, not an additional stage family.
The supervision guide explains the shared run loops, state-machine ownership, and construction rules for framework contributors.
§Test support
The test-support feature exposes obzenflow_runtime::testing and enables
tokio/test-util for deterministic integration tests, including paused-time
tests. Keep it disabled in production configurations.
§License
Dual-licensed under MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.
Modules§
- backpressure
- Backpressure contracts
- bootstrap
- Runtime-owned bootstrap settings shared across infra, DSL, adapters, and runtime.
- contracts
- control_
plane - Runtime-neutral control-plane ports and DTOs.
- effects
- Replay-safe user effects.
- errors
- Error types for runtime services
- execution
- Runtime execution strategy (FLOWIP-120r).
- feed_
plan - Runtime feed-plan metadata for logical edge selection.
- id_
conversions - Conversion helpers between core StageId and topology StageId
- message_
bus - Message Bus for Inter-FSM Communication
- messaging
- Event flow and routing components
- metrics
- Metrics aggregator implementation
- pipeline
- Pipeline construction, public controls and supervised lifecycle execution.
- prelude
- Convenience re-exports of the most commonly used runtime types.
- replay
- Execution of replay through the Core archive and journal contracts.
- run_
context - The explicit per-run build context (FLOWIP-010 §7 carrier).
- runtime_
config - Runtime configuration model and resolver (FLOWIP-010).
- runtime_
resource_ limits - stages
- Stage implementations organized by type
- supervised_
base - Base abstractions for the runtime services
- typing
- Authoring-time stage typing trait markers and assertion helpers.
Macros§
- effect_
set - Declare an effect capability set in type position (FLOWIP-120z):