What the project knows
The project's record holds more lessons about what misleads than results about what works. The most useful knowledge is a set of 21 lessons, mostly about how to measure honestly, plus a short list of measured results. The honest summary is this. Several lawful parts exist and have passed their finite tests. No model on the current path has learned language: the best trained discrete model sits below a simple count table. The cause is not yet established.
flowchart TB A["Passes with the teacher's text supplied<br/>(teacher-forced)"] --> B["Passes on a panel the authors built"] B --> C["Passes on development rows<br/>the team has already seen"] C --> D["Passes on fresh held-out rows"] D --> E["Writes coherent text on its own"] E --> F["Same result from the shipped integer file"] F --> G["Faster or cheaper per token on a laptop"]
The ladder a result must climb before it counts as capability. The project has repeatedly stopped at the first three steps (lessons 3 and 4 below).
How to read this page
#Nis issue or pull request N inUOR-Foundation/uor-r4. Each lesson cites the items it came from.- The lessons come from the audit's reading of the GitHub archive, items #1 to #2495. Some items were read in full and some by title only (
docs/labs/repo-renormalization-2026-10-19/audit/eras/eras.json, fieldnotes). Check the item before you rely on a number. - Each lesson records something that happened at a stated scope, so each is a measurement of that case. Where a lesson generalises, the generalisation is a hypothesis, and it never closes a mechanism (decision D22).
- Mechanism names use the statuses ACTIVE, READY and PARKED. See the mechanism board.
The 21 lessons, by theme
The numbers are the audit's own, so you can trace a lesson back to its era in the history. Lessons are grouped by theme, so their numbers are not in order; other pages cite them by number.
Check the measurement first
- Check the instrument before trusting a result. A metric that read 0.0000 hid a real loss (the #99 metric, removed by the revert #102). An outside check on the same text differed from the pipeline's own score by about a factor of three, 11.17 against 3.84 bits per token (#300). Typed-in numbers were once merged as results (#1459). A lookup-table gain was retracted as a constant shift (#1881). A control that checked zero rows reported a pass (#2112).
- Measure the shipped form. The trained model and the shipped artifact differed by 0.57 bits per byte (BPB) (#1284).
- A teacher-forced or authored-panel pass is not coherent generation. Loss kept falling while prose stayed at 0 of 5 (#948, #1264, #1398).
- Development is not fresh. A frozen-upstream adapter scored 437 of 512 on rows the team had seen, then 0 of 128 on a fresh draw (#2162, #2164).
- A gate set before a run does not move after a miss, and a missing input is not a negative. Frozen floors survived every re-entry (#887, #931). An UNAVAILABLE report is not a zero (#661, #986).
What geometry bought and what it did not
- Fixed geometry usually tied or lost to a matched ordinary control. This held for W(3,3) (#929), for the project's geometric mechanisms as of September (#1371) and for fixed E8 or H4 codebooks against k-means (#1456). Kept exceptions: quaternion transport (#1460), quaternion and icosian weights (#2193, #2216) and seed reliability (#1798).
- Some geometry wins were storage or lexical artifacts. A zeta-grid headline was storage banding (#440); see also #487.
- Exact algebra reproduces perfectly but carries no meaning on its own. H4 and the 64-state SpiralCore worked as controls and supplied no semantics (#952, #985).
- Shift-and-add stores and E8 codebooks beat sign codes at equal bits (#243, #395).
Data and scale
- Data and teacher breadth beat model size and clever stores. On broad text the ceiling was the teacher (#437). Matching the training distribution beat adding parameters (#1913).
Memory and retrieval
- An exact log plus a prime sieve retrieves; the learned pointer copied recency. The pointer returned the most recent value, not the queried one (#1558). The sieve did the retrieval (#1559, #1607).
- Chat failures came from missing knowledge and fluency, not retrieval. Retrieval accounted for 2.2% of failing rows (#1708).
- Compliance needs a demand paired with its exact short answer. Instruction following was 0 of 6 until each demand was paired (#1918, #1958).
- Exact integer export and bit-exact serving work (#1254, #1893).
Learning
- Hard geometric selection gives unselected keys no gradient. It needs a training bridge (#2195, #2249).
- State and horizon were the levers, not training length (#1366, #1379).
- Binding failures came from the training recipe, not the architecture. A copied reference cell scored 99.17% where the bundled recipe failed (#1045, #1050).
Speed and cost
- Savings counted on paper are not tokens per second. Analytic multiply savings did not become speed (#2200, #2211). Integer serving first cost 4.3 times more energy than its float parent (on a dense model with every multiply replaced by a table read) (#1449).
- Check where compute goes. The output readout took 99.97% of per-token compute (#1287). Geometric operations were 0.05% of the stack's arithmetic (#2186).
How to work
- Keep dormant mechanisms behind gates; never delete them (#515, #1747).
- A process that forbids running code produces nothing (#1111). A negative closes a configuration, never a mechanism (#2165).
Key measured results
All rows are measurements unless the row says otherwise. Terms in the first row: top-1 is the right next word ranked first; T2 is a context-free table of the most common next word; admission is the shortlist of candidate cells the read can see (see what is still open). Records dated before 18 October now live under archive/labs/.
| Result | Scope and caveat | Source |
|---|---|---|
| Best trained discrete model: top-1 of 65 and 463 of 14,287 development rows. Unigram table 1,226; context-free successor table (T2) 6,300 | Two seeds of the K16-A run. Both fail the admission gate (2,237 and 3,167 against 4,894). A configuration negative, no KEEP | K16 outcome; host diagnostics |
| Aliasing does not explain that ranking failure | Training broke much of the aliasing (ceiling about 9,000 rows), yet top-1 stayed at 65 and 463. Ranking capacity, the read and the schedule stay open | K16 outcome |
| The seeded start had at most 16 distinct vectors | The alias ceiling at start was 1,986 rows. A configuration flaw, not a proven cause | K16 outcome; A2 diagnosis |
| Address cells raised admission from 127 to 1,351 of 3,847 rows at zero training. After training it fell to 551, against a control at 857 | Learning eroded the placement | pre-flight; A8 dose |
| The prime-zeta construction gives 4,096 of 4,096 tokens unique vectors | A construction check, not a language result | construction |
| Four full K16 runs of 16,404 batches accepted 407, 130, 410 and 129 moves. One pass sees 1,049,856 of 2,425,925 targets (43.3%, proof by arithmetic) | A pass touches under half of the training split | NOW.md; discrete learning |
| The row-parallel proposal is about 56 times faster (55.6 and 56.9) | One RTX 5090; non-gating timing, not qualified | rows parity |
| Old float geometric stack: 0.877 BPB float and 0.933 served, against the old 0.90 bar. The float cell used 512 windows and the served cell 64, so the pair is not comparable (protocol pin, 9 Oct; the criterion is recorded as not met and not claimable). The charted models reached 1.20 to 1.24 | Trained with softmax, SiLU and matmul; serving read every weight per token. STATUS.md also records 0.886838 BPB for a 19.9M stack at 512 windows, under a different protocol | D11 serving; stack |
| Best softmax-free read (arm W): +0.0172 BPB float, +0.0166 served, 15% slower (195.2 against 228.4 tokens/s). Verdict REJECT | Its gradient used a softmax straight-through surrogate and a CPU fallback. Closes the configuration only | softmax-free read |
| Starling read: recall 0.329 against 0.999 for softmax | Target not met; trained against a dense teacher; retention fails by eviction as context grows (#2239) | starling tree |
| E8 memory replacing half the feed-forward blocks: 0.033 BPB worse than the dense control (inside its +0.05 bar) at about 10 times fewer operations; learned product keys beat the fixed E8 addresses by 0.023 | Used a sigmoid gate and 2,000 CPU steps; PARKED | E8 memory |
| Quaternion transport beat identity by 0.071 and 0.077 nats at 1,000 updates | Confounded: softmax attention, a sigmoid gate, dense MLPs, and 332,928 fewer parameters in the identity arm | transport attribution |
| The exact store scored 1.000 whenever its register was right | That the same holds for a learned read is a hypothesis; none exists yet | exact memory |
| The integer engine is bit-exact and multiplier-free: 44 native symbol ranges and 7 of 7 WebAssembly serving symbols pass the zero-multiply audit | No lawful trained model has been exported, so the export gap is unmeasured | WASM runtime (7 of 7); project track (44 native ranges) |
Go deeper
- What is still open and how the project got here.
- The audit's long form:
docs/labs/repo-renormalization-2026-10-19/audit/synthesis.md(stitching map and shortest path) anddocs/labs/repo-renormalization-2026-10-19/audit/eras/eras.md(the lessons with their eras). - Archive catalog for every dated record.