Where the data comes from, how much of it could be read, and what each run did.
Periodic transaction reports from the Clerk’s bulk disclosure index, parsed directly from the filed PDFs.
Periodic transaction reports from the eFD search, parsed from each electronic report page into the same table as House trades. Paper filings are scanned images and are listed as unreadable.
The last attempt did not reach the report list, so no new Senate filings are being added until it does.
blocked: 403 accepting the prohibition agreementCorporate officers, directors and 10% owners, from EDGAR’s live feed. Only filings with open-market buys or sells of $50k+ in one direction are stored; grants, option exercises, tax withholding and gifts are not. Amendments (4/A) and the derivative table are not ingested yet.
Skipped on the last run: 4 below the $50k floor, 5 with no open-market rows.
Daily-index history loaded through 2026-10-06.
ok: 5 stored / 14 seen · cursor 2026-10-26T13:11:09ZForm 4 filings enter as history until insider alerts exist; 9,503 open-market trades across 1,154 issuers are stored.
45 scanned filings (1,190 rows) were transcribed: text by a vision model, ticked boxes by the grid reader. Those rows are labelled on every page and count as trades, but enter no volume total, cluster or floor.
Members of either chamber may file on paper. Those filings arrive as image-only scans — a PDF with no text layer from the House, page images on eFD from the Senate; without a vision model configured they are reported to Telegram with a link but contribute no transactions to the totals.
Every scanned filing, captured or not, with what the grid reader saw on each page: inspect scans.
92 alerts logged · last 3d ago
33 cluster · 10 filing · 33 insider cluster · 16 insider filing
Every alert sent since 2026-10-18 is logged with its participants, disclosed range and message text; earlier rows kept only the cluster dedupe fields. Open the alert log.
scan not readable (the grid has 3 tick columns before the dates but the model read 5 headings (Purchase, Sale, Exchange, Capital Gains Exceed $200, Partial Transaction))
scan not readable (the grid has 3 tick columns before the dates but the model read 5 headings (Purchase, Sale, Exchange, Capital Gains Exceed $200, Partial Transaction))
paper filing (scanned images on eFD; not transcribed)
paper filing (scanned images on eFD; not transcribed)
paper filing (scanned images on eFD; not transcribed)
parse error: vision parse failed: Server disconnected without sending a response.
parse error: vision parse failed: Expecting ',' delimiter: line 3732 column 6 (char 93344)
paper filing (scanned images on eFD; not transcribed)
paper filing (scanned images on eFD; not transcribed)
scan not readable (the grid has 3 tick columns before the dates but the model read 5 headings (Purchase, Sale, Exchange, Capital Gains Exceed $200, Partial Transaction))
A run is scheduled every 90 minutes on paper; GitHub delivers scheduled runs late and drops some under load. Measured over the 10 runs above: a median 2.1 h between runs.
Columns: filings parsed (House and Senate), Telegram alerts sent, scans transcribed by the vision model, Form 4 filings stored (live feed and gap repair). Dry runs and runs killed by the job timeout leave no entry; the GitHub Actions history has those.
Cadence: scheduled at :17 past every third hour and :47 past the hours between (UTC), a run every 90 minutes on paper. GitHub delivers scheduled runs late and drops some under load — on the earlier single three-hourly schedule the gap between runs was a median 5.3 h (p90 8.5 h, max 10.6 h) over 100 runs.