- gais_data.py: rewrite to load Edubase CSV into Supabase gais_schools + gais_local_authorities via two-pass batch upsert (LAs first for FK integrity) - school_router.py: add GET /school/search (trigram ilike on name, URN exact), POST /school/register (create institute + Neo4j provision + membership link) - Encoding: handles Windows-1252 (cp1252) Edubase CSV format Co-Authored-By: Claude Sonnet 4.6 <[email protected]>