Epistemic types
Every framework treats an LLM's output as a string. AXON treats it as a value
on a typed epistemic lattice: the text, plus how much the system is entitled
to believe it.
The lattice
doubt < speculate < believe < know
An epistemic mode is written as a scope, and the compiler maps it to a constraint function — a temperature and nucleus-sampling override, plus a set of auto-injected anchors the generation must satisfy:
C : Mode → (τ, p, A)
C(know) = (0.1, 0.3, {RequiresCitation, NoHallucination})
C(believe) = (0.3, 0.5, {NoHallucination})
So know is not a comment about your intent. It is a narrower sampling window
and a citation requirement, applied by the compiler.
The law that makes it load-bearing
A lattice nobody enforces is decoration. The rule that gives it teeth is at the egress boundaries — the points where a value stops being internal state and becomes something a person or a system of record will act on:
document— a generated artifact with assertive slotsdeliver— a write into a CRMnotify— a message that spends a human's attention
At each of those, a value carrying a lower level cannot be presented as a fact. The diagnostic names it directly:
A value leaving the epistemic lattice into a system of record cannot be more confident than the reasoning that produced it.
The escape hatch is explicit and auditable, never silent: attach the provenance
(each field arrives with its level, confidence and source — a guess labelled as a
guess), or vouch for the values inside an epistemic { know } scope, which makes
the claim yours.
Data is born untrusted
The same discipline covers ingress. Content that comes from outside — scraped
web pages, ingested documents, rows retrieved from a store — is born
Untrusted by law, not by convention, and it degrades what it touches.
A separate trust lattice governs how it may be cleaned:
Untrusted < Scanned < Sanitized < Trusted
and the compiler verifies statically that every path from an untrusted source to
a trusted sink passes through at least one shield.
That is why a flow which acquires adversarial ingress content and feeds it to a cognitive step with no shield in scope is refused at compile time, rather than producing a plausible answer derived from a poisoned input.