{
  "schema": "adfactory.character-passports/v1",
  "characters": [
    {
      "id": "oksana",
      "role": "affected mother",
      "age": 54,
      "panel": "left",
      "observed_identity": "Brown shoulder-length hair with silver strands; brown eyes; small dark mole on viewer-left cheek; mature skin, visible fine neck folds.",
      "wardrobe": "Cream scoop-neck blouse; loose muted taupe scarf only in S01/S02. Same blouse under ordinary cardigan as needed; later blue open-collar blouse. All clothing is Oksana’s.",
      "continuity": "Generated mole location differs from original prompt requesting anatomical left. Lock actual accepted image location rather than contradictory prose. Baseline visible before and during first use.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/family-v1.png",
        "sha256": "d5fb231beee4ee9c975f6dd60840d17dfb28e0f734ee3445d395098c37a39759"
      }
    },
    {
      "id": "serhii",
      "role": "father and companion",
      "age": 57,
      "panel": "middle",
      "observed_identity": "Short salt-and-pepper hair, bluegrey eyes, broad brow, clean shaven.",
      "wardrobe": "Navy textured knit over grey shirt.",
      "continuity": "Drives in S02; support hand belongs to Serhii in S01/S11; no product application or concern transfer.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/family-v1.png",
        "sha256": "d5fb231beee4ee9c975f6dd60840d17dfb28e0f734ee3445d395098c37a39759"
      }
    },
    {
      "id": "sofia",
      "role": "daughter and seeker",
      "age": 10,
      "panel": "right",
      "observed_identity": "Straight brown shoulder-length hair, center part, brown eyes.",
      "wardrobe": "Dusty pink top; pajamas in bedroom, dusty-rose puffer added for courtyard; beige blanket in neighbor kitchen.",
      "continuity": "Pink tablet carried from bedroom through courtyard and reunion. Never cream user or purchaser.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/family-v1.png",
        "sha256": "d5fb231beee4ee9c975f6dd60840d17dfb28e0f734ee3445d395098c37a39759"
      }
    },
    {
      "id": "larysa",
      "role": "female neighbor guide",
      "age": 62,
      "panel": "left",
      "observed_identity": "Short grey softly waved bob, grey-green eyes, mature smile lines.",
      "wardrobe": "Brown wool cardigan, oatmeal knitted top.",
      "continuity": "Owns the demonstration jar. Explains use as personal routine; never clinician. No before/after transformation assigned.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/neighbors-v1.png",
        "sha256": "f2111949464917f0e3dc06ddd87bc31f22a710b2e2532a6ea3a00fe8fd1fd7a2"
      }
    },
    {
      "id": "mykola",
      "role": "neighbor host",
      "age": 65,
      "panel": "right",
      "observed_identity": "Short receding grey hair, neat grey moustache, brown eyes.",
      "wardrobe": "Olive-grey cardigan, pale checked shirt.",
      "continuity": "Opens door and phones Serhii. Not the substantive cream adviser.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/neighbors-v1.png",
        "sha256": "f2111949464917f0e3dc06ddd87bc31f22a710b2e2532a6ea3a00fe8fd1fd7a2"
      }
    },
    {
      "id": "doctor",
      "role": "opening and returning witness",
      "age": 55,
      "panel": "single",
      "observed_identity": "Short brown-grey hair, narrow face, rectangular glasses, clean shaven.",
      "wardrobe": "White coat over pale blue shirt, clipboard.",
      "continuity": "Same clinic and identity at callback. No jar, goPure endorsement or miraculous claim.",
      "reference": {
        "path": "videos/gopure-reference-story/passports/doctor-v1.png",
        "sha256": "98ab5e618a9b3927684847298f20ca2a0ea04e5cde31223f80c8464e71d06c34"
      }
    }
  ],
  "review_scope": "Actual still identities only. Not v2 motion-plan acceptance."
}
