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

StoreBeforeAfterChange
Supabase decisions5743-14 duplicates
Supabase tasks166125-41 duplicates
Turso knowledge (active)332270-62 duplicates/debug
Wiki root Cyrillic files460All moved to domains/
docs/ duplicationFull copySymlinkResolved

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).