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.
The ladder
Section titled “The ladder”| Tier | Family | What it is | Energy |
|---|---|---|---|
| L0 | Lawful | Cortex IR over verified primitives | ~1 µJ |
| L1 | DeterministicSm | deterministic state machines | — |
| L2 | LocalSearch | bounded local search | — |
| L3 | StateGraph | graph resolution | — |
| L4 | ConstrainedSearch | guided / constrained search | — |
| L5 | TinyRecursive | small recursive solvers | — |
| L6 | LlmInLoop | a 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.
check is deterministic
Section titled “check is deterministic”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.
The last resort is honest
Section titled “The last resort is honest”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.