Skip to content

Port the MYE2 Females/Males sheets as sex-split record sets - #173

Merged
juaristi22 merged 1 commit into
PolicyEngine:mainfrom
juaristi22:uk-mye-sex-split-facts
Aug 17, 2026
Merged

Port the MYE2 Females/Males sheets as sex-split record sets#173
juaristi22 merged 1 commit into
PolicyEngine:mainfrom
juaristi22:uk-mye-sex-split-facts

Conversation

@juaristi22

@juaristi22 juaristi22 commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Facts-only content split out of #164 per the #166 ruling (selection contracts live in the consumer; Chronicle stays facts-only). The three MYE packages gain per-sex clones of every persons record set from the already-committed, sha-pinned workbooks — MYE2 - Females/MYE2 - Males sheet swap, id-segment swap, and a sex: female|male filter alongside age — so sex×age population facts exist for consumers to target. The re-homed UK national contract (microcosm#707) declares 36 sex×age targets against these facts.

+4,784 facts (2× the 2,392 persons facts: uk-countries +736, England-regions +1,656, mid-2024 +2,392). Same artifacts, same manifests, same geographies — only new record sets over already-committed workbook sheets. Row geometry and guards mirror the persons record sets (identical layout across the three MYE2 sheets).

Bundle-expectation surface re-measured on the post-wave-3 base: fact_count 145,222 (+4,784), ons 65,630, person 56,753, calendar_year:2023 6,161, calendar_year:2024 30,578, country:K02000001 4,189. Geography and table counts unchanged (no new geographies or source tables).

Chronicle Governance

  • Approved Chronicle agent role: ledger-source-ingestor
  • Deterministic checks run: source-package validation, source-cell preservation, consumer-contract validation, raw-facts boundary validation — full suite via uv run pytest -q on the bundle tests (7 passed, 15:51, in-test full bundle build).
  • LLM judge verdicts:
    • ledger-source-fidelity: pending review (every fact traces to the committed workbook sheets)
    • ledger-target-profile: n/a
    • ledger-contract: n/a
    • ledger-boundary: n/a (no boundary surface touched)

Tests

tests/test_chronicle_bundle.py re-measured (8 pins moved, all sex-split-shaped).

🤖 Generated with Claude Code

Closes the UK fact-porting waves

Closes #134. With the #166 ruling, the fact-porting waves have no remaining Chronicle-side deliverable:

Facts-only content split out of PolicyEngine#164 per the PolicyEngine#166 ruling (selection
contracts live in the consumer; this repo stays facts-only). The three
MYE packages gain per-sex clones of every persons record set from the
already-committed, sha-pinned workbooks - sheet swap, id-segment swap,
and a sex filter alongside age - so sex-by-age population facts exist
for consumers to target (the re-homed UK national contract's 36 sex-age
declarations, microcosm#707).

+4,784 facts (2x the 2,392 persons facts across the three packages);
bundle-expectation surface re-measured on the post-wave-3 base:
fact_count 145,222, ons 65,630, person 56,753.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

UK source packages, wave 3: back the uk_local_geography profile (constituency + local authority)

1 participant