Expand description
af-workflow — spec-driven workflow chassis.
A workflow is typed node expressions composed into a branched DAG. Port of
agent_core/workflow.
- Spec model (
Spec,Branch,Node,Edge) — deserializes existing Python builtin JSON specs unchanged. - Runtime —
Event/StepResult/WorkflowContext/Stateand theStepNodetrait (one event in, one result out). - Registry (
NodeRegistry) — maps node types to factories. Ships the generic node types viaNodeRegistry::with_builtins; products register their own business types and side-effect guards. - Durable host (
WorkflowHost) — validates and compiles a branch DAG; claimed work is scheduled only byrun_due_pass.
Re-exports§
pub use event::Event;pub use graph::primitive_kind;pub use graph::render_graph;pub use graph::render_graph_json;pub use graph::GraphEdge;pub use graph::GraphNode;pub use graph::WorkflowGraph;pub use host::HostError;pub use host::WorkflowHost;pub use host::ROOT_BRANCH;pub use ingress::ingress_plans;pub use ingress::next_cron_at;pub use ingress::next_scheduled_at;pub use ingress::schedule_decision;pub use ingress::BranchIngressPlan;pub use ingress::ScheduleDecision;pub use metrics::Readiness;pub use metrics::RuntimeMetrics;pub use node::StepNode;pub use node::WorkflowContext;pub use provider::ProviderBlock;pub use provider::ProviderGate;pub use provider::ProviderLimits;pub use provider::ProviderPermit;pub use provider::WorkPriority;pub use recorder::noop_recorder;pub use recorder::NoopRecorder;pub use recorder::RunHandle;pub use recorder::RunRecorder;pub use recorder::RunStatus;pub use recorder::StepStatus;pub use registry::FieldSpec;pub use registry::FieldType;pub use registry::NodeError;pub use registry::NodeRegistry;pub use registry::NodeSchema;pub use registry::StepFactory;pub use result::PreparedAction;pub use result::StepResult;pub use spec::Branch;pub use spec::Edge;pub use spec::Node;pub use spec::Spec;pub use spec::SpecError;pub use spec_driver::SpecDriver;pub use state::MemoryState;pub use state::NamespacedState;pub use state::State;pub use supervisor::run_due_pass;pub use supervisor::DriverRegistry;pub use supervisor::EvaluationOutcome;pub use supervisor::MemoryWorkQueue;pub use supervisor::SupervisorError;pub use supervisor::SupervisorSettings;pub use supervisor::SupervisorStats;pub use supervisor::Wakeup;pub use supervisor::WorkDisposition;pub use supervisor::WorkItem;pub use supervisor::WorkQueue;pub use supervisor::WorkflowDriver;pub use supervisor::WorkflowTransitionCommand;pub use template::resolve_config;pub use template::TemplateError;pub use validator::validate;pub use validator::Violation;pub use contract::*;
Modules§
- builtins
- Generic (non-business) node implementations.
- contract
- Stable contracts for durable workflow execution.
- event
- Events flowing through a branch.
- graph
- Presentation-only workflow graph rendering for UI consumers.
- host
- Validated multi-branch workflow host.
- ingress
- Pure ingress planning helpers for durable workflow hosts.
- metrics
- Dependency-free scheduler metrics and readiness.
- node
- Node trait + context. Port of
platform/node_protocol.py. - provider
- Provider-local backpressure and circuit breaking.
- recorder
- Infra-agnostic workflow run and step persistence seam.
- registry
- Node-type registry. Port of
platform/registry.py. - result
- What a step node returns. Port of
platform/types.pyPass / Drop / FanOut. - spec
- Workflow spec data model.
- spec_
driver - Bridge from a validated product
Specto the durable supervisor. - state
- Branch-scoped run state.
- supervisor
- Database-agnostic scheduler for claimed long-running workflow instances.
- template
$config.X/$instance.X/$event.Xtemplate resolution.- validator
- Static spec validator. Port of
platform/validator.py.
Structs§
- RunOutcome
- Summary of one event driven through a compiled branch.
Enums§
- Compile
Error - Why a branch could not be compiled.
- Terminal
- Where a run ended.
Type Aliases§
- Workflow
Registrar - Registrar a product fills in
Product::register_workflow.