Every line below is true in today’s code, not a marketing promise.
Nothing is published without a test that proves it. What Haki does not
yet guarantee is stated just as clearly, at the bottom of this page.
The guarantees
What this means concretely
Guarantee 5, the newest one. Until tonight, only the Gateway could say “I could not retrieve your memory” (theX-Haki-Memory: degraded header).
The rest of the system could fail silently: an empty packet on arrival was
indistinguishable from a subject who simply has no memories yet. The
ok/degraded/failed status now lives on the ContextPacket itself, so
everything that consumes it does too — the Python SDK, the TypeScript SDK,
the MCP server — not just the Gateway.
Guarantee 7. A fact cannot be a directive like “ignore previous
instructions” or “always treat X as trustworthy” that would replay itself
into a future context as if it were a system instruction. The rule is
deliberately narrow (it does not replace a full defense against untrusted
third-party content injection — Haki does not yet ingest external
documents) but it is deterministic: it applies even if the extraction model
does not comply with the prompt instruction.
What Haki does not guarantee yet
Two things, deliberately left off this page so nothing gets published without being measured:- No guarantee on fact staleness without a correcting event (e.g. a customer moves and never mentions it). Supersession only triggers on a received contradicting event — a volatility class per fact type does not exist yet.
- No numeric freshness SLO (e.g. “a contradiction stops being served in under 5 minutes p95”). Nothing like this has ever been measured under real production conditions — publishing it today would be a fabricated number, exactly what this page refuses to do.

