arborist/arborist
russell@unturf.com 315e783fa1
#000061: undo idx_edges_dst_uri_type_anchor — sort spills to disk, not to shard
The 3.15 GB-per-shard index I added in bc7efe4 bloated every live
shard 33% to optimize a transient dump-time operation. Wrong trade —
the shards exist for arborist's query/retrieval/falsification path,
not for cold-pack's convenience. fox: "wtf you added an index to
fucking make the shard bigger?"

Refactor: instead of building a permanent on-disk index to avoid the
sort, configure the dump connection to spill the sort to a temp file:

    conn.execute("PRAGMA temp_store = FILE")
    conn.execute("PRAGMA cache_size = -10000")   # 10 MB

SQLite's sort still happens, but it spills to /tmp instead of growing
the process heap. cache_size caps the page cache the sort works
inside. No permanent disk cost; transient temp disk only during the
dump phase.

DROP INDEX idx_edges_dst_uri_type_anchor + VACUUM ran across the 4
live shards before this commit (out-of-band ops):
  000.db: 12.48 → 8.75 GB (~3 GB reclaimed)
  001.db: 12.43 → 8.71 GB
  002.db: 12.53 → 8.78 GB
  003.db: 12.51 → 8.76 GB
  total: ~12.6 GB reclaimed across the corpus

For a freshly-restored shard from a metadata pack, the index never
gets created (it was only in _dump_edges_fan_in, not in SCHEMA_SQL),
so consumers get the lean version from day one.

33/33 cold + evict tests pass.
2026-05-26 11:55:40 -04:00
..
capital capital: land ticket #000020 (8-capital-form cost ledger) 2026-05-07 16:41:48 -04:00
concepts #000054 Phase 2: synonym_expand cap-aware + strict view + retrieval-route surfacing 2026-05-13 10:23:36 -04:00
distill capital: land ticket #000020 (8-capital-form cost ledger) 2026-05-07 16:41:48 -04:00
memory memory: land ticket #000017 (memory-root lifelong learning summary) 2026-05-07 16:46:41 -04:00
mesh modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
pi_star ticket #000032: combinatorics@v1 π* (pure-integer counting kernel) 2026-05-09 13:20:29 -04:00
qa fix: Qwen3 defaults to enable_thinking=False — was returning empty answers 2026-05-21 12:50:05 -04:00
search ticket #000039: --quant {float32,int8} + int8 head-to-head 2026-05-11 13:16:51 -04:00
selfmodel selfmodel: land ticket #000014 (identity record + falsification) 2026-05-07 16:36:34 -04:00
sources fix+perf: fast-mode ignores crawl-delay; shared session; drop HEAD 2026-05-22 06:55:32 -04:00
substrate #000047 — close: delta_aggregator knob on ForkScore (Option D) 2026-05-11 08:27:38 -04:00
world #000013 closed: v7-W spatial-temporal substrate paper + namespace 2026-05-09 15:00:05 -04:00
__init__.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
cli.py #000061: CLI flag --allow-license-class for Gap 2 override 2026-05-26 10:59:19 -04:00
cold_object.py #000061: fold 3 gaps from Dav1d review (manifest/latest, license_class, cold_pending) 2026-05-26 10:50:57 -04:00
cold_pack_metadata.py #000061: undo idx_edges_dst_uri_type_anchor — sort spills to disk, not to shard 2026-05-26 11:55:40 -04:00
compress.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
document.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
embed.py feat: arborist.embed — supported library-embedding surface 2026-05-22 13:03:15 -04:00
evict.py #000061: fold 3 gaps from Dav1d review (manifest/latest, license_class, cold_pending) 2026-05-26 10:50:57 -04:00
ingest.py loss_report: land ticket #000022 (adapter LossReport sidecar) 2026-05-07 17:58:50 -04:00
journal.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
merkle.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
progress.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
snapshot.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
source.py modified: CLAUDE.md 2026-05-07 09:24:46 -04:00
store.py #000061: fold 3 gaps from Dav1d review (manifest/latest, license_class, cold_pending) 2026-05-26 10:50:57 -04:00
wikitext.py loss_report: land ticket #000022 (adapter LossReport sidecar) 2026-05-07 17:58:50 -04:00