% generated by tables/make_tables.py from data/metadata/prisma_counts.json \begin{table}[htbp]\centering\caption{Record flow of the mapping corpus (PRISMA-style, sequential exclusions).}\label{tab:prisma} \begin{threeparttable}\small \begin{tabular}{lr} \toprule \textbf{Stage} & \textbf{Records} \\ \midrule Identified: OpenAlex works with a CS topic, 2018–2026 (snapshot 2026-10-14, both passes) & 15{,}490{,}159 \\ Excluded E1 outside the window & 160 \\ Excluded E2 non-research document type & 3{,}961{,}589 \\ Excluded E3 XPAC expansion record (not DBLP-linked) & 1{,}421{,}692 \\ Excluded E4 no title & 1{,}188 \\ Excluded E5 preprint merged into its published version & 106{,}928 \\ After exclusions & 9{,}998{,}602 \\ CS core (mapping corpus) & 6{,}403{,}238 \\ CS penumbra (sensitivity set) & 3{,}595{,}364 \\ Strict core: DBLP-indexed and primary field CS & 1{,}868{,}188 \\ \bottomrule \end{tabular} \end{threeparttable}\end{table}