The research · Act III, The lab and its instruments · Chapter 09
Knowledge packs
When the bar stopped moving, the author pivoted to a product question: small, openly licensed offline libraries the user picks; one matching pack helps a little, many packs crowd each other out, and the real headroom is getting the one fact-bearing chunk into the prompt.
The model is one station of seven
- Routerreads the question
- Calculatorsums and unit conversions in code, no model
- Pack searchlooks through the libraries on the phone
- Deliverybottleneckthe right page gets through on 54 % of questions
- Health gatecan swap in a fixed safe text
- Small modelQwen3-1.7B writes from the page
- Answerwith its sources and “May contain errors; check the source.”
Knowledge packs
The pack helps when its article reaches the model, and search delivers it on about half the questions
Share of answers judged correct on 180 questions written from the nine packs, with and without each condition. Questions written from the packs favour the packs; the right-hand panel shows what happened on real practice questions.
Data table
| measure | value |
|---|---|
| Correct, pack installed vs not (180 pack-written) | 48 % vs 26 % |
| Correct, own article delivered vs not | 65 % vs 28 % |
| Own article delivered | 54 % |
| Packs at the 0.75 mark | 0 of 9; best 0.60, worst 0.25 (factbook) |
| fact already in the pack: pack-written vs real | +0.139 vs −0.010 |
| in-pack split: pack-written vs real | +0.056 vs −0.023 |
Pack counts, one meaning each. On 2026-10-13 the dataset held 11 packs. As of 2026-10-25, LabRat ships 13 packs, all downloadable from the boar-packs dataset; the closing self-tests covered 9 packs, 7 of them in the app, and the phone run tested those 7 Knowledge-pack counts, one meaning each: LabRat ships 13 packs (the K13 kit), and every one of the 13 exact files is downloadable from the boar-packs dataset on Hugging Face (7 of them under labrat-k13/: 6 earlier packs with added chunk vectors and 1 new pack). The 2026-10-23 self-tests covered 9 packs (180 questions), 7 of them in the app; DEVICE-FINAL tested those 7 on the phone (140 questions)13 shipped; 9 self-tested; 7 tested on the phoneDate2026-10-25Kinda record, not a measurement (set, status, judge, n, seeds: not recorded)Sourcenot in the public repositories yetOpen the data file.
Libraries you choose
If the phone lacks knowledge, give it the right library. We built and published 11 free, openly licensed offline libraries: question-and-answer archives, first aid, health references, a world factbook, simple-English Wikipedia. Each comes with a card, a licence and 20 public test questions.
One helps a little
With the matching library installed, the small model does a bit better on that library's own test questions. One matching knowledge pack helps the small model a little on questions written from that pack.Opus +0.042 (+0.024…+0.062); Haiku +0.032 (+0.016…+0.050)Set180 pack self-testsStatusdev (agent-written from pack text)JudgeClaude Opus (L2) and Claude Haiku (L1)n180Seeds1Date2026-10-13CaveatPack-matched dev questions, not a bounty-bar measurement.Sourceresearch record reports/REPORT-PACKS-2026-10-13.md:8Open the data file
Many crowd each other out
Install all of them at once and a big general library takes the few reading slots that the small, right library needed. Quality goes down.
Get the right paragraph in
The biggest headroom was simple to state: get the one paragraph that holds the fact into the prompt. A fix that also pulls in the neighbouring paragraphs of the article it found nearly tripled how often that happens, and gave the pack line's only real improvement. It helps on library questions, not on the bounty-style ones.
Pack counts, one meaning each. On 2026-10-13 the dataset held 11 packs. As of 2026-10-25, LabRat ships 13 packs, all downloadable from the boar-packs dataset; the closing self-tests covered 9 packs, 7 of them in the app, and the phone run tested those 7 Knowledge-pack counts, one meaning each: LabRat ships 13 packs (the K13 kit), and every one of the 13 exact files is downloadable from the boar-packs dataset on Hugging Face (7 of them under labrat-k13/: 6 earlier packs with added chunk vectors and 1 new pack). The 2026-10-23 self-tests covered 9 packs (180 questions), 7 of them in the app; DEVICE-FINAL tested those 7 on the phone (140 questions)13 shipped; 9 self-tested; 7 tested on the phoneDate2026-10-25Kinda record, not a measurement (set, status, judge, n, seeds: not recorded)Sourcenot in the public repositories yetOpen the data file.
Knowledge packs
One SQLite file per library; pick one, don't install ten
A pack is one SQLite file: article text in zstd blocks, 1,000-character chunks indexed with FTS5, one 384-d lead vector (first 2,500 characters) per article, and per-row licence and attribution. We published 11 packs on Hugging Face (Stack Exchange travel, Ethereum, Bitcoin, health, outdoors, cooking and money; first aid; MedlinePlus; a world factbook; Simple English Wikipedia), sized from 4.3 MB to 480.5 MB, licences PD / CC0 / CC BY / CC BY-SA only. On the 180 pack self-test questions (written by agents from the packs' own text; dev; Opus) one matching pack lifts the 4B +0.042 (+0.024…+0.062); installing nine as peers drops the fact article's survival into context from 68 to 46 of 180 and costs −0.019 (−0.035…−0.003). Top-1 routing reached only 0.25–0.61 accuracy. An oracle that injects the known fact chunk is worth +0.095; the neighbour-chunk fix, which appends the retrieved article's neighbour chunks plus budgeted dense candidates after the keep step, gets the fact chunk into 102 of 180 prompts (from 35) and +0.066 (+0.043…+0.091), at about +420 prompt tokens p50 and +60 % pack size for chunk-vector sidecars. On the bounty-shaped claim kit it is inert. The 35B gains nothing from packs (−0.002).
§6.5 Knowledge packs (pack-matched development items)
On 180 pack-matched self-test items (agent-written from pack text; development data; one seed; deterministic 4B generation) one matching pack improves the 4B by +0.042 (+0.024…+0.062) under Opus and +0.032 (+0.016…+0.050) under Haiku. Installing nine packs as peers reduces fact-article survival from 68 to 46 of 180 and costs −0.019 (−0.035…−0.003). Top-1 routers reach 0.25–0.61 accuracy against a 0.85 bar. Injecting the known fact chunk yields +0.095 (+0.070…+0.122); HEADPASS-X2b raises fact-chunk presence from 35 to 102 of 180 and yields +0.066 (+0.043…+0.091) (Haiku +0.056), with +0.177 (+0.098…+0.263) on the 30 items where the chunk became newly present; on the bounty-shaped claim kit it is inert. The 35B gains nothing from packs (−0.002, −0.020…+0.016). These are conditional, in-pack results and are not evidence about the bar; questions written from the same text the retriever indexes favour retrieval.
Badge rows the 2 public fact rows this depth cites; a number here without a chip comes from a row that is not public yet (see /data/)
| Claim and value | Set | Status | Judge | n | Seeds | 95 % CI | Date |
|---|---|---|---|---|---|---|---|
| One matching knowledge pack helps the small model a little on questions written from that pack.Opus +0.042 (+0.024…+0.062); Haiku +0.032 (+0.016…+0.050) | 180 pack self-tests | dev (agent-written from pack text) | Claude Opus (L2) and Claude Haiku (L1) | 180 | 1 | 2026-10-13 | |
| X2b on the claim kit (bounty-shaped)inert: kept/prompt identical 20/20; KIT-X2b closed (R93) | v0.2 random20 dev | dev | none | 20 | not recorded | 2026-10-16 |
In one sentence
Pick the one library you need; more is not better.
Turning point
2026-10-13 23:11, ORACLE-ST: the ceiling is reach, not reading; it led directly to the only lever of the pack line.
On the calendar
22 dated events · 2 Oct → 16 Oct
- 12 Oct · 13:43Peer deep-research report (258 findings, 23 claims verified, 18 corrected); "facts are not in Wikipedia" withdrawn
- 12 Oct · 20:06Author's direction: Knowledge Packs; research question becomes conditional quality with the matching pack installed
- 12 Oct · 22:32Author: build a pack-authoring workflow ("we will be the first author with publications")
- 13 OctKnowledge packs published on Hugging Face: 7 at 00:01 and 9 at 02:30 on 10-13, 11 by 19:34 the same day; single pack +0.042 Opus on its 180 self-tests; deep tier gains nothing from packs (−0.002)
- 13 OctPack-stack technical report (crowding, routing, keep, reader)
All 22 events
- 2026-10-02 05:25Big-pack verdicts invalidated: pack lead vectors were mislabelled by a builder bug
- 2026-10-11 02:55NOTES35 (35B-written notes pack) fails its gate; all handoff research steps exhausted
- 2026-10-12Correction: "facts are not in Wikipedia" withdrawn (scope was the top-100k pack only)
- 2026-10-12 13:43Peer deep-research report (258 findings, 23 claims verified, 18 corrected); "facts are not in Wikipedia" withdrawn
- 2026-10-12 20:06Author's direction: Knowledge Packs; research question becomes conditional quality with the matching pack installed
- 2026-10-12 20:14PACKCOND P1–P4, PACKDENSE, HEALTHQ, SECTIONHIT: in-pack loss is retrieval, not grounding
- 2026-10-12 22:32Author: build a pack-authoring workflow ("we will be the first author with publications")
- 2026-10-12 23:247 wave-1 packs built
- 2026-10-13Knowledge packs published on Hugging Face: 7 at 00:01 and 9 at 02:30 on 10-13, 11 by 19:34 the same day; single pack +0.042 Opus on its 180 self-tests; deep tier gains nothing from packs (−0.002)
- 2026-10-13Pack-stack technical report (crowding, routing, keep, reader)
- 2026-10-13 00:01Wave 1 (7 packs) published on Hugging Face (the author's boar-packs dataset)
- 2026-10-13 01:50WIKIFULL (all of Wikipedia + 2026-10-01 delta) holds the missing fact for 9/34 (a lower bound) V-para absent items: Wikipedia closed as kit content for the bar
- 2026-10-13 02:30Wave 2 (Factbook, Simple English Wikipedia) published
- 2026-10-13 10:37SELFTEST-SCORES: 9 packs scored with/without on the 180
- 2026-10-13 12:33Pack-stack measurement: DENSECHUNK-ST2, PACKROUTE, PACKROUTE-2, GROUND-ST, CROWDQ, STACK/STACK-2, SEEDGEN
- 2026-10-13 17:15REPORT-PACKS drafted and independently reviewed (39 edits)
- 2026-10-13 19:34Wave 3 (cooking, money SE) published; hub holds 11 packs
- 2026-10-13 19:36SELFTEST-DEEP 18/18: the deep tier gains nothing from any pack
- 2026-10-13 23:11ORACLE-ST: injecting the known fact chunk = +0.095 → retrieval reach is the wall on pack items, not the reader
- 2026-10-14HEADPASS-X2b lever (+0.066 on 180 dev self-tests)
- 2026-10-14 01:47HEADPASS X1 (neighbour chunks): Opus +0.033 (measured beyond plan; label capped "not decidable")
- 2026-10-16 00:56LITE5-180: X2b on 1.7B +0.071 (Haiku); 1.7B+X2b = 4B plain (−0.007) on pack-matched items