Status

Submodule capabilities at a glance.

Check what each module can do now and how to verify it in one place.

Updated: 2026-03-11

ranvier

Core Rust module for first users to build typed decision flows, run canonical examples, and connect HTTP adapters.

Stage: Stabilizing
Commit: 418efdf Last verified: 2026-03-07

Versioning

Current 0.30.0
Line 0.30.x
Channel stable
Release status released
Version source ranvier/Cargo.toml [workspace.package.version]

Artifacts

ranvier-core crates.io 0.30.0 released
ranvier-macros crates.io 0.30.0 released
ranvier-runtime crates.io 0.30.0 released
ranvier-http crates.io 0.30.0 released
ranvier-std crates.io 0.30.0 released
ranvier-audit crates.io 0.30.0 released
ranvier-compliance crates.io 0.30.0 released
ranvier-inspector crates.io 0.30.0 released
ranvier-openapi crates.io 0.30.0 released
ranvier crates.io 0.30.0 released

Can do now

  • Define typed decision flows with Axon/Transition/Outcome contracts, explicit Bus wiring, and `Never` error type for infallible pipelines. 61 maintained examples covering all 10 crates.
  • Run protocol-agnostic core circuits through HTTP ingress adapters with dynamic routing, request extractors, lifecycle controls, middleware composition, and per-path policy overrides.
  • Apply HTTP security/policy stacks with `ranvier-std` Guard nodes (CorsGuard, RateLimit, SecurityHeaders, IpFilter) — visible in Schematic and Inspector Timeline.
  • Generate OpenAPI docs and Swagger UI from request/response contracts via `ranvier-openapi`.
  • Serve static directories and SPA fallback with cache/compression options for fullstack-style delivery.
  • Handle WebSocket/SSE real-time flows and inject connection/session context into Bus.
  • Build LLM-as-Transition pipelines for AI classification, content moderation, and policy enforcement.
  • Write in-process HTTP integration tests with `TestApp/TestRequest/TestResponse` and runtime path assertions with `AxonTestKit`/`Timeline`.
  • Store and query traces with `ranvier-inspector` TraceStore, secure endpoints with BearerAuth, and route alerts via AlertHook/AlertDispatcher.
  • Run session/job/persistence patterns and resume faulted workflows from checkpoints with PersistenceStore and compensation hooks.
  • Validate API compatibility and detect structural drift with cargo-semver-checks and schematic diff/policy CLI commands.
  • Monitor per-node metrics (throughput, latency percentiles, error rate), inspect in-transit payloads, manage dead letters, set conditional breakpoints, and detect stalled nodes through the built-in Inspector REST + WebSocket server.
  • Register JSON Schema on circuit nodes via `.with_input_schema::<T>()` builder API or `#[transition(schema)]` macro attribute. Inspector serves schema-enriched route metadata (`GET /api/v1/routes`), relays HTTP requests into running circuits (`POST /api/v1/relay`), and generates empty templates or random sample payloads from schema (`POST /api/v1/routes/schema`, `POST /api/v1/routes/sample`).
  • Configure production infrastructure with `RanvierConfig` (`ranvier.toml` + env overrides + profile system), structured logging (`init_logging()` with JSON/pretty/compact), and optional TLS via `rustls`.
  • Return RFC 7807 Problem Details error responses with `ProblemDetail`/`IntoProblemDetail`, and retry faulted transitions with `RetryPolicy` (fixed/exponential backoff) via `Axon::then_with_retry()`.
  • Provide quantitative performance baselines with criterion micro-benchmarks (Axon latency, Bus operations, Transition chains) and Axum/Actix-web comparison servers.
  • Demonstrate real-world patterns through three reference applications: Todo API (CRUD + JWT auth), Chat Server (multi-room WebSocket), and E-commerce Order Pipeline (4-stage Saga compensation + audit trail + multi-tenancy).
  • Automate version migration with `ranvier migrate --from 0.20 --to 0.25` for import path replacement, crate dependency swaps. TOML-based migration rules (text_replace, rename_import, warn) with --dry-run mode.
  • Export Prometheus exposition metrics from Inspector `/metrics` endpoint, auto-initialize OTLP TracerProvider via TelemetryConfig, log HTTP requests with AccessLogGuard path redaction, persist audit events to PostgreSQL with PostgresAuditSink hash-chain integrity, and auto-register OpenAPI SecurityScheme (bearerAuth) with ProblemDetail (RFC 7807) error responses.
  • Understand framework design philosophy through PHILOSOPHY.md ('Opinionated Core, Flexible Edges' principle) and architecture decision rationale via DESIGN_PRINCIPLES.md (ADR format covering Paradigm Test, Tower Separation, and Opinionated Core enforcement).
  • Implement authentication using two approaches: Transition-based (examples/auth-transition — Bus context propagation, Schematic visualization, easier testing) or Tower integration (examples/auth-tower-integration — AsyncAuthorizeRequest trait for ecosystem compatibility).
  • Compare authentication strategies with docs/guides/auth-comparison.md: 7-feature comparison table, performance benchmarks (~1-2μs overhead both), when-to-use decision tree, and migration paths between Transition and Tower approaches.

