- batch_runner: sanitize paper_id to disk dir name (was skipping all
papers whose paper_id contains :/()); keeps explicit result path
compat; verified 5/5 no-skip on paren-DOI papers
- qdrant_loader: batch embed via Ollama array input (32/batch, 14x:
2.7 -> 36.9 texts/s, 24.5k points ~10min vs 2.5h); per-batch fail
falls back to single; checkpoint format unchanged
- entity_alias_aqua: +Streptococcus agalactiae (GBS), RAS
(forbidden_expansions), Danio rerio; merged vernacular/Chinese
aliases for O. niloticus / O. mykiss / S. salar / L. vannamei;
g02 gap entities now normalize correctly
- note for P3: ingest manifest MUST carry paper sidecar (pilot
manifest_pilot.json does not - would emit paper_id="result" dirt)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- MD: allow parens in DOI (old-style 10.1016/0006-3207(93)90088-i was
truncated at ")"); prioritize DOI-line doi.org URL; strip trailing
paren only when unbalanced
- PDF: require 10. at segment start (fixes year artifacts like
2010.0170 masquerading as DOI); keep full candidate on no-hit instead
of shortest prefix (10.1002/pd.71 was truncated to 10.1002); absorb
paren segments (10.1061/(asce)wr.1943-...); stop at DOI未知 marker
keeping registrant prefix; accept 10_ segment start variant
- undecodable PDFs: 71 -> 54; manifest DOI values now complete
- pairing count unchanged (3404) = true DOI overlap of the two corpora
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>