When ≥2 categories score ≥0.65, classify_record_lattice() writes sibling memory_records for each additional category, all linked by a shared lattice_lineage_id; existing classify_record() untouched.
v0.2.32026-06-11
·Migration010: lattice_lineage_id, is_lattice_member, lattice_confidence columns + partial index on memory_records; existing 745+ records default is_lattice_member=0
·lattice.py: LatticeDecision dataclass, evaluate_lattice(), new_lineage_id() (lat_<12hex>), build_sibling_record_id() — pure logic, no I/O
·sku_classifier.py: classify_record_lattice() — single LLM call regardless of sibling count; primary + siblings written atomically; siblings queued for embedding via queue_for_embedding()
·LATTICE_COMMIT_THRESHOLD=0.65 env-configurable via CEREBRA_LATTICE_THRESHOLD
·LATTICE_EVENT_TYPES frozenset (LatticeCommit); merged into ALL_KNOWN_EVENT_TYPES
·23 unit + 2 vault integration tests; full suite 808 passed, 85.3% coverage