Skip to content

The refine cascade

Every intent in JouleOS is resolved by a cascade of refine families, ordered cheapest-first by energy. The dispatcher tries each in turn and stops at the first family that can satisfy the request. Inference is the last resort, never the entry point.

TierFamilyWhat it isEnergy
L0LawfulCortex IR over verified primitives3.8 µJ, measured
L1DeterministicSmdeterministic state machines—
L2LocalSearchbounded local search—
L3StateGraphgraph resolution~30 µJ, probe
L4ConstrainedSearchguided / constrained search~5 µJ, probe
L5TinyRecursivesmall recursive solvers~5 µJ, probe
L6LlmInLoopa model in the loopnot yet measured

Energy is read from Apple’s per-process energy counter (AMU). Across the benchmark’s hand-written corpus, an intent costs 42.65 µJ on an M3 Ultra, and 87% of intents are answered without reaching a model (7 November 2026). The LLM tier has no JouleOS measurement yet. For scale, one answer from a 2-billion-parameter open model on a Mac drew 44 J served alone and about 8 J batched, in our own measurements (November 2026): five to six orders of magnitude above the deterministic tiers. Choosing the right tier is the whole game.

A family proposes; a separate check step verifies. Crucially, check is never an LLM grading itself — it is Schema, ConstraintEval, or ProvenanceVerify. A proposal that fails its check is rejected and the cascade continues. This is what keeps the cheap tiers trustworthy.

LlmInLoop is a real fallback when an endpoint is configured (JOULEOS_LLM_ENDPOINT — Ollama or the Anthropic Messages API). When it isn’t, the tier stays in the chain but never satisfies — the floor degrades honestly rather than faking an answer.

This is the runtime expression of EOC v0.2; the same cascade shape recurs across the whole Transaction Science family.