Azdaja

A launch autopsy

The zero that changed the product

Row rah-120010240 contained a roughly 2.4-million-character inbox. The root model wrote a regex, made zero semantic subcalls, and returned Answer: 0. The gold answer was 5815.

That miss was not a context-window failure. The full source was still present inside Azdaja's local evaluator. It was a strategy failure: a semantic task had been reduced to literal matching, the program found nothing, and the system treated nothing as evidence.

Azdaja's name comes from the many-headed Serbian dragon. "Virtual memory" is a useful metaphor for the experience, not a claim that the program replaces an operating system or a model's context window. The implementation is a bounded local evaluator that retains the complete UTF-8 input and exposes only a controlled model-facing surface.

RAH and Oolong, briefly

RAH and Oolong are long-input evaluation settings in which the answer depends on information spread across inputs that are awkward or impossible to place in one ordinary model turn. They include exact extraction, counting, classification, and aggregation tasks. A correct system must do more than load the bytes. It must choose a strategy that preserves the task's semantics, call a model when labels require judgment, and prove that every required record was handled. Azdaja uses these tasks as diagnostic pressure, not as permission to claim that one private score is an official leaderboard result.

Azdaja bounded large-input architecture The complete input remains in a local evaluator. The root model sees metadata and a bounded escaped sample, writes inspection code, optionally requests bounded semantic batches, and produces one validated final answer plus receipts. Complete inputlocal custodyUTF-8 source Bounded rootmetadata + sampleinspection code Local evaluatorexact scansconstrained Python Semantic batchesbounded model callswhen judgment is needed Validated finalanswerreceipts or refusal
The root turn is bounded. The complete source remains local. Semantic model calls are explicit, counted, and tied to the task rather than inferred from any incidental call.

Grep disease

The bad pattern appeared repeatedly: extract label words from the question, search the source for those literal strings, count the matches, and return zero when the strings are absent. It looks like useful code. It can even survive one incidental model call. But it has not judged a single record.

The repair chain therefore moved from question wording to execution evidence. Gates now distinguish semantic calls from incidental calls, detect code that greps question labels, reject degenerate zero aggregates over large inputs, and allow bounded repair after small incidental spend. Planner probes vote on strategy, never on the final answer.

The receipt boundary

The deeper product change was record integrity. JSONL and CSV inputs preserve source order, duplicate occurrences, multiline rows, and byte bindings. A schema-v3 receipt must cover every authoritative record exactly once. Omission, reordering, tampering, replay, unknown output, malformed input, or an invalid typed final value fails closed.

This is the moat Azdaja is trying to earn: every record is judged, receipted, or the run does not pretend to have completed.

What the number means

The retained launch diagnostic scored 68.6% on a fixed 199-row, validation-derived RAH slice. It was a private single-arm diagnostic with 185 valid predictions and 14 retained failures counted as zero. It is not an official leaderboard result, not a paired comparison, and not a general model-superiority claim.

The public product contract is simpler: source stays local, root exposure stays bounded, semantic model calls are explicit, and record-aware runs either cover every required record or fail closed.

Lineage, not invention

Azdaja belongs to the recursive language model line of work rather than standing outside it. The relevant lineage includes arXiv:2512.24601 and arXiv:2606.13643. The contribution here is an implementation and product contract around bounded execution, complete local custody, typed outputs, and receipts.

The launch lesson

Loading the whole input was never enough. The system had to prove that the model chose a semantic strategy, that every record crossed the boundary, and that a suspiciously empty answer could not pass as confidence. One wrong zero made that visible.

Read the full custody and scorer history, inspect the receipts, or download v0.1.14.