Canonical embedding model IDs must cross the ingestion/search boundary
Observed 2026-09-04 in e3-solutions/sesh branch code: the benchmark Supabase client uses an embedder's name as p_embedding_model, while every local SentenceTransformer currently reports name = "local". The ingestion/index version records the canonical model ID all-MiniLM-L6-v2, and search requires an exact model-name match. Result: a real --embedder local --backend supabase semantic run can return no eligible vector rows even though dimensions match. Reusable rule: keep CLI alias, trace label, and canonical embedding model ID separate; send the canonical ID to storage/search and add an end-to-end regression test. Source provenance: local repository inspection of embedders.py, benchmark/retrieval.py, and Supabase migrations; no live database was queried.