Conversation
corporate_wealth bundles three assets the means tests value differently: quoted shares less 10% for the expenses of sale (ADM H1665), unit trusts at the manager's withdrawal price with no deduction (H1673-H1674), and stocks and shares ISAs at their withdrawal value (H1656). Add household inputs for the two parts not yet modelled, directly_held_shares (UK shares and employee shares and options) and unit_and_investment_trusts, and uprate them, cash_isa and stocks_and_shares_isa with per-capita GDP like corporate_wealth, so a dataset's identity corporate_wealth == sum of components survives projection. The inputs have no consumers yet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Reviewed commit Confirmed integration conflict. A prospective merge of this exact head onto main Preserve the component contract. test_wealth_components.py:26 verifies the share components use the same entity, stock semantics and uprating as Repair and acceptance steps:
Suggested checks after resolving the dependency and conflict: uv run --no-sync pytest policyengine_uk/tests/test_wealth_components.py -q
uv run --no-sync ruff format --check .
uv run --no-sync ruff check .Validation already completed on this exact PR snapshot: 3 tests passed in Live posting check (2026-10-02T15:12:45.036767+00:00): same reviewed commit; GitHub reports |
Stacked on #1791 (
cash_isa,stocks_and_shares_isa); GitHub retargets it tomainwhen #1791 merges.What
Two household STOCK inputs for the parts of
corporate_wealththat the means tests value differently, and uprating for all four components:directly_held_shares: UK shares, listed or not, and employee shares and share options, held outside ISAs and pooled funds. Quoted shares are valued less 10% for the expenses of sale (ADM H1665).unit_and_investment_trusts: the Wealth and Assets Survey asks unit trusts and investment trusts as one question. Unit trusts have no costs of sale (ADM H1673-H1674).directly_held_shares,unit_and_investment_trusts,cash_isaandstocks_and_shares_isajoincorporate_wealthunder per-capita GDP inuprating_indices.yaml, so a dataset's identitycorporate_wealth == directly_held_shares + unit_and_investment_trusts + stocks_and_shares_isasurvives projection. Add cash ISA and stocks and shares ISA holdings variables #1791 left the ISA balances out of the uprating list.corporate_wealth's documentation names its components.The inputs have no consumers yet, so no output moves on any dataset. The follow-up stacked on #1969 points the capital and sale-expense source lists at them, so unit trusts and stocks and shares ISAs escape the 10% deduction. The data side is PolicyEngine/policyengine-uk-data#501, which builds
corporate_wealthas the exact sum of the three, plus the microcosm mirror.Tests
tests/test_wealth_components.pychecks:corporate_wealth's entity, quantity type, class uprating anduprating_indices.yamlindex;cash_isauprates withsavings;total_wealthdoes not add the components on top ofcorporate_wealth.tests/code_healthpasses locally.axiom: n/a: input variables only, no rule change
🤖 Generated with Claude Code