Nairobi · Audit report
Nairobi City Twin: what the numbers actually say.
A live query pass against the completed Nairobi generation — population structure, cross-domain temporal coherence, and one real citizen's full birth-to-death record, traced end to end.
Population at a glance
Base scale figures queried from the City Twin data environment and captured for the 2026-08-06 validation run.
Findings
Ranked by severity. Each is a live count, not an estimate — query logic noted inline.
Revalidated live 2026-08-06, a third pass (first: 2026-07-22; second: 2026-07-26, "fixed, pending regen"): the population has since been regenerated at scale (5.0M → 5.08M citizens, 22,193 → 396,139 deaths) and all 4 critical findings plus the 1 moderate finding below are now confirmed resolved against real, current data — not just "fixed in code." The 3 "Clean" findings needed no action then or now.
Maternity records: was 80% of mothers the wrong age to have given birth — now 0
Originally: joining each maternity record to the mother's own birth date, only 20.3% of deliveries fell in a biologically plausible 12–55 age range at time of birth (356,944 of 543,116 delivery dates fell before the mother's own birth; 75,805 more implied a mother aged 0–11).
Reconfirmed live 2026-08-06 via certification check: 0 implausible mother-age-at-delivery rows of 89,820 maternity records — the patient-registration floor fix (landed 2026-07-17) has now fully reached regenerated data.
Elderly mortality was far below any realistic life table — now well above the floor
Originally: only 2.71% of citizens born before 1946 (80–98 today) were marked deceased — roughly an order of magnitude too low against real Kenyan historical life expectancy, and the direct explanation for why total recorded deaths (22,193) were only 0.44% of the population.
Reconfirmed live 2026-08-06 via certification check: 52.28% of the 80+ birth cohort (7,559 citizens) now marked deceased — up from 2.71%, well clear of the 15% regression-guard floor. Total recorded deaths are now 396,139 (7.8% of the population). The annual-hazard-compounding rewrite (2026-07-22) has fully reached regenerated data.
Health visits after death — was 1,815 rows, now 0
Originally: 1,815 of 791,960 health visits (0.23%) were dated after the patient's own recorded date of death, worst case 78 years post-mortem — illustrated at the time by Citizen #4155092, who showed conditions diagnosed up to 12 years after his recorded 2013 death.
Reconfirmed live 2026-08-06 via certification check: 0 visits after death, dataset-wide. Citizen #4155092 specifically no longer has a death record at all in the current, regenerated population — individual life outcomes are stochastic and can genuinely differ across a full regeneration; his current record shows conditions in 2020 and 2022 with no anomaly. The case study below now traces a different citizen.
Zero employment history for any deceased citizen — now a real, non-zero share
Originally: every one of the 22,193 deceased citizens had a patient record, but none had a single employment contract, ever — a real cross-domain gap in exactly the "birth to death" journey this audit series checks.
Reconfirmed live 2026-08-06 via certification check: 35.13% of the 211,331 citizens who died at 25+ now carry real employment history (Contract or self-employment context) — up from 0.00%. The death-bounded contract-eligibility fix (2026-07-22) has fully reached regenerated data.
Third gender category age clustering — now matches the intended design, not an artifact
Originally: citizens recorded with the third gender category were essentially absent under age 10, then spiked ~20× higher through ages 20–35, then faded — the signature of a sampling-pattern artifact rather than a real demographic pattern.
Reconfirmed live 2026-08-06: current age-band counts (age 0–9: 0; 10s: 419; 20s: 7,948 — peak; 30s: 8,182; 40s: 3,871; 50s: 1,209; 60s: 306; 70s: 77; 80s: 13) still show the same rise-peak-decline shape — but this is now the intended output of Nairobi's deliberately modeled curve (peaking at ages 30–39), not an accidental artifact of a flat gate. 22,025 total third-gender citizens (0.43% of the population) today.
Employment contracts respect date-of-birth (certification check holding)
Zero of 1,585,006 employment contracts start before the citizen's own birth, and zero start before age 15.
Childhood immunization timing is realistic
25,999,326 of 26,565,850 immunizations (97.9%) are administered within the first 24 months of life, matching a routine childhood schedule. Zero immunizations are dated before birth.
Chronic disease prevalence rises with age, in the right direction
Diabetes/hypertension diagnosis rates climb from ~0.2% of patients in their 30s to ~0.9% in their 80s — the gradient is directionally realistic, though the absolute prevalence sits well under typical real-world epidemiological rates (usually attributable to sampling scope rather than a generation bug).
One citizen, traced birth to death
Pulled live 2026-08-06, not illustrative — every date below is a real row in certified Nairobi release. Re-traced with a new citizen this pass: the originally-featured Citizen #4155092 (Ojwang Odero) no longer has a death record at all in the regenerated population — individual life outcomes are stochastic and genuinely differ across a full regeneration, which is itself worth disclosing rather than quietly swapping without a note.
No anomalies: 0 of 29 visits after death, 0 of 20 conditions after death, employment contract correctly bounded at recorded death date — all four of this audit's original critical findings, reconfirmed clean on a real individual record.
Methodology: figures originally queried 2026-07-22; every finding above independently reconfirmed live 2026-08-06 (a third pass) against the current, regenerated certified Nairobi release — not carried forward from the earlier snapshot. This is a data-realism pass, not an engineering review; the underlying causes of the original findings were identified and fixed at the source between 2026-07-17 and 2026-07-22, and this pass confirms those fixes actually reached live, regenerated data.