Follow-up from the #277 review (finding 2): spp_demo_phl_luzon ships spp.demo.luzon.area.loader and population-weight helpers, but no runtime path invokes them — installing the module does not populate Luzon areas (this matches the original #76 behavior; the DESCRIPTION has been corrected to say so).
The misluzon CLI profile (spp:137) installs the module alongside spp_mis_demo_v2, so the natural integration is for the demo generation flow (or a dedicated hook/wizard) to invoke:
env["spp.demo.luzon.area.loader"].load_luzon_areas() (after spp.demo.area.loader.load_country_areas("phl"))
- the population-weight helpers for registrant distribution
Design questions for the implementer: post_init_hook vs generator integration vs explicit wizard; interaction with --generate; idempotency is already covered by the loader's pre-link strategy (tested).
Uninstall behavior verified safe on 19.0 (dual-owned areas survive; luzon-only areas cleaned up).
Follow-up from the #277 review (finding 2):
spp_demo_phl_luzonshipsspp.demo.luzon.area.loaderand population-weight helpers, but no runtime path invokes them — installing the module does not populate Luzon areas (this matches the original #76 behavior; the DESCRIPTION has been corrected to say so).The
misluzonCLI profile (spp:137) installs the module alongsidespp_mis_demo_v2, so the natural integration is for the demo generation flow (or a dedicated hook/wizard) to invoke:env["spp.demo.luzon.area.loader"].load_luzon_areas()(afterspp.demo.area.loader.load_country_areas("phl"))Design questions for the implementer: post_init_hook vs generator integration vs explicit wizard; interaction with
--generate; idempotency is already covered by the loader's pre-link strategy (tested).Uninstall behavior verified safe on 19.0 (dual-owned areas survive; luzon-only areas cleaned up).