{
  "model_id": "jbnx-m-002",
  "name": "Joey Nguyen",
  "status": "ACTIVE ANCHOR • SEED LOCKED",
  "route": "/design/m/002",
  "variants": [
    {
      "id": "m/002-a",
      "name": "Executive",
      "wardrobe": "Black short-sleeve pique polo, every button fastened to the top, under an open black blazer; black trousers",
      "facial_hair": "Clean-shaven",
      "eyewear": "None",
      "aspect_ratios": [
        "16:9",
        "9:16"
      ]
    },
    {
      "id": "m/002-b",
      "name": "Studio Architect",
      "wardrobe": "Dark navy technical overshirt over black crew tee",
      "facial_hair": "Clean-shaven",
      "eyewear": "Modern clear-frame glasses",
      "aspect_ratios": [
        "16:9",
        "9:16"
      ]
    },
    {
      "id": "m/002-c",
      "name": "Keynote Presenter",
      "wardrobe": "Midnight-navy quarter-zip sweater",
      "facial_hair": "Clean-shaven",
      "eyewear": "None",
      "aspect_ratios": [
        "16:9",
        "9:16"
      ]
    }
  ],
  "pipeline_metadata": {
    "recommended_voice": "Eleven Multilingual v2 (Custom Clone)",
    "stability": 0.55,
    "similarity": 0.75,
    "style": 0.08,
    "speaker_boost": true,
    "key_secret": "ELEVENLABS_KEY",
    "key_locations": [
      "Supabase Edge Function Secrets — jbnx project (ref ngjmqdzpnhwpybtssykz)",
      "Supabase Edge Function Secrets — fedm8 project",
      "Railway variable (owner-set 2026-10-28)"
    ],
    "key_rule": "Reference by name only. The value lives in the platform secret stores above, is injected at runtime, and is never hardcoded, printed, or logged."
  },
  "registration": {
    "parent_catalog": "/design/catalog.json",
    "model_catalog": "/design/m/catalog.json",
    "model_manifest": "/design/m/002/model.json",
    "framework": "/design/m/002/framework.md",
    "prompts": "/design/m/002/prompts.txt",
    "tokens": "/design/m/002/tokens.json",
    "token_inheritance": {
      "inherits_from": "Capture OS master (JBNX Design Standards, /design)",
      "local_tokens": "/design/m/002/tokens.json",
      "rule": "Local tokens.json is a real file served at its own route. It is NOT an alias of model.json. Every route named in this entry resolves to a file that exists in static/design/m/002/ — the m/001 pattern (a catalog entry pointing at a tokens.json that does not exist on disk, served only as an alias of model.json) is not repeated for m/002."
    },
    "assets_status": "v0.5.0_anchors_accepted_by_owner",
    "expected_assets": [
      {
        "variant": "m/002-a",
        "slot": "/design/m/002/assets/anchor-slot-a.svg",
        "expected_anchor": "assets/joey-anchor-a-v005.jpg",
        "expected_loop": "assets/joey-loop-a-v001.mp4",
        "reference_assets": [
          "assets/anchor-u04-balcony.jpg",
          "assets/anchor-u05-owner-portrait.jpg",
          "assets/anchor-u01-mirror.jpg"
        ],
        "anchor": "assets/joey-anchor-a-v005.jpg",
        "slot_status": "archived (superseded by the v0.3.0 anchor)",
        "expected_loop_status": "not made"
      },
      {
        "variant": "m/002-b",
        "slot": "/design/m/002/assets/anchor-slot-b.svg",
        "expected_anchor": "assets/joey-anchor-b-v005.jpg",
        "expected_loop": "assets/joey-loop-b-v001.mp4",
        "reference_assets": [
          "assets/anchor-u04-balcony.jpg",
          "assets/anchor-u05-owner-portrait.jpg",
          "assets/anchor-u01-mirror.jpg"
        ],
        "anchor": "assets/joey-anchor-b-v005.jpg",
        "slot_status": "archived (superseded by the v0.3.0 anchor)",
        "expected_loop_status": "not made"
      },
      {
        "variant": "m/002-c",
        "slot": "/design/m/002/assets/anchor-slot-c.svg",
        "expected_anchor": "assets/joey-anchor-c-v005.jpg",
        "expected_loop": "assets/joey-loop-c-v001.mp4",
        "reference_assets": [
          "assets/anchor-u04-balcony.jpg",
          "assets/anchor-u05-owner-portrait.jpg",
          "assets/anchor-u01-mirror.jpg"
        ],
        "anchor": "assets/joey-anchor-c-v005.jpg",
        "slot_status": "archived (superseded by the v0.3.0 anchor)",
        "expected_loop_status": "not made"
      }
    ],
    "reference_pack": {
      "framework": "https://projects.jbnx.io/framework/ai-model-reference-pack-framework",
      "job_file": "/design/m/002/reference-pack-job.json",
      "qa": "/design/m/002/qa.json"
    }
  },
  "anchor_references": {
    "seed": "/design/m/002/assets/anchor-c001-seed-front.jpg",
    "profile": "/design/m/002/assets/anchor-c027-profile.jpg",
    "full_body": "/design/m/002/assets/anchor-c050-fullbody-suit.jpg",
    "count": 13,
    "manifest": "/design/m/002/model.json",
    "note": "Real photos of Joey Nguyen selected 2026-10-28 from the owner's 'Joey Only' Google Photos album. Identity references for generation, not generated variant anchors; generated anchors and video loops remain pending. Gaps: no true no-hat navy-blazer front (A), no no-cap glasses shot (B); backgrounds need crop/replace."
  },
  "assets_status": "v0.5.0_anchors_accepted_by_owner"
}
