~/.duckbrain/models/ on first run, ~334MB). Nothing leaves the machine.
Incremental: only rows without an embedding for the current model are processed (anti-join on record_id + model) — re-running is free. Model name and dimensions are recorded per row, so switching models later is additive, never destructive.
Throughput reference: ~105 docs/s on Apple Silicon (9,088 docs in 87s).