% Generated by code/make_tables.py from results/rules/agreement\_by\_form.csv, agreement\_overall.csv, focus\_recall\_loss.csv. Do not edit by hand. \begin{table}[H] \centering\scriptsize \setlength{\tabcolsep}{3pt} \caption{Rule-based extractor versus LLM: section-level agreement on a stratified sample, and the recall bound of the focus windows}\label{tab:rules_agreement} \begin{threeparttable} \begin{adjustbox}{max width=\textwidth} \begin{tabular}{lrrrrrrr} \toprule \multicolumn{8}{l}{\itshape Panel A: section-level agreement between the rule-based extractor and the LLM (weighted to the ledger)} \\ Form & \multicolumn{1}{c}{\makecell{Sections\\sampled}} & \multicolumn{1}{c}{\makecell{P(rules $\geq 1 \mid$\\LLM $\geq 1$) \%}} & \multicolumn{1}{c}{\makecell{P(LLM $\geq 1 \mid$\\rules $\geq 1$) \%}} & \multicolumn{1}{c}{\makecell{Rules\\positive \%}} & \multicolumn{1}{c}{\makecell{LLM\\positive \%}} & \multicolumn{1}{c}{\makecell{Agreement\\\%}} & \multicolumn{1}{c}{\makecell{Same type on\\co-detected \%}} \\ \midrule 10-K & 8{,}890 & 97.4 & 28.2 & 73.9 & 21.4 & 46.4 & 86.2 \\ 10-Q & 29{,}399 & 94.4 & 28.7 & 43.5 & 13.3 & 68.2 & 87.8 \\ 8-K & 21{,}711 & 69.2 & 48.6 & 21.6 & 15.2 & 84.2 & 77.9 \\ All forms & 60{,}000 & 85.7 & 32.5 & 39.5 & 15.0 & 71.2 & 84.6 \\ \midrule \multicolumn{8}{l}{\itshape Panel B: rule mentions recovered inside the focus windows, sections over the 9{,}000-character budget} \\ Form & \multicolumn{1}{c}{\makecell{Sections over\\budget (sample)}} & \multicolumn{1}{c}{\makecell{Rule mentions,\\full text}} & \multicolumn{1}{c}{\makecell{Rule mentions,\\focused text}} & \multicolumn{1}{c}{\makecell{Recovered\\\%}} & & & \\ \midrule 10-K & 6{,}482 & 97{,}830 & 24{,}462 & 25.0 & & & \\ 10-Q & 15{,}449 & 219{,}560 & 54{,}612 & 24.9 & & & \\ 8-K & 2{,}997 & 6{,}847 & 5{,}767 & 84.2 & & & \\ All forms & 24{,}928 & 324{,}237 & 84{,}841 & 26.2 & & & \\ \bottomrule \end{tabular} \end{adjustbox} \begin{tablenotes}\footnotesize \item Seeded stratified sample of 60{,}000 ledgered sections (30{,}000 with at least one LLM mention and the same number without), weighted back to the 1{,}123{,}098 ledger rows by inverse inclusion probability; the snapshot's \texttt{RuleExtractor} was run on the stored text. The two extractors have different constructs (the rules flag any gate-vocabulary sentence), so agreement is not accuracy and neither extractor is the reference. Panel B runs the rules on the full text and on the focused text of the same over-budget sections: the share recovered is a deterministic upper bound on what any extractor can see through the focus windows, not a recall estimate for the LLM. \end{tablenotes} \end{threeparttable} \end{table}