tracked progres report and data folder also and added correct evaluation results, Add graph-seeded multi-hop QA generator and --qa-file eval; document in README
added knowledge graphs and fix: correct BERTScore unpacking to use recall not precision (bert_score returns P,R,F1); relabel stale precision values in eval_results.json
Added a --merge flag to run_eval that re-scores a model's cached predictions across all books into one row (named by book, no LLM calls), erroring if the model hasn't fully evaluated every QA-bearing book — and documented it in the README.
Consolidated all per-(book,model) eval files into one eval_predictions.jsonl and one eval_results.json (tagged internally by model/provider/book), migrated existing data in, and updated the readme
switched BERTScore/ROUGE-L to recall (paper Eq. 4/7), updated the README, and back-filled the hauschild tag onto 250 untagged QA pairs (backup at qa_pairs.jsonl.bak).
Multi-book RAG support: config.BOOKS registry ingesting multiple PDFs into one Chroma collection with book-aware citations, robust chapter tagging for TOC-less/junk-TOC PDFs, an incremental --add flag to index a new PDF without a full re-embed, and updated README (multi-book docs + Limitations).
improved code to remove balanced generation from each pair and replaced with random choosing chunks from the whole book and generating qa pairs from those chunk with parameter --pairs-per-chunk and --num-chunks