Skip to main content

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

ClassPropertyResult
DeterminismSame (seed, size, options) produces bit-identical output✅ verified via SHA-256 of two HTTP responses for /family?seed=42&index=7
DeterminismDifferent seeds produce different output
CoemissionSevere peanut allergy → Epi-pen Rx + epi-pen-on-file constraint
CoemissionT1D → insulin Rx + Glucagon HypoPen + glucagon-on-file constraint
CoemissionADHD → CII Rx (Methylphenidate ER, refillsRemaining=0) + cii-rx-on-file
CoemissionNewborn → newborn-home-visit-due constraint
CoemissionFoster archetype → cps-history on at least one guardian
PlausibilityChildren's ages always within their age-band range
PlausibilityNo chronic condition appears below its minimum-age gate✅ (ADHD only at age ≥ 4, etc.)
PlausibilitySplit-household always implies > 1 guardian
Distribution500-family cohort covers 14 archetypes, 47 states, 10 languages
DistributionTop conditions match real US peds prevalence (eczema 16%, asthma 10%, ADHD 6%)
DistributionVaccine posture: 68% on-schedule, 19% mild-delay, hesitancy variants present
DistributionEnglish ~63%, Spanish ~25% as primary household language
Region weightingCalifornia top of region distribution per population × archetype affinity
Cohort modesnewbornBias materially raises newborn share over baseline
Cohort modesadversarialBias 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

SHAScope
0d479f4HTTP 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).