Intro
Ranvier is a Typed Decision Engine.
It is not a web framework. It is a structural layer that keeps execution explicit, inspectable, and safe to refactor. Your Rust code becomes a circuit. Ranvier turns on the lights.
Axon Schematic Outcome Ingress/Egress
Execution is explicit
Axon chains describe the exact order of decisions. No hidden middleware and no implicit control flow.
Structure is inspectable
Schematic captures nodes and edges without executing the runtime. It is the artifact for diff, validation, and visualization.
Control flow is data
Outcome models branch, jump, emit, and fault as explicit results. You can audit and replay decisions without guessing.
The Contract
Core stays protocol-agnostic. HTTP lives in the adapter layer.
Schematic never executes runtime logic. It is read/validate/visualize only.
Flat API is allowed, but it must not hide complexity. We isolate it.
If you are looking for a batteries-included framework, Ranvier is not it. If you want your
runtime logic to remain visible and verifiable, you are in the right place.
use ranvier::prelude::*;
let axon = Axon::<(), (), anyhow::Error>::new("Hello")
.then(Hello);
Ranvier::http()
.bind("127.0.0.1:3000")
.route("/", axon)
.run(())
.await?;