ranvier-core 0.22.0

Protocol-agnostic core for Ranvier - Typed Decision Engine
Documentation
ranvier-core-0.22.0 has been yanked.

Ranvier Core (ranvier-core)

The Kernel: Pure logic engine for the Ranvier Framework.

🎯 Purpose

ranvier-core is the foundation of the entire framework. It defines the abstract concepts required to build a "Circuit-First" decision engine. It is designed to be:

  • Protocol Agnostic: Does not depend on Hyper, HTTP, or any specific transport.
  • Circuit-Based: Everything is an Axon or a Transition.
  • Introspectable: Capable of generating a self-describing "Schematic" (JSON Schema) of the business logic.

🔑 Key Components

  • Axon Trait: The circuit interface. Defines how a component takes an Input and returns an Outcome.
  • Transition Trait: The atomic unit of logic that drives state changes.
  • Outcome Enum: The result of an execution (Next, Branch, Fault, End).
  • Bus: A type-map container for passing state and context through a circuit.
  • iam module: AuthContext and AuthScheme — authentication context absorbed from the removed ranvier-auth crate.
  • tenant module: TenantId, TenantExtractor, TenantResolver, IsolationPolicy — multi-tenancy primitives absorbed from the removed ranvier-multitenancy crate.

🚀 Development Direction

  • Strict Separation: Keep this crate free of transport-layer dependencies.
  • Type Safety: Leverage Rust's type system to ensure valid state transitions.
  • Telemetry: Built-in tracing for visual debugging in Ranvier Studio.

Examples

MSRV

  • Rust 1.93.0 or newer (Edition 2024).