Skip to content

Raise the uk extra floors to policyengine-uk 2.91 - #728

Closed
MaxGhenis wants to merge 1 commit into
mainfrom
uk-extra-291
Closed

Raise the uk extra floors to policyengine-uk 2.91#728
MaxGhenis wants to merge 1 commit into
mainfrom
uk-extra-291

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Pre-publication prerequisite for the first CGT-family UK release.

policyengine.py's certification gate (docs/engineering/skills/data-certification.md there) pairs a data release with a model version only when the release was built with that version or declares it in compatible_model_packages. The signed rehearsal run built against the previous lock's policyengine-uk 2.89.0, which would force the weaker publisher-claim basis when certifying against 2.91. Raising the floors so the release-candidate build records built_with policyengine-uk 2.91.0:

  • microcosm-build, microcosm-data, microcosm-frame uk extras: >=2.88>=2.91.
  • Lock: policyengine-uk 2.89.0 → 2.91.0, policyengine-core 3.26.11 → 3.31.0 (2.91 floors core at 3.30.1).
  • cgt_source_stages.json policy_parameters dependency string moves in lockstep; coverage manifest regenerated.

The 2.91 line carries the retention-elasticity semantics and CGT response hardening (policyengine-uk#1803/#1806/#1823) — the same machinery the downstream reform scoring uses, so built-with and scored-with converge on one version. The CGT stage's parameter reads (Personal Allowance, AEA at 1 June 2023) are value-identical across 2.89→2.91.

Focused suites (CGT manifest, country spec, spec-only packages, release-input coverage) and repo ruff pass locally; the coverage manifest --check regenerates exactly.

🤖 Generated with Claude Code

The policyengine.py certification gate pairs a data release with a model
version only when the release was built with it or declares it
compatible. The next UK release should record built_with 2.91 — the
line carrying the retention-elasticity semantics and the CGT response
hardening — so the floors move across the build, data, and frame shards
and the lock carries policyengine-uk 2.91.0 with core 3.31.0. The CGT
source manifest's dependency string moves in lockstep.
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Closing unmerged: CI caught a real cross-country coupling. The certified US release pins policyengine-core ==3.26.11 and its live-load consumer guard correctly refuses anything else, while policyengine-uk 2.91 floors core at >=3.30.1 — one workspace lock cannot hold both until the next US release re-certifies on newer core. Verified resolution that needs no repo change: run the UK release-candidate build under uv run --with policyengine-uk==2.91.0 — the overlay resolves pe-uk 2.91.0 with core 3.31.0 for the build process only, the lock stays untouched for every other consumer, and the release manifest records built_with 2.91.0 for the policyengine.py certification gate. Parameter values the CGT stage reads are identical across 2.89/2.91 (PA £12,570, AEA £6,000 at 1 June 2023; verified under the overlay). The floors move for real when the US lane re-certifies core.

@MaxGhenis MaxGhenis closed this Aug 20, 2026
@MaxGhenis
MaxGhenis deleted the uk-extra-291 branch August 20, 2026 12:34
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.

1 participant