702040d1a3
EmbeddingClient does not go through the chat onion: it builds its own ChatRequest inside _emit purely to reuse the shared TelemetryEmitter, so wiring chat() alone left every embed row without a tenant. Validate the dimensions at the embed() entry (before batching, since anything failing further down is degraded to a warning) and thread them through _embed_batch -> _attempt -> _emit so every batch row carries the same pair.