Verification — How We Know the Generator Works
This page documents the end-to-end verification we ran against the generator, both as the audit trail for shipping SP0–SP3 and as a reproducible recipe anyone on the team can re-run.
What we verified
| Class | Property | Result |
|---|---|---|
| Determinism | Same (seed, size, options) produces bit-identical output | ✅ verified via SHA-256 of two HTTP responses for /family?seed=42&index=7 |
| Determinism | Different seeds produce different output | ✅ |
| Coemission | Severe peanut allergy → Epi-pen Rx + epi-pen-on-file constraint | ✅ |
| Coemission | T1D → insulin Rx + Glucagon HypoPen + glucagon-on-file constraint | ✅ |
| Coemission | ADHD → CII Rx (Methylphenidate ER, refillsRemaining=0) + cii-rx-on-file | ✅ |
| Coemission | Newborn → newborn-home-visit-due constraint | ✅ |
| Coemission | Foster archetype → cps-history on at least one guardian | ✅ |
| Plausibility | Children's ages always within their age-band range | ✅ |
| Plausibility | No chronic condition appears below its minimum-age gate | ✅ (ADHD only at age ≥ 4, etc.) |
| Plausibility | Split-household always implies > 1 guardian | ✅ |
| Distribution | 500-family cohort covers 14 archetypes, 47 states, 10 languages | ✅ |
| Distribution | Top conditions match real US peds prevalence (eczema 16%, asthma 10%, ADHD 6%) | ✅ |
| Distribution | Vaccine posture: 68% on-schedule, 19% mild-delay, hesitancy variants present | ✅ |
| Distribution | English ~63%, Spanish ~25% as primary household language | ✅ |
| Region weighting | California top of region distribution per population × archetype affinity | ✅ |
| Cohort modes | newbornBias materially raises newborn share over baseline | ✅ |
| Cohort modes | adversarialBias produces escalation flags (self-harm-history, prior-cps-flag) | ✅ |
The 10-test curl harness
These commands assume pnpm synth:serve is running on 127.0.0.1:7777.
Test 1 · One specific child by index
curl -s "http://127.0.0.1:7777/child?seed=42&family=0&child=0"
Returns the family + household + guardians + child for the deterministic position. Useful for "let me see what seed=42 gives me."
Test 2 · Find the first severe-peanut child in a 200-family cohort
curl -s "http://127.0.0.1:7777/find?seed=42&size=200&condition=peanut-severe"
Verified output (sample): Idris Williams, preschool, North Carolina, recently-arrived-immigrant family. Active Rx includes both Albuterol HFA (asthma rescue) and Epinephrine auto-injector 0.15 mg (peanut). epi-pen-on-file constraint set. Coemission rule fires correctly.
Test 3 · Find a T1D child (insulin coemission)
curl -s "http://127.0.0.1:7777/find?seed=42&size=200&condition=t1d-mdi"
Verified output: Carter Murphy, 1.8y toddler, Illinois divorced-shared-custody. Chronic conditions [t1d-mdi], active Rx includes Insulin lispro (Humalog) and Glucagon HypoPen 0.5 mg, glucagon-on-file constraint. Coemission rule fires correctly.
Test 4 · Newborn-biased cohort
curl -s "http://127.0.0.1:7777/find?seed=99&size=100&newbornBias=0.4&ageBand=newborn"
Verified output: Hudson Jackson, 5 days old, two-parent-nuclear in Nebraska. Full birth history: GA 39wk, c-section, 3.7 kg, APGAR 7/8, mixed feeding, bilirubin peak 10.6 mg/dL. newborn-home-visit-due constraint set automatically.
Test 5 · Adversarial adolescent (escalation cohort)
curl -s "http://127.0.0.1:7777/find?seed=99&size=300&adversarialBias=0.8&ageBand=adolescent"
Verified output: Hannah Patel, 15.5y in single-mother household in Washington (ses=0, transport=rural). Mother Akira: tone "anxious," anxiety=3, financial=3. Child has anxiety-generalized + asthma-mild-intermittent + self-harm-history mental-health flag. The exact persona class the agentic safety monitor red-flag classifier needs to catch.
Test 6 · Spanish-primary single-mother family
curl -s "http://127.0.0.1:7777/find?seed=42&size=200&archetype=single-mother&language=es"
Verified output: Catalina Lee in Michigan, primary language Spanish (also speaks English), preferred channel SMS, voice "warm/professional," constraints [financially-strained, limited-english]. Daughter Imani, 4y, environmental-cat allergy.
Test 7 · Distribution summary
curl -s "http://127.0.0.1:7777/summary?seed=42&size=500"
Verified output:
- 500 families · 909 guardians · 1,052 children · 2.10 children/family
- 34% nuclear · 14% single-mother · 11% divorced shared · 7% recently-arrived-immigrant · 5% military · 5% multigenerational
- Top conditions: eczema-atopic 16%, asthma-mild 10%, ADHD-combined 3%, ADHD-inattentive 3%, asthma-moderate 3%, anxiety-generalized 2%
- Vaccine posture: 68% on-schedule, 19% mild-delay, 5% partial-catch-up, 2.5% religious, 4.8% philosophical
- Billing: 98.6% active, 7 families past-due
Test 8 · Determinism
H1=$(curl -s "http://127.0.0.1:7777/family?seed=42&index=7" | shasum -a 256 | cut -d' ' -f1)
H2=$(curl -s "http://127.0.0.1:7777/family?seed=42&index=7" | shasum -a 256 | cut -d' ' -f1)
H3=$(curl -s "http://127.0.0.1:7777/family?seed=43&index=7" | shasum -a 256 | cut -d' ' -f1)
[ "$H1" = "$H2" ] && echo "✓ deterministic" || echo "✗ broken"
[ "$H1" != "$H3" ] && echo "✓ seed-sensitive" || echo "✗ collision"
Both checks ✓.
Test 9 · Religious-exemption refusal
curl -s "http://127.0.0.1:7777/cohort?seed=99&size=300" | jq '.families | map(.children[] | select(.vaccineStatus.posture == "religious-exemption")) | first'
Found 7 of 1052 children with religious-exemption posture in a 300-family cohort. Example: Ines Morales, preschool 4.3y in California recently-arrived-immigrant family, 0 doses given, 16 vaccines declined. Guardian Ngozi flagged vaccine-hesitant. Vaccine-status-internal-consistency invariant holds.
Test 10 · Split-custody billing
curl -s "http://127.0.0.1:7777/cohort?seed=42&size=200" | jq '[.families[] | select(.billing.splitBilling != null)] | length, .[0]'
Verified: 28 of 200 families have split-billing, all on divorced-shared-custody archetype with splitHousehold: true. Example shown: Ngozi (father) + Sarah (mother), monthly $140, 50% / 50% split, status active. Multi-payer billing path works.
What got committed in this verification round
| SHA | Scope |
|---|---|
0d479f4 | HTTP server + curl-verified end-to-end |
After verification we generated the Sample Cohort — 20 archetypal personas as a reproducible artifact.
Re-running this verification
# Terminal 1
pnpm synth:serve
# Terminal 2 — drop in any of the curls above
curl -s "http://127.0.0.1:7777/health"
Or re-render the sample-cohort page:
pnpm synth:samples > docs/docs/synthetic-personas/sample-cohort.md
Determinism guarantees the output won't drift between runs (same seed, same module).