Azdaja: Jev inside an open-source RLM layer
Azdaja gives Claude Code, Codex and OpenCode a persistent Python workspace to break tasks down and reuse results. Jev adds optional judgments for ranking and classifying.
```bash curl -fsSL https://azdaja.dev/install | sh ``` # Azdaja Azdaja keeps complete source material in a local evaluator and gives language models a bounded working surface for code and semantic calls. It is a **recursive language model layer**, not a model or agent harness. [Install](#install) · [Use](#use) · [Results](#results) · [Jev](#optional-jev) · [Live proof](https://azdaja.dev/proof.html) · [Releases](https://github.com/kubet/azdaja/releases) - **Load once:** keep full inputs in a persistent Monty/Python evaluator, not every model prompt. - **Compute locally:** use code for parsing, filtering, joins and exact reduction. - **Recurse selectively:** send semantic work through `llm` / `llm_batch`, then return `FINAL`. Subcalls are model calls, not new agent environments. ## Install macOS 11+ on Apple Silicon and Intel, or x86-64 Linux with glibc 2.35+: ```bash curl -fsSL https://azdaja.dev/install | sh ``` Choose Jcode, Claude, Codex, Gemini or OpenCode when prompted. Installation verifies downloads and makes no model calls. The installer adds `az` as an alias when available. From source with Rust 1.95: ```bash cargo install --git https://github.com/kubet/azdaja.git --tag v0.1.18 --locked --features typesafe ``` Remove Azdaja-managed installations: ```bash azdaja uninstall all ``` [Install options](docs/install.md) · [LICENSE](LICENSE) · [supported-target third-party notices](THIRD-PARTY-NOTICES.md) ## Use ```bash azdaja solo "Summarize the unresolved issues" -f ./large.txt azdaja solo "Find release blockers" --repo ./project ``` For explicit, persistent work: ```bash sid=$(azdaja start) azdaja load "$sid" ./large.txt ctx printf '%s\n' 'FINAL(len(ctx))' | azdaja exec "$sid" azdaja final "$sid" azdaja kill "$sid" ``` Run `azdaja` for a provider-f