dimension: beir-nfcorpus

action: infra-blocked

note: run-beir-bge.mjs embeds docs ONE-AT-A-TIME in loop (line 224-227, no batching), writes cache only AFTER loop (line 236). No progress logged until first writeFileSync. Process (PID 24053) stuck at 12+ min likely during getBgeEmbedder init (line 204) or first embed call (line 227). Lucene-BM25-only scripts all require cached BGE embeddings to exist first. Cannot measure BM25 baseline without either: (a) finishing BGE cache, (b) refactoring BM25 scripts to run standalone, or (c) creating dummy cache files. Iter 1 min-max norm validation blocked on measurement infrastructure.