Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4ced6a1
Add child-level childcare attendance donor preparation
hua7450 Sep 12, 2026
c45bf7c
Classify childcare preparation in US runtime inventory
hua7450 Sep 12, 2026
f065a3a
Add verified NSECE attendance adapter and candidate diagnostics
hua7450 Sep 12, 2026
651b69b
Integrate NSECE attendance into US fiscal builds and qualify population
hua7450 Sep 13, 2026
3fe3e68
Fix serializer registration and US spec coverage attestations
hua7450 Sep 13, 2026
a32ec06
Bind childcare attendance provenance and expand validation
hua7450 Sep 15, 2026
5ef8065
Evaluate household-size attendance matching on reserved households
hua7450 Sep 16, 2026
d51b0e6
Evaluate partial pooling and expose remaining attendance selection gaps
hua7450 Sep 16, 2026
d45a72a
Merge main and verify attendance diagnostics on PolicyEngine-US 2.2.1
hua7450 Sep 16, 2026
28b83fc
Audit NSECE calendar uncertainty and revalidate attendance on US 2.2.1
hua7450 Sep 16, 2026
11f2aa3
Test interval-informed attendance and fixed-donor sensitivity
hua7450 Sep 17, 2026
e1b5d6c
Merge main and regenerate US specification checksums
hua7450 Sep 17, 2026
4b567b2
Harden attendance receipt, builder wiring and NSECE bridge after review
hua7450 Sep 17, 2026
35d4054
Rebuild the attendance candidate and evidence under the hardened recipe
hua7450 Sep 17, 2026
6863cef
Register the receipt-only HDF write and correct the new attendance tests
hua7450 Sep 17, 2026
d2601c7
Preserve childcare receipts through repairs and wire exact-k source i…
hua7450 Sep 17, 2026
8d74be6
Merge current main into childcare attendance branch
hua7450 Sep 20, 2026
4f74622
Preserve bound childcare attendance in annual projections
hua7450 Sep 20, 2026
25a54a4
Record verified attendance checks and raw-build blockers
hua7450 Sep 20, 2026
256da78
Merge upstream main and bind attendance cache identities
hua7450 Sep 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,15 @@ to the private repository; when you run `tools/build_uk_rowwise_candidate.py`
yourself, pass `--staging-local-only` unless the operator asked for a staged
upload.

US fiscal builds require the NSECE childcare-attendance stage
(`--childcare-attendance-household-tsv`, `--childcare-attendance-calendar-tsv`,
`--childcare-attendance-inherit-outside-domain-baseline`): attendance is a
required, non-waivable export input bound by a per-person receipt, a build
without it is refused before calibration. The exact-k launcher accepts the same
inputs through an optional `childcare_attendance` configuration object, checks
the packaged survey pins, and forwards them to the fiscal builder. See
[the attendance runbook](docs/us-childcare-attendance.md).

