Skip to content

Fork output ledger — September 21, 2026

This dated ledger accounts for every declared rollup output plus base regulatory, comments and rulemaking outputs at code ea64719. It records 44 producer paths and 82 distinct output keys, including dynamic partition patterns.

The consolidated backlog remains the task list. Machine-readable evidence records each candidate path, measured size/count/schema, source assessment, scope, required and optional inputs, observed publication pins, next action and receipt. A missing pin or unresolved scope remains a blocker. Existing populations must survive narrower repairs.

  • Pins. A row records qualified at <pin> (<date>) for the generation its audit covered, not a claim that the pin is live; scripts/check_ledger_pins.py reads the public index and reports rows whose live generation differs. Withdrawn, unproduced, blocked and known-wrong outputs carry no such phrase, and base objects record verified at table digest <digest> (<date>; ETag <etag>), whose ETag the script compares with a HEAD of the public object (a row without the ETag is reported unpinned). Dockets and documents are also managed families since spicy-regs 1d283d5; their rows keep the table-digest pin, which the MCP compares with the live family member's table digest. Docket search, comments and its index remain outside the index.
  • Names. A generation is named by the first 8 hex digits of its artifactDigest; a table digest is labelled "table"; units are named (rows, distinct keys, pairs).
  • Evidence. Every load-bearing number cites a retained script or receipt; numbers copied from a publisher's statement cite the receipt.

Public data destination: https://data.spicygov.ai. It is the same spicy-regs bucket as pub-72e95c0c20a84508b42b03a6ff6d55f8.r2.dev, which stays enabled; audits dated before 2026-09-29 read through that r2.dev host, and their pins are unchanged by the move. Local candidates are not fork publications. Retained qualified generations include FEC, members/terms, nominations, treaties, the five-member report family, repaired dockets/documents, docket search, two document-derived tables, Appropriations press-feed windows, the retained Agenda edition and complete June 30 court clusters. As of 2026-09-23 the following are also source-qualified or validated against raw data: - Regulatory: the Federal Register and its docket links; the rulemaking dataset; the comments table (all 133 comment-bearing agencies, with six plus ACF re-verified and repaired from native source) with its index and the three T15 summaries. - Legislative: laws; committee rosters; amendments with their sponsor and amended-bill detail; the reconciled bill family (decision 1) and its subjects; member vote terms (decision 2); roll-call bill links. - Courts and other sources: the court citation tables and opinion index; CRS reports; FCC proceedings and filings; the bounded lobbying load (decision 10); and, since 2026-09-26, every active SAM registration year from 1996 plus the 1949 and 1968 outliers (its row).

CFR's parts are placed from each volume's PART heading since generation de703ffe… (see the CFR part ancestry entry in the execution log). The September 23 parsing survey found join, text and key limits in some qualified tables; each affected row names them. Committee meetings, house communications, record issues, print citations, Senate expenditures and GAO reports were published by scheduled runs and source-qualified at the generations their rows name; the qualification receipts are in scheduled-published-qualification/ under the execution receipts. Scheduled generations newer than a row's qualified pin await audit (decision 3). Both repositories were pushed on 2026-09-23 and the workflows held for the push were re-enabled that day (decisions record, decisions 11 and 22).

September 26 drift qualification

Four medium-effort auditors (congress documents, bills and citations, external sources, regulatory) re-qualified every row whose live generation had drifted from its qualified pin; each row above records its disposition and receipt under drift-qualification-2026-09-26/. check_ledger_pins.py and the MCP table_qualification record read these rows directly.

  • Failed. The bill family 5990abbb… writes backward section_diffs when an enrolled BILLSTATUS version has an empty date (it sorts first in build_bill_family.py), and drops two bill_sections on identity collisions. Print citations d57faac3… stamp Senate activity reports that cover the 117th Congress as the 118th and misread CLAUSE S 2(N) and S. Con. Res. 2022 as citations (receipt bills-citations/print-check.json). The scheduled 55671b43…, the first bill family with retained BILLSTATUS evidence, still carries both defects. Both repairs are in code at 8041729, adopting SpicyDocs 0.35.0 (0ecac5c):
  • bill printings pair by date, then a dateless enrolled one by its stage; bill_sections is keyed on seq, and the stale pairs are retired on the next run;
  • activity-report bills key in the covered Congress, and committees are read in the report's chamber, or in the chamber the print names. Bill family d380cdc0… shows both repaired, but it exposes repeated same-stage printings sharing one identity (119-hr-6644). SpicyDocs 0.37.0 gives a numbered reprint its own code, and 0.38.0 keys a bill printed under a Congress subheading in that Congress. The bill family now qualifies at 8ab2a2cf…. Print citations 8f2502b6… are repaired but stay partial on one wrong join and 31 inline-stated Congresses (their rows).
  • Partial. congress_bills lacks bills that the retained 110th–113th BILLSTATUS lists (bills-citations/congress-bills-missing-vs-billstatus-110-113.json). The subjects, amendments and house-communications audits are partial as their rows state. FCC filings, lobbying, CRS and court dockets have no retained source responses in their producing runs, so only publication integrity is verified. (SAM has since retained its extracts, with credits, retirements and abandoned triggers journaled; see its row.)
  • Rulemaking (R5 met at snapshot_911969b4…). Snapshot snapshot_dcda51db… qualified with the limits its row names, but the R5 gate was not met: three dockets (FAR-2018-0003, DHS-2004-0009, FDA-1999-F-0118) are retired wrongly. D1: the SpicyDocs docket-name reader misses several native formats (the FAR-case form needs an owner ruling). D2: document numbers containing spaces do not join. D3: identity_predecessors_json looks back only one snapshot. D1 (owner ruling: read a docket named after prose) and D2 are in SpicyDocs 0.35.0, adopted at 8041729, where they read 432 of the 442 missed held pairs and all 39 missing references (receipt regulatory/d1d2-fix/). D3 is in code at 635c42c: lineage now carries all recorded ancestry, and a proceeding no longer lists as a predecessor a sibling that shares only a cited notice (receipt regulatory/d3-fix/). All three closed at snapshot_911969b4… (2026-09-26, receipt r5-reaudit-2026-09-26/). An independent rebuild of decisions 32–33 with the pinned reader reproduces all 268,159 proceedings, and the three dockets are back in proceedings. No predecessor list names a live sibling. Open, but not blocking:
  • A docket that is an action docket only through its own documents' citation does not absorb the cited notice (572 dockets), as decision 33 reads. Merging by citation was measured and would fuse 58,286 proceedings; rule-targets v6 records the citation as a typed edge instead (decision 33 as amended, confirmed by the owner 2026-09-26). Receipt typed-citation-join-2026-09-26/.
  • Catch-all feed dockets (*_FRDOC_*, 176, and 40 more in four title families) took the RINs, CFR parts, stages and agenda links of the rules they post. By owner rulings (decision 32 as amended 2026-09-26) proceedings v9 takes none of them and makes a feed a proceeding only on a RIN it states: 194 feed proceedings go and 7 stay, and every RIN they held stays held elsewhere. Agenda v5 links an item only through a RIN its proceeding holds. Each table moves one actor over the published snapshot (proceedings v9 with the lineage prune, rule-targets v6, comment periods v9, agenda v5). Not yet published. Receipt frdoc-catchalls-2026-09-26/.
  • Lineage is out of scope by owner decision (2026-09-26): identity_predecessors_json is pruned at 8477dea (proceedings v9), and the 3,010 links erased at snapshot_47cca15e… survive only in the retained snapshot 6d3dc0f2. Continuity is kept by stable ids and supersedes_id.
  • Ten docket values stay unread. D4: derived rollups record no parent digests (receipt regulatory/results.json); fixed at 4396f2e and closed 2026-09-26. The refresh run 36224680634 published feed summary, agency stats, monthly volume, org committee links and discovery signals, and each records its parents. Every managed parent's pin equals its read snapshot and its member digest, and the streamed bytes match: dockets e601dbf6…, documents 7c98ef8c… and FEC committees 4b1ca622…. The bare comments index matches by sha256, and the in-place comments monolith by ETag and size (receipt d4-parents-2026-09-26/). This verifies lineage only; each table's own rows are audited in its row above.
  • Scaling. fec_committees re-walks the whole registry with little deadline headroom, and its captures live only as an expiring workflow artifact. CHRG rule-token re-reads use most of the per-run cap. A package is re-read whole after a single-step failure. Derived jobs re-download their base tables (receipts congress-docs/results.json, external/results.json, regulatory/results.json).

September 25 parallel audit

The parallel audit supersedes older current-state wording below at the exact September 25 pins recorded in each row. Three medium-effort auditors plus the parent regulatory replay verified public artifacts, compared prior populations and read native inputs. Qualified scopes, partial audits, publication-only evidence and uncomputed empty outputs remain separate in the normalized results. The audits reproduce a new four-row Table III omission and the existing private-law state and compiled-hearing date defects. No production repairs or publication were performed by this audit. CRS advanced after the frozen check; its newer generation remains unaudited.

September 25 repairs

Work packages R1–R4 of the repair plan are in code at spicy-regs 9818b2e (adopting spicy-docs 0.33.0, 881f6f5) and 197e449. The three FAILED rows (laws, table3_records, hearing_bill_links) and the partial USAspending and roll-call-link findings are repaired in code only. Their public generations are unchanged until the next run re-reads under the new rule versions, and none is qualified until that generation is audited. Offline replays against retained sources show the intended corrections: Table III act 119-37 gains exactly its four native rows, both private laws become captured_partial, all 82 COVER links survive, and two stale Senate match_action_index values move from 19 to 15 and from 21 to 17. The receipts, reviews and replays are in /Users/mikewolfd/Work/corpora/fork-execution-2026-09-21/repair-execution-2026-09-25/. Every rollup the repair touches now retains its source evidence, SAM and the bill-status families included, so the next generations can be qualified from their own inputs.

The first repaired generations were published by dispatch at 8177fb0 and audited against their own retained evidence (/Users/mikewolfd/Work/corpora/fork-execution-2026-09-21/repair-qualification-2026-09-25/). laws, table3_records, hearing_bill_links, roll_call_votes and usaspending_recipients qualify at their new pins, and the rest of both families qualify with stated limits. committee_reports and hearing_transcripts fail on one newly found defect: the publisher's second spelling of its PDF notice, fixed in spicy-docs 7550f0e and awaiting release. Each output's row states its pin and limits. Spicy-docs 0.33.2 then recognised the second spelling, and the committee-reports rule moved to placeholder-pdf-002. The family republished at 95810b26…, where CRPT-119hrpt649 and CHRG-119jhrg60491 are pdf_extracted from their PDFs (259 and 89 pages). A full audit of that generation is still pending.

Found during the repair: fec_committees has failed every scheduled run since 2026-09-22 (runs 35774968104, 35910579310, 36049323173 and 36180816422). Each dies on FEC's HTTP 429 after about 10,000 records, once the transport's three quick retries are spent. Its qualified 2026-09-21 generation was therefore still the live one. f2df979 paces the walk under the gateway's stated limit of 60 requests per minute, and spicy-docs 3cfc6f6 (carried into the 0.34.0 branch) waits out Retry-After. The dispatched run then published the full registry at 4b1ca622…; see its T04 row.

Task Producer Output Delivery state
T13 run-rollup-court-opinion-clusters court_opinion_clusters.parquet generated and verified for complete 2026-06-30 edition; qualified at 7a2cbdb7… (2026-09-22)
T13 run-rollup-court-opinion-bodies court_opinion_bodies.parquet withdrawn 2026-09-22 and removed 2026-09-23: builder, rollup, workflow and catalog/MCP registration deleted, and the push deleted the fork workflow; text links out through the clusters' absolute_url
T13 run-rollup-court-citations court_citations.parquet, court_citation_map.parquet, court_parentheticals.parquet added and published for the complete 2026-06-30 edition: qualified at f1e2e523… (2026-09-22); public row counts verified
T13 run-rollup-court-opinions court_opinions.parquet added and published for the complete 2026-06-30 edition (text-free): qualified at f7cc67cc… (2026-09-22); public row counts verified; no scheduled workflow (54.6 GB source)
T16 run-rollup-bill-subjects bill_subjects.parquet current 750784bd… is PARTIAL (2026-09-26): 149,261 rows, all prior identities retained. Every added or changed row (50,790) replays against admitted evidence 78ddbfd7… with zero mismatches, independently parsed from 32 BILLSTATUS zips and 1,236 API pages. The 26 null rows are reserved numbers absent from fully named zips. 47,558 rows added at 1b067027… (114th–117th bulk; 643 API) retain no source; 48 fresh samples match. Receipt: drift-qualification-2026-09-26/bills-citations/.
T15 run-rollup-feed-summary feed_summary.parquet qualified at 034a6ac6… (2026-09-26): all 279,380 rows equal an independent replay from dockets 308b35c6…, documents d7487819… and index c43559bd… (ETags recorded by run 36177463432 before it ran). The 44 additions and 267 changes each trace to a changed parent row. Parent source limits remain separate. Receipt: drift-qualification-2026-09-26/regulatory/.
T15 run-rollup-agency-stats agency_stats.parquet qualified at e0a531e3… (2026-09-26): every count for all 316 agencies equals an independent recount from the same exact parents; all 66 changed agencies trace to parent changes. Receipt: drift-qualification-2026-09-26/regulatory/.
T15 run-rollup-agency-monthly-volume agency_monthly_volume.parquet qualified at baba33a2… (2026-09-26): all 77,972 rows match an independent replay from documents d7487819…; the date policy excludes 2,023 missing and eight year-zero dates. Nine new and 61 changed buckets all trace to documents that were added or changed. Receipt: drift-qualification-2026-09-26/regulatory/.
T15 run-rollup-docket-search docket_search.json.gz Not built on the fork after a6a14b1: the refresh builds it only where PUBLISH_DOCKET_SEARCH is set, and the fork leaves it unset because its one reader, the web app, loads upstream's copy. On 2026-09-26 the object with ETag cd719934… (table c761cc8c…) matched an independent field-by-field replay of all 279,362 search documents from dockets 308b35c6…, omitting the same 18 dockets without title or abstract. The fork's last regeneration (ETag 7421faa6…) is unaudited and has no reader. Receipt: drift-qualification-2026-09-26/regulatory/.
T15 run-rollup-discovery-signals discovery_signals.parquet qualified at 350e49f5… (2026-09-26): built by the 2026-09-25 run, all 11 signals match an independent replay from documents d7487819… at the recorded as-of instant 2026-09-25T21:10:48.805987+00:00. Receipt: drift-qualification-2026-09-26/regulatory/.
T15 run-rollup-fr-docket-links fr_docket_links.parquet qualified at b443a813… (2026-09-27): all 899,630 rows and every legacy column equal prior 58baa81c… as full multisets. The source is frozen Federal Register 30a081f4…; every array ordinal points to its exact literal. New candidate arrays hold 246,317 interpretations across 243,615 occurrences; 656,015 have no supported interpretation, not an absent-docket claim. The owner normalizer supplies the candidates and implementation digest. Full public byte readback passed. Receipt: spicy-regs-fr-links-candidate-20260927/validation.json and publication/publication-receipt.json under the September 27 implementation artifact roots.
T11 run-rollup-cfr-sections cfr_sections.parquet qualified at d063f76d… (2026-09-26): all 321,010 rows have table bytes identical to the qualified 60092f2a… (5dc4e856…). This carries the retained edition and earlier citation limits (cfr_ref null on the documented 7,910 rows). Receipt: drift-qualification-2026-09-26/regulatory/.
T16 run-rollup-congress-bills (retired, A1) congress_bills.parquet qualified at 6849376e… (2026-09-26): congress_bills holds 421,465 bills. BILLSTATUS lists 134,432 for the 108th–117th, and all are held. 117-hr-11, which the earlier reader refused in the 117th House archive, is now read at BILLSTATUS schema 1.0.0 (SpicyDocs 0.41.0), and no identity of 9f861d50… is lost. 54 list-era rows for reserved House numbers BILLSTATUS no longer lists are retained. All 513 bills the drift audit found missing in the 110th–113th are present, no identity of 8ab2a2cf… is lost, and no key repeats. bill_committee_actions → congress_bills misses only the publisher's misprint 118-hr-14106. Receipts: congress-bills-backfill-2026-09-26/, join-gaps-2026-09-26/d/.
T11 run-rollup-unified-agenda unified_agenda.parquet qualified at 649cfd28… (2026-09-26): the edition backfill holds 58 editions, 199510–202510, in 233,250 rows over 46,247 RINs, with (rin, agenda_edition) unique. Every readable edition is present; 199504 and 201204 were never published, and SpicyDocs refuses 200404 and 200410 over an XML-forbidden control byte. The Fall 2012 file is stamped 201210, as its records state. No prior row is removed. Three editions, the oldest, the legacy-named Fall 2012 and the newest, match independent parses of reginfo's export exactly: RIN sets, titles and priority categories (4,999, 4,063 and 3,954 RINs). The run retains no source evidence. Receipt: unified-agenda-649cfd28-2026-09-26/.
T11 run-rollup-federal-register federal_register.parquet qualified at 40dfab8e… (2026-09-26): 1,009,313 rows. Every one of the 1,009,209 previously qualified rows is unchanged; all 104 additions (the 2026-09-25 issue) match that complete native issue in identity and every field. The native issue was re-read at audit time; the producer retains no evidence. Receipt: drift-qualification-2026-09-26/regulatory/.
T12 run-rollup-fcc-proceedings fcc_proceedings.parquet qualified at fc5c4bc5… (2026-09-26): 21,683 docket rows, table bytes identical to 930e4716…. Scheduled run 36173431595 (943b4ae, spicy-docs 0.32.1) walked 21,691 documents at exact counts and reused the unchanged member. It was not built by the spicy-docs 0.34.0 delegation (9cd4658), which no FCC run has used yet. Receipt: drift-qualification-2026-09-26/external/.
T12 run-rollup-fcc-filings fcc_filings.parquet qualified at 9c87b600… (2026-09-27): all 5,780 held rows replay against native source records; exactly one source-grounded proceeding-name correction, all other prior cells preserved. Native arrays retain occurrences, missing IDs and roles. Three selected offered PDFs have retained bytes and extraction diagnostics; other body coverage remains unread. All public bytes match. Receipt: spicy-regs-fcc-complete-20260927/receipt-final.json and publication/publication-receipt.json.
T14 run-rollup-sam-entities sam_entities.parquet qualified at 9a7de1ac… (2026-09-26): the backfilled, retiring registry, 792,846 active registrations over registration years 1949, 1968 and 1996–2026, no row undated. Each unbounded year replaces its rows only after its extract meets its declared count. The generation audit reconciles the removals exactly: 80 retired in 2002–2003 at 0ed551d3…, 11 in 2026 here, each named in a rows-retired event, none unjournaled and none still present. The 8 renewals SAM holds Active twice are credited, each in a sam-superseded-credited event dated before its trigger's cutoff. Evidence is admitted and bound, and no credential appears among 10 configured secrets. Counts reconcile: SAM reports 793,040 active (per the reconciliation receipt's entity-API query), which is 792,846 held plus 8 credited, 181 activated after their year was read (the current year is re-read every other day), and 5 registrations with no registrationDate. A year-windowed extract cannot reach those 5, so they are a known exclusion. Rows held per year match an independent recount of the published table. Field values were not re-sampled at this pin. Receipts: sam-entities-0ed551d3-2026-09-26/, sam-entities-9a7de1ac-2026-09-26/, sam-entities-reconciliation-2026-09-26/per-year.json.
T14 run-rollup-lobbying-filings lobbying_filings.parquet current 56a84791… is PARTIAL (2026-09-26): 27,989 filings; every prior cell is unchanged and all 58 additions match native responses read before and after the run. Every in-window filing seen by two pre-run reads is present. Seventeen filings dated 2026-09-24 appeared at the source after 18:10 UTC, and 2026-09-25 filings fall outside the run's window by design; the 7-day overlap should admit both. Run 36177381824 (4b345a5) retained no evidence. Earlier selection qualified at fd1794b5… (2026-09-25); wider history remains open. Receipt: drift-qualification-2026-09-26/external/.
T04 run-rollup-fec-committees fec_committees.parquet qualified at 4b1ca622… (2026-09-26): the complete OpenFEC committee registry, 89,679 committees, from run 36201050523 (code f2df979). All 16 fields of every row (1,434,864 cells) replay from the run's 897 retained pages; the source's exact count matches 89,679 distinct ascending IDs, and three fresh pages are identical. All 27,311 committees of the dfda14da… selection remain: 24,634 unchanged, and 2,677 changed, each moving from its 2026-09-12 native value to the 2026-09-25 one. The captures are a GitHub run artifact expiring 2026-10-25, not a generation input; the receipt keeps a copy. Receipt: drift-qualification-2026-09-26/external/.
T05 run-rollup-fec-committee-history fec_committee_history.parquet published by run 36286703784 (2026-09-27), not yet qualified: FG03 from the bulk committee master (cm<yy>.zip, all 24 cycles) through spicy-docs 0.43.0's reader and contract, not the PostgreSQL dump (decision 53). 298,395 rows over 89,710 committees, the receipt's count; every fec_committees committee appears, and 21 history committees absent from the OpenFEC registry make it a declared scope join.
T05 run-rollup-fec-candidate-history fec_candidate_history.parquet qualified at dc9634ba… (2026-09-30): Generation dc9634bae8e1e0d881e34487c4d7115915ba281972dfff98a41426b657ec9ec0 passed independent comparison of all 130,562 selected 1980–2026 bulk candidate-master rows (2026-09-30), followed by publication, full public byte verification, schema/count/sample checks and a managed CLI download (2026-10-01). Inputs mix retained September 12 header/2024/2026 bytes and September 30 historical-cycle bytes. See local qualification and the query-table publication checkpoint in fec-retained-delivery-execution-2026-09-30.md; receipt: retained-delivery-20260930/query-publication-20261001/completion.json. Older PostgreSQL-dump cycles are outside this source selection.
T04 run-rollup-fec-source-catalog fec_source_catalog.parquet generated and verified; qualified at 0570574b… (2026-09-21)
T04 build-fec-observations fec_source_records.parquet, fec_collections.parquet, fec_relationships.parquet generated and verified; qualified at 11bcb620… (2026-09-21)
T15 run-rollup-org-committee-links org_committee_links.parquet qualified at e12056b0… (2026-09-26): all 3,250 links and 19 fields match an independent Python replay over comments (ETag 1970f15e…) and FEC committees dfda14da…. There are five additions from two new organization strings, and the 15 changed counts only grew. Name heuristics, not identities; built before FEC committees advanced to 4b1ca622…. Receipt: drift-qualification-2026-09-26/regulatory/.
T12 run-rollup-gao-reports gao_reports.parquet, gao_decisions.parquet Window 1: qualified at d5e6f3ac… (2026-09-29): 53,058 reports; all 12,746 prior rows retained with 0 prior non-NULL cells changed and 94 prior NULL report_number cells filled from the listing; +13,437 gao_listing rows (GAO's Month in Review, 1,212 retained pages), +26,871 gao_r_package rows (fill-only, lowest precedence), +4 feed rows; gao_decisions 6,616 rows, (decision_number, url) unique. Each upload was checked column by column against the prior live generation with DuckDB first (receipts window1-2026-09-29/). Earlier audited pin 566318c5… (2026-09-27) for the bounded addition: all 42 prior rows/cells from d2261139… preserved, with one source-identified GAO-17-317 record added. Its title and 2017-02-15 date come from the qualified GAO product page; unknown tags/type/abstract remain NULL. Source page and retained PDF are in generation evidence; the metadata table has no body-text column. Citation re-resolution finds this target. Full public byte readback passed; broader history remains open. Receipt: spicy-regs-t24-gao-candidate-20260927/replay-0.48/receipt.json and publication/publication-receipt.json. R-package provenance (owner decision 2026-09-28; the copyleft caveat accepted): the gao_r_package rows are copied once from the CetiAlphaFive/gao R package by Jack T. Rametta, licensed GPL-3.0-or-later, at commit 6f612305d3c2ccc285decd18577f44e1452366d1, file inst/extdata/gao_links.rds (sha256:2979706d…, 3,907,096 bytes). It was converted once to Parquet (sha256:e7f2bb95…), losslessly per gao-r-package-2026-09-29/receipt.json, and both files, the receipt and the licence are retained as generation evidence by scripts/import_gao_r_package.py (rule gao-r-package-copy/1).
T12 run-rollup-crs-reports crs_reports.parquet current 7076f282… is PARTIAL (2026-09-26): 14,144 reports, preserving all prior identities, with one addition (R49360) and 36 updates. Every title, status and publish date among the 37 matches native reads taken 14 minutes before and 38 minutes after the run. 17 update dates match exactly; the other 20 are source restamps lying between those two reads. Later source changes (three Archived-to-Active statuses, R49361) postdate the run. Run 36167759334 (03541c7) retained no evidence. Earlier generation qualified at 35a43885… (2026-09-25). Receipt: drift-qualification-2026-09-26/external/.
T12 run-rollup-courtlistener court_dockets.parquet current 50a0b9fc… is PARTIAL (2026-09-26): 11,475 dockets, all prior identities retained. Since 5570c1b4… it adds one docket and updates two; since the qualified 95f2091d…, five additions and eight updates. All 13 match a fresh native read in every field, party order included. Docket 74842896 now carries its native judge, which closes the prior drift finding. Every in-window docket seen before or after the run is present. Run 36174586704 (943b4ae) retained no evidence. Earlier selection qualified at 95f2091d… (2026-09-23); catch-up and scope limits remain open. Receipt: drift-qualification-2026-09-26/external/.
T12 build_court_docket_groups court_docket_groups.parquet republished with numeric parent order and qualified at 0f855eb1… (2026-09-23): 901 rows; raw-validated against the native docket edition and public readback identical
T12 run-rollup-usaspending-recipients usaspending_recipients.parquet qualified at ab52206f… (2026-09-25): 10,311 recipients, every prior identity retained. Each of the 10,000 rows read in the retained 100-page top-amount walk matches its page JSON, carries that page's capture digest and an observed_at bracketed by that capture (the reader's response-complete clock, not the journal's request-start time). The 311 carried rows, identified by ID, keep prior values with NULL observation fields; 47 of them come from the evidence-less f033c5f4… run. Schema equals the dictionary. Wider coverage and the trailing-12-month period mix remain explicit. Receipt: repair-qualification-2026-09-25/votes-usaspending/.
T09 run-rollup-bill-family congress_bills.parquet, bill_actions.parquet, bill_committees.parquet, bill_cosponsors.parquet, bill_publisher_summaries.parquet, bill_versions.parquet, bill_sections.parquet, section_diffs.parquet, section_diff_items.parquet, financial_changes.parquet, section_classifications.parquet, bill_summaries.parquet, diff_summaries.parquet, cbo_cost_estimates.parquet, public_activity_events.parquet, bill_family_archives.parquet, bill_vote_references.parquet, bill_family_backfills.parquet, bill_family_backfill_walks.parquet current 40130217… is PARTIAL (2026-09-27): 146,248 cosponsor occurrences including 67 withdrawals replay exactly from retained 119th House/Senate source observations matching held bill editions. All 421,465 bill identities and prior native cells preserved; 17 other members byte-identical. 405,325 bills remain unread for cosponsor fields, and 19 mismatched editions were skipped. Public hashes verified. Receipt: legislative-joins-2026-09-27/. Predecessor qualification history: qualified at 6849376e… (2026-09-26): the BILLS bulk text backfill (9 runs, 113th–119th, SpicyDocs 0.41.0, receipt bill-family-bulk-2026-09-26/final/) extends the family audited at 9f861d50…. 133,862 printings gained a body: 137,410 of the 137,641 listed in the 113th–119th have one (99.8%), and the rest are not XML or were refused, each recorded. bill_sections holds 2,659,863 rows, and every printing's stated section count matches them. 140 bulk-read printings, 20 per Congress, fetched one by one from GovInfo's per-package links, equal their recorded bytes. Against 9f861d50…, no table loses an identity except bill_versions. Its 136,743 removals are all listing-only placeholders whose version now has its body. Two public-law placeholders (113-hr-1067, 113-hr-1068) remain beside their bodies, a known defect. Keyless tables differ only in re-observation times, and the generation audit finds 0 failures. At 9f861d50…: the status-only backfill (10 runs, 108th–117th, max_version_fetches=0, receipt congress-bills-backfill-2026-09-26/) extends the family audited at 8ab2a2cf…, described below. Across the chain, no version, section, diff, committee or action row of 8ab2a2cf… is lost. It adds 1,298 bills, 763,098 actions, 180,077 metadata-only printings and a one-off 314,496 public-activity events, and every step's audit is clean (the last: 0 findings). Earlier printings of the 108th–117th are metadata only, with no sections or diffs, until their bodies are fetched. At 8ab2a2cf…: SpicyDocs 0.37.0/0.38.0 (runs 36227172365 for the 119th and 36230043425 for the 118th, capped at 10 printing fetches) repair every defect the drift audit and its re-audits found. No pair runs backward; a dateless enrolled printing follows its dated predecessors. bill_sections is keyed on seq with no duplicate, and 119-hr-5334 enrolled, 119-hr-9022 reported and 119-hr-4060 introduced publish every section. A numbered reprint keeps its own code: 119-hr-6644's eas (198 sections) and eas2 (276) are separate and chain placed-on-calendar → eas → engrossed-amendment-house → eas2 → enrolled, matching independent native parses of both documents; 118-hr-7643's rh2 is separate, and no row keys a reprint's package under another code. Every diff item resolves to a published section. Each generation's removals are accounted for (32 stale pairs, then 119-hr-6644's 78 misfiled sections, stale row and 2 pairs; keyless tables differ only in re-observation times). The generation audit finds 0 failures, with evidence 18ea08d4… admitted and bound. Limits: the four model outputs stay uncomputed, and historical bodies before the current Congress are only partly captured. Receipts: bill-family-d380cdc0-2026-09-26/, bill-family-rerun-2026-09-26/, bill-family-8ab2a2cf-2026-09-26/, repeated-printings-2026-09-26/.
T08 run-rollup-press-releases press_releases.parquet qualified at c0f3cc22… (2026-09-25): 32 rows, retaining every prior identity. All 25 current RSS items match native content; seven historical items carry forward. Capture time, feed position and source channel freshness are separate metadata limits. Literal bill links remain bounded; history and other committees are outside scope. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-amendments amendments.parquet qualified at 94c5868b… (2026-09-26): 7,106 rows. R8 admits evidence 4aee7cd8… (51 members, bound, 0 failures). All 48 rows of the retained 09-21…09-26 window (one list page declaring 48, and 48 details) replay cell for cell through an independent raw-JSON parser: 864 of 864 match. The other 7,058 rows equal the qualified af5ef4c3…, and no identity of it or of 559fd5f4… is lost. SA 6782's missing 09-23 action is a Congress.gov restatement: the retained responses carry the publisher's 09-25 11:08Z stamps, and a native read at 09-26 12:25Z shows the same stamp and no 09-23 action. Receipt: amend-hc-qualification-2026-09-26/amendments/.
T08 run-rollup-member-vote-terms member_vote_terms.parquet qualified at c85e578f… (2026-09-25): all 382,536 identities and 2,677,752 nonidentity cells match an independent join replay over exact recorded inputs. The 15 unique inclusive-end fallbacks and three unmatched post-term Not Voting positions remain explicit. No prior row changes or losses; three new votes add 300 positions. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-roll-call-votes roll_call_votes.parquet, member_votes.parquet qualified at 9072b65d… (2026-09-26): the 108th–119th, 23,358 roll calls and 7,384,694 positions, with no identity of 45b8f6b8… removed. House 108th–118th holds 14,503 of the Clerk's 14,509 listed roll calls and Senate 7,276 of 7,277; the 7 absences are each stated by the source. 108-1-2's totals contradict its members' choices; five House files (112-1-484, 112-2-327, 113-2-275, 114-1-300, 114-2-44) list no recorded votes, and the two opened say "vacated by unanimous consent"; the Senate menu withholds 116-2-216 (a secret session, journaled vote-withheld). Links come from the bill's recorded action, then the vote file's own statement (vote_file_legislation). Every vote join holds: of non-null keys, member_votes.bioguide_id misses only L000555, Luke Letlow, who died before taking his seat (Senate rows carried no bioguide id until the votes chain resolves it from the LIS id; the member_votes -> members baseline is re-measured after that publication). The generation audit finds 0 failures; its 13 reviews are the Clerk's HTML index pages at the vote-source stage. Receipt: votes-backfill-2026-09-26/final/. At 45b8f6b8…: 1,579 votes and 382,536 positions, every prior identity retained. Only Senate 212/213 match_action_index change (21→17, 19→15) under recorded-vote-first-numeric-action-v2; all 845 links equal the first recorded reference in bill-family 5990abbb…, 734 remain unmatched, and member_votes is byte-identical. All 50 retained overlap XMLs match every roll-call and member cell. Other votes inherit 0255d5de… by exact equality; wider history and scorecards remain open. Receipt: repair-qualification-2026-09-25/votes-usaspending/.
T08 run-rollup-members members.parquet, member_terms.parquet qualified at 47ac33e4… (2026-09-25): 12,770 members and 45,535 terms. Only capture times change; all 581,370 substantive cells match native JSON, and retained captures bind the frozen run. The community crosswalk retains its Ed Case special-election-term and party-history limits. Three newly present native website URLs are omitted by the current table design; official-roster completeness is not established. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report). qualified at 00cad6cf… (2026-09-27): the complete retained September 25 community crosswalk replays with no removed member/term identities and no changed shared native values. The same generation adds 59 separately keyed affiliation occurrences, each reconciled to its source path, object and digest. All three public table hashes and row counts match. Receipt: spicy-regs-t19-members-20260927/.
T08 run-rollup-members member_party_affiliations.parquet qualified at 00cad6cf… (2026-09-27): 59 source occurrences from the complete retained September 25 community crosswalk captures. Native objects, source paths, input digests and all fields reconcile; exact public hash and row count match. These are source assertions; interval overlaps and gaps are retained, and historical vote-date matching remains a separate interpretation. Receipt: spicy-regs-t19-members-20260927/.
T10 run-rollup-committee-reports committee_reports.parquet qualified at 95810b26… (2026-09-26): all 142 rows were re-read under body=placeholder-pdf-002 and replay against their evidence 12292d4f…. CRPT-119hrpt649 is now pdf_extracted from its retained 259-page PDF. pypdf and pdfium agree on the page count, and pdfium agrees on 99.6% of the words. The other 140 HTML bodies carry neither notice spelling and are not_flagged. Apart from observed_at, only that row changed. Receipt: drift-qualification-2026-09-26/congress-docs/.
T10 run-rollup-committee-reports report_sections.parquet qualified at 95810b26… (2026-09-26): 1,904 sections tile their texts contiguously, and each body is an exact slice. Only CRPT-119hrpt649 changed: its five placeholder-notice sections are replaced by 24 PDF sections. Each cites pages, and pdfium confirms the cited pages hold the words (one heading word misses). No stale seq and no notice text remain. Every other section is unchanged. Receipt: drift-qualification-2026-09-26/congress-docs/.
T10 run-rollup-committee-reports hearing_transcripts.parquet qualified at 95810b26… (2026-09-26): all 145 rows replay against evidence 12292d4f…. CHRG-119jhrg60491 is pdf_extracted from its retained 89-page PDF. The production text keeps every pdfium word except the 227 GPO slug lines that its cleanup removes. Seventeen HTML digests moved only in Cloudflare data-cfemail, and their text is equal. Eight hearing-detail 404s are retained, and their event_id is NULL. CHRG-106hhrg64097 and CHRG-104hhrg26486 publish cover-only HTML (876 and 1,175 characters for 190 and 151 stated pages) as not_flagged. Receipt: drift-qualification-2026-09-26/congress-docs/.
T10 run-rollup-committee-reports hearing_bill_links.parquet qualified at 95810b26… (2026-09-26): table 474ec9d2… is byte-identical to the one at 5e1e73ad…. All 86 links replay against this run's retained MODS COVER entries under rule d06e0bd80ca1. CHRG-117shrg56721 has a NULL held_date and keeps all 11 native dates. The other eight linked hearings each keep their single date. Every event_id is NULL: the retained details of eight hearings name no meeting, and CHRG-119hhrg60291's four links follow a retained detail 404. Receipt: drift-qualification-2026-09-26/congress-docs/.
T10 run-rollup-committee-reports committee_report_reads.parquet qualified at 95810b26… (2026-09-26): 288 checkpoints equal their journal outcomes: 278 complete, 8 detail_refused and 2 refused. Every checkpoint carries body=placeholder-pdf-002, and all 288 were selected (141 CRPT, 147 CHRG) with none deferred. The two refused parts carry last_modified from their retained summaries. Receipt: drift-qualification-2026-09-26/congress-docs/.
T08 run-rollup-print-citations house_activity_reports.parquet, budget_volumes.parquet, bill_committee_actions.parquet, document_citations.parquet current c8e49dbb… is PARTIAL (2026-09-27): preserves all 52,716 rows at a9fa600c and all sibling table bytes, adds 12 exact communication-field findings then 18 exact derived court-PDF findings. All 52,746 rows retain current parent text digests. Court source-specific rules exclude generic docket numbers after a native proclamation false positive; one body rereads successfully with zero findings. Prior print precision/recall limitations remain explicit. Public byte readback passed. Receipts: communication-held-citations-2026-09-27/ and spicy-regs-court-citations-20260927/.
T08 run-rollup-senate-expenditures senate_expenditures.parquet generated and verified; replayed byte-identical; qualified at acef9fcf… (2026-09-22)
T08 run-rollup-laws laws.parquet qualified at 43130abc… (2026-09-25): all 113 identities survive, and every row replays against its admitted evidence 4d77e2fc…. Private laws 119-1 and 119-2 are captured_partial with reason statutes_citation_not_stated; they keep their citableAs values, and their bytes equal the earlier hash-bound XML. No row claims not_requested, and the earlier citations are unchanged. 119-111 is newly captured at 140 Stat. 1026. Receipt: repair-qualification-2026-09-25/congress-documents/.
T08 run-rollup-laws law_code_sections.parquet qualified at 43130abc… (2026-09-25): all 3,655 rows keep every source-value cell of the c9d35661… audit. Only observed_at moves, to this run's retained classification captures. Their stated laws and prepared dates match; the pages were not re-parsed independently. Receipt: repair-qualification-2026-09-25/congress-documents/.
T08 run-rollup-laws table3_records.parquet qualified at a6ff3892… (2026-09-26): table 38d110cd…, 2,983 rows over 40 acts, derived from OLRC's Table III bulk file at release point 119-73. It equals the replay of the bulk derivation row for row on (act_key, seq), in every column but observed_at. That replay was compared with the page-walk table fd1609ad…, whose rows had replayed cell for cell against their retained pages on 2026-09-25. All 2,981 of those rows survive, with four act-level columns (stated_key, congress, act_date, statutes_at_large_volume) restated in the file's spelling. 119-30 and 119-53 are added; the walk never reached them, and each was probed against its OLRC page. The R8 audit pairs all 2,981 prior identities, removes none and fails nothing. Receipt: table3-bulk-2026-09-26/ (live/).
T08 run-rollup-committee-rosters committees.parquet, committee_assignments.parquet qualified at 9ab5e338… (2026-09-25): 236 committees and 2,966 assignments preserve every substantive prior cell. All 450 Senate native seat identities and member fields match fresh XML; its later file-date restamp is an explicit capture-time limit. The declared/served committee discrepancy and 28 unlisted relationships remain; House seats carry the earlier qualification. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-house-communications house_communications.parquet qualified at fa33e547… (2026-09-26): 5,006 rows, 0 list-only. R8 is clean on it and on each generation of the 09-26 evidence drain (bc3715f0… → fa33e547…, runs 36243144053–36248685095 at a663f38): evidence admitted and bound, 0 failures. The journaled unverified remainder falls from 4,006 to 0. List membership (5,006 = the declared count of its 43 retained pages) and all 40,048 list cells replay. Every row's detail replays cell for cell from the one retained response that read it, through an independent raw-JSON parser: 170,204 cells, 0 mismatches. Against 257e889a… only the six formerly list-only rows changed; all 5,000 re-read details came back identical. RIN limit: the rule misses 14 report natures whose RIN is malformed (11) or labelled RINs:/"Regulation Identification Number" (3), and keeps only the first RIN on the 6 rows that state several. Receipt: amend-hc-qualification-2026-09-26/house-communications/final/. qualified at 94d28167… (2026-09-27): all 5,006 rows and 32 prior columns are unchanged; the shared reader emits 2,076 separately located RIN occurrences on 2,046 rows. Every span and field digest is verified, with exact public byte/count readback. Prior source fidelity is inherited; this is a retained-field interpretation refresh with zero origin requests. Malformed/context coverage remains bounded by that reader. Receipt: spicy-regs-t18-refresh-20260927/. Coverage measured on 2026-10-03 on the live generation 0c55b1e9… (not re-audited): 5,015 rows, the 119th only, ec 1..4792, ml 1..136, pm 1..68 and pt 1..19 contiguous with no list-only row, every row detail-read; the publisher's list then declared ec 4,821 (newest 4817, updated 2026-10-02) and ml 136 (the pm and pt counts were not read: API rate limit), so the table holds the list whole to its run's read and the dictionary's coverage kind moves from Sampled to Window. Receipt: mcp-chaos-2026-10-02/round3/implementation-dictionary.md.
T08 run-rollup-committee-meetings committee_meetings.parquet qualified at f85be7b6… (2026-09-25): 2,765 meetings, preserving all prior identities. Three additions and five changed records match native responses in all 216 checked cells. The corrected NoChamber population is retained; current list/carry-forward discrepancies remain explicit source-scope limits. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-record-issues record_issues.parquet qualified at 6b1913da… (2026-09-25): 367 issues; the added issue matches all 17 native fields and every prior row is unchanged. This carries the recorded source selection, not complete historical coverage. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-treaties treaties.parquet qualified at 4ccf2d7a… (2026-09-25): both rows are exactly unchanged from the previously qualified selection. No fresh whole-source walk was performed; broader history and detail remain outside this carried scope. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T08 run-rollup-nominations nominations.parquet qualified at d4622c60… (2026-09-25): all 2,214 rows are exactly unchanged from the qualified predecessor. A fresh pooled list yields 2,212 native identities plus the two retained parent identities; later native changes remain explicit and do not establish frozen-output freshness. Prior population/part reconciliation remains evidenced in ledger-continuation-2026-09-24/nominations/. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T06 run-pipeline dockets.parquet publication verified at table digest 308b35c6… (2026-09-26; ETag 50d8cfba…): 279,380 rows with unique docket_id, published by hosted sweep run 36177463432 and read back anonymously (receipt hosted-sweep-readback-2026-09-26/readback.json). Managed family generation 69afafdc… (run 36207823917 at 1d283d5) holds these exact bytes. At the earlier table 680b86ad… (279,336 rows), the latest five native records match every mapped field after locating their exact numbered source captures. This is bounded source evidence; whole-population source qualification after catch-up remains PARTIAL. Earlier T06 source qualification is retained in the execution receipts. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T06 run-pipeline documents.parquet publication verified at table digest d7487819… (2026-09-26; ETag f3324286…): 2,002,831 rows with unique document_id, published by hosted sweep run 36177463432 and read back anonymously (receipt hosted-sweep-readback-2026-09-26/readback.json). Managed family generation f0796ed9… (run 36207823917 at 1d283d5) holds these exact bytes. At the earlier table ff502e4b… (2,002,562 rows), the latest five native records match every mapped field after locating their exact numbered source captures. This is bounded source evidence; whole-population source qualification, document bodies and extraction evidence remain PARTIAL. Receipt: parallel-rollup-audit-2026-09-25/ (workstream details in the audit report).
T06 run-pipeline comments_index.parquet published and verified at table digest c43559bd… (2026-09-26; ETag fb95b0e8…): 143,397 groups sum to 26,311,037 comments, and every group equals a recount of the public monolith (check_comments, run on the downloaded bytes). Published by hosted sweep run 36177463432, whose verify job also passed the raw-catalog check. Receipt: hosted-sweep-readback-2026-09-26/readback.json. The earlier local-recovery index (2a050b5e…, 143,367 groups, 26,303,691 comments) is receipted in comments-local-export-2026-09-25/.
T07 publish-comments-mirror.yml comments.parquet published by hosted sweep run 36177463432 (snapshot 3697835162427868969) and verified at table digest 0d11e204… (2026-09-26; ETag 1970f15e…): 26,311,037 rows with unique IDs across 180 agencies. Its publisher refuses the loss of any previously published ID, and every index group equals a recount (receipt hosted-sweep-readback-2026-09-26/readback.json; hosted qualification). The earlier local recovery (table b90e1105…, 26,303,691 rows) retained every previously published ID. The catalog export adds 2,413,288 rows to the prior public population. Public bytes, unique IDs and index coverage are verified; wider native-source qualification remains open. Earlier native and attachment-text repairs are retained in comment-text-repair-2026-09-23/; current publication receipts are in comments-local-export-2026-09-25/.
T07 publish-comments-mirror.yml comments/agency/agency_code=<agency>/part-0.parquet republished by hosted sweep run 36177463432 with the 26,311,037-row snapshot; the publisher read back every file and the verify job's public check passed, but these files were not re-hashed independently. The 2026-09-25 local-recovery files held the same 26,303,691 IDs as that monolith and agreed with every index group; comments-local-export-2026-09-25/public-object-verification.json records each file’s digest, ETag and row count
T17 materialize-rulemaking rule_targets.parquet, proceedings.parquet, regulatory_agenda_items.parquet, agenda_item_proceedings.parquet, comment_periods.parquet, rulemaking_lifecycles.parquet, lifecycle_events.parquet, agency_lifecycle_stats.parquet qualified at snapshot_f31a4045… (2026-09-27): run rulemaking-20260927T074229Z on newer dockets (5805cb81…) and documents (c2c345d5…), its other three inputs unchanged. A replay at 3bc0a97 from the manifest's own inputs and prior (snapshot_91b19da7…) reproduces all 8 outputs byte for byte, and every table's row count equals snapshot_91b19da7…'s. Receipt: rulemaking-f31a4045-2026-09-27/. Before it, at snapshot_91b19da7… (2026-09-27): the lifecycle stages are live (decisions 54–55, 54a–54c, 56c; spicy-regs 3bc0a97), run 36300108462, on the same five inputs as snapshot_9b2c770e…. A replay at 3bc0a97 from the manifest's own inputs and prior reproduces all 8 outputs byte for byte, and ignoring run_id, asserted_at and supersedes_id the three lifecycle tables and proceedings equal the independently reviewed replay L3. 75,270 lifecycles (25,861 finalized, 28,387 final without a proposal, 10,186 no anchor, 8,723 open, 1,252 companion, 721 withdrawn, 140 upload pairs), 135,362 lifecycle events and 344 agency cells (172 suppressed under 30 rules). Time to final by Aalen-Johansen with withdrawal competing: median 259 days [252, 264], routine 126, non-routine 632; all 172 unsuppressed cells equal R's multi-state survfit. Actors: rulemaking-lifecycles v1, lifecycle-events v1, agency-lifecycle-stats v1. Receipts: rulemaking-91b19da7-2026-09-27/, lifecycles-2026-09-26/ (reviews in review-lc/). Before it, at snapshot_9b2c770e… (2026-09-27): proceedings v12 is live (decisions 56, 56a, 56b, 58–61, 59a, 60a and 61b; spicy-regs 4fea1ff, bb81547), run 36292360437. A replay at bb81547, on the five sources the manifest names by digest and the prior snapshot_7eafd657…, reproduces all 5 outputs byte for byte. Ignoring run_id, asserted_at and supersedes_id, every row equals the independently reviewed replay BEC5 on 7eafd657's inputs; fr-docket-links 0ff4783d… is the only new input and changes no row. It holds 172,742 proceedings (75,270 docketed; 89,662 of 97,472 docket-less carry an agency code), 617,135 rule targets, 52,092 agenda items, 148,011 agenda links and 281,635 comment periods. 28,365 Register documents join their copy's docket and 4,090 attach by specific RIN. Actors: rule-targets v7, proceedings v10, agenda v6 and comment-periods v10. Known limit: an agency's umbrella RIN held through one copy draws in unrelated rules (12 target and RIN pairs, 148 documents; MSHA 1219-AA98). Receipts: rulemaking-9b2c770e-2026-09-27/, proceedings-v12-2026-09-26/ (review in review-2b/). Before it, at snapshot_7eafd657… (2026-09-26): proceedings v11 is live (catch-all FR feed dockets take no action evidence; a feed docket forms a proceeding only on its own RIN). A replay at the building commit 3d4a696, on the five sources the manifest names by digest and the prior snapshot_911969b4…, reproduces all 5 outputs byte for byte. Ignoring run_id, asserted_at and actor_id, the outputs equal the v11 replay measured on the frozen R5 inputs, except one supersedes_id that depends on the prior. So federal-register 4a40a635… (B2's new topics_json) and the rebuilt fr-docket-links change no row. It holds 267,965 proceedings (194 feed shells gone; 7 feed dockets keep their own-RIN proceeding), 618,829 rule targets, 52,092 agenda items, 155,147 agenda links and 286,065 comment periods. Actors: rule-targets v6, proceedings v9, agenda v5 and comment-periods v9. Receipts: rulemaking-7eafd657-2026-09-26/, frdoc-catchalls-2026-09-26/. At snapshot_911969b4…: every public digest matches its manifest, and every input digest matches a published parent admitted against its own pin: dockets e601dbf6…, documents 7c98ef8c…, federal-register 40dfab8e…, fr-docket-links acc047d1… and unified-agenda 649cfd28…. Actors are rule-targets v5, proceedings v8, comment-periods v8 and agenda v4, and no reference dangles. With SpicyDocs 0.38.0's docket reader, an independent SQL rebuild of decisions 32–33 reproduces all 268,159 proceedings exactly. Every difference from a relaxed scan traces to 105 reader-disagreement pairs: former identifiers, fused or broken labels, and the 10 values the D1 receipt leaves unread. FAR-2018-0003 and DHS-2004-0009 now hold their action notices, and FDA-1999-F-0118 is restored under its original id. Its notice 99-20888 names only 99F-0001, so it stays FR-only, as decision 33 reads. From snapshot_837754c3…, 191,842 proceedings retired as no-action shells, 3,189 merged and 31 split, with the rest retained and none unexplained. No link pair is lost except one former identifier the D1 ruling fences. No predecessor list names a live sibling, and all 178 links trace. Limits: the 3,010 lineage links erased at snapshot_47cca15e… stay unrestored by owner decision; 572 citation-only action dockets do not absorb the notices they cite. Receipt: r5-reaudit-2026-09-26/.

September 24 report refresh

Run 36032871739 at cded33d published generation 52325038…. The 17:30 UTC anonymous readback verified its declared schemas and counts: 137 rows describing report parts, 1,757 sections, 133 hearings, 78 hearing–bill links and 269 read checkpoints. CRPT-119hrpt494 has parts 1 and 2, and CRPT-119hrpt811 is keyed to its -pt1 source. The receipt is workflow-audit-2026-09-24/report-refresh-public-readback.json.

The independent source audit now qualifies reports, sections, hearing bodies and read checkpoints at this generation. Every prior report body, section content, hearing and checkpoint survives the migration. The audit compares the admitted public bytes with retained native responses without calling the production readers or shapers. Receipts, scripts and fresh source checks are in report-hearing-qualification-2026-09-24/.

The hearing-link table keeps its earlier qualified pin. All current COVER relationships match the source, but one compiled volume has no unique date: CHRG-117shrg56721 names 11 dates while its 117-s-2792 link publishes only the first. Preserve the relationship and all native dates in SpicyDocs, expose a scalar only when unique, then release/pin that change and invalidate CHRG checkpoints before reprocessing. A dependency upgrade alone does not invalidate their current relationship-rule checkpoints.

Two valid historical parts, CHRG-79jhrg79716p19 and CHRG-79jhrg79716p11, appear in native listings and fresh GovInfo summaries but fall outside the reader's package grammar. They are not acquired or checkpointed. Six other hearing details return 404 and remain correctly retryable; their GovInfo bodies are retained. Discovery covers the recorded modification window and incomplete prior reads, with no supported package deferred by the run cap. This audit does not establish complete hearing history or agenda-link coverage.

Open items

The dated narrative behind the rows (the September 21–22 status, the scope gaps and the September 23 continuation) is in the fork execution log; "plan" below is SpicyDocs' docs/research/consolidation-path-2026-09-22.md.

  • Audit reconciliation: the September 25 workstreams advance only the qualified scopes above. Partial outputs retain earlier scoped pins; failed outputs carry no qualification phrase. scripts/check_ledger_pins.py reports generation equality, not semantic completion. The September 26 drift qualification audited the generations that advanced afterwards, CRS included. House communications has 992 list-only rows at its partial current pin.
  • Rulemaking joins: the September 25 local refresh published snapshot_6d3dc0f2…, including the merged labelled-docket and decisions 32–33 corrections. Its public manifest and every output match the local bytes; it holds 268,314 proceedings after the completed metadata catch-up. That snapshot is superseded: R5 is met and rulemaking qualifies at snapshot_911969b4… (its row; receipt r5-reaudit-2026-09-26/); the earlier reviewed scope is retained in docket-lists-2026-09-24/published-step/.
  • Comment and document text: the derived-text repair is published (plan A6, ruling 7; the 13 attachments whose derived text Mirrulations does not hold are recorded in the receipt); document bodies, extraction status and PDF-extraction evidence are still null (log: Scope and evidence gaps).
  • Other parsing-survey limits: chamber vote days remain distinct from UTC bill-action instants. The larger subjects and print generations are now published but only partly source-audited; earlier key/grammar corrections retain their scoped evidence. See the September 25 rows and audit report.
  • Comments: local catch-up and publication of the monolith, index and agency mirror are complete. Their population and public bytes are verified at the September 25 pins above. Native repair beyond the previously reviewed cohorts remains open. The dated partition tree is retired (decision 40). Three oversized derived texts and one empty FWS source response remain recorded for follow-up. See Operations and the runbook.
  • Bill family: the scoped timestamp/URL repair is published and qualified at the pin above. Bodies for the 113th–119th are captured from GovInfo's BILLS bulk (T09). The 108th–112th have no bulk source; decision 68 back-fills their XML per package after multi-file bill_sections and the per-package refusal memory. The models stay off (decision 34), and ordinary source retention remains open. 119-hr-3446 and 119-hr-940 still have newer Congress.gov detail dates than current BILLSTATUS; the ordinary family has no API delta path. Six reserved House identities absent from the captured archives retain their prior values (receipt bill-family-publication-2026-09-24/qualification.json).
  • Agency scrapers (spicy-docs 0.34.0, adopted at 5a16d3a): FCC filings now delegate their walk to FccEcfsReader.iter_filings, which partitions a crowded query by submission timestamp with reconciled counts (live: a 19,676-filing selection in 26 requests), so a day above the publisher's 10,000-result ceiling is a scope choice here, not a limit; the merge streams through write_rows and keeps the prior bytes on failure. The SEC, FERC, CFTC and USITC EDIS readers ship in the same release with no consumer here; each resumes by full re-walk and has no publish profile, so scheduling and recovery stay with this host when adopted. EDIS bulk ZIP jobs need a signed-in session (the token alone redirects to login) and have no client. The source-side open items, by package, are in spicy-docs docs/research/agency-scraper-completion-2026-09-24.md ("Open items after the 2026-09-25 validation"); the consumer-side ones are in PLAN.md (Next actionable work).
  • Wider populations: lobbying beyond its bounded load; SAM's 5 registrations with no registrationDate, which a year-windowed extract cannot reach; FCC filings before the first window; USAspending beyond its top-100-page selection; CourtListener's full scope, rate budgets, newer catch-up and the non-civil docket scope decision (log: Scope and evidence gaps, Latest continuation).
  • Lifecycles: decided (54–55): one row per docketed proceeding, built as a rulemaking-dataset stage on proceedings v12, with its two companion tables. Built, not yet published: rulemaking_lifecycles, lifecycle_events and agency_lifecycle_stats join T17's row once a snapshot carries them. The documents-based rollup (run-rollup-lifecycles, withdrawn 2026-09-23 under decision 4 after its 2026-09-22 run published 2f001194…, 26,519 rows) is deleted with its row.
  • Reports and hearings: the family qualifies at 95810b26… (its rows); the compiled-volume date is fixed (CHRG-117shrg56721 publishes no scalar date and all 11 native dates). The two 1946 historical parts (CHRG-79jhrg79716p11, p19) are admitted by the grammar but refused over the 24 MiB body bound (312 and 373 MB, PDF-only); a size refusal is being made final so they stop being re-requested. The earlier report refresh remains dated history.
  • Successful-run findings: fixed and verified live on 2026-09-26: private laws 119-1 and 119-2 read captured_partial with their bytes kept; Table III keeps its four blank-act-section rows (act 119-37); USAspending dates 10,000 of 10,311 rows. The broader subjects audit remains partial. SAM now retains every extract it reads: the 2026 file and each year the scheduled rotation reads. Ordinary external readers need routine source-response retention under T18. See the log audit and September 25 audit.
  • FEC (T05): broader individual records and correction streams (log: Scope and evidence gaps). Committee history is published from the bulk committee master (below).
  • Table III bulk (2026-09-26): table3_records is now derived from OLRC's Table III bulk file, one request a run, for every Congress the laws table holds, so the chain cold start and the 45-day scope window no longer apply. The first bulk generation (laws a6ff3892…) restates four act-level columns in the file's spelling and adds 119-30 and 119-53, which the page walk never reached; T08 records its re-qualification (receipt table3-bulk-2026-09-26/live/).
  • Operations (T18–T20): the hosted mirror export and the first resumed incremental sweep are qualified, and scheduled ETL runs again (September 25 hosted qualification). dockets and documents publish as managed families at sweep finalization (run 36207823917 at 1d283d5), so DocSpec can admit them by reference. Queued publication work: store table members once, since every generation publication still re-downloads its whole family; then the comments family; and qualify browser queries against the new monolith order. The operations checkpoint records the remaining deployment and access work.

Operations checkpoint

September 25 hosted qualification

Three hosted runs qualified the mirror export, the verified no-change skip and the first complete incremental sweep since before September 10; their numbers are in the efficiency note. ETL was re-enabled at 19:04 UTC. Changes made alongside:

  • Listing. A sweep now spends most of its time listing Mirrulations (80.7 of the sweep's 107 ingestion minutes). SpicyDocs 0.33.1 (4503f59, adopted at 1f201b9 and carried into 0.34.0) lists each agency as concurrent contiguous docket ranges: four agencies took 133 s instead of 449 s with identical keys. The 18:25 sweep now runs only when no scheduled sweep has succeeded that day (afe2274). The 06:25 UTC sweep on September 26 is the first on the new listing.
  • Publication pointer. Parallel dependent rollups share one compare-and-swap on publication.json; a lost race to another family now rereads and merges instead of failing the job (a89476e, logged by 4b345a5, and R2's ConditionalRequestConflict counts as a lost race since 123cf59).
  • Source evidence stored once. Evidence blobs live at source-evidence/blobs/sha256/<hex>, uploaded create-only with Content-MD5 and verified once (123cf59, source evidence). A probe confirmed R2 refuses a wrong Content-MD5 (BadDigest). The first real uploads held 2,737 shared blobs (278.6 MiB) by 22:28 UTC, which let SAM and bill-status retention turn on (197e449).
  • Upstream. #198 is merged with the swap-insert retry: a7237d9, 37ce426.
  • Local data. 57.5 GB of superseded comment Parquet builds were deleted from comments-efficient-publisher-2026-09-25/, comments-efficiency-review-2026-09-25/, comments-local-export-2026-09-25/, full-comments/ and comment-text-repair-2026-09-23/. Every receipt, digest record, log, script and raw capture remains, so the directory citations above resolve; the deleted builds can no longer be re-hashed locally.
  • Validation audit. A stack-wide duplicate-validation audit is in /Users/mikewolfd/Work/corpora/fork-execution-2026-09-21/dry-validation-audit-2026-09-25/ (findings.md, findings.json). Its top open item is the per-publication family re-download named in the Operations item above.

September 25 publication efficiency — local implementation

The efficiency refactor is implemented locally: pinned snapshot reads, agency-first sorting, streaming monolith assembly, one final index, verified no-op receipts and reused sweep membership. Exact identity/coverage checks remain. Empty agency replacements clear old public URLs after a move; partial uploads do not advance the completion receipt. The runbook describes manual and scheduled finalization/recovery.

The repository checks pass. The full local build retained the exact published population and passed schema, ID, count and all-column fingerprint comparisons. The adopted 3 GB/one-thread settings completed in 527 seconds at 9.62 GB process RSS; the configured budget is not a process cap. Receipts are retained in comments-efficient-publisher-2026-09-25/; the linked record separates these measurements from hosted qualification. This implementation did not change public objects, dispatch CI or resume the ETL schedule.

September 25 local mirror recovery

All catch-up batches completed at 01:41 UTC. The hosted completion run 36083102561 then exhausted DuckDB’s 6 GB export budget and stopped before publication.

The same publisher ran locally with a 16 GB export budget and two threads. It published the monolith, index and agency files by 10:11 UTC. The 10:16 UTC public/catalog check passed unique-ID and exact agency/docket/month coverage checks, including the three source-null docket relationships. Every previous public ID remains present, and all published objects match the local files by size and ETag. Full file digests and receipts are retained in comments-local-export-2026-09-25/.

Scheduled ETL stayed paused pending hosted export qualification, because local resource controls do not establish that the smaller CI runner can complete the export. It resumed at 19:04 UTC the same day (hosted qualification). Feed summary, agency statistics, monthly volume, docket search, discovery, organization links and rulemaking refreshed successfully by 10:17 UTC, with the base versions unchanged. Monitoring and the read-only duplicate audit are enabled again; the manual mirror entry is available. The retained consumer-progress.json, refresh-inputs.json and completion.json record these results and the remaining hosted-export gate. The one empty raw-source response and three texts above the 64 MiB read limit remain in the published retry checkpoints. This is publication and integrity evidence; wider source qualification remains separate.

September 24 recovery history

Public counts checked September 24 at 17:32 UTC; failure state and unchanged public ETags checked at 17:45 UTC. Catalog recovery was verified at 18:18 UTC and catch-up restarted at 18:21 UTC. Publication measurements below remain separate from the source-qualified pins in the output table.

  • Catalog bootstrap is complete. The seed check proved every selected docket and comment ID present and unique, and verified the original input ETags. Manifest 28439568… was published at 15:35 UTC; later batch publication has advanced that checkpoint. Receipts: etl-seed-2026-09-24/ and ledger-continuation-2026-09-24/.
  • Hosted sweep 36021389999 completed batch 0 and was cancelled at 16:36 UTC while batch 1 was staging. The local runner at cded33d stopped at 17:42 UTC: index validation found missing docket_id values on staged comments CFTC-2026-0595-0003 and CFTC-2026-0595-0005. The log reports completed catalog merges to 279,129 dockets and 23,972,436 comments, followed by failure before public upload or manifest save. These are the failed attempt's counts; the comment identity check and cleanup below supersede them. Retained staging remains in etl-local-catchup-2026-09-24/output/, with first-attempt status and logs archived in attempt-01/. Full ingestion, source qualification, mirror publication and readback remain open.
  • Source investigation at 17:55–18:00 UTC confirms both affected comments have explicit null docket IDs in the mirror JSON, and every mapped native field matches staging. They are archived test submissions; the current official API returns 404 for both, while their explicit parent document, docket and a neighboring comment return 200. Each affected ID appears once in the catalog. The application excludes these exact reviewed payloads at 3953175, with raw evidence retained and changed payloads requiring another review. Missing docket IDs still refuse admission; staging is validated before persistent merges. See the source investigation and cftc-missing-docket-2026-09-24/ receipts.
  • Recovery at 18:18 UTC retained the complete catalog rows, removed only the two reviewed source versions and verified through a reopened connection: 23,972,434 comments, every ID unique, neither excluded ID present and no null docket IDs. Neither removed row was in the public comments file. The failed attempt's local manifest exactly matched the freshly downloaded public checkpoint (db964dd4… SHA-256). Retry began at 18:21 UTC using 3953175, a fresh output-retry-02/ directory and that verified manifest. Receipts: cftc-test-exclusion-repair-2026-09-24/; the repair record explains the deletion checks and validation.
  • The comment-text refactor shares a bounded comment worker pool between ETL and backfill, persists independent text retries and permits local manifest reuse. The fixed CFPB sample produced identical text/provenance and a 6.4-fold median text-fetch improvement with eight workers; this is not a whole-run estimate. Local validation and the pinned-checkout handoff are recorded in the refactor evidence. The current batch keeps its existing revision until it commits; handoff.json and progress.json record adoption. Public mirror completion remains open.
  • Public metadata now shows 279,126 dockets (ETag 91c7ee92…), 2,001,540 documents (549ec0cc…), and an index (b2a78582…) with 113,008 groups advertising 23,904,451 comments. The public monolith remains at 23,890,403 rows (cce5e386…), trailing the index by 14,048 rows. The manifest has 26,190,992 keys (98336740…). These are observed publication counts, not replacement source-qualified pins. Receipt: workflow-audit-2026-09-24/base-public-readback-during-catchup.json. The public ETags were unchanged after the failure; staging rows and public headers are retained in local-catchup-batch-01-failure.json in that directory.
  • ETL, mirror publication, dedupe and comments monitoring were paused during local catch-up; they resumed on 2026-09-25 after hosted qualification. The completion watcher refused the failed attempt without dispatching the mirror or restoring schedules. Its retry requires successful batch receipts, CI and the reviewed fork revision, then publishes and verifies the mirror and dependent outputs before restoring incremental scheduling. progress.json and completion.json hold current supervisor state; attempt-01/ retains the earlier failure.
  • Repairs through e944365 are pushed and CI passes. Dedupe is audit-only by schedule; explicit repair preserves its complete candidate through interrupted replacement, verified on a real scratch R2 catalog. Publication now checks retained IDs and exact coverage. Dependent jobs wait for inputs, and base ETags are retained and rechecked. The full regulatory completion chain still awaits execution. See the workflow review.
  • Pages deployment succeeded; active live schemas now pass (below). Wrangler verified the active catalog and uncached r2.dev endpoint with no custom domain; the configured MCP Worker was absent at that check. Purge credentials are unnecessary for this serving path. GEMINI_API_KEY remains absent and Zyte remains configured but unwired. SAM's request repair and the scheduled bill_subjects repair still await successful-run qualification.
  • Live dictionary verification — resolved: active published schemas pass run 36033160021, attempt 2 after the report migration. The checker follows publication inventory, skips the withdrawn lifecycle object, continues past unreadable tables and fails incomplete verification separately from Pages deployment. This verifies schema agreement; source qualification remains specific to the pins above.

September 27 additional source families

Task Producer Output Delivery state
T12/T13 run-rollup-native-legal-references native_legal_references.parquet, native_legal_reference_reads.parquet Earlier audited pin 53755e3e… (2026-09-27): complete retained eCFR Title 1 requested-as-of 2026-08-10 and USC Title 1 release 119-103 produce 881 exact observations and two complete selected-shape reads. Enclosing publisher bytes and receipts verified. Selected targets resolve 19 occurrences; missing, unsupported and unqueried targets remain explicit. Classification matches do not prove full Code text/current effect. Public bytes verified. Receipt: native-legal-full-2026-09-27/resolved-verification.json. Republished in Window 1 under native-legal-reference/003 and qualified at 0c7cc062… (2026-09-29): both published tables are byte-identical to the reviewed rebuild candidates (0d1d912c…, bdfbf577…), checked by digest on the local build before upload and in the live index after it (receipt window1-2026-09-29/native-publish/). The same retained manifest rebuilt through spicy-docs 0.52.0's reading and compared with 53755e3e… column by column (2026-09-28): every row of both tables moves rule_version from /002 to /003, 14 target_candidates_json values are re-spelled by json_column (the same JSON) and 51 text candidates in 31 eCFR notes move to citation rules 004; nothing else differs, and the same 19 occurrences resolve. Receipt: regs-adopt-052/native/rebuild-compare.json.
T15/T24 prepare_captured_opinions court_opinion_pdf_extractions.parquet qualified at 6d1e4e65… (2026-09-27): three literally offered PDFs match the selected native opinion SHA-1 fingerprints and retain SHA-256, redirects, acquisition times, extraction outcomes/version and derived text. Their parent opinion generation is explicit; these are not native CSV text fields or complete court body coverage. All public bytes verified. Receipt: spicy-regs-court-cohort-20260927/publication/publication-receipt.json.

September 27 join-delivery completion

The selected original join-delivery acceptance is complete; see the execution ledger for every task, exact pins and retained limitations. This is bounded source qualification, not full historical coverage.

  • Comments snapshot 50021510906269595 passed hosted publication, public and raw-catalog integrity, downstream refresh and public MCP readback. Native NULL dockets survive the three corrected ODNI rows.
  • Documents generation b4f1d751… adds explicitly read attachment relationships for three documents, preserving all prior IDs and legacy cells. Other attachment values stay unread NULL. Exact public bytes and dependent refreshes passed.
  • All eight aggregate comparisons passed after the final document refresh, with stable input versions and zero differing groups. The final rulemaking generation is snapshot_6456464b417a4697a9d175faa8ce75de.
  • Application 3e423cd is deployed as Worker ece7e6c7-4f1f-4e36-a2af-f017d7c175ec; 22 bounded final public checks passed. SpicyDocs 0.50.0 is vendored from reproducible source build 8844068. Hosted implementation CI passed in both repositories.

The execution ledger preserves previous failed and superseded attempts. Wider source backfill, arbitrary-date agency identity and unsupported Senate payment layouts remain expansion work, not accepted source facts.

Out-of-band publications from codex/mcp-research-chaos (2026-09-27)

Four publications on 2026-09-27 ran from a local checkout, not from a GitHub workflow. Each record below is taken from the retained receipts and the Codex session transcripts under ~/.codex/sessions/2026/09/27/.

All four share one publisher, ~/.codex/artifacts/spicy-regs-join-implementation-20260927/publish_reviewed.py, which is not in this repository. It loads R2 credentials from the checkout's .env and refuses if the family moved since the candidate's read snapshot. It then calls this repository's publication.publish_generation (index compare-and-swap and table-set guards) and reads the objects back publicly. Cloudflare purge was skipped each time because no token was set.

None of the four candidates was built from a committed revision. Each generation's producer.implementationId matches no commit from 8082191 to 8350352; the transcripts show in-place source patches before each build. The commits below are the nearest ones, inferred from timing. They are not the exact producing code.

native-legal-references 53755e3e… (tables native_legal_references, native_legal_reference_reads)

  • Published 22:19:00Z with uv run --frozen python …/publish_reviewed.py <receipts>/native-legal-full-2026-09-27/candidate-resolved/generations/53755e3e… <receipts>/native-legal-full-2026-09-27/publication <receipts>/native-legal-full-2026-09-27/candidate-resolved/source-evidence/72d568a3025147cfb49bc1671647b0f5/artifact. Here <receipts> is ~/Work/corpora/supply-2026-09-02/receipts.
  • Built by an ad hoc resolve.py calling NativeLegalReferencesRollup(manifest=selection-with-targets.json, skip_upload=True).run(). The manifest points at retained local XML and Parquet.
  • Checkout was 38379e7 plus edits later committed as 5afd01f; spicy-docs 0.48.0.
  • Receipt: <receipts>/native-legal-full-2026-09-27/publication/publication-receipt.json.
  • Owner from now on: a new rollup-native-legal-references.yml. _rollup.yml passes --manifest only to build-fec-observations, and the retained inputs must be fetched by digest rather than read from a local path.

court-opinion-pdf-extractions 6d1e4e65… (table court_opinion_pdf_extractions, parent court-opinions f7cc67cc…)

  • Published 22:23:10Z with publish_reviewed.py ~/.codex/artifacts/spicy-regs-court-cohort-20260927/body-candidate-final/generation …/court-cohort-20260927/publication …/body-candidate-final/source-evidence/ccaa06b12b4b4ea9bb99403d1062aaa3/artifact.
  • Built by uv run --frozen --no-sync python …/court-cohort-20260927/prepare_bodies.py. It calls prepare_captured_opinions on bodies captured by the ad hoc bodies.py.
  • Checkout was 38379e7 with in-place edits to build_court_pdf_extractions.py; spicy-docs 0.48.0.
  • Receipt: ~/.codex/artifacts/spicy-regs-court-cohort-20260927/publication/publication-receipt.json.
  • Owner from now on: a new workflow, plus a command-line entry for capture and seal. No command publishes this family, and rollup-court-citations.yml is the unrelated bulk CourtListener family.

Held citations into print-citations c8e49dbb… (table document_citations; parents 026be1bc… and 6d1e4e65…)

  • Published 22:28:41Z with publish_reviewed.py ~/.codex/artifacts/spicy-regs-court-citations-20260927/candidate-qualified/generations/c8e49dbb… …/court-citations-20260927/publication …/candidate-qualified/source-evidence/76dc480249f646609dea4022e6d3568f/artifact.
  • Built by R2_PUBLIC_URL=<fork public URL> uv run --frozen --no-sync python -m spicy_regs.pipelines.rollups.held_citations --selection ~/.codex/artifacts/spicy-regs-court-citations-20260927/selection.json --output-dir …/candidate-qualified --skip-upload, after in-place edits to citation_sources.py and held_citations.py.
  • Two earlier local publishes to this family are superseded:
  • a9fa600c… at 21:42Z, from spicy-regs-held-citations-20260927;
  • 026be1bc… at 22:19:48Z, from communication-held-citations-2026-09-27. Its first attempt failed with HTTP 429.
  • Checkout was 38379e7 plus edits committed as 5afd01f 39 s after the publish; spicy-docs 0.48.1.
  • Receipt: ~/.codex/artifacts/spicy-regs-court-citations-20260927/publication/publication-receipt.json.
  • Owner from now on: a selection input on rollup-print-citations.yml, or a thin caller in its concurrency group. Both write the same family, so they must not run concurrently.

documents b4f1d751… and the documents.parquet working copy

  • Published 23:34:26Z with uv run --frozen --no-sync python ~/.codex/artifacts/spicy-regs-t16-public-preparation-20260927/publish_after_refresh.py --execute. The script:
  • asserts that hosted run 36356400996 succeeded and that the prior pin was 7d744518…;
  • replaces the bare documents.parquet with a conditional put_object (IfMatch ETag 66b9d69d…-10; new ETag d44c8714…, sha256 11170e62…);
  • calls publish_reviewed.py for the managed generation.
  • The candidate was sealed by build_generation at 1a020c9 with edits (spicy-docs 0.50.0), and published with the checkout at 3e423cd.
  • Dependent families were then republished locally with --no-skip-upload by refresh.py: agency-stats, agency-monthly-volume, feed-summary, discovery-signals and materialize-rulemaking.
  • Receipts: publication/preflight.json, publication/working-copy-write.json and publication/managed/publication-receipt.json under ~/.codex/artifacts/spicy-regs-t16-public-preparation-20260927/.
  • Owner from now on:
  • The managed generation and its dependents belong to _regulations-refresh.yml (its base-families job runs run-rollup-documents) and the dependent rollup and materialize-rulemaking.yml workflows.
  • The source-qualified working-copy repair has no owner. The ETL also writes documents.parquet, so a repair workflow must share the ETL's comments-catalog-write group.