% Generated by code/make_tables.py from results/ledger/gate\_pass\_by\_form\_run.csv, gate\_pass\_by\_run.csv, gate\_pass\_totals.json. Do not edit by hand. \begin{table}[H] \centering\scriptsize \setlength{\tabcolsep}{3pt} \caption{Extraction ledger reconciliation by form and run: ledgered rows, gate-passing calls, productive sections and mentions}\label{tab:ledger_calls} \begin{threeparttable} \begin{adjustbox}{max width=\textwidth} \begin{tabular}{llrrrrrrrr} \toprule Form & Run & \multicolumn{1}{c}{\makecell{Ledgered\\rows}} & \multicolumn{1}{c}{\makecell{Rows\\$< 30$ words}} & \multicolumn{1}{c}{\makecell{Gate-passing\\calls}} & \multicolumn{1}{c}{\makecell{Productive\\sections}} & \multicolumn{1}{c}{\makecell{Productive\\(\% of calls)}} & \multicolumn{1}{c}{\makecell{Mentions\\(ledger)}} & \multicolumn{1}{c}{\makecell{Mentions\\stored}} & \multicolumn{1}{c}{\makecell{Mentions\\per call}} \\ \midrule 10-K & June run (backfilled) & 27{,}164 & 0 & 26{,}336 & 6{,}204 & 23.6 & 15{,}787 & 15{,}787 & 0.60 \\ 10-K & October run & 116{,}540 & 0 & 108{,}974 & 24{,}673 & 22.6 & 65{,}835 & 65{,}708 & 0.60 \\ 10-Q & June run (backfilled) & 23{,}873 & 1{,}069 & 14{,}590 & 2{,}969 & 20.4 & 5{,}817 & 5{,}817 & 0.40 \\ 10-Q & October run & 554{,}920 & 0 & 349{,}383 & 72{,}736 & 20.8 & 146{,}444 & 146{,}187 & 0.42 \\ 8-K & June run (backfilled) & 103{,}927 & 1 & 54{,}360 & 15{,}234 & 28.0 & 18{,}326 & 18{,}326 & 0.34 \\ 8-K & October run & 296{,}674 & 0 & 150{,}082 & 46{,}414 & 30.9 & 56{,}268 & 56{,}240 & 0.37 \\ \midrule All forms & June run (backfilled) & 154{,}964 & 1{,}070 & 95{,}286 & 24{,}407 & 25.6 & 39{,}930 & 39{,}930 & 0.42 \\ All forms & October run & 968{,}134 & 0 & 608{,}439 & 143{,}823 & 23.6 & 268{,}547 & 268{,}135 & 0.44 \\ All forms & Both runs & 1{,}123{,}098 & 1{,}070 & 703{,}725 & 168{,}230 & 23.9 & 308{,}477 & 308{,}065 & 0.44 \\ \bottomrule \end{tabular} \end{adjustbox} \begin{tablenotes}\footnotesize \item The run is identified by the ledger timestamp: every row of the June (S\&P~500) run was re-inserted at a single instant (\SPIDextractedAtFirst) and the October run occupies all later timestamps; the ledger itself stores no run, model or prompt identifier. ``Gate-passing calls'' are rows whose stored text matches the candidate gate of Appendix~\ref{app:prompt} (recomputed with DuckDB RE2 and with Python \texttt{re}; the two agree on every row and no row with mentions fails the gate); the remaining rows were ledgered as ``no project'' without an API call. Rows under 30 words exist only in the backfilled block, which ignored the word filter. A productive section has at least one stored mention. The ledger cannot distinguish an empty answer from a failed call (Table~\ref{tab:outage}), so productive shares are lower bounds on the share of calls that would return a project under a complete run. \end{tablenotes} \end{threeparttable} \end{table}