Skip to content

Clarify post-CTR council tax semantics#1657

Draft
MaxGhenis wants to merge 2 commits intocodex/ctr-frameworkfrom
codex/post-ctr-council-tax-semantics
Draft

Clarify post-CTR council tax semantics#1657
MaxGhenis wants to merge 2 commits intocodex/ctr-frameworkfrom
codex/post-ctr-council-tax-semantics

Conversation

@MaxGhenis
Copy link
Copy Markdown
Collaborator

Summary

This is the first contingent post-CTR pipeline PR. It is intentionally scoped to semantics and tests so it can sit behind the UK-wide CTR implementation without changing production net-income behavior.

Changes:

  • Clarifies that council_tax is the dataset-supplied gross annual Council Tax liability, not a value recomputed from local authority schedules.
  • Renames/document council_tax_less_benefit as Council Tax after Council Tax Reduction and makes the zero floor explicit.
  • Adds a regression test that net Council Tax after CTR cannot go below zero.
  • Adds docs/council_tax_ctr_pipeline.md with the proposed draft PR sequence for structural CT and data-pipeline calibration work.

Dependency

Blocked on #1534 completing UK-wide CTR coverage. Until then, downstream changes should remain compare-only and should not switch household net income or production calibration outputs onto modelled CTR.

Validation

  • uv run policyengine-core test policyengine_uk/tests/policy/baseline/household/consumption/council_tax_less_benefit.yaml -c policyengine_uk

Note: running the global policyengine-core directly failed because it used a Python environment where this checkout was not importable; the repo environment command above passed.

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