Skip to content

azdaja

Recursive language model layer for coding agents that keeps inputs in a local evaluator, with optional Jev judge_many for typed calls.

ProjectbetaMIT

Overview

Azdaja is a recursive language model (RLM) layer for existing coding agents such as Jcode, Claude, Codex, Gemini and OpenCode. It keeps complete source material in a persistent local Monty/Python evaluator instead of every prompt, uses code for parsing, filtering, joins and exact reduction, and sends only semantic work to the model through llm and llm_batch subcalls before returning a final answer.

Jev is optional. judge_many returns Noul, Choice and Score judgments with raw distributions, leaving the harness to decide how to use uncertainty. judge_stats reports attempts, tokens and timing separately. jev batch runs a budgeted work list with durable checkpoints that resume without ambiguous retries, and a source-review export produces JSONL or a read-only HTML queue with full source windows and hashes, with no automatic approval. The key is attached via a hidden prompt. It ships as a Rust binary for macOS and Linux.

What the decision model decides

TypeQuestionAnswers
Yes / noSemantic yes/no judgments over source items (judge_many)yes · no
ChoiceCategorize an item from a declared set (judge_many)—
ScoreRate an item on an ordered scale (judge_many)—

How it works

  1. Load inputs once into the local evaluator
  2. Compute exact steps in code
  3. Send semantic subtasks to an LLM or to Jev via judge_many
  4. Run large lists with jev batch and checkpoints
  5. Export a review queue for humans

Strengths

  • Raw distributions left to the harness
  • Durable, resumable batches
  • No automatic approval in review

Caveats

  • Jev features need the typesafe build feature and a key
  • Recursive-model approach adds complexity

Getting started

curl -fsSL https://azdaja.dev/install | sh (or cargo install --git https://github.com/kubet/azdaja.git --tag v0.1.18 --locked --features typesafe)

At a glance

Type
Project
Status
beta
Language
Rust
Runtime
CLI for coding agents
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

Is Jev required?

No, it is optional for typed semantic work.

What does judge_many return?

Noul, Choice and Score judgments with raw distributions.

Which agents does it work with?

Jcode, Claude, Codex, Gemini and OpenCode.

Related projects

  • Pre-message hook that keeps or drops SKILL.md files before the first model call, using local overlap or Jev keep/drop judgments.

    HookbetaPython
  • Agent skill that has Jev pick the few relevant lines from big logs before your coding agent reads them, with a reversible reduce and ledger.

    ProjectbetaPython
  • MCP server giving coding agents fast typed decisions (ship gates, risk checks, file triage, page checks) as accept, review or escalate.

    MCP serverbetaTypeScript
  • Claude Code plugin and CLI for the Jev funnel: judge items in bulk, settle confident ones in code, send only uncertain ones onward.

    PluginbetaPython
  • Agent plugin that asks Jev whether the session is at a safe boundary to /compact and can trigger it on Pi and Claude Code.

    PluginbetaTypeScript
  • Local compaction proxy for Claude Code and Codex that compacts more often with local rules and keeps full history searchable.

    ProxybetaGo