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.
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
Resources Stay Explicit
Ranvier does not hide state behind global middleware. Shared resources live in a typed Bus or an explicit resource bundle, and every transition chooses when to read them.
Ingress / Egress Boundaries
Schematic Diff & Validation
Schematic is a static artifact. You can diff and validate circuits in CI before runtime, without executing the system.
Trust & LLM Boundaries
AI can propose structure, but it does not mutate runtime logic. Every change remains explicit, reviewable, and validated against the Schematic.
use ranvier::prelude::*;
let axon = Axon::simple::<anyhow::Error>("Hello")
.then(Hello);
Ranvier::http()
.bind("127.0.0.1:3000")
.route("/", axon)
.run(())
.await?;