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 primitives~1 µJ
L1DeterministicSmdeterministic state machines—
L2LocalSearchbounded local search—
L3StateGraphgraph resolution—
L4ConstrainedSearchguided / constrained search—
L5TinyRecursivesmall recursive solvers—
L6LlmInLoopa model in the loop~5 mJ

That span — roughly 1 µJ to 5 mJ — is about 5,000×. 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.