Current limitations

No active limitation items.

Product boundaries

  • Token/claim-to-role mapping for inspector auth headers is not built into core runtime and depends on deployment gateway policy. deployment-gateway

Verification commands

Workspace example build pass
cargo check --workspace
Typed flow example run pass
cargo run -p typed-state-tree
HTTP routing and extractor example run pass
cargo run -p routing-params-demo
HTTP graceful shutdown hooks test pass
cargo test -p ranvier-http
HTTP in-process test harness + health probes pass
cargo test -p ranvier-http --test test_app_health
HTTP request validation feature pass
cargo test -p ranvier-http --features validation
Validation struct-level example run pass
cargo run -p ranvier-http --example validation_struct_level --features validation
Std Guard nodes (CorsGuard/RateLimit/SecurityHeaders/IpFilter) tests pass
cargo test -p ranvier-std guard
OpenAPI generator tests pass
cargo test -p ranvier-openapi
OpenAPI demo compile pass
cargo check -p openapi-demo
Static serving + SPA fallback tests pass
cargo test -p ranvier-http
Static SPA demo compile pass
cargo check -p static-spa-demo
WebSocket ingress upgrade + Event bridge tests pass
cargo test -p ranvier-http
WebSocket ingress demo compile pass
cargo check -p websocket-ingress-demo
Inspector TraceStore + BearerAuth tests pass
cargo test -p ranvier-inspector
Workspace full test sweep pass
cargo test --workspace
Examples smoke baseline (M119) pass
./scripts/m119_examples_smoke.ps1
Inspector quick-view smoke pass
./scripts/m131_inspector_quickview_smoke.ps1
Schematic diff/policy smoke pass
./scripts/m131_schematic_diff_policy_smoke.ps1
Fullstack embedded static smoke pass
./scripts/m131_fullstack_embedded_smoke.ps1
Runtime timeline integration assertion pass
cargo test -p ranvier-runtime timeline_assertion_works_in_integration_test
M132 SeaORM ecosystem reference run pass
cargo run -p ecosystem-seaorm-demo
M132 Diesel ecosystem reference run pass
cargo run -p ecosystem-diesel-demo
M132 Redis ecosystem reference run pass
cargo run -p ecosystem-redis-demo
M132 NATS ecosystem reference run pass
cargo run -p ecosystem-nats-demo
M132 Meilisearch ecosystem reference run pass
cargo run -p ecosystem-meilisearch-demo
Session pattern example compile pass
cargo check -p session-pattern
Inspector metrics + stall detection tests pass
cargo test -p ranvier-inspector metrics stall
Inspector conditional breakpoint + payload capture tests pass
cargo test -p ranvier-inspector breakpoint payload
Guard nodes demo compile (CorsGuard, RateLimit, SecurityHeaders, IpFilter) pass
cargo check -p guard-demo
Auth JWT role-based demo compile (IamVerifier, IamPolicy, with_iam) pass
cargo check -p auth-jwt-role-demo

