API Reference Runic v#0.1.0-alpha.7

Copy Markdown View Source

Modules

Serializable closure representation for Runic components.

Serializable metadata for reconstructing closures from logs.

Protocol defining how Runic components compose together and connect within workflows.

Raised when connecting two components with incompatible port contracts.

Built-in workflow execution infrastructure.

Behaviour for controlling how runnables are dispatched to compute.

GenStage-based executor providing demand-driven dispatch with back-pressure.

Default executor using Task.Supervisor.async_nolink.

A batched execution unit that groups runnables for optimized dispatch.

Analyzes workflow graphs to construct Promises from linear chain patterns.

Behaviour for controlling what gets dispatched together and when.

Self-tuning scheduler that adjusts dispatch strategy based on runtime profiling.

A registered dispatch capability that the Adaptive scheduler can assign to nodes.

Per-node execution statistics tracked by the Adaptive scheduler.

Scheduler strategy that batches linear chains into Promises.

Conformance test suite for Runic.Runner.Scheduler behaviour implementations.

Default scheduler strategy that dispatches each runnable individually.

Scheduler strategy that detects both sequential chains and parallel batch opportunities.

Behaviour for workflow persistence adapters.

Default in-memory persistence adapter using ETS.

Mnesia-backed persistence adapter for the Runner.

Telemetry event definitions for Runic.Runner.

GenServer managing a single workflow's execution lifecycle.

Protocol for converting data structures into Runic workflows or components.

Raised when a component references another component that does not exist in the workflow.

Runtime evaluation engine for Runic workflows.

Accumulator components aggregate values over time using a reducer function.

Optional protocol for nodes with custom downstream activation patterns.

A CQRS/Event Sourcing aggregate component that validates commands, emits domain events, and folds events into state.

Minimal immutable context for executing a runnable without the full workflow.

Macro utilities for compiling expressions into workflow graphs or components.

Condition nodes are predicate checks that gate flow in a workflow.

A lightweight compile-time placeholder for referencing named conditions in rule where clauses.

Logical AND gate that requires all referenced conditions to be satisfied.

Optional protocol for nodes that need post-fold coordination.

Protocol for applying custom events to a workflow.

Barrel module for all workflow event types.

Event emitted when a node consumes its activation edge (marks it as :ran).

Event emitted when a condition (or conjunction) is satisfied by a fact.

Event emitted when a fact is produced during workflow execution.

Event derived during maybe_finalize_coordination/2 when a FanIn node determines that all expected fan-out items have been processed.

Event emitted when a FanOut node splits an enumerable input into individual facts.

Derived event emitted when a Join node has all required branches satisfied.

Derived event emitted when a join edge is relabeled upon join completion.

Event emitted when a fact arrives at a Join node from a parent branch.

Event emitted when a step in a fan-out pipeline tracks its result for downstream fan-in coordination.

Event emitted when a downstream node is activated by a produced fact.

Serialization utilities for workflow events.

Event emitted when an accumulator initializes its state for the first time.

A finite state machine component with discrete named states and event-driven transitions.

A lightweight reference to a Fact without its value.

Runtime resolver that hydrates FactRef structs via a Store adapter.

Unified accessors for Fact and FactRef structs.

FanIn steps are part of a reduce operator that combines multiple facts into a single fact by applying the reducer function to return the accumulator with the parent.

FanOut steps are part of a map operator that expands enumerable facts into separate facts.

Event struct passed to hooks during execution.

Runs hooks during the execute phase without requiring workflow access.

Protocol defining how workflow nodes execute within a workflow context.

Map operations contain a FanOut operator and LambdaStep operations to produce facts split from the input and process each.

Executes a %Runnable{} according to a %SchedulerPolicy{}, handling retries, timeouts, backoff, fallbacks, and failure modes.

An event-driven process orchestrator that coordinates across multiple aggregates.

Component represention of a reduce operation to implement the component protocol for connecting a reduce to other components in a workflow.

Lineage classification and hybrid rehydration for checkpointed workflows.

A prepared unit of work ready for execution.

Event recording that a runnable completed execution successfully.

Event recording that a runnable was dispatched for execution.

Event recording that a runnable failed permanently (retries exhausted).

A sequential transaction pipeline with compensating actions for failure recovery.

Defines per-node scheduling policies for workflow execution.

Behaviour for workflow serialization to various graph formats.

Serializes Runic Workflows to Cytoscape.js JSON element format.

Serializes Runic Workflows to DOT (Graphviz) format.

Serializes Runic Workflows to simple edgelist format.

Serializes Runic Workflows to Mermaid diagram format.

A stateful workflow component that combines an accumulator with reactive rules.

Step nodes transform input facts into output facts.