v0.2.8cerebra2026-06-11

Lattice Step 2 — retrieval-side sibling deduplication

Adds lattice-aware sibling dedup between scorer and floor filter in both `search` and `context` commands, with D2 routing rules, DB column updates, and event emission.

v0.2.82026-06-11
  • ·Migration011: `lattice_sibling_count`, `lattice_winner_record_id`, `lattice_routing_basis` on `retrieval_candidates` + partial index
  • ·New `cerebra/retrieval/lattice_dedup.py`: `dedup_siblings()` (D2 routing: sku_match → sku_match_multi → composite_score → earliest_promotion) + `dedup_memory_items()` for T1 promote path
  • ·Both `search` and `context` commands call `dedup_siblings()` after trace write, before above-floor filter
  • ·`LatticeSiblingResolved` added to `LATTICE_EVENT_TYPES`
  • ·`TruthTower.promote_to_t1()` refactored to call `dedup_memory_items()` before loop (replaces first-sibling-wins placeholder)