What identifies one record in each source, so an observation's id
(dev/IDENTITY.md §3) can be computed from the raw file and stays the same
across re-releases. Phase 5 step 2.
Value
A data frame, one row per source in md_sources().
Details
Columns:
source,kindAs in
md_sources().filing_keyThe column(s) naming one filing or one record:
OBJECTIDfor e-file tables,FORM_ID_NUMBERfor Form 8871, the EIN for one-row-per-EIN files.grainrecord:filing_keyalone is unique.row: a filing has many rows (one per grant, related organisation, officer), so a row is identified byfiling_keyplus a hash of its fields plus an occurrence counter among identical rows. Identical rows inside one return are real - the 2022 Schedule I sample has 11 in 4,646 - and the counter keeps them apart.trace_keyA publisher's row identifier stored with each observation for tracing by hand, but not hashed into its id: e-file
TABLE_IDis the row's position in the return, and a parser change could renumber it, while the row's content cannot change.periodThe column giving the observation's year, if any.
asserted_byFor a third-party source, the column naming who wrote the row (the filer).
latest_byFor sources with amended returns: count only the filing with the greatest value of this column per (filer, period) - the latest return (
dev/IDENTITY.md§9, decided 2026-10-24).evidenceHow the key was confirmed.
Confirmed on the first 2 MB of each 2022 e-file table and of the 2026-07
e-Postcard and revocation files, downloaded 2026-10-24. A sample can show a
key is not unique but cannot prove it is, so md_check_record_key() runs
the same test on a whole file at ingest.