Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions changelog.d/nz-benefit-unit-rule-durable-citation.fixed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Cite code by symbol name instead of line number in the New Zealand benefit-unit rule (`build/nz/benefit_unit_rule.json`). Its citations of `microcosm.graph.executor` (`_structural_columns`, `_validate_population_declaration`) and `microcosm.frame.concepts` (the relationship pointer concepts, `_check_pointers`) named line ranges that had gone stale. Only prose changes; because the file is a hashed NZ country-spec resource, its sha256 and the NZ composition fingerprint in `tests/golden/nz_country_spec.json` are re-pinned.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"version": 1,
"country": "nz",
"method_card_row": "MC7",
"description": "The New Zealand benefit unit (engine Family entity): an adult, their co-resident partner, and their dependent children; every other adult forms their own unit. The unit id family.family_id and the membership person.person_family_id are structural graph columns: the graph executor counts each entity's id column and each person-table membership column as structural (microcosm.graph.executor._structural_columns, executor.py lines 636-643) and rejects a non-structural node that declares one as an output (_validate_population_declaration, executor.py lines 1550-1573). family.family_household_id, the unit's link to its household, is not structural; it is an ordinary family column. The planned shared transport CREATE kernel (packages G4 and G5a) is to build the units from the donor concept pointers, refusing ambiguous or cross-household units. Family weights are never stored: each unit inherits its household's weight through the Frame.",
"description": "The New Zealand benefit unit (engine Family entity): an adult, their co-resident partner, and their dependent children; every other adult forms their own unit. The unit id family.family_id and the membership person.person_family_id are structural graph columns: the graph executor counts each entity's id column and each person-table membership column as structural (microcosm.graph.executor._structural_columns) and rejects a non-structural node that declares one as an output (microcosm.graph.executor._validate_population_declaration). family.family_household_id, the unit's link to its household, is not structural; it is an ordinary family column. The planned shared transport CREATE kernel (packages G4 and G5a) is to build the units from the donor concept pointers, refusing ambiguous or cross-household units. Family weights are never stored: each unit inherits its household's weight through the Frame.",
"status": "awaiting D1 (MC7; the dependent-child rule is spec data under amendment MC11a, which is proposed and also awaits D1)",
"entity": "family",
"engine_entity": "Family",
Expand All @@ -19,7 +19,7 @@
"parent_2_person_id"
],
"household_reference_person": "reference_person_id",
"citation": "packages/microcosm-frame/src/microcosm/frame/concepts.py:880-919"
"citation": "microcosm.frame.concepts, the partner_person_id, parent_1_person_id, parent_2_person_id and reference_person_id pointer concepts"
},
"composition": [
{
Expand All @@ -32,7 +32,7 @@
},
{
"member": "dependent_child",
"rule": "a dependent child joins the unit of its co-resident parent parent_1_person_id; a lone co-resident parent is always parent 1 (the pointer definition, concepts.py lines 892-901; the pointer checks flag parent_2_person_id without parent_1_person_id as parent_order, concepts.py _check_pointers), so parent_2_person_id never chooses the unit"
"rule": "a dependent child joins the unit of its co-resident parent parent_1_person_id; a lone co-resident parent is always parent 1 (the parent_1_person_id pointer definition in microcosm.frame.concepts; the pointer checks flag parent_2_person_id without parent_1_person_id as parent_order, microcosm.frame.concepts._check_pointers), so parent_2_person_id never chooses the unit"
},
{
"member": "other_adult",
Expand Down
4 changes: 2 additions & 2 deletions packages/microcosm-build/tests/golden/nz_country_spec.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"country": "nz",
"fingerprint": "df8850d5893e9311882573ff6b4baa41c9dda41f6838d9a140199ddf0cc7fd48",
"fingerprint": "a3229c537c4c7a14b8bf837ed5cadd1e42af42475ad418c25ad0ffa79b14c371",
"gate_ids": [
"calibration_per_family_fit",
"national_and_region_admin_aggregates",
Expand Down Expand Up @@ -37,7 +37,7 @@
"as_area_crosswalk.json": "cfb76c99898204598b0609e5462b2fba9d081872a13ac5dd973cb406bb6f7469",
"as_rate_bridge.json": "5eea897159508fb71820f22cd8ccf4993075a750462bd97312d9e89ab01cba15",
"axiom_rules_bindings.json": "72905af77132ff6a3c01ada4b6210be4c369d9c6dc49dc8c1b673e4bac0b5fb1",
"benefit_unit_rule.json": "9e507e78f180566a1eece74da2a35d88478dbe13487c3a64ee2b76c9ecc7a653",
"benefit_unit_rule.json": "a5f37485605c3a16df317f2e289a63414161333b103e5bc596b91715b9a0f148",
"country_package.json": "b83de9e12238b41481810ddb7fbdbaaa71d457cbfa9da83f3f53cbf479cee43b",
"currency_bridge.json": "aa6a4b286a6a1a015088f32ac013148553422c3d45eeef7d7a15af08388857ca",
"export_contract.json": "f0629a3990a47f3f94114c4d7b6680636ef7b1bd34bb8e950976d3065f029fda",
Expand Down
Loading