The US fiscal-refresh builder scores its written H5 in household batches.
Before a release rerun, run the small-H5 guard sweep described in
[the release build rule](docs/us-release-build-rule.md#post-export-scoring).
Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ This writes `progress.json`, `events.ndjson`, `calibration_progress.json`, and
final candidate diagnostics under `runs/<run_id>/` without updating production
`latest.json`.

The three childcare-attendance inputs are required export inputs. A US fiscal
build also needs the licensed NSECE files
(`--childcare-attendance-household-tsv`, `--childcare-attendance-calendar-tsv`
and `--childcare-attendance-inherit-outside-domain-baseline`); without them the
build is refused before calibration. See
[docs/us-childcare-attendance.md](docs/us-childcare-attendance.md).

The UK commands (`tools/build_uk_frs_spine.py` and
`tools/build_uk_rowwise_candidate.py`, whose `--release-role` builds either
the national or the dense line) stage version 2 telemetry to
Expand Down Expand Up @@ -223,7 +230,9 @@ Check local files from HDF metadata alone with
`uv run python -m microcosm.data.stored_inputs path/to/populace_us_2024.h5`.

US exact-k ladder candidates use a tag-only lane. Run
`tools/build_us_exact_k_ladder_release.py`, then execute the `publish_command`
`tools/build_us_exact_k_ladder_release.py` with the
[`childcare_attendance` source configuration](docs/us-childcare-attendance.md#build-and-reproduction)
unless the pool already carries bound attendance inputs, then execute the `publish_command`
recorded in `package_result.json`. That command includes `--create-tag`,
`--no-latest`, and `--tag-only`: it uploads the immutable release and creates its
tag without committing candidate artifacts or release copies to the production
Expand Down
1 change: 1 addition & 0 deletions changelog.d/915-us-childcare-attendance.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Derive the three PolicyEngine-US childcare attendance inputs (`childcare_attending_days_per_month`, `childcare_days_per_week`, `childcare_hours_per_day`) for children ages 0–12 from the licensed 2024 NSECE household and calendar files and transfer them onto the US fiscal refresh population (#915). `tools/build_us_fiscal_refresh_release.py` gains `--childcare-attendance-household-tsv`, `--childcare-attendance-calendar-tsv`, `--childcare-attendance-asec-cache` and `--childcare-attendance-inherit-outside-domain-baseline`; the three inputs become required release inputs bound to a per-person receipt that the native loaders and the builder's `--base-h5` loader check, that the L0 refit export carries forward, and that no coverage override can waive. The builder preserves receipts through value repairs, and the exact-k launcher accepts a `childcare_attendance` source configuration with packaged survey-pin checks. A build with neither the source files nor bound attendance is refused before calibration. PolicyEngine-US defaults are unchanged and no population is published.
5 changes: 5 additions & 0 deletions changelog.d/916-attendance-cache-binding.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Bind US fiscal target-frame checkpoints and reform-vector caches to the verified
childcare attendance execution, so a rerun with changed attendance values or
recipe cannot calibrate against stale targets. Revalidate attendance before any
checkpoint lookup and preserve its native receipt before post-export scoring
hashes the finished H5.
20 changes: 10 additions & 10 deletions docs/evidence/spec-engine/us-f0-coverage.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"country": "us",
"documentation_sha256": "0931cbd3aae2abcd8c072b78eba40c1c006b1bf7fa23c6a6681f9a895e47070e",
"field_usage": {
"authored_normative_field_count": 32404,
"authored_normative_field_count": 32407,
"claim_count": 49,
"claims": [
{
Expand All @@ -16,8 +16,8 @@
"legacy_sinks": [],
"mode": "front_end_validation",
"pointer_class": "all",
"pointer_count": 104,
"pointer_sha256": "8a186065f5b8ffc59bc3f62fe927975e6f36bc1e913aa61761652c9a8aa67988",
"pointer_count": 107,
"pointer_sha256": "2c2099d3d5ef3d664f74a2e732870391022a852cf49d5cf96810c9a984d2b20b",
"rationale": null,
"relative_sink_prefix": null,
"source_prefix": "/authored/country_package.json",
Expand Down Expand Up @@ -772,20 +772,20 @@
"verifier": "vintages"
}
],
"configuration_field_count": 42184,
"consumed_field_count": 42184,
"configuration_field_count": 42187,
"consumed_field_count": 42187,
"generation0_effect_counts": {
"legacy_behavior": 38498,
"no_generation0_effect": 3686
"no_generation0_effect": 3689
},
"mode_counts": {
"compiler_semantic": 27717,
"front_end_validation": 354,
"front_end_validation": 357,
"identity_only": 103,
"legacy_behavior": 14010
},
"multiple_primary_use_field_count": 0,
"pointer_inventory_sha256": "8f655670b9794adae905ede64bdceba6395eeb8d642b6c5896d5c516f1f6a6a7",
"pointer_inventory_sha256": "72c746d5f084f96c2b776c65d69acb82b53c26feaa591bfacf2d8d8c878ef01f",
"resolved_binding_field_count": 9780,
"unused_field_count": 0
},
Expand Down Expand Up @@ -2599,7 +2599,7 @@
"country": "us",
"schema_id": "country_spec",
"schema_version": 1,
"spec_sha256": "1cf1f44d9a11458f59ea7d75dce68303816cab3e66668a6c6f6ecfe62d56f8dc"
"spec_sha256": "dde0912303e7ee8cfdcad306f0cdc0b92fbab047f99e01cf3ea8bba1aa855269"
}
},
"report_schema_version": 3,
Expand All @@ -2609,7 +2609,7 @@
"country": "us",
"schema_id": "country_spec",
"schema_version": 1,
"spec_sha256": "1cf1f44d9a11458f59ea7d75dce68303816cab3e66668a6c6f6ecfe62d56f8dc"
"spec_sha256": "dde0912303e7ee8cfdcad306f0cdc0b92fbab047f99e01cf3ea8bba1aa855269"
},
"status": "pass"
}
8 changes: 8 additions & 0 deletions docs/us-annual-static-aging.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@ independent demographic, monetary, identity, and runtime acceptance checks.
That process supplies the separate annual projection acceptance report and
publication decision; this module supplies no certification override.

If the base contains NSECE childcare attendance, every annual file preserves the
original content-bound attendance receipt. Static aging holds ages and schedules
fixed while changing weights and monetary inputs; the writer verifies that those
bound values remain exact before finalizing a file. It rejects missing receipts
for nonzero attendance and detects altered ages, identities or attendance instead
of rebinding them. Each annual round-trip report includes the validated binding
hash. This preserves provenance, not evidence of attendance changes over time.

## Qualification and publication order

1. Qualify the base release under its existing contract with the intended
Expand Down
Loading
Loading