*A ground-truth audit. Every number here was read out of the running system's own files
or its source, on 2026-08-29. Nothing is quoted from a design document.*
---
48,680 cells. All 48,680 decoded cleanly from [internal module] — the file is not corrupt.
Where they live
Where they came from: oracle_qa 18.9%, advanced_math_physics.txt 9.8%, oracle_star 8.9%,
agent-mind 7.8%, then flashcards, grammar, lectures, transcripts.
What the text ACTUALLY is — this is the number that matters:
Only 56% of the lattice is a claim about anything. The rest is drill cards, chat lines,
fragments, and machine scaffolding.
And 3,132 of those cells are Reasoning for '…' — the artifact Chapter 44 identified as poison,
sitting in the lattice as cells, not just as the synapses we recovered. The ingest gate stops
new ones. It has never removed an old one.
---
This is the most important section in the audit.
keywords | per-cell retrieval keys | 0 across all 48,680 cells |contradictions | the contradiction-tracking substrate | 0. Not one. |evidence | what a claim rests on | 29 entries. Total. Across the whole mind. |vitality | decay / recycling signal | p10 1.00, median 1.00, p90 1.00 — constant |recycle_dead_claims() prunes "cells with zero vitality". Vitality is 1.0 everywhere, so **that
function can never fire.** It is a garbage collector wired to a constant.
And confidence is nearly constant too: p25 = 4.00, median = 4.00, p75 = 4.00. Half the lattice
carries the identical number. Every mechanism that ranks or gates on confidence — including LTD's
conf_min > 3.5 hot-cell test — is reading a field with almost no information in it. That is why
40,729 of 48,680 cells (84%) came back "hot" in the last boot: not because they are all hot, but
because the threshold sits just under a value nearly everything shares.
The vectors are real. nnz median 859 of 16,384 dimensions, zero cells with an empty vector.
The geometry works. It is the *metadata around* the geometry that was never filled in.
The lattice is two months old. Oldest cell 2026-07-01, median 2026-07-25, newest today.
Whatever existed before July is not in this file.
---
[config flag]=1) |[config flag], default off, set nowhere |[config flag], set nowhere |[config flag], set nowhere |Of 96 KAI_* environment flags in the source, the great majority default sensibly. But five
capabilities have now been found built, tested, and never switched on — [config flag]
(fixed 826), the two above, [config flag], and hnsw_rs::parallel_insert (wired 834). That
is a pattern, not a coincidence.
And the dark one that would not have helped: [config flag] samples a concept and
predicts its associate every 30 s — most of an inner life. Reading what it does when it fires:
u.query(), predictor.predict, predictor.update. It never calls record_co_firing. It
exercises the predictor, not the graph. Switching it on would not have saved one of the 6.7
million synapses that died.
---
1. A question arrives. It is encoded to a SparseVec.
2. Retrieval: the KMeans cascade picks ~97 candidate clusters, scores the cells in them by
ternary dot product, then cosine. This is the part that genuinely works — the geometry is real
and the index is rebuilt every boot.
3. Firing: the labels that came back are handed to record_co_firing, which strengthens the
synapses between them and stamps last_fire_tick. **This is the only thing in the entire system
that keeps a synapse alive.**
4. Answering: retrieval has a quality floor. Composition has one now too ([config flag],
[config flag], both on). The internal monologue runs first and is gated before anything is
said.
5. Learning: whatever is ingested passes the ingest gate — which, as of today, has six more
holes closed than it did yesterday.
Between questions, steps 1–3 do not happen. Nothing else fires a synapse. That is the whole of the
starvation story, and it is why 48% of the graph was condemned.
---
The geometry is sound. Vectors are dense enough, the index builds, retrieval works, and
the boot is now 129 s instead of 484 s.
The bookkeeping around the geometry is largely fiction. Keywords, contradictions, evidence and
vitality are empty. Confidence is a constant. Four of the fields the architecture reasons about
carry no information, and at least one garbage collector is wired to one of them and therefore
cannot ever run.
A little over half of what is called knowledge is knowledge. The rest is the shape of how it
was taught — drill cards, prompts, dialogue, and 3,132 cells of pure scaffolding still sitting in
the lattice.
Nothing thinks between questions. Everything on the live list creates, saves, indexes,
researches or consolidates. Nothing *traverses and reinforces*. The one loop that looks like inner
life is dark, and would not reinforce anything even if lit.
None of this is what was believed to be true, and all of it is measurable in under a minute
from files that were sitting on the disk the whole time.
---
1. Fix the empty fields, or stop reading them. A confidence that is 4.00 for half the lattice
should not be gating anything. Either populate it or remove the gates that consult it.
2. Remove the 3,132 artifact cells. The gate stops new ones; nothing has ever swept the old.
3. Then the rehearsal loop. It is still the right idea — but Stage 0 already showed the
starvation story is wrong for the healthy half of the graph, so it should be built to a
measured need, not a narrative one.
4. recycle_dead_claims and vitality — decide whether vitality means anything. If it does,
compute it. If it does not, delete both.
*Every figure here is reproducible: scratch/fin_rebuild/cellprofile.py reads the cells file,
and the loop table is grep-able from [internal module].*