References

  • ranvier/README.md

cli

First-user command-line tool to inspect Ranvier command surface, scaffold projects interactively, and generate schematic/projection artifacts from examples.

Stage: Stabilizing
Commit: 9818f79 Last verified: 2026-03-07

Versioning

Current 0.5.0
Line 0.5.x
Channel stable
Release status released
Version source cli/Cargo.toml [package.version]

Artifacts

ranvier-cli crates.io 0.5.0 released

Can do now

  • Inspect command surface and usage quickly with `ranvier --help`.
  • Export schematic artifacts from workspace examples.
  • Compare schematic changes across git refs with `ranvier schematic diff`.
  • Run structural policy checks from TOML rules and fail with non-zero exit on violations.
  • Validate schematic schema-version compatibility before processing input artifacts.
  • Generate trace projection artifacts from schematic/timeline/example inputs.
  • Scaffold new projects from macro-first templates via `ranvier new`.
  • Run version migration workflows via `ranvier migrate` with dry-run/verbose/JSON modes.
  • Browse and fetch example schematics from remote or local catalogs via `ranvier catalog list/fetch/verify`.
  • Execute API test collections headlessly via `ranvier test` — sequential HTTP execution with assertion evaluation (10 operators), capture chaining, environment interpolation, glob support, and output in text/JSON/JUnit XML formats for CI integration.
  • Scaffold new projects interactively via `ranvier new` with dialoguer-based template selection (10 templates), dependency chooser (DB/Auth/Observability), auto-generated `.ranvier/collections/` and `.env.example`.
  • Generate self-contained HTML status pages from Schematic JSON via `ranvier status build` and `ranvier status from-schematic`. Restored from ranvier-status crate consolidation in v0.21.

Current limitations

No active limitation items.

Product boundaries

No explicit boundary items.

Verification commands

CLI command surface pass
cargo run -- --help
Schematic export command pass
cargo run -- schematic basic-schematic --output schematic.json
Schematic diff command surface pass
cargo run -- schematic diff --help
Schematic policy check command surface pass
cargo run -- schematic policy check --help
Catalog list command pass
cargo run -- catalog list --local --json
Catalog fetch + verify E2E pass
cargo run -- catalog fetch basic-schematic --local --output /tmp/basic.json && cargo run -- catalog verify /tmp/basic.json

References

  • cli/README.md

studio

First-user visual inspector app for loading Ranvier schematics, reviewing overlays, and exporting filtered incident data.

Stage: Active
Commit: 0c4028e Last verified: 2026-02-07

Versioning

Current 0.0.1
Line 0.0.x
Channel preview
Release status internal
Version source studio/package.json [version]

Artifacts

ranvier-studio npm 0.0.1 internal

Can do now

  • Load and render schematic node/edge graphs in the Studio viewer.
  • Attach to remote inspector endpoints and load `/schematic` with trace overlays.
  • Send optional Bearer auth plus role/tenant headers for remote attach requests.
  • Filter and group failure history for faster incident triage.
  • Export filtered failure reports as JSON with redact/profile presets.
  • Include checksum/signature metadata on exports for integrity checks.

Current limitations

No active limitation items.

Product boundaries

  • Studio is not the primary IDE surface for inline source navigation (VSCode extension scope). studio
  • Final role/tenant enforcement still depends on upstream server or gateway policy. deployment-gateway

Verification commands

Load remote schematic in Studio pass
Studio UI > Attach endpoint > Load /schematic
Refresh trace overlays in Studio pass
Studio UI > Load /trace/public and /events overlays
Export filtered failure report pass
Studio UI > Failure panel > Export JSON (redact/profile optional)

References

  • studio/README.md

vscode

