From 1f4607ced133e33f27ef7cc3c8b7d448b11655b0 Mon Sep 17 00:00:00 2001 From: Brummel Date: Sun, 31 May 2026 18:00:08 +0200 Subject: [PATCH] feat: progress reporting during corpus embedding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emit a `… embedded N/total (pct%)` line every 1000 items (and at completion) so a full --confirm run is observable rather than silent for its full duration. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/embed.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/embed.rs b/src/embed.rs index e3e9044..b5cdfc3 100644 --- a/src/embed.rs +++ b/src/embed.rs @@ -72,9 +72,16 @@ pub fn build_corpus_embeddings( .filter(|t| !store.has(t)) .cloned() .collect(); + let total = pending.len(); let mut done = 0; + let mut last_report = 0; for chunk in pending.chunks(batch.max(1)) { done += embed_batch(client, store, model, chunk)?; + if done - last_report >= 1000 || done == total { + let pct = if total == 0 { 100.0 } else { 100.0 * done as f64 / total as f64 }; + eprintln!(" … embedded {done}/{total} ({pct:.1}%)"); + last_report = done; + } } Ok(done) }