{
  "schema_version": "1.0.0",
  "model_id": "005",
  "slug": "my-le",
  "name": "My-le",
  "version": "0.1.0",
  "canonical_url": "https://www.jbnx.io/design/m/005",
  "character_type": "real_person_with_consent",
  "status": "working_reference",
  "age_direction": {
    "value": "as photographed",
    "basis": "real person; apparent age follows her photos and is never changed"
  },
  "authority": {
    "primary_asset_id": "my-le-face-source-v001",
    "body_asset_id": "my-le-body-source-v001",
    "hero_asset_id": "my-le-anchor-v001",
    "rule": "Her own photos are the identity originals and win any conflict. The owner chose the face anchor (smiling headshot) and the body anchor (striped tee + skirt); both are 4x restorations with face creativity 0. Generated references become authoritative only after My-le reviews them.",
    "geometry_note": "All eight body angles are generated from one front photo; they are interpretations, not measurements."
  },
  "identity": {
    "face": "Keep the face anchor's exact face shape, width and cheek fullness; never thinner, longer or older than her photos.",
    "eyes": "Dark eyes; retain shape, spacing and eyelids from the face anchor.",
    "brows": "Natural dark brows; retain shape and placement.",
    "nose": "Retain the face anchor's nose proportions.",
    "lips": "Retain mouth width, lip shape and her smile lines.",
    "skin": "Her skin tone as in her photos, with natural texture; no beauty filter.",
    "hair": "Long, loose, wavy black hair with a center part.",
    "body": "Slim, toned build as in the body anchor. Do not slim, enlarge or lengthen body features.",
    "reference_outfit": "Fitted white short-sleeve crew-neck tee, black high-waist wide-leg trousers, plain white low-top sneakers."
  },
  "locked_features": [
    "facial proportions and width",
    "cheek fullness",
    "eye shape and spacing",
    "brow shape and placement",
    "nose proportions",
    "mouth width and smile lines",
    "apparent age",
    "skin tone under comparable lighting",
    "hair color, center part and wave",
    "shoulder width and torso length",
    "waist and hip proportions",
    "limb proportions"
  ],
  "shot_variables": [
    "scene",
    "wardrobe",
    "accessories",
    "expression",
    "action",
    "camera framing and movement",
    "lighting"
  ],
  "unspecified": [
    "height",
    "exact body measurements",
    "ethnicity",
    "age",
    "unseen distinguishing marks"
  ],
  "capture_standard": {
    "framing": "full body, crown through shoes, level camera and consistent body scale",
    "camera_height": "level camera at mid-body height",
    "lens": "natural full-body perspective without wide-angle distortion",
    "background": "seamless medium warm-grey studio backdrop and floor",
    "lighting": "soft, even studio light without dramatic shadows",
    "expression": "calm closed lips unless an expression is briefed",
    "gaze": "follows head direction",
    "pitch_degrees": 0,
    "roll_degrees": 0,
    "texture": "natural skin and matte textile detail; no beauty filter",
    "wardrobe": "Fitted white short-sleeve crew-neck tee, black high-waist wide-leg trousers, plain white low-top sneakers.",
    "pose": "neutral relaxed stance, arms slightly away from the sides, feet flat on one ground plane"
  },
  "turnaround": {
    "layout": {
      "columns": 4,
      "rows": 2,
      "order": "row-major"
    },
    "yaw_step_degrees": 45,
    "convention": "Nominal turn order: front, left-facing profile, rear, right-facing profile, front. At 090 degrees the nose points image left; at 270 degrees it points image right. Left and right describe image-facing direction, not measured anatomical sides.",
    "precision": "Nominal 45-degree directions; all eight views are generated interpretations at 4K, not measurements.",
    "views": [
      {
        "label": "000°",
        "yaw_degrees": 0,
        "view": "front",
        "path": "assets/my-le-body-000-v001.jpg",
        "asset_id": "my-le-body-000-v001",
        "status": "generated_accepted"
      },
      {
        "label": "045°",
        "yaw_degrees": 45,
        "view": "front three-quarter, facing left",
        "path": "assets/my-le-body-045-v001.jpg",
        "asset_id": "my-le-body-045-v001",
        "status": "generated_accepted"
      },
      {
        "label": "090°",
        "yaw_degrees": 90,
        "view": "left-facing profile",
        "path": "assets/my-le-body-090-v001.jpg",
        "asset_id": "my-le-body-090-v001",
        "status": "generated_accepted"
      },
      {
        "label": "135°",
        "yaw_degrees": 135,
        "view": "rear three-quarter, facing left",
        "path": "assets/my-le-body-135-v001.jpg",
        "asset_id": "my-le-body-135-v001",
        "status": "generated_accepted"
      },
      {
        "label": "180°",
        "yaw_degrees": 180,
        "view": "back",
        "path": "assets/my-le-body-180-v001.jpg",
        "asset_id": "my-le-body-180-v001",
        "status": "generated_accepted"
      },
      {
        "label": "225°",
        "yaw_degrees": 225,
        "view": "rear three-quarter, facing right",
        "path": "assets/my-le-body-225-v001.jpg",
        "asset_id": "my-le-body-225-v001",
        "status": "generated_accepted"
      },
      {
        "label": "270°",
        "yaw_degrees": 270,
        "view": "right-facing profile",
        "path": "assets/my-le-body-270-v001.jpg",
        "asset_id": "my-le-body-270-v001",
        "status": "generated_accepted"
      },
      {
        "label": "315°",
        "yaw_degrees": 315,
        "view": "front three-quarter, facing right",
        "path": "assets/my-le-body-315-v001.jpg",
        "asset_id": "my-le-body-315-v001",
        "status": "generated_accepted"
      }
    ]
  },
  "face_references": [
    {
      "asset_id": "my-le-face-000-v001",
      "label": "Front, slight smile",
      "yaw_degrees": 0,
      "path": "assets/my-le-face-000-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-face-045-v001",
      "label": "Three-quarter, facing left",
      "yaw_degrees": 45,
      "path": "assets/my-le-face-045-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-face-090-v001",
      "label": "Profile, facing left",
      "yaw_degrees": 90,
      "path": "assets/my-le-face-090-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-face-270-v001",
      "label": "Profile, facing right",
      "yaw_degrees": 270,
      "path": "assets/my-le-face-270-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-face-315-v001",
      "label": "Three-quarter, facing right",
      "yaw_degrees": 315,
      "path": "assets/my-le-face-315-v001.jpg",
      "status": "generated_accepted"
    }
  ],
  "face_references_pending": [],
  "expression_references": [
    {
      "asset_id": "my-le-expression-smile-v001",
      "label": "Smile",
      "expression": "smile",
      "path": "assets/my-le-expression-smile-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-expression-eyesclosed-v001",
      "label": "Eyes closed",
      "expression": "eyesclosed",
      "path": "assets/my-le-expression-eyesclosed-v001.jpg",
      "status": "generated_accepted"
    },
    {
      "asset_id": "my-le-expression-speaking-v001",
      "label": "Speaking",
      "expression": "speaking",
      "path": "assets/my-le-expression-speaking-v001.jpg",
      "status": "generated_accepted"
    }
  ],
  "expression_references_pending": [],
  "assets": [
    {
      "id": "my-le-face-source-v001",
      "path": "assets/my-le-face-source-v001.jpg",
      "role": "face_anchor",
      "origin": "derived_restoration",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 1124583,
      "sha256": "c01113cc0f79b46ff72db32dec610e12308b39dc250e033c894536f7cc109e33",
      "notes": "Owner-chosen face anchor (smiling headshot, white wall) restored 4x with fal Topaz Recovery V2 (face creativity 0). The source photo itself is not published.",
      "width": 2000,
      "height": 2428,
      "derived_from_sha256": "9cecc25073501a63d5950d4cd7fe2601cf8cf04e746e8413a750928c1f971458",
      "provider": "fal",
      "endpoint": "fal-ai/topaz/upscale/image",
      "provider_request_id": "01a1a245-e787-74f2-9093-0a2dc726c0fd",
      "qa_status": "accepted"
    },
    {
      "id": "my-le-body-source-v001",
      "path": "assets/my-le-body-source-v001.jpg",
      "role": "body_anchor",
      "origin": "derived_restoration",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3345706,
      "sha256": "ce3dab91f0d3d03a790fde1ba3ec02fb196e065fdf92aa7ef93ada0fa39160ef",
      "notes": "Owner-chosen body anchor (striped tee + skirt), her-only crop restored 4x with Topaz Low Resolution V2. The source photo itself is not published.",
      "width": 2000,
      "height": 4952,
      "derived_from_sha256": "8a299effd923e56dc4e7e39087ea76497d1c80649d016cfb4b90b74a763daf33",
      "crop_box_px": [
        1390,
        330,
        1890,
        1568
      ],
      "provider": "fal",
      "endpoint": "fal-ai/topaz/upscale/image",
      "provider_request_id": "01a1a246-3fdb-7792-aadb-35b1023182ad",
      "qa_status": "accepted"
    },
    {
      "id": "my-le-body-000-v001",
      "path": "assets/my-le-body-000-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3096488,
      "sha256": "1b3e1e0942ba919b36178dbfd9dd680f8e633bb494234c4192f03d88b89be047",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a24d-94f1-77c1-93b0-f3de96e2b8fa",
      "prompt_sha256": "11cc9949e38d8cca42af96b7d806e0e945a01ba7c62e11eab9215732cab267cf",
      "seed": 5005,
      "receipt": "body-000",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.525,
      "yaw_degrees": 0
    },
    {
      "id": "my-le-body-045-v001",
      "path": "assets/my-le-body-045-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3192728,
      "sha256": "2af43afe092cbf62124f4abf6e830edb23413f704eeca075652f572ab4889ea1",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos. Her head turns less than her body (near frontal).",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-3dbe-7d50-ba94-fd8cbe95de72",
      "prompt_sha256": "e58c4910f5cb5bfbda7b778ac8b730bb2d4ebf5d4b40da479d6ec5e74fce2067",
      "seed": 5005,
      "receipt": "body-045",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.504,
      "yaw_degrees": 45
    },
    {
      "id": "my-le-body-090-v001",
      "path": "assets/my-le-body-090-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3067317,
      "sha256": "b2f5c4a7121149c252f70edc8af30ef3d2ca02e067204aaa7dfbe6d7c3817673",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-3f69-7423-9d54-c50f2933dbe8",
      "prompt_sha256": "79539138215fd2e55e765026766f33af0e39867d132517e1eb58f91b7abb786a",
      "seed": 5005,
      "receipt": "body-090",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": null,
      "yaw_degrees": 90
    },
    {
      "id": "my-le-body-135-v001",
      "path": "assets/my-le-body-135-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3142003,
      "sha256": "b94cc8b93298b35270fd2ee54e8cc7dec10c6f6db9b8410762cf849c632d12b8",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4071-7151-96fd-1b6c2c3f1c5b",
      "prompt_sha256": "1c0607eec4f139601cd9fb08bbfa43f25a5762418561df3b763a9b6579c00b77",
      "seed": 5005,
      "receipt": "body-135",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": null,
      "yaw_degrees": 135
    },
    {
      "id": "my-le-body-180-v001",
      "path": "assets/my-le-body-180-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3187434,
      "sha256": "07741bc53f6f8efc0200c7e37904d38193e61e705ab2c1ff60302d78f03fd433",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-414c-7471-bd4a-8cd41fbc2328",
      "prompt_sha256": "c7f1c3de0278b906b90e4ddda088379894917feb27e30af23a4687335867c370",
      "seed": 5005,
      "receipt": "body-180",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": null,
      "yaw_degrees": 180
    },
    {
      "id": "my-le-body-225-v001",
      "path": "assets/my-le-body-225-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3090606,
      "sha256": "64c149bd2da4bc0267741494322da5e59d3f250a9da77d9f86c777a08342cca2",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-42ef-7512-a7bf-f31d3f352f60",
      "prompt_sha256": "70fa93089238ca87ea0c4831fab7be362d6625435567c16a5f3c70aae4198ef9",
      "seed": 5005,
      "receipt": "body-225",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": null,
      "yaw_degrees": 225
    },
    {
      "id": "my-le-body-270-v001",
      "path": "assets/my-le-body-270-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3109302,
      "sha256": "2b49680cba3a6c051ec9a8292494ed4a9b6a0bec74ee3857894e5528bb24f9a7",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-440f-7183-9d99-994a3ed1cb57",
      "prompt_sha256": "88716308644a31e38ef69c8de0d9d0d6f8a5852e903f33ef53b3ce15f4f44699",
      "seed": 5005,
      "receipt": "body-270",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": null,
      "yaw_degrees": 270
    },
    {
      "id": "my-le-body-315-v001",
      "path": "assets/my-le-body-315-v001.jpg",
      "role": "body_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3202845,
      "sha256": "0b260215b761acc52eb843e6e840d4e222f306dec266d7d7565d304c54639b80",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-459c-7921-8332-cff6cf0fec9f",
      "prompt_sha256": "c7361b0465175bd6b9a670b58ed91c504f09543bdc879b4976b6c95792d58762",
      "seed": 5005,
      "receipt": "body-315",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.467,
      "yaw_degrees": 315
    },
    {
      "id": "my-le-face-000-v001",
      "path": "assets/my-le-face-000-v001.jpg",
      "role": "face_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 4450021,
      "sha256": "545838061011a581e14bb2f50ba888620260361214d9c4d8608d1607892bafb0",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a24d-933d-7af3-9a26-5f6af436a8ea",
      "prompt_sha256": "80291fe6cf0c6f4c88d3b6af7865caaa6b27dc7516f3aff41a2fa38ba6a71979",
      "seed": 5005,
      "receipt": "face-000",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.504,
      "yaw_degrees": 0
    },
    {
      "id": "my-le-face-045-v001",
      "path": "assets/my-le-face-045-v001.jpg",
      "role": "face_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3950519,
      "sha256": "15acaad8fa53fc8779cd7298893e2df61eae947f61a6444db5cf325ab97bb06c",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4685-7a00-b07f-21790068e38f",
      "prompt_sha256": "446997a49a72ff98c2a56a3e419aaaf9b70e526ff650f7fdd64709c1b614a8a3",
      "seed": 5005,
      "receipt": "face-045",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.527,
      "yaw_degrees": 45
    },
    {
      "id": "my-le-face-090-v001",
      "path": "assets/my-le-face-090-v001.jpg",
      "role": "face_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3886224,
      "sha256": "47e3477328f6bb0846096101c427451484d89a002799606f4485d969cb7db534",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4769-7552-b20d-752de0cd5de5",
      "prompt_sha256": "b543a75965f3f602b2aefdadf82893fa230075ca1c969760f4ba7dd3259b4b5a",
      "seed": 5005,
      "receipt": "face-090",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.439,
      "yaw_degrees": 90
    },
    {
      "id": "my-le-face-270-v001",
      "path": "assets/my-le-face-270-v001.jpg",
      "role": "face_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3851872,
      "sha256": "60087ee68bfaaad6d507b174f38939c1c93c5451252ff6896112644109cfb152",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-483e-74f0-81dd-fae14089c2cf",
      "prompt_sha256": "53f3363e944ad3dd55ad165114f0666636dc32c19bb0ebbd3ffb55fb9d6b2455",
      "seed": 5005,
      "receipt": "face-270",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.359,
      "yaw_degrees": 270
    },
    {
      "id": "my-le-face-315-v001",
      "path": "assets/my-le-face-315-v001.jpg",
      "role": "face_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3865747,
      "sha256": "a27c9ab8298bd24350c45020c451967bdcdfbee72ee5dfbb3815f4a524c85ac6",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4929-7f91-aac3-ef7a19abc77f",
      "prompt_sha256": "9df5dfa94ac9c71d6935f17f2bf017f33fb0464bedb556f3485200eff8f5f8b5",
      "seed": 5005,
      "receipt": "face-315",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.54,
      "yaw_degrees": 315
    },
    {
      "id": "my-le-expression-smile-v001",
      "path": "assets/my-le-expression-smile-v001.jpg",
      "role": "expression_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 4363345,
      "sha256": "8c31e1585744398fb4a8b229176b5f4882b9417448ce40f2ab2df3c643ca2b77",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4b14-7600-86dd-20bbce8647ce",
      "prompt_sha256": "e1df448e13b7f96c333c5bc81ae2dcf5e27c7da76a66e3b3e3a7b13cc66c1ceb",
      "seed": 5005,
      "receipt": "expr-smile",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.567
    },
    {
      "id": "my-le-expression-eyesclosed-v001",
      "path": "assets/my-le-expression-eyesclosed-v001.jpg",
      "role": "expression_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 4040293,
      "sha256": "ba204a934ff42b9984eee080e886824bb2c486b81f129af7188b1bc4260d8fa9",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4c16-7961-b9d4-2766f8dfc268",
      "prompt_sha256": "068c2cfff089cbd41b563eed816bbd9fc2fe92c1e2141260c50b4711b0ea2635",
      "seed": 5005,
      "receipt": "expr-eyesclosed",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.438
    },
    {
      "id": "my-le-expression-speaking-v001",
      "path": "assets/my-le-expression-speaking-v001.jpg",
      "role": "expression_reference",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 4023092,
      "sha256": "dc9dface5bec049ffd834e033eae875c2c7e2bfd49e0cf105821a627457d0764",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3712,
      "height": 4608,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4d85-7d60-a635-2e3d80bc4a41",
      "prompt_sha256": "974b66b30e1a07536cfbddba9005dd4015b15e779eb74a78074b08d0e697e079",
      "seed": 5005,
      "receipt": "expr-speaking",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.457
    },
    {
      "id": "my-le-motion-floor-v001",
      "path": "assets/my-le-motion-floor-v001.jpg",
      "role": "scene_first_frame",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3260428,
      "sha256": "15206276f1c70d2f944639e0cfc8a262dd58f485383978157f379db6d9f945d2",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-4ee6-73a2-9e86-8922e4c27d38",
      "prompt_sha256": "c2c9b233ad985de1ca757c73ff06d9e2c452cff411d588bc642f371ba6ec6c64",
      "seed": 5005,
      "receipt": "scene-floor",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.427
    },
    {
      "id": "my-le-motion-chair-v001",
      "path": "assets/my-le-motion-chair-v001.jpg",
      "role": "scene_first_frame",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3272129,
      "sha256": "acab40e22c0f1631704784235b0f6740b66a53768faa59335a2d583ba40fdb29",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a251-50e2-76b2-a5ea-c996f7b7196f",
      "prompt_sha256": "3944ecd0b7f8bf5f1016d571fd9b4d9b8d470274530f155e1c52066e7a91dc0c",
      "seed": 5005,
      "receipt": "scene-chair",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.478
    },
    {
      "id": "my-le-anchor-v001",
      "path": "assets/my-le-anchor-v001.jpg",
      "role": "identity_and_body_anchor",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 3237248,
      "sha256": "c2cd42f2dbc29c1b0fb3359f544bbf7d4411f8d57d92f1166af7493c50d7563c",
      "notes": "Generated at 4K (Nano Banana Pro edit) from her restored face anchor (image 1), restored body anchor (image 2) and two more of her photos; lead review passed identity, direction and framing; face-ID checked against her real photos.",
      "width": 3072,
      "height": 5504,
      "generator": "fal fal-ai/nano-banana-pro/edit",
      "resolution": "4K",
      "provider_request_id": "01a1a24d-95d6-7250-9f4f-0953cb1303a3",
      "prompt_sha256": "4fde0df9aa1be0acbebb49f7a9c2bdac78ee80d110b8c9a82e90267e28ec1db0",
      "seed": 5005,
      "receipt": "anchor",
      "inputs": [
        "my-le-face-source-v001",
        "my-le-body-source-v001",
        "front2-src (her-only crop, unpublished)",
        "close-src (her-only crop, unpublished)"
      ],
      "qa_status": "accepted",
      "review": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
      "face_id": 0.463
    },
    {
      "id": "my-le-360-v001",
      "path": "assets/my-le-360-v001.jpg",
      "role": "turnaround_sheet",
      "origin": "derived_composite",
      "status": "active",
      "version": "001",
      "media_type": "image/jpeg",
      "size_bytes": 1516501,
      "sha256": "3f7e8f01bbb5500e71860dfb700ce21cdc0ca6170b7bc1eb5b8703caf7eea423",
      "notes": "Contact sheet of the eight body views (000-315, row-major, 4 x 2); local composite.",
      "width": 3072,
      "height": 2752,
      "qa_status": "accepted"
    },
    {
      "id": "my-le-motion-turn-v001",
      "path": "assets/my-le-motion-turn-v001.mp4",
      "role": "motion_baseline",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "video/mp4",
      "size_bytes": 4036979,
      "sha256": "0a77f00fa243fad419e1f1527aeabe2c77bcb716aef7adfe31988add279b6ac8",
      "notes": "Turn baseline, kie kling-3.0/video pro, 5 s, sound off, one 'myle' element (face 000, face 045, body 000). First frame my-le-motion-floor-v001. Deviation: Kling turned her toward image right and stopped at about three-quarter instead of a full left profile; accepted for identity and motion quality.",
      "width": 1072,
      "height": 1928,
      "duration_seconds": 5.041667,
      "average_frame_rate": "24/1",
      "codec": "h264",
      "audio_streams": 0,
      "generator": "kie kling-3.0/video",
      "provider_job_id": "0617c7af5cc542ed3598dd43f1835469",
      "prompt_sha256": "4d39305a99c1613914f8ad98789d110391e75d30547adf7a6a4a6ea99d1782d4",
      "credits_consumed": 90,
      "first_frame_asset_id": "my-le-motion-floor-v001",
      "qa_status": "accepted"
    },
    {
      "id": "my-le-motion-walk-v001",
      "path": "assets/my-le-motion-walk-v001.mp4",
      "role": "motion_baseline",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "video/mp4",
      "size_bytes": 4588309,
      "sha256": "c8c0099cfdfbfe8c98e4bab2ea6133188c98f8466525c4fd273b5926ef9d8e4c",
      "notes": "Walk baseline, kie kling-3.0/video pro, 5 s, sound off, one 'myle' element (face 000, face 045, body 000). First frame my-le-motion-floor-v001. Second attempt: she shifts back a step, then walks toward the camera; continuous but short travel. The first attempt jumped back mid-clip and was rejected.",
      "width": 1072,
      "height": 1928,
      "duration_seconds": 5.041667,
      "average_frame_rate": "24/1",
      "codec": "h264",
      "audio_streams": 0,
      "generator": "kie kling-3.0/video",
      "provider_job_id": "1642763c7ca0d5eddf6f1ba69b0a2b8b",
      "prompt_sha256": "6ebdd982b1a151f4734eb54cefb91539d140bf2c8db7b504f79157b73b05144d",
      "credits_consumed": 90,
      "first_frame_asset_id": "my-le-motion-floor-v001",
      "qa_status": "accepted"
    },
    {
      "id": "my-le-motion-sit-v001",
      "path": "assets/my-le-motion-sit-v001.mp4",
      "role": "motion_baseline",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "video/mp4",
      "size_bytes": 4535574,
      "sha256": "ebca2a956567ae5117137b5505134c4ddc6f9410547408a6231afcd5a0093dd3",
      "notes": "Sit baseline, kie kling-3.0/video pro, 5 s, sound off, one 'myle' element (face 000, face 045, body 000). First frame my-le-motion-chair-v001. Turns and sits on the chair, then crosses her legs; hands and feet grounded.",
      "width": 1072,
      "height": 1928,
      "duration_seconds": 5.041667,
      "average_frame_rate": "24/1",
      "codec": "h264",
      "audio_streams": 0,
      "generator": "kie kling-3.0/video",
      "provider_job_id": "94fb066ae0839a8ab52384981ada8f2f",
      "prompt_sha256": "becc944ed84c94cd874dd824e6b6cff6856456821d7893ae79cd19739a695bdd",
      "credits_consumed": 90,
      "first_frame_asset_id": "my-le-motion-chair-v001",
      "qa_status": "accepted"
    },
    {
      "id": "my-le-motion-talk-v001",
      "path": "assets/my-le-motion-talk-v001.mp4",
      "role": "motion_baseline",
      "origin": "generated",
      "status": "active",
      "version": "001",
      "media_type": "video/mp4",
      "size_bytes": 8653808,
      "sha256": "2b1151056a9908f25f8d8be8b3443599fb0ce680cb1cf5c718b179b82e94297b",
      "notes": "Talk baseline, kie kling-3.0/video pro, 5 s, sound off, one 'myle' element (face 000, face 045, body 000). First frame my-le-face-000-v001. Talks to the camera with natural head motion and blinks; a hand briefly enters the bottom edge.",
      "width": 1292,
      "height": 1604,
      "duration_seconds": 5.041667,
      "average_frame_rate": "24/1",
      "codec": "h264",
      "audio_streams": 0,
      "generator": "kie kling-3.0/video",
      "provider_job_id": "fa08aeb87765c62c3fd93165817e4200",
      "prompt_sha256": "03cf64e11d2fc9ac3c8079a147b2804565962ac14eb863d6e773685ec10d4b2a",
      "credits_consumed": 90,
      "first_frame_asset_id": "my-le-face-000-v001",
      "qa_status": "accepted"
    }
  ],
  "generation_prompt_template": "Generate {shot} of the same woman. Image 1 (her restored face anchor) is the face authority: keep her exact face shape, width and cheek fullness, eyes, brows, nose, mouth and smile lines, skin tone and long wavy black hair with a center part. Image 2 (nearest body view) sets her build. Never make her face thinner, longer or older than her photos. Wardrobe: {wardrobe}. Scene: {scene}. Lighting: {lighting}. Same real person, photorealistic, natural skin texture. One person only, no text, no watermark.",
  "motion_prompt_template": "Animate the attached accepted scene first frame. Action: {one_simple_action} Camera: locked, no camera movement. Duration: 5 seconds. @myle is this same woman: keep her existing face, age, skin tone, long wavy black hair with a center part, body proportions, white tee, black wide-leg trousers and white sneakers, lighting, scene and ground contact stable throughout. Use natural movement and continuous anatomy. Do not add scene changes, new people, text, captions, logos or wardrobe changes. No dialogue. Avoid flicker, face drift, warped frames, body drift, floating heels, extra fingers and sliding feet.",
  "avoid": [
    "identity changes",
    "longer, narrower, thinner or older face",
    "generic beauty-model face",
    "changed skin tone",
    "hair color or part changes",
    "plastic skin",
    "beauty filter",
    "facial warping",
    "frame-to-frame flicker",
    "body slimming, bulking or lengthening",
    "wardrobe drift in reference shots",
    "added text, captions or logos"
  ],
  "release_checks": [
    "Visible face matches her face anchor and real photos (shape, width, cheeks, eyes, smile).",
    "Never thinner, longer or older than her photos.",
    "Hair keeps the long black waves and center part.",
    "Body keeps the anchor's proportions; clothing does not reshape them.",
    "Skin tone stays consistent under intended lighting.",
    "My-le reviews new references and any clip of her speaking before use.",
    "Identity stays stable through motion, blinks and the final frame."
  ],
  "versioning": {
    "patch": "documentation fixes",
    "minor": "additional references",
    "major": "intentional identity change approved by My-le",
    "preserve_previous_assets": true,
    "preserve_original_anchor": true
  },
  "created_on": "2026-11-03",
  "updated_on": "2026-11-03",
  "release_history": [
    {
      "version": "0.1.0",
      "date": "2026-11-03",
      "change": "Created from 17 photos the owner supplied, with My-le's consent attested by the owner. Face anchor: her smiling headshot; body anchor: striped tee + skirt (owner's choices), both restored 4x. Three 4K gate rounds (the first read longer and older than her photos; the second, with a detailed face description, became a different woman); round 3 accepted. 19 4K references, a 360 sheet and four Kling 3.0 pro motion baselines. Voice to come."
    }
  ],
  "production_config": "production.json",
  "budget_ledger": "production-ledger.json",
  "scene_references": [
    {
      "asset_id": "my-le-motion-floor-v001",
      "path": "assets/my-le-motion-floor-v001.jpg",
      "label": "Walk / turn working frame",
      "status": "reviewed_working_test_input"
    },
    {
      "asset_id": "my-le-motion-chair-v001",
      "path": "assets/my-le-motion-chair-v001.jpg",
      "label": "Sit working frame",
      "status": "reviewed_working_test_input"
    }
  ],
  "turnaround_sheet": {
    "asset_id": "my-le-360-v001",
    "path": "assets/my-le-360-v001.jpg"
  },
  "motion_baselines": {
    "revision": 1,
    "reviewer": "lead agent 1099:claude-chat-c1d3 (automated-session visual review) + ArcFace and Jev scores",
    "reviewed_at": "2026-11-03T19:00:00+00:00",
    "review_method": "Contact sheets (8 frames per clip) reviewed by the lead agent, plus a caption scan against the first frame; no exhaustive playback claim.",
    "accepted": 4,
    "rejected": 0,
    "stored_audio": "none (rendered with sound off)",
    "lip_sync_validated": false,
    "renderer": "kie kling-3.0/video · pro · 5 s",
    "accepted_ids": [
      "my-le-motion-turn-v001",
      "my-le-motion-walk-v001",
      "my-le-motion-sit-v001",
      "my-le-motion-talk-v001"
    ],
    "caption_scan": {
      "motion-turn": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)",
      "motion-walk": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)",
      "motion-sit": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)",
      "motion-talk": "clean: no added text, captions or logos (max frame ratio under 1.6x the first frame)"
    }
  },
  "production_completion": {
    "status": "complete",
    "scope": "v0.1.0 reference pack and four motion baselines; voice to come.",
    "completed_at": "2026-11-03T19:00:00+00:00",
    "qa_report": {
      "path": "qa.json",
      "sha256": "15b2428076a0dae7a2f75c96525038519a36bf4c07baa305daeb9a59b5a21ebf"
    },
    "subject_review": "pending",
    "framework": "https://projects.jbnx.io/framework/ai-model-reference-pack-framework",
    "owner_request": "2026-11-03: 'use these photos to create profile 005 as My-le. same as other designs. prod it when done. ill do voice later.'",
    "review_note": "Built from the photos the owner supplied, with consent attested by the owner. My-le reviews before production use; voice to come."
  },
  "production_status": "v0.1.0_reference_pack_complete_awaiting_subject_review",
  "consent": {
    "subject": "real_person",
    "attested_by": "owner (Joey Nguyen)",
    "attested_on": "2026-11-03",
    "statement": "Owner attests that My-le agreed to a public model page at jbnx.io/design/m/005 and to AI-generated stills and video of her likeness.",
    "scope": "JBNX Design reference model page and AI-generated stills and video of her likeness.",
    "subject_review": "My-le reviews new references and any clip of her speaking before production use.",
    "privacy": "Only My-le is identifiable in provider inputs. Her 17 source photos are not published; only her-only crops used as inputs are recorded by hash."
  },
  "anchor": {
    "asset_id": "my-le-anchor-v001",
    "path": "assets/my-le-anchor-v001.jpg",
    "label": "Hero anchor · full body"
  },
  "voice": {
    "status": "pending_owner",
    "note": "The owner will add her voice later; no voice sample or voice proof in v0.1.0."
  },
  "likeness": {
    "method": "ArcFace (InsightFace buffalo_l) cosine similarity against her real photos (each real photo scored against the others for calibration) and Jev (TypeSafe System One, jev-1.14.0) same-person probability and 0-4 likeness score with confidence against her face anchor. Confidence is not proof; My-le's own judgment decides.",
    "tables": {
      "summary": [
        {
          "image": "Real photo · front neutral (control)",
          "jev_same_person": "82%",
          "jev_likeness": "3.09 · 0.26",
          "face_id": "0.52"
        },
        {
          "image": "Real photo · Chinatown (control)",
          "jev_same_person": "78%",
          "jev_likeness": "2.90 · 0.34",
          "face_id": "0.60"
        },
        {
          "image": "Different person · Bethany (control)",
          "jev_same_person": "3%",
          "jev_likeness": "0.19 · 0.85",
          "face_id": "0.02"
        },
        {
          "image": "Gate 1 face (rejected: longer, older)",
          "jev_same_person": "83%",
          "jev_likeness": "3.19 · 0.31",
          "face_id": "0.50"
        },
        {
          "image": "Gate 2 face (rejected: different woman)",
          "jev_same_person": "75%",
          "jev_likeness": "2.67 · 0.34",
          "face_id": "0.06"
        },
        {
          "image": "Face front",
          "jev_same_person": "85%",
          "jev_likeness": "3.08 · 0.25",
          "face_id": "0.50"
        },
        {
          "image": "Face three-quarter left",
          "jev_same_person": "87%",
          "jev_likeness": "3.35 · 0.44",
          "face_id": "0.53"
        },
        {
          "image": "Smile",
          "jev_same_person": "85%",
          "jev_likeness": "3.28 · 0.41",
          "face_id": "0.57"
        },
        {
          "image": "Body front",
          "jev_same_person": "90%",
          "jev_likeness": "3.53 · 0.61",
          "face_id": "0.53"
        },
        {
          "image": "Hero anchor",
          "jev_same_person": "81%",
          "jev_likeness": "2.95 · 0.42",
          "face_id": "0.46"
        }
      ],
      "note": "Face-ID is ArcFace cosine similarity, mean against nine of her real photos; her own photos score 0.36-0.60 against each other and a different person 0.02. Jev compares each image with her restored face anchor. Gate round 2 shows the limit: Jev still gave a different woman 75%, while face-ID caught it (0.055). Confidence is the spread of Jev's answers, not proof. My-le decides."
    },
    "gate_rounds": [
      "face-000, body-000, anchor at seed 5005 with the first lock: face-ID 0.50/0.49/0.40 (her real photos 0.36-0.60 against each other) but visibly longer, narrower and older than her photos; lock rewritten with her round, full face shape, gate re-run",
      "Lock with a detailed face description (round face, wide-set eyes, smooth glowing skin): face-000 became a different, generic woman (face-ID 0.055), body 0.39, anchor 0.51. Descriptive beauty terms override the reference photos; reverted to the original lock plus one restrained line.",
      "Round 3 (accepted): original lock plus one restrained line on face width; front view with a slight closed-lip smile."
    ]
  },
  "outfit_check_standard": {
    "version": "1.0.0",
    "updated_on": "2026-11-08",
    "default_for": "Every future Model 005 outfit shopping preview",
    "owner_direction": "Keep the relaxed standing shopping pose from this outfit preview and add clear side and rear checks.",
    "reference_rule": "Consult the current Model 005 page and manifest before every generation. Attach original face and body source anchors; her own photos win conflicts. Generated turns guide pose only until My-le approves them. Product photos supply clothing only.",
    "layout": "Four labeled full-body views: front, 45°, true side and rear. Use a spacious 2 × 2 sheet; provide individual views when detail needs more space.",
    "views": [
      {
        "label": "Front",
        "yaw_degrees": 0,
        "path": "assets/my-le-body-000-v001.jpg",
        "pose": "Stand upright facing the camera. Level shoulders, relaxed arms slightly clear of the torso, feet naturally spaced and uncrossed."
      },
      {
        "label": "45°",
        "yaw_degrees": 45,
        "path": "assets/my-le-body-045-v001.jpg",
        "pose": "Keep the relaxed shopping stance. Rotate the whole body together; no waist twist or exaggerated hip tilt."
      },
      {
        "label": "Side",
        "yaw_degrees": 90,
        "path": "assets/my-le-body-090-v001.jpg",
        "pose": "True profile: head, shoulders, hips and feet face the same direction. Keep the near forearm clear enough to show waist, side seam, hem and footwear."
      },
      {
        "label": "Rear",
        "yaw_degrees": 180,
        "path": "assets/my-le-body-180-v001.jpg",
        "pose": "Face directly away, with shoulders and hips square. Gently move hair over one shoulder if needed to reveal the back neckline and garment drape."
      }
    ],
    "pose_rules": [
      "Keep natural posture and body proportions. No crossed legs, exaggerated back arch, hip thrust, tiptoe pose, waist twist or pulled hem. Footwear contacts the floor naturally.",
      "Hands, sleeves, hair and accessories must not hide the neckline, waist, side seams, hem or footwear needed for the fit check. Hold the bag beside the outer thigh in front/45° views; omit it from side/rear fit views if it blocks clothing.",
      "Keep her original facial appearance, age, skin tone under comparable lighting, hair and body proportions. Do not slim the body, lengthen legs or copy the store model."
    ],
    "capture_rules": [
      "Use full head-to-toe framing with margins and equal body scale, camera distance, level mid-body camera, background and soft neutral light across all four views.",
      "Maintain the same outfit, colors, fabric, seam placement, hem length and footwear height. Rotate the same outfit with the body; never mirror asymmetric garment features.",
      "Keep natural fabric drape. A generated shopping preview does not establish actual sizing, fabric performance or measured fit."
    ],
    "unseen_details_rule": "Use side/rear product photos when available. When missing, label unseen construction as estimated and keep it plain; never present invented closures, cutouts, pockets or decoration as verified product details.",
    "rejection_checks": [
      "Missing, duplicated or mislabeled view; side is not a true profile; rear is not directly away.",
      "Cropped head or footwear, unequal scale, obstructed fit, distorted anatomy or floating feet.",
      "Changed face, skin tone or body proportions; different outfit or inconsistent neckline, seams, hem or boots.",
      "Unseen garment construction presented without an estimate label."
    ],
    "prompt_template": "Create a photorealistic outfit-check sheet of the same woman, My-le. Consult https://www.jbnx.io/design/m/005 and its current manifest first. Attach her original face source and body source as identity authorities, then the nearest body-angle references and the product photos for clothing only. Keep her facial appearance, age, skin tone, hair and exact body proportions. Wardrobe: {outfit from product references}. Four equally scaled head-to-toe panels in a spacious 2 × 2 layout: Front 0°, relaxed 45°, true Side 90°, Rear 180°. Rotate head, shoulders, hips and feet together. Stand naturally with uncrossed feet, relaxed shoulders and arms slightly clear of the torso; no exaggerated hip tilt, back arch, tiptoe pose, waist twist or pulling the hem. Keep hands, hair and bag clear of fit details; omit the bag from side/rear if needed. Same camera distance, level mid-body camera, soft neutral light and background. Preserve garment color, texture, seams, asymmetry, hem length and footwear across views. Label missing side/rear product construction as estimated; do not invent decorative features. Reject missing angles, obstructed fit, cropped feet, anatomy errors, identity/body/skin-tone changes and outfit drift. AI try-on; actual fit depends on sizing."
  }
}
