You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define the Belgian target profiles: the calibration contracts binding ledger-be facts to populace-be measurement bindings, so populace consumes targets by reference and carries no values.
Contents
Initial profile covering: national demography (age × sex × region), NUTS1 totals, commune fiscal income, PIT aggregates, ONSS/RSZ aggregates, program caseloads (unemployment, pensions, regional child benefit).
Criticality tiers mirroring the US release contract's named requirements (critical targets with tolerances, e.g. PIT total ±5%; caseloads ±15%) so the target_profile_coverage gate has something to check.
Basis-period declarations. BE-SILC year N carries year N−1 incomes; profiles must state each target's basis period explicitly so the build's period bookkeeping and the diagnostics agree. Where a target needs a different period than the source fact provides, the profile references a projection (see the facts-vs-projections schema issue), never a silently reused stale level — the lesson from Cross-check: Populace US 2024 net income & tax ~37–43% below Enhanced CPS (benefits match) populace#212 (SOI TY2022 levels applied un-aged ran simulated 2025 ~6–10% low).
Geography vintage binding. Commune-grain rows bind to a declared NIS vintage; mismatch with the build spine's vintage is a compile error.
Acceptance
populace-be's spec references these profiles by id/version; changing a target value requires a Ledger change, not a populace change.
Part of the populace-be epic PolicyEngine/populace#259. Depends on the ledger-be source packages issue and the profile-publication pattern in #61; realizes PolicyEngine/populace#160 for Belgium.
What
Define the Belgian target profiles: the calibration contracts binding ledger-be facts to populace-be measurement bindings, so populace consumes targets by reference and carries no values.
Contents
Acceptance