CI / CI (pull_request) Successful in 11m36s
Entity save now uses ON CONFLICT (project_id, name) DO UPDATE: - Merges description (keep non-empty) - Keeps highest confidence - Increments source_count - Updates t_updated timestamp Prevents duplicate entities across ingests (was 26 rows, now 11). Unique index added to production DB. Compaction (T3.1 exact dedup + T3.2 semantic) already wired at POST /memory/compact endpoint. Cache alignment + chunk optimizer wired through full_pipeline.rs + query_orchestrator.rs. 781 tests pass.