Skip to content

Make NI Class 3 a pure input#1653

Merged
MaxGhenis merged 1 commit intomainfrom
codex/pure-leaf-inputs
May 2, 2026
Merged

Make NI Class 3 a pure input#1653
MaxGhenis merged 1 commit intomainfrom
codex/pure-leaf-inputs

Conversation

@MaxGhenis
Copy link
Copy Markdown
Collaborator

Summary

  • remove the defined_for = "ni_liable" gate from ni_class_3, making voluntary NI Class 3 contributions a pure input
  • add code-health tests preventing input variables from using defined_for, formulas, adds, or subtracts

Testing

  • uv run ruff format policyengine_uk/tests/code_health/test_input_variable_definitions.py policyengine_uk/variables/gov/hmrc/national_insurance/class_3/ni_class_3.py
  • uv run ruff check policyengine_uk/tests/code_health/test_input_variable_definitions.py policyengine_uk/variables/gov/hmrc/national_insurance/class_3/ni_class_3.py
  • uv run pytest policyengine_uk/tests/code_health/test_input_variable_definitions.py
  • uv run policyengine-core test policyengine_uk/tests/policy/baseline/gov/hmrc/national_insurance/national_insurance.yaml -c policyengine_uk

@MaxGhenis MaxGhenis marked this pull request as ready for review May 2, 2026 13:00
@MaxGhenis MaxGhenis merged commit 3414280 into main May 2, 2026
8 checks passed
@MaxGhenis MaxGhenis deleted the codex/pure-leaf-inputs branch May 2, 2026 13:00
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