Latest summary
Fixed and rebuilt the LV national candidate household model at /home/synthestat/output/runs/LV/lv_population_review_national_candidate_2025_csb_freeze_44d91be2_seed420987. The reviewer blockers now audit to zero minor-only households, zero under-15/no-adult households, zero reference persons under 25, and zero child-family households lacking a child under 25 while preserving exact population, household, and age-sex HARD controls. Created reviewer follow-up t_093ef8e8 for independent PASS/FAIL inspection.
Body
Country: LV — Latvia
Parent review: t_b7d00b12
Candidate bundle reviewed: /home/synthestat/output/runs/LV/lv_population_review_national_candidate_2025_csb_freeze_44d91be2_seed420987
Reviewer verdict: NEEDS_MODEL_FIX.
Independent positives to preserve:
- Bundle is national-scale, not the old 8-person fixture.
- synthetic_persons.parquet rows: 1,860,565, matching LV_CSP_IRD041 2025 all-resident target; single-year age_source_code x sex residual max_abs = 0.
- synthetic_households.parquet rows: 843,907, matching LV_CSP_MVS041 2025 private-household target.
- synthetic_dwellings.parquet rows: 843,907 modelled shells; no building links claimed.
- Required review-bundle files are present; focused tests `python -m pytest tests/test_synthesis_engine.py -q` pass 11/11.
Blocking model failures to fix:
1. Household/family realism is structurally invalid. Independent audit found 343,555 minor-only households, including 280,878 under-15/no-adult households. These are emitted as single-person P1 households with children/infants as `reference_person` (examples begin with household_id 1..10, age_years 0, role reference_person).
2. Reference-person ages are impossible at scale: 843,907 reference_person records include 280,878 under age 15, 343,555 under 18, and 422,314 under 25.
3. Household type/member semantics are incoherent: YCH/F1/M1 child-family household types are populated with adult `other_household_member` ages only (other_household_member min age 39), while all actual minors are placed as reference persons in one-person households.
4. The private-household population relaxation is documented (+26,783; 1.4605%) and may be acceptable only if release/gate text remains explicit, but the next run should preferably model non-private/collective residual separately or keep it clearly outside person-level private-household claims.
5. Full repo test command `python -m pytest -q` currently reports 336 passed / 1 failed, with failure in `tests/test_fr_country_execution.py::test_generate_fr_seeded_country_execution` expecting degraded_zone_count == 2 but got 0. Focused LV-adjacent synthesis tests pass, but do not claim full-suite green.
Acceptance for rerun:
- No child/minor-only private households unless explicitly sourced/institutional and represented outside ordinary P1 private households.
- Reference persons/partners/adults satisfy plausible age/status rules; child-family household types contain plausible child members with adults.
- Household diagnostics include these realism checks and fail the run if violated.
- Preserve exact HARD age-sex and household row-count controls or document any relaxation in constraint_residuals.json.
- Keep unavailable building/work/school/hidden overlays explicit; do not fabricate them.