jevia 0.1.5

Outcome-aware model routing CLI
jevia-0.1.5 is not a library.

Jevia

Jevia is an open-source, local-first, outcome-based model router for coding harnesses. It chooses a capability tier for each task, applies your safety policy, and uses verified outcomes as evidence for future routes.

Use it with Claude Code, Codex, OpenCode, Gemini CLI, Cursor Agent, or a custom harness. Jevia uses automatically verified CLI outcomes or results your application reports; it is not tied to one model provider or agent runtime.

Jevia is experimental. The CLI, typed routing contract, local outcome store, harness adapters, and Node.js SDK are available today. A managed control plane is not part of this repository.

Why Jevia

Most routers stop after choosing a model. Jevia closes the loop:

task -> route -> harness -> verification -> outcome -> future evidence
  • Adaptive: verified outcomes inform later routing decisions.
  • Model-agnostic: stable tiers map to whichever models your harness exposes.
  • Harness-agnostic: use the CLI directly or embed the typed Node.js SDK.
  • Local-first: policy, cache, and history stay in your project or database.
  • Explicit: your verifier or feedback decides success; Jevia does not grade its own work.

Quick start

Install the checksum-verified macOS or Linux binary without Rust or Cargo:

curl -fsSL https://jevia.dev/install.sh | sh

On Windows, use PowerShell 5.1 or newer:

irm https://jevia.dev/install.ps1 | iex

Initialize a project and check the full routing path:

jevia init
export TYPESAFE_API_KEY="your-key"
jevia check
jevia route "investigate the failing integration test"

For route-only integrations, optionally report a known result after executing the work externally. This is not a required step after jevia run:

jevia feedback <run-id> success
jevia runs
jevia stats

jevia doctor checks local configuration and storage without making a Jev API request. jevia check performs one live routing round trip without saving a synthetic run.

Run any harness

Jevia returns a capability tier. Your adapter maps that tier to a concrete model and command for the harness you already use. Start from a built-in shell-free template for Codex, Claude Code, OpenCode, or Gemini CLI:

jevia harness presets
jevia harness setup codex --preset codex \
  --model fast=your-fast-model \
  --model balanced=your-balanced-model \
  --model strong=your-strong-model

Presets supply only the executable and argument shape; model IDs, credentials, permissions, and verification remain yours. For any other harness, use explicit --command and repeated --arg values as shown in the adapter reference.

Setup previews the configuration first. Review it, repeat with --apply, then run a routed task:

jevia run agent "fix the flaky integration test"

Jevia routes, executes, verifies, and records this run automatically. No manual feedback or runs complete step is needed. CLI 0.1.4 can automatically discover existing root Rust or Node tests when no verifier is configured. See the automatic CLI pipeline for detection, opt-out settings, and verification limits.

Harness and verifier processes are launched directly without shell interpolation. Credentials remain in the environment instead of the project configuration.

Node.js SDK

Use the typed jevia package when your application owns harness execution:

npm install jevia
import { JeviaClient } from "jevia";

const jevia = new JeviaClient({ cwd: process.cwd() });
const route = await jevia.route("fix the flaky integration test");

const result = await runYourHarness({ tier: route.tier });
// Optional: report a known outcome from your own adapter; no verifier required.
if (result.outcome === "success" || result.outcome === "failure") {
  await jevia.feedback(route.run_id, result.outcome);
}

// Eligible recorded outcomes inform the next decision automatically.
const next = await jevia.route("investigate another integration failure");

The SDK calls Jevia's shell-free JSON interface, so CLI and programmatic usage share the same policy, storage, caching, and outcome rules. The CLI must already be installed and available on PATH. Feedback and verification are optional: skipping feedback leaves the outcome unknown, while future routes still use other eligible recorded outcomes. No history argument or manual fetch is needed.

Documentation

Run jevia <command> --help for command-specific options.

Development

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features

Run the website separately:

cd website
pnpm install
pnpm test
pnpm dev

See CONTRIBUTING.md for contribution and commit conventions.

License

MIT