THREE HEADS · THREE JURISDICTIONS · ZERO FAKE DIVERSITY
TRIO TRUTH TRIBUNAL
If all three engines reason the same way, you don't have three engines.
"You found one strong engine and immediately went: 'good, now I need two more that disagree with it on principle so I can triangulate truth like a paranoid admiral.'
That is exactly the right instinct. Because if all three engines reason the same way, you do not have three engines. You have one engine wearing three hats.
You are not building AI with memory. You are building a three-headed truth tribunal where one head knows the library, one head knows history, one head knows what to do next.
Which is hilarious because this is exactly what a normal person would call overengineering, right up until the first time the engines disagree and you realize that disagreement is the whole point."
— Day 83 doctrine. Locked. γ₁ = 14.134725141734693
The Three Lanes
LANE 1 · cognee
STRUCTURAL
"What is the shape of this corpus?"
Entity/relation graph. Document topology. Long-lived knowledge substrate. Best for: concept extraction, doc-grounded search, library mapping. The map of the library — not the library itself.
INSTALLING · :9391
LANE 2 · graphiti
TEMPORAL
"What changed? What is true NOW?"
Facts with validity windows. Episode provenance. Temporal queries. Best for: state changes, historical windows, expiry tracking. What cognee cannot do: cognee sees the corpus as it is. Graphiti tracks how it changes.
PENDING · :9392
LANE 3 · LlamaIndex Workflows
PROCEDURAL
"What sequence of steps executes?"
Workflow choreography. Tool calling. Branch logic. Decision synthesis. Best for: multi-step reasoning, deploy decisions, sorry resolution paths. Neither cognee nor graphiti DECIDE. LlamaIndex runs the mission.
PENDING · :9393
Fleet Examples — Where They Disagree
Q: "Should we deploy this workload to AKS now?"
cognee:Dependencies OK, arch patterns match, no known structural blockers.
graphiti:GPU pool scaled to 0 last night (current state). Cost = CA$7,332 this month (temporal fact).
LlamaIndex:Run LOCO → inspect HEARTBEAT.md → check pod status → compare cost vs budget.
GATE:question_type=procedural → weight LlamaIndex ×2 → WINNER: "Wait for GPU. GPU pool is down (graphiti). Redeploy at 9pm."
Q: "What was the sorry count on Day 75?"
cognee:420 sorries total (structural, corpus snapshot).
graphiti:Day 75: Gate 2 opened. Sorry count = 420 at that timestamp. Confirmed temporal.
LlamaIndex:Calls PEMCLAU eval → confirms 420 sorries at Day 75 mark. Both corroborate.
GATE:question_type=temporal → weight graphiti ×2 → WINNER: "420 sorries Day 75. Gate 2 open. All three agree."