Many entities appear under different names (APOE vs apolipoprotein E vs ApoE). Create a canonical entity system:
1. Create canonical_entities table: id, canonical_name, entity_type, aliases (JSON array),
external_ids (JSON: {uniprot: X, ncbi_gene: Y, mesh: Z}), wiki_slug, created_at
2. Build alias resolution: when any part of the system references an entity, resolve to canonical form
3. Merge KG edges that reference the same entity under different names
4. Link wiki_pages, hypotheses, papers, and KG edges all through canonical_entity_id
5. Bootstrap from NeuroWiki tags and existing KG nodes
6. Add /api/entity/resolve?name=X endpoint for programmatic resolution
Completion Notes
Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle