Repository navigation
Conversation
…tion examples Chronicle holds government-produced records only. State the rule in the README, AGENTS.md, the governance doc and a 2026-10-21 amendment to the facts-only ADR, and remove "TPC/JCT scores" from the source-projection examples in all five places that named them (TPC is not a government publisher; comparisons against outside scores live in the separate scorecard). docs/source-publishers.yaml names and classifies the publisher of all 55 source folders; tests/test_source_publishers.py fails on an unclassified folder, a stale entry, or a new non-government folder beyond the three that predate the rule (isc, ici, kff). The ADR amendment proposes the treatment of edge cases (central banks, regulators, public corporations, intergovernmental bodies, third-party hosts), which awaits a ruling. No source package or data changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Chronicle is to hold government-produced records only. This PR writes that rule down and removes the non-government and "scores" examples. It does not add, move or remove any source package or data.
docs/chronicle-governance.md,docs/adr-chronicle-facts-only.md(line 47, the "validation comparators (TPC, JCT scores)" rationale) and theAggregateFactdocstring inchronicle/core.py. The ADR and governance mentions were not on the original list of three. Chronicle never held a TPC package. Comparisons against outside scores live in PolicyEngine/policyengine-scorecard.isc,ici,kff) with a government replacement for each. The edge cases and migrations await a ruling; until then nothing moves.docs/source-publishers.yamlnames and classifies the publisher of all 55 source folders (packages/∪db/data/).tests/test_source_publishers.pyfails when a folder is unclassified, an entry is stale, an edge case has no category, or a non-government folder appears beyond the three that predate the rule.Audit (2026-10-21, origin/main aa288c3)
What was checked: all 383 manifest registrations and 415 source packages. Every package lives in the same publisher folder as its data. Also checked: the code-defined loaders (IRS SOI, Census PEP, USDA SNAP), the URL hosts in every manifest, and the Thesis observation journal (
codex/thesis-ledger-facts, 251 rows; all government, including central banks).isc(Independent Schools Council),ici(Investment Company Institute),kff(KFF).nbbandfederal_reserve(central banks);ofgemandorr(GOV.UK lists both as non-ministerial departments);nithc(public corporation, Transport Act (NI) 1967) andslc(executive NDPB);eurostatandjrc(European Commission DGs).db/pe_source_inventory.pyregisters a Disability Rights UK news page undersource_id: dwpand the ISC census page. The curated Statbel NIS crosswalk cites publisys.eu.bfpandfpbare the same publisher (Federal Planning Bureau).Consumers of the affected packages, found by searching Microcosm, Thesis, the scorecard, chronicle.institute, and GitHub code search over PolicyEngine, TheAxiomFoundation and ThesisInstitute:
isc-annual-census-*ici-fact-book-table-30kff-marketplace-effectuated-enrollmentjct-tax-expenditures-2024jct-obbba-revenue-estimates-2025jrc-euromod-be-baseline-statistics-2025Decisions queued (rulings needed before any data moves): d1822 (keep both JCT packages; move the comparison-only JRC EUROMOD-BE package to the scorecard), d1823 (edge-case treatment), d1824 (replace then remove
iscandkff; dropici; clean the two inventory/crosswalk items). Full audit and consumer trace are recorded outside the repo.Chronicle Governance
ledger-contract-maintainer(docstring inchronicle/core.py, boundary docs). No source package, target profile, consumer contract, or schema changes.uv run pytest -q(full suite),ruff checkat the locked ruff 0.14.10, and six mutants of the new guard (dropped entry, gov→non-gov flip, bad status, edge case without category, new folder, stale entry), each failing the test.ledger-source-fidelity: n/a (no facts change)ledger-target-profile: n/aledger-contract: REVIEW_PLACEHOLDERledger-boundary: REVIEW_PLACEHOLDERThis PR touches the boundary's wording, not any source data.
Tests
tests/test_source_publishers.py(new): 3 tests; registry ↔ folder equality, status/category validity, no new non-government folders.uv run pytest -q→ 5155 passed, 8 skipped (27.5 min).🤖 Generated with Claude Code