First-user IDE companion extension for Ranvier development with circuit visualization, source jump, diagnostics overlays, issue navigation, and API testing (HTTP/WebSocket/SSE) in VSCode.

Stage: Active
Commit: 7f096b5 Last verified: 2026-03-09

Versioning

Current 0.2.8
Line 0.2.x
Channel preview
Release status published
Version source vscode/package.json [version]

Artifacts

ranvier-vscode vscode-marketplace 0.2.8 released

Can do now

  • Render circuit graphs from `schematic.json` and sync them with the `Ranvier Circuit Nodes` panel.
  • Jump to source locations from selected circuit nodes when mappings are available.
  • Highlight mapped circuit nodes from the active editor file/line context.
  • Project `diagnostics.json` results into webview, sidebar, and VSCode Problems.
  • Reveal the mapped circuit node from the current editor line via command palette.
  • Navigate next/previous node-linked issues with commands and default shortcuts.
  • Provide localized EN/KO UX and keybinding override templates for team adoption.
  • Auto-connect to Inspector servers and visualize per-node metrics with real-time heatmap overlays (traffic/latency/errors/none).
  • Monitor Inspector lifecycle events in the event stream panel with node/type/text filters.
  • Visually alert on stalled nodes exceeding thresholds with pulsing glow animations.
  • Insert 6 Rust code snippets (rvtransition, rvroute, rvaxon, rvbus, rvtest) for rapid Ranvier development.
  • Browse and run any example from catalog.json via the integrated terminal (`ranvier.runExample` command).
  • Test API endpoints through the Circuit-Aware API Explorer sidebar — auto-discover routes from Inspector, compose requests with headers/params/body/auth tabs, view response with status/duration/circuit trace, and navigate offline with cached schemas.
  • Manage request collections in `.ranvier/collections/` with save, duplicate, rename, delete, filter, sort, and group-by operations. Auto-save execution history with configurable retention policy.
  • Generate empty body templates and faker-filled sample data from JSON Schema (server-first via Inspector, client-side fallback). Save named presets per request and interpolate `{{variable}}` from `.ranvier/environments/` files.
  • Export collections to `.ranvier-bundle.json` or single requests to `.ranvier-request.json` with secret redaction (auto-detect sensitive patterns). Import with conflict detection and resolution dialog.
  • Execute batch requests with sequential progress tracking, assertion evaluation (10 operators, JSON path targets), body validation against JSON Schema, and JUnit-compatible result summary. Keyboard chord shortcuts (Ctrl+R prefix) for send, template, and faker actions.
  • Test WebSocket endpoints with bidirectional message log, connect/disconnect lifecycle, auto-reconnect, subprotocol headers, and message filtering (text/JSON, keyword search).
  • Test SSE endpoints with event stream log (type, data, id, retry), event-type filtering, Last-Event-ID reconnection support, and session history.
  • Consolidate auxiliary extension tools (Circuit, Toolbox, Features, API) into a unified, tabbed sidebar view powered by Svelte 5 for fast and seamless context switching.
  • Ensure stable rendering and avoid runtime/CSP conflicts during Vite/Svelte 5 initialization across API Explorer, Toolbox, and Feature Hub panels.

Current limitations

No active limitation items.

Product boundaries

No explicit boundary items.

Verification commands

Open circuit view command pass
Command Palette > Ranvier: Open Circuit View
Refresh diagnostics command pass
Command Palette > Ranvier: Refresh Diagnostics
Issue navigation commands pass
Command Palette > Ranvier: Go To Next Node Issue / Ranvier: Go To Previous Node Issue
Server connection + heatmap mode toggle pass
Connect to Inspector server > Toggle heatmap modes in Circuit View
Event stream panel filtering pass
Circuit View > Events panel > Filter by node/type/text
Stall node visual alert pass
Stall threshold exceeded > Node shows pulsing glow

References

  • vscode/README.md
  • vscode/README.ko.md
If a check fails, verify the module setup and required input files, then rerun the same command.