4-arm ablation on PubMedQA (pqa_labeled), n=200, seed=42, model deepseek-r1:8b. Numbers read at build time from results/summary.json (generated by scripts/compare.py).

Per-arm results

ArmAccuracy95% CIMacro F1Avg latencyAdds
plain30.0%24.1–36.7%29.7%6.4sbaseline chunk RAG
plain_rr37.0%30.6–43.9%35.2%6.6s+ cross-encoder reranker
graphwinner59.5%52.6–66.1%50.5%7.5s+ parent-paper expansion
graph_concepts57.5%50.6–64.1%50.0%40.8s+ MeSH concept hop

Significance (paired McNemar)

“Significant?” uses the raw (unadjusted) McNemar p-value at α=0.05; this summary.json predates Holm adjustment.

ContrastΔaccGains / lossesp-valueSignificant?
plain → plain_rr (reranker)+7.0pp35 / 210.0814no
plain_rr → graph (parent expansion)+22.5pp71 / 26<0.0001yes
graph → graph_concepts (concept hop)−2.0pp26 / 300.6889no

Honest summary

The graph arm's win is one specific mechanism, not "a knowledge graph" in the abstract: parent-document expansion changes accuracy by +22.5pp over the reranked baseline (paired McNemar p<0.0001). The further MeSH concept-hop arm does not clear significance against the plain graph arm (p=0.6889) and costs ~5.4x the latency, so it is not the recommended arm to ship. See RESULTS.md for the full write-up.