Uozhan Audit 2026-04-30: Dedup & Consistency Fix
Actions Completed
Data Deduplication
D1: Supabase decisions : Removed 14 duplicates + 1 test entry (ARC-76 Test Decision). 57 → 43 unique decisions.
D2: Turso knowledge : Deactivated 54 duplicate entries + 8 test/debug entries. 332 active → 270 active.
D3: Supabase tasks : Removed 41 duplicate tasks using title similarity matching (threshold 0.70). 166 → 125 tasks.
Pipeline Fix (P1)
Added _supabase_task_exists() and _supabase_decision_exists() dedup checks to uozhan_ingest_transcript in ~/neurport/mcp/_uozhan_pipeline.py.
Task dedup: exact title+domain match before Supabase insert.
Decision dedup: exact title match, then fuzzy match (ratio > 0.80) within same domain.
This prevents the root cause of recurring duplicates from re-ingestion.
Wiki Reorganization (S1)
Moved 46 Cyrillic .md files from wiki root to domains/{category}/ subdirectories.
Updated Turso system_knowledge category metadata for all matched entries.
Structural Fixes
S3 : Replaced docs/ duplicate with symlink → wiki/docs/.
C1 : Archived stale directories (research/, roadmaps/, vacancies/) to archive/.
C2 : Seeded admin user in Supabase ([email protected] ).
Post-Fix State
Store Before After Change Supabase decisions 57 43 -14 duplicates Supabase tasks 166 125 -41 duplicates Turso knowledge (active) 332 270 -62 duplicates/debug Wiki root Cyrillic files 46 0 All moved to domains/ docs/ duplication Full copy Symlink Resolved
Remaining Issues
S2: wiki↔Supabase pipeline still has two disconnected stores (decisions in Supabase don’t auto-sync to Turso/wiki). The ingestion pipeline now writes to both, but historical decisions exist only in Supabase.
Calculator persistence: Still not wired to Supabase calculations table.
Negotiations table: Empty, needs population from existing decisions.
GIS directory: Still in project root (useful, not archived).