{
  "schema": "pmt-cast-v1",
  "audit": {
    "scope": "Bounded existing research union, NOT every internet rage face. Overlapping inventories are deduplicated by canonical ID and source URL.",
    "source_counts": {
      "core_name_records": 19,
      "core_families": 17,
      "extended_records": 23,
      "supplemental_detailed": 29,
      "directory": 50,
      "unverified_variant_filenames": 355,
      "research_files_enumerated": 282,
      "ledger_source_rows": {
        "ledger.json": 16,
        "core/ledger.json": 70,
        "extended/ledger.json": 82,
        "final/ledger.json": 114
      }
    },
    "directory_rows": 50,
    "directory_routes": [
      {
        "name": "Man, I Don't Feel Like Working Out Today",
        "source_url": "https://knowyourmeme.com/memes/man-i-dont-feel-like-working-out-today",
        "id": "man-i-don-t-feel-like-working-out-today",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Goodbye Mom!",
        "source_url": "https://knowyourmeme.com/memes/goodbye-mom",
        "id": "goodbye-mom",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Mom Can You Give Me Money?",
        "source_url": "https://knowyourmeme.com/memes/mom-can-you-give-me-money",
        "id": "mom-can-you-give-me-money",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Baozou Manhua",
        "source_url": "https://knowyourmeme.com/memes/sites/baozou-manhua",
        "id": "baozou-manhua",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Peach Time",
        "source_url": "https://knowyourmeme.com/memes/peach-time",
        "id": "peach-time",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Numb Face",
        "source_url": "https://knowyourmeme.com/memes/numb-face",
        "id": "numb-face",
        "eligible": true,
        "selectable": false,
        "reason": "Both local KYM and archived sad-numb source omit the top/scalp contour. Public supplemental search did not locate a verifiable complete replacement."
      },
      {
        "name": "Oh Stop It, You",
        "source_url": "https://knowyourmeme.com/memes/oh-stop-it-you",
        "id": "oh-stop-it-you",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM, archive and SVG sources include a hand overlapping the head/neck contour. Crop-only preparation cannot supply hidden contours."
      },
      {
        "name": "You Win This Time!",
        "source_url": "https://knowyourmeme.com/memes/you-win-this-time",
        "id": "you-win-this-time",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM and archive representative lack a separately usable complete head silhouette and contain intertwined figure context. No head-only crop accepted."
      },
      {
        "name": "Dude Come On",
        "source_url": "https://knowyourmeme.com/memes/dude-come-on",
        "id": "dude-come-on",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM and archive images end at the lower face boundary without a complete jaw; adding padding cannot recover missing contour."
      },
      {
        "name": "Differenze Linguistiche",
        "source_url": "https://knowyourmeme.com/memes/differenze-linguistiche",
        "id": "differenze-linguistiche",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Le",
        "source_url": "https://knowyourmeme.com/memes/le",
        "id": "le",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "OMG RUN Guy / Tampon Head Rage Face",
        "source_url": "https://knowyourmeme.com/memes/omg-run-guy-tampon-head-rage-face",
        "id": "omg-run-guy-tampon-head-rage-face",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB. Open lower form and small native white margin remain; not a newly closed anatomical silhouette."
      },
      {
        "name": "You...What Have You Done?",
        "source_url": "https://knowyourmeme.com/memes/youwhat-have-you-done",
        "id": "you-what-have-you-done",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM and archive use a half-shadowed head merging into a dark scene with body and caption. Crop would retain background context or require inventing the obscured silhouette."
      },
      {
        "name": "Being an X",
        "source_url": "https://knowyourmeme.com/memes/being-an-x",
        "id": "being-an-x",
        "eligible": false,
        "selectable": false,
        "reason": "Excluded: racial caricature or ethnic-stereotype format. No asset distributed."
      },
      {
        "name": "Derpina",
        "source_url": "https://knowyourmeme.com/memes/derpina",
        "id": "derpina",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM, archive and SVG examples terminate at image boundaries/open lower head and contain adjoining body. No complete clean head accepted."
      },
      {
        "name": "Now Kiss!",
        "source_url": "https://knowyourmeme.com/memes/now-kiss",
        "id": "now-kiss",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "NO. Rage Face",
        "source_url": "https://knowyourmeme.com/memes/no-rage-face",
        "id": "no",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "I'm Watching You",
        "source_url": "https://knowyourmeme.com/memes/im-watching-you",
        "id": "i-m-watching-you",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "So Hardcore",
        "source_url": "https://knowyourmeme.com/memes/so-hardcore",
        "id": "so-hardcore",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Big Grin / Never Ever",
        "source_url": "https://knowyourmeme.com/memes/big-grin-never-ever",
        "id": "big-grin-never-ever",
        "eligible": true,
        "selectable": false,
        "reason": "KYM epic_lulz reference is cut at left head boundary. Archive happy-grin, happy-big-smile, happy-epic-win and SVG grin are different drawings, not this documented identity; rejected rather than relabelled."
      },
      {
        "name": "Desk Flip",
        "source_url": "https://knowyourmeme.com/memes/desk-flip",
        "id": "desk-flip",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Nothing To Do Here / Jet Pack Guy",
        "source_url": "https://knowyourmeme.com/memes/nothing-to-do-here-jet-pack-guy",
        "id": "nothing-to-do",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Feel Like a Sir",
        "source_url": "https://knowyourmeme.com/memes/feel-like-a-sir",
        "id": "sir",
        "eligible": true,
        "selectable": false,
        "reason": "An alternate archive source recovered the complete hat, but measured isolation still leaves connected collar pixels beneath the jaw. Candidate withheld, not silently accepted."
      },
      {
        "name": "Oh God Why",
        "source_url": "https://knowyourmeme.com/memes/oh-god-why",
        "id": "oh-god-why",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Harp Darp / Herp Derp",
        "source_url": "https://knowyourmeme.com/memes/harp-darp-herp-derp",
        "id": "harp-darp-herp-derp",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Fap Guy",
        "source_url": "https://knowyourmeme.com/memes/fap-guy",
        "id": "fap",
        "eligible": false,
        "selectable": false,
        "reason": "Adult-context historical entry; excluded from default all-ages selection."
      },
      {
        "name": "I Lied",
        "source_url": "https://knowyourmeme.com/memes/i-lied",
        "id": "i-lied",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Sweet Jesus Face",
        "source_url": "https://knowyourmeme.com/memes/sweet-jesus-face",
        "id": "sweet-jesus",
        "eligible": true,
        "selectable": false,
        "reason": "Local/archive and SVG sources clip the scalp and side of the face. Further public search did not yield a verified complete replacement; no generated completion."
      },
      {
        "name": "Actually...It's Not Okay",
        "source_url": "https://knowyourmeme.com/memes/actuallyits-not-okay",
        "id": "actually-it-s-not-okay",
        "eligible": true,
        "selectable": false,
        "reason": "Archived representative is a dark-background portrait with red face marks; alternate Not Okay drawings are different expressions. No clean, independently identified isolated version accepted."
      },
      {
        "name": "It's Something",
        "source_url": "https://knowyourmeme.com/memes/its-something",
        "id": "it-s-something",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Are You Serious Face / Seriously?",
        "source_url": "https://knowyourmeme.com/memes/are-you-serious-face-seriously",
        "id": "are-you-serious",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Melvin Comics/F*CKING MELVIN",
        "source_url": "https://knowyourmeme.com/memes/melvin-comicsfcking-melvin",
        "id": "melvin-comics-f-cking-melvin",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Yao Ming Face / Bitch Please",
        "source_url": "https://knowyourmeme.com/memes/yao-ming-face-bitch-please",
        "id": "yao-ming",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "PFFFTTTCHH",
        "source_url": "https://knowyourmeme.com/memes/pffftttchh",
        "id": "pffftttchh",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM and archived happy-pfftch examples end at the lower head boundary; caption removal alone does not recover a complete jaw."
      },
      {
        "name": "LOL Guy",
        "source_url": "https://knowyourmeme.com/memes/lol-guy",
        "id": "lol-guy",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "Feel Like a Ninja",
        "source_url": "https://knowyourmeme.com/memes/feel-like-a-ninja",
        "id": "feel-like-a-ninja",
        "eligible": true,
        "selectable": true,
        "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved."
      },
      {
        "name": "Race Guy",
        "source_url": "https://knowyourmeme.com/sensitive/memes/race-guy",
        "id": "race-guy",
        "eligible": false,
        "selectable": false,
        "reason": "Excluded: racial caricature or ethnic-stereotype format. No asset distributed."
      },
      {
        "name": "Oh Crap / OMG Rage Face",
        "source_url": "https://knowyourmeme.com/memes/oh-crap-omg-rage-face",
        "id": "oh-crap",
        "eligible": true,
        "selectable": false,
        "reason": "Local documented Ashraf/OMG representative is clipped; archive surprised-omg, surprised-rage-clean and SVG alternatives were not accepted as a verified complete match. No generic surprise substitute enabled."
      },
      {
        "name": "\"Y U NO\" Guy",
        "source_url": "https://knowyourmeme.com/memes/y-u-no-guy",
        "id": "y-u-no",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "What's All This Racket? / Mirada Fija",
        "source_url": "https://knowyourmeme.com/memes/whats-all-this-racket-mirada-fija",
        "id": "what-s-all-this-racket-mirada-fija",
        "eligible": false,
        "selectable": false,
        "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference."
      },
      {
        "name": "Forever Alone",
        "source_url": "https://knowyourmeme.com/memes/forever-alone",
        "id": "forever-alone",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "Okay Guy",
        "source_url": "https://knowyourmeme.com/memes/okay-guy",
        "id": "okay-guy",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "Poker Face (Rage Comics)",
        "source_url": "https://knowyourmeme.com/sensitive/memes/poker-face-rage-comics",
        "id": "poker-face",
        "eligible": true,
        "selectable": true,
        "reason": "Exact canonical master; available in any panel; never forced as an ending."
      },
      {
        "name": "Are You Fucking Kidding Me?",
        "source_url": "https://knowyourmeme.com/memes/are-you-fucking-kidding-me",
        "id": "stupidity",
        "eligible": false,
        "selectable": false,
        "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face."
      },
      {
        "name": "Close Enough",
        "source_url": "https://knowyourmeme.com/memes/close-enough",
        "id": "close-enough",
        "eligible": true,
        "selectable": false,
        "reason": "Archive, local KYM and SVG representatives have cropped upper contour and connected neck/shoulder lines; attempted crop remains unsuitable as a complete isolated head."
      },
      {
        "name": "Me Gusta",
        "source_url": "https://knowyourmeme.com/memes/me-gusta",
        "id": "me-gusta",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "Fuck Yea",
        "source_url": "https://knowyourmeme.com/memes/fuck-yea",
        "id": "fuck-yeah",
        "eligible": true,
        "selectable": false,
        "reason": "Complete scalp recovered from local KYM after rejecting archive clipping, but a collar/neck triangle intrudes into the head contour. Candidate withheld under the clean-head constraint."
      },
      {
        "name": "Everything Went Better Than Expected",
        "source_url": "https://knowyourmeme.com/memes/everything-went-better-than-expected",
        "id": "everything-went-better-than-expected",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM, archive and SVG sources cut off lower head/neck contours. No reconstructed jaw or stand-in enabled."
      },
      {
        "name": "Cereal Guy",
        "source_url": "https://knowyourmeme.com/sensitive/memes/cereal-guy",
        "id": "cereal-guy",
        "eligible": true,
        "selectable": true,
        "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB."
      },
      {
        "name": "Rage Guy (FFFFFUUUUUUUU-)",
        "source_url": "https://knowyourmeme.com/memes/rage-guy-fffffuuuuuuuu",
        "id": "rage-guy",
        "eligible": true,
        "selectable": false,
        "reason": "Local KYM, archive and SVG examples contain adjoining neck/body or cropped contours; no complete text-free, body-free head passed this review."
      }
    ],
    "catalogue_entries": 118,
    "eligible": 89,
    "selectable": 71,
    "eligible_unavailable": 18,
    "excluded_or_nonface": 29,
    "variant_inventory": "355 filename discoveries retained in research, not 355 characters or prepared assets."
  },
  "scene_suggestions": {
    "workplace": {
      "roles": [
        "coworker",
        "manager",
        "customer"
      ],
      "cast": [
        "no",
        "are-you-serious",
        "genius",
        "okay-guy"
      ]
    },
    "sports": {
      "roles": [
        "player",
        "coach",
        "spectator"
      ],
      "cast": [
        "challenge-accepted",
        "aww-yea",
        "yao-ming"
      ]
    },
    "gaming": {
      "roles": [
        "player",
        "teammate",
        "opponent"
      ],
      "cast": [
        "trollface",
        "challenge-accepted",
        "i-lied"
      ]
    },
    "news": {
      "roles": [
        "reader",
        "reporter",
        "observer"
      ],
      "cast": [
        "are-you-serious",
        "you-dont-say",
        "cereal-guy"
      ]
    },
    "politics": {
      "roles": [
        "public official",
        "reporter",
        "observer"
      ],
      "cast": [
        "not-bad-obama",
        "trump-custom"
      ]
    }
  },
  "contextual_policy": {
    "scope": "Bounded cast and generic role suggestions, not every person or event.",
    "identities": "Do not generate or claim support for additional identifiable people without authorization and verified assets.",
    "politics": "Political scenes are supported; keep substantive claims factual and reliably sourced, dialogue explicitly fictional, with no fake quote, endorsement or documentary attribution.",
    "canonical": "Poker Face, when chosen, retains the exact canonical asset. New final panels start empty and freely editable; custom public figures are not canonical rage templates.",
    "generation": "Local rough metadata only; no generation or production release authorization."
  },
  "entries": [
    {
      "id": "actually-it-s-not-okay",
      "name": "Actually...It's Not Okay",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/actuallyits-not-okay"
      ],
      "roles": [
        "Reverse a resigned Okay beat into protest before the final social freeze."
      ],
      "meaning": "Continuation of an Okay comic that retracts acceptance and expresses inability to accept defeat.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Actually...It's Not Okay",
        "directory:Actually...It's Not Okay"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Archived representative is a dark-background portrait with red face marks; alternate Not Okay drawings are different expressions. No clean, independently identified isolated version accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "all-things",
      "name": "All the Things",
      "aliases": [
        "Clean All the Things",
        "X all the Y"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/all-the-things"
      ],
      "roles": [
        "Character overcommits, then discovers scope; useful setup beat rather than ending."
      ],
      "meaning": "Hyperbolic commitment to perform an action on everything; deflated questioning version also exists.",
      "classification": "documented crossover adopted in rage ecosystem",
      "research_records": [
        "extended:All the Things"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "are-you-serious",
      "name": "Are You Serious",
      "aliases": [
        "Are You Serious Face",
        "Are You Serious Face / Seriously?",
        "David Silverman face",
        "Seriously",
        "Seriously?"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/are-you-serious-face-seriously",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-seriously.png"
      ],
      "roles": [
        "Straight-person reality check: react to faulty logic, then discover your own mistake and go blank."
      ],
      "meaning": "Perplexed disbelief at an ignorant or absurd claim.",
      "classification": "face_character",
      "research_records": [
        "core:Are You Serious",
        "core:Seriously",
        "directory:Are You Serious Face / Seriously?"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/misc-seriously.png",
        "source_sha256": "1ddb81b62bbabac8ea428ea038cdd1dbae5ec06ab95e99d80e30ab8a282d96c2",
        "crop": [
          0,
          0,
          1500,
          1080
        ],
        "trim": [
          300,
          0,
          1091,
          929
        ],
        "spec": {
          "source_polygon": [
            [
              300,
              0
            ],
            [
              1090,
              0
            ],
            [
              1090,
              738
            ],
            [
              1050,
              763
            ],
            [
              1045,
              816
            ],
            [
              1015,
              880
            ],
            [
              1000,
              908
            ],
            [
              842,
              910
            ],
            [
              796,
              910
            ],
            [
              738,
              928
            ],
            [
              630,
              884
            ],
            [
              555,
              813
            ],
            [
              540,
              750
            ],
            [
              550,
              680
            ],
            [
              388,
              680
            ],
            [
              300,
              500
            ]
          ],
          "retain_white": true
        },
        "sha256": "fe9da5942e5f4f8827fcc258618bc09b7845d398932fa36ebcee784e2aef3a6f",
        "size": [
          823,
          961
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/are-you-serious.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-seriously.png",
        "previous_sha256": "d46a5036d708b70f0d8997191d9354705cc5968add3dbfec7163d1c3854508b5",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "workplace",
        "news"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          72,
          18,
          770,
          944
        ],
        "anchor": [
          411,
          922
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1500,
          1080
        ],
        "prepared_size": [
          823,
          961
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1080; prepared 823 × 961. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/are-you-serious.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "aww-yea",
      "name": "Aww Yea Guy",
      "aliases": [
        "AAAWWW YYYEEAA",
        "Aw Yeah",
        "Aww Yeah"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/aww-yea-guy",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/fuck-yeah-aww-yeah.jpeg"
      ],
      "roles": [
        "An easy unexpected win produces exaggerated delight before the final reversal."
      ],
      "meaning": "Complacent success, accomplishment or celebratory relief.",
      "classification": "documented classic rage face",
      "research_records": [
        "extended:Aww Yea Guy"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/fuck-yeah-aww-yeah.jpeg",
        "source_sha256": "13dfcaa862894d45cbc82cce227d993aa5c7b27cce8a6d30a0686e738d88f162",
        "crop": [
          0,
          0,
          1000,
          625
        ],
        "trim": [
          302,
          86,
          711,
          412
        ],
        "spec": {
          "source_polygon": [
            [
              302,
              86
            ],
            [
              660,
              86
            ],
            [
              710,
              205
            ],
            [
              708,
              355
            ],
            [
              675,
              366
            ],
            [
              612,
              376
            ],
            [
              540,
              387
            ],
            [
              490,
              408
            ],
            [
              441,
              411
            ],
            [
              404,
              384
            ],
            [
              387,
              368
            ],
            [
              350,
              338
            ],
            [
              316,
              267
            ]
          ],
          "retain_white": true
        },
        "sha256": "f2a28f8e68fca47ba9ce02acd3b4eb8743b6048e5985bcbfbce4d6041fb500b8",
        "size": [
          441,
          358
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/aww-yea.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/fuck-yeah-aww-yeah.jpeg",
        "previous_sha256": "bd78e681eeae0c66be7df5a38066d3cadc9ff2f423d34d0e9df58d69af1562e6",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "sports"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          96,
          18,
          408,
          342
        ],
        "anchor": [
          220,
          324
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          625
        ],
        "prepared_size": [
          441,
          358
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 625; prepared 441 × 358. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/aww-yea.jpg"
        },
        "manual_mask_review": "Residual source-background removed with reviewed source-coordinate silhouette; original preserved; no redraw."
      }
    },
    {
      "id": "baozou-manhua",
      "name": "Baozou Manhua",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/sites/baozou-manhua"
      ],
      "roles": [
        "Reference for regional vocabulary and comic conventions; no cast slot."
      ],
      "meaning": "Website hosting Chinese-language rage-style webcomics about frustrating everyday experiences.",
      "classification": "site_cultural_ecosystem",
      "research_records": [
        "supplemental:Baozou Manhua",
        "directory:Baozou Manhua"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "being-an-x",
      "name": "Being an X",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/being-an-x"
      ],
      "roles": [
        "Archive-only in its racial form. If borrowing the repetition structure, use a voluntary hobby or individual habit, not ethnicity."
      ],
      "meaning": "A repeated daily-life template in which ethnic stereotyping culminates in apparently confirming the stereotype.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Being an X",
        "directory:Being an X"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Excluded: racial caricature or ethnic-stereotype format. No asset distributed.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "big-grin-never-ever",
      "name": "Big Grin / Never Ever",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/big-grin-never-ever"
      ],
      "roles": [
        "An early apparent win or prank payoff, followed by a reversal that allows Poker Face to own the final panel."
      ],
      "meaning": "High satisfaction, achievement and often smug joy after an action or prank.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Big Grin / Never Ever",
        "directory:Big Grin / Never Ever"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "KYM epic_lulz reference is cut at left head boundary. Archive happy-grin, happy-big-smile, happy-epic-win and SVG grin are different drawings, not this documented identity; rejected rather than relabelled.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "cereal-guy",
      "name": "Cereal Guy",
      "aliases": [
        "Cereal Guy 2.0 (redrawn variant, not all instances)"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/cereal-guy-replaced",
        "https://knowyourmeme.com/sensitive/memes/cereal-guy",
        "https://knowyourmeme.com/sensitive/memes/he-will-never-have-a-girlfriend",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/cereal-guy-cereal-guy.png"
      ],
      "roles": [
        "Establish a smug prediction, then a visual counterexample; eating/spitting rhythm can give the reversal a physical beat."
      ],
      "meaning": "A flexible speaking/skeptical reaction; notorious disbelief structures let a confident claim be contradicted.",
      "classification": "face_character",
      "research_records": [
        "core:Cereal Guy",
        "directory:Cereal Guy"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/transparency-v2/cereal-guy-v2.png",
        "sha256": "49a5e1bbbf1cb42f0d5c6efb184255ecbf7f61b34dbc27527ff1a010c5d66be7",
        "source_file": "source-assets/rage-cast/recovery/cereal-guy-cereal-guy.png",
        "source_sha256": "d94eb2595f9d18aa97f42e65243aee3e097ec9765002b4a752f69f6569886ab2",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/cereal-guy-cereal-guy.png",
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "size": [
          1500,
          1298
        ],
        "version": "transparency-v2",
        "previous_sha256": "349fbca7f273f440adfbe4fa81bdfbc91451efefd5d5878bfe3f8cb45814014f",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/cereal-guy-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "context-ready",
      "head_recovery_status": "blocked",
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "spoon",
          "hand",
          "bowl",
          "table",
          "chair",
          "torso"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "left",
          "right",
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          2,
          1500,
          1298
        ],
        "anchor": [
          750,
          1298
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "categories": [
        "reaction-cutout",
        "everyday"
      ],
      "tags": [
        "reaction-cutout",
        "everyday",
        "news"
      ],
      "quality": {
        "source_size": [
          1500,
          1298
        ],
        "prepared_size": [
          1500,
          1298
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1298; prepared 1500 × 1298. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/cereal-guy.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "chad-yes-chad",
      "name": "Chad / Yes Chad",
      "aliases": [],
      "sources": [
        "https://en.wikipedia.org/wiki/Wojak",
        "https://rage-comic.fandom.com/wiki/Chad"
      ],
      "roles": [
        "Consult the cited character card before casting."
      ],
      "meaning": "confident affirmative persona in the Yes Chad form",
      "classification": "modern/Wojak-associated crossover; exclude by default",
      "research_records": [
        "boundary:Chad / Yes Chad"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Adjacent meme lineage; excluded from default classic cast.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "challenge-accepted",
      "name": "Challenge Accepted",
      "aliases": [
        "Challenge Accepted Guy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/challenge-accepted",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/determined-challenge-accepted.png"
      ],
      "roles": [
        "Commitment before action; an overconfident decision supplies the causal engine for the later embarrassment."
      ],
      "meaning": "Willingness and confidence to attempt a difficult task.",
      "classification": "face_character",
      "research_records": [
        "core:Challenge Accepted"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/determined-challenge-accepted.png",
        "source_sha256": "e3bc2c8004ba4e0c42dcd088fe671ce3e14cb5f271cafd2ada42177476ebf2af",
        "crop": [
          340,
          224,
          1110,
          947
        ],
        "trim": [
          14,
          20,
          748,
          723
        ],
        "spec": {
          "box": [
            227,
            191,
            740,
            806
          ]
        },
        "sha256": "002a7058208445f0fd21400a170be9648ac9798652336bb9c83f6770dd8a62e9",
        "size": [
          766,
          735
        ],
        "preparation": "Measured source crop/exterior mask only; no redraw. Border-connected background removed; enclosed original face fills preserved. Transparent 16px padding; discarded pixels zeroed so hidden source text/props are not distributed.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/challenge-accepted.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/determined-challenge-accepted.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "sports",
        "gaming"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          750,
          719
        ],
        "anchor": [
          383,
          718
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1500,
          1175
        ],
        "prepared_size": [
          766,
          735
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1175; prepared 766 × 735. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/challenge-accepted.jpg"
        }
      }
    },
    {
      "id": "challenge-denied",
      "name": "Challenge Denied",
      "aliases": [
        "Challenge Rejected (descriptive paraphrase, not verified canonical alias)"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/challenge-accepted",
        "https://knowyourmeme.com/photos/198676-challenge-accepted",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/worried-challenge-denied!.jpeg",
        "https://meme.fandom.com/wiki/Challenge_Denied"
      ],
      "roles": [
        "Reverse an earlier boast or unexpectedly refuse something presumed trivial; reveal explains why the refusal is awkward."
      ],
      "meaning": "Rejection of a proposed task; can be sensible refusal, alarm or backing down depending on context.",
      "classification": "face_character",
      "research_records": [
        "core:Challenge Denied"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Caption below y625 removed without intersecting visible figure; complete scalp and BOTH intrinsic crossed hands/arms retained. Native-only reaction, not hidden face reconstruction.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/transparency-v2/challenge-denied-v2.png",
        "sha256": "096d7721d8dd8a760d95a075f3a072608cab2196c79e25b0754fb89eb8e11180",
        "size": [
          1000,
          625
        ],
        "version": "transparency-v2",
        "previous_sha256": null,
        "preparation": "Caption below y625 removed without intersecting visible figure; complete scalp and BOTH intrinsic crossed hands/arms retained. Native-only reaction, not hidden face reconstruction.",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/challenge-denied-v2.png",
        "source_file": "source-assets/rage-cast/recovery/worried-challenge-denied!.jpeg",
        "source_sha256": "3e59581762c9724d6478b0f495ce29377d6c41daa57fc565bcce1b8f5518baa5",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/worried-challenge-denied!.jpeg",
        "crop": [
          0,
          0,
          1000,
          625
        ]
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "context-ready",
      "categories": [
        "classic",
        "reaction-cutout"
      ],
      "tags": [
        "classic",
        "reaction-cutout",
        "gaming"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights.",
      "head_recovery_status": "blocked",
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "hands",
          "crossed-arms"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ],
        "bounds": [
          240,
          40,
          686,
          625
        ],
        "anchor": [
          500,
          625
        ]
      },
      "quality": {
        "prepared_size": [
          1000,
          625
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "source_hash_verified": true,
        "upscaled_during_preparation": false,
        "preview_sizes": [
          64,
          340
        ],
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Caption below y625 removed without intersecting visible figure; complete scalp and BOTH intrinsic crossed hands/arms retained. Native-only reaction, not hidden face reconstruction.",
          "evidence": "reports/creative/transparency-v2/challenge-denied.jpg"
        },
        "rights": "Unknown / local research only, not commercial clearance.",
        "source_size": [
          1000,
          750
        ],
        "source_type": "raster",
        "source_resolution_note": "1000 x750 native source, caption-only crop; no upscale.",
        "large_render_note": "Native cutout, not isolated head. Both hands retained."
      }
    },
    {
      "id": "close-enough",
      "name": "Close Enough",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/close-enough"
      ],
      "roles": [
        "A character prematurely approves an approximation; practical fallout can supply the final Poker Face beat."
      ],
      "meaning": "Mild satisfaction with an imperfect result; expression derived from Fuck Yea.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Close Enough",
        "directory:Close Enough"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Archive, local KYM and SVG representatives have cropped upper contour and connected neck/shoulder lines; attempted crop remains unsuitable as a complete isolated head.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "computer",
      "name": "Computer Reaction Faces",
      "aliases": [
        "Computer Guy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/computer-reaction-faces",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Establish screen stimulus clearly, then show viewer response, leaving final reaction to Poker Face."
      ],
      "meaning": "Emotions of a person encountering material on a computer screen.",
      "classification": "umbrella family; asset-level selection required",
      "research_records": [
        "extended:Computer Reaction Faces"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "cristiano-ronaldo-custom",
      "name": "Cristiano Ronaldo",
      "aliases": [
        "Ronaldo"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/cristiano-ronaldo-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Cristiano Ronaldo satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/cristiano-ronaldo-custom.png",
        "sha256": "6aa4c4aaaa672556a31729020d3633b497e29f3a78f69225f7c5872159fba9a2",
        "source_sha256": "347523eb09378c44c7ce02e6ff336d28847de196e1b139db19d76789da193f4a",
        "source_file": "source-assets/rage-cast/public-figures-v1/cristiano-ronaldo-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/cristiano-ronaldo-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Checkerboard is baked source RGB on Zuckerberg/Altman, not genuine source transparency.",
        "size": [
          871,
          1125
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "sports"
      ],
      "tags": [
        "custom",
        "public-figure",
        "sports"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          855,
          1109
        ],
        "anchor": [
          435,
          1109
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "prepared_size": [
          871,
          1125
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1254 × 1254; prepared 871 × 1125.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "degen-frog",
      "name": "Degen Frog",
      "aliases": [
        "contrarian chart watcher",
        "crypto culture character"
      ],
      "sources": [
        "project-generated:gpt-image-2:degen-frog"
      ],
      "roles": [
        "Original fictional crypto-culture reaction archetype."
      ],
      "meaning": "Contrarian chart watcher; not a token mascot or identifiable third-party character.",
      "classification": "original-crypto-culture-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Created after preliminary asset-level rights review recommended original archetypes instead of copied token mascots."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, complete silhouette, no third-party mascot copy, no text, logos, coins, tickers or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to applicable image-provider terms. No affiliation with or endorsement by any token project is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/coin-culture-v1/degen-frog.png",
        "sha256": "2a2d0548a2a42a6b1ea1606813121b8a2772cf7f46127508f43c5a5356935a00",
        "source_file": "source-assets/rage-cast/coin-culture-v1/degen-frog/generated.png",
        "source_sha256": "e35396c7b777e03b2b5189e60390dfd200c2fc129c29290705b985adbd7c0e3b",
        "size": [
          1285,
          1242
        ],
        "version": "coin-culture-v1",
        "preparation": "Alpha-bounds crop placed on a new transparent canvas with 32px safety margin; RGB under alpha=0 zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "coin-culture",
        "original",
        "fictional"
      ],
      "tags": [
        "coin-culture",
        "original",
        "fictional",
        "contrarian chart watcher"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          32,
          32,
          1253,
          1210
        ],
        "anchor": [
          642,
          1210
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1312,
          1199
        ],
        "prepared_size": [
          1285,
          1242
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "edge_occupancy": false,
        "rights": "Original fictional crypto-culture archetype; no third-party mascot or token affiliation intended."
      }
    },
    {
      "id": "derp",
      "name": "Derp",
      "aliases": [
        "Herp (placeholder counterpart)",
        "Herp Derp (related idiocy usage; not one fixed asset)"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/derp"
      ],
      "roles": [
        "Everyperson setup or missing-the-obvious action. The person can later use any reaction face; Derp need not be a permanently foolish identity."
      ],
      "meaning": "Slang for a foolish moment; within comics also a neutral placeholder name or unimportant dialogue.",
      "classification": "face_character",
      "research_records": [
        "core:Derp"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "derpina",
      "name": "Derpina",
      "aliases": [
        "Derpina Herpington (recorded in Derp entry)"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/derpina"
      ],
      "roles": [
        "Protagonist, observer, helper or foil as the story needs; can transition among the same reaction faces as anyone else."
      ],
      "meaning": "Usually a female-coded placeholder person, not one fixed emotion.",
      "classification": "face_character",
      "research_records": [
        "core:Derpina",
        "directory:Derpina"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG examples terminate at image boundaries/open lower head and contain adjoining body. No complete clean head accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "desk-flip",
      "name": "Desk Flip / Table Flip",
      "aliases": [
        "Desk Flip",
        "Table Flip"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/desk-flip",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Escalate a tiny administrative annoyance into disproportionate physical rejection."
      ],
      "meaning": "Extreme frustration acted out physically.",
      "classification": "action_motif",
      "research_records": [
        "extended:Desk Flip / Table Flip",
        "directory:Desk Flip"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "differenze-linguistiche",
      "name": "Differenze Linguistiche",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/differenze-linguistiche"
      ],
      "roles": [
        "A comparative layout, not a cast member; any reuse should target a specific misunderstanding rather than a nationality."
      ],
      "meaning": "Language-comparison comics depict stereotypes or misperceptions of how different languages sound.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Differenze Linguistiche",
        "directory:Differenze Linguistiche"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "doge",
      "name": "Doge",
      "aliases": [],
      "sources": [
        "http://knowyourmeme.com/memes/doge"
      ],
      "roles": [
        "Consult the cited character card before casting."
      ],
      "meaning": "dog internal monologue with deliberately unusual wording",
      "classification": "adjacent photo/image-macro lineage; exclude by default",
      "research_records": [
        "boundary:Doge"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Adjacent meme lineage; excluded from default classic cast.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "trump-custom",
      "name": "Donald Trump — custom scene cartoon",
      "aliases": [
        "Trump",
        "Donald Trump",
        "custom political scene character"
      ],
      "sources": [],
      "local_source": "poker-face-art/scenes/trump-taco/final-v1/trump-custom-final.png",
      "roles": [
        "User-approved custom scene character; dialogue must be explicitly fictional, not an attributed real quote."
      ],
      "meaning": "Custom public-figure cartoon from the existing approved scene asset, not a canonical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User-directed reuse of existing trump-taco/final-v1 asset"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Only RGB under existing alpha=0 zeroed in new version. All alpha and visible RGB unchanged; approved source bytes retained.",
      "license": "Existing user-approved custom asset; approval to reuse is not a blanket likeness, endorsement or commercial rights clearance.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/transparency-v2/trump-custom-v2.png",
        "sha256": "e64f718eab0ced636c3b72f37f7708375239281ba78ce53172e2cd1496185167",
        "source_sha256": "1a7ba250f56004ef1a3d9469ba37a377310f342fbc1580f641c47611fa89b27d",
        "source_file": "../poker-face-art/scenes/trump-taco/final-v1/trump-custom-final.png",
        "preparation": "Only RGB under existing alpha=0 zeroed in new version. All alpha and visible RGB unchanged; approved source bytes retained.",
        "size": [
          420,
          460
        ],
        "version": "transparency-v2",
        "previous_sha256": "1a7ba250f56004ef1a3d9469ba37a377310f342fbc1580f641c47611fa89b27d",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/trump-custom-v2.png"
      },
      "categories": [
        "custom",
        "public-figure",
        "politics",
        "news"
      ],
      "tags": [
        "custom",
        "public-figure",
        "politics",
        "news"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          17,
          17,
          380,
          429
        ],
        "anchor": [
          210,
          428
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          420,
          460
        ],
        "prepared_size": [
          420,
          460
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 420 × 460; prepared 420 × 460. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Only RGB under existing alpha=0 zeroed in new version. All alpha and visible RGB unchanged; approved source bytes retained.",
          "evidence": "reports/creative/transparency-v2/trump-custom.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "dude-come-on",
      "name": "Dude Come On",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/dude-come-on"
      ],
      "roles": [
        "A low-intensity social objection that establishes normal expectations before escalation."
      ],
      "meaning": "Nonplussed reaction to another person's behavior or a disappointing answer.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Dude Come On",
        "directory:Dude Come On"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM and archive images end at the lower face boundary without a complete jaw; adding padding cannot recover missing contour.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "elon-musk-custom",
      "name": "Elon Musk",
      "aliases": [
        "Musk"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/elon-musk-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Elon Musk satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/elon-musk-custom.png",
        "sha256": "155f505163fe701212c84cf243d35369b831ee90a0d75e2f08556f4ac8f87c93",
        "source_sha256": "96d7a0f90fe75496808afbd5c1554a9e1d40cb993c0f2470c817da880d6e630b",
        "source_file": "source-assets/rage-cast/public-figures-v1/elon-musk-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/elon-musk-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Checkerboard is baked source RGB on Zuckerberg/Altman, not genuine source transparency.",
        "size": [
          793,
          1023
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "technology"
      ],
      "tags": [
        "custom",
        "public-figure",
        "technology"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          777,
          1007
        ],
        "anchor": [
          396,
          1007
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "prepared_size": [
          793,
          1023
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1254 × 1254; prepared 793 × 1023.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "everything-went-better-than-expected",
      "name": "Everything Went Better Than Expected",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/everything-went-better-than-expected"
      ],
      "roles": [
        "A sincere relief or false-resolution beat before a final small overlooked problem and Poker Face."
      ],
      "meaning": "Pleasure with the overall outcome of a situation.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Everything Went Better Than Expected",
        "directory:Everything Went Better Than Expected"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG sources cut off lower head/neck contours. No reconstructed jaw or stand-in enabled.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "fap",
      "name": "Fap Guy",
      "aliases": [
        "Fap Face",
        "Fap Fap Fap"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/fap-guy"
      ],
      "roles": [
        "Adult-only contextual history note. Exclude from default mixed-age or general-audience comic vocabulary."
      ],
      "meaning": "Masturbation indicated by a strained face and repeated onomatopoeic caption.",
      "classification": "face_character",
      "research_records": [
        "extended:Fap Guy",
        "directory:Fap Guy"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Adult-context historical entry; excluded from default all-ages selection.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "feel-like-a-ninja",
      "name": "Feel Like a Ninja",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/feel-like-a-ninja",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/determined-feelike-a-ninja.jpeg"
      ],
      "roles": [
        "A character thinks a quick save or sneaky maneuver went unnoticed; reveal a witness before Poker Face."
      ],
      "meaning": "Self-congratulation after a stealthy or quick-reflex action, particularly in Spanish-language comics.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Feel Like a Ninja",
        "directory:Feel Like a Ninja"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/determined-feelike-a-ninja.jpeg",
        "source_sha256": "dbac62c4c2d67397e5078a46482ca95333359e98a2af2c966fb575bc356be875",
        "crop": [
          0,
          0,
          1000,
          824
        ],
        "trim": [
          170,
          15,
          891,
          575
        ],
        "spec": {
          "source_polygon": [
            [
              170,
              15
            ],
            [
              745,
              15
            ],
            [
              890,
              300
            ],
            [
              860,
              410
            ],
            [
              790,
              480
            ],
            [
              722,
              545
            ],
            [
              690,
              595
            ],
            [
              564,
              650
            ],
            [
              380,
              645
            ],
            [
              200,
              585
            ],
            [
              180,
              450
            ],
            [
              170,
              270
            ]
          ],
          "retain_white": true,
          "clear": [
            [
              0,
              80,
              300,
              145
            ],
            [
              0,
              440,
              237,
              462
            ],
            [
              683,
              538,
              1000,
              551
            ],
            [
              0,
              575,
              1000,
              824
            ]
          ]
        },
        "sha256": "8c516709d2dc4f039dde91cb25cc9d0d1bd737fc0970cd77d219674433402934",
        "size": [
          753,
          592
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/feel-like-a-ninja.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/determined-feelike-a-ninja.jpeg",
        "previous_sha256": "c373832f3efc78fa35aeac569bd5fa48736263b23b521435aa03cfe180e6d022",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          59,
          77,
          669,
          576
        ],
        "anchor": [
          376,
          576
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          824
        ],
        "prepared_size": [
          753,
          592
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 824; prepared 753 × 592. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/feel-like-a-ninja.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "sir",
      "name": "Feel Like a Sir",
      "aliases": [
        "Like a Sir"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/feel-like-a-sir"
      ],
      "roles": [
        "Trivial etiquette accomplishment makes a character briefly feel aristocratic."
      ],
      "meaning": "Comic self-perception of refinement, wealth or class.",
      "classification": "face_character",
      "research_records": [
        "extended:Feel Like a Sir",
        "directory:Feel Like a Sir"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "An alternate archive source recovered the complete hat, but measured isolation still leaves connected collar pixels beneath the jaw. Candidate withheld, not silently accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "forever-alone",
      "name": "Forever Alone",
      "aliases": [
        "Forever Alone Guy",
        "Foreveralone"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/forever-alone"
      ],
      "roles": [
        "A gap between expected companionship and actual isolation; works as a mistaken interpretation before a mundane correction."
      ],
      "meaning": "Loneliness and disappointment with life or missing social connection.",
      "classification": "face_character",
      "research_records": [
        "core:Forever Alone",
        "directory:Forever Alone"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/forever-alone-v2.png",
        "sha256": "f4dd0a70f43f5fbbfdecae0771683a6690cbe70cfc90be9fc71ae53b584cda2d",
        "source_sha256": "53d89ce756f2e11027ba6e73a0d1ea39d48da62e4636079c18b906910a4c30d9",
        "source_image_url": "https://i.kym-cdn.com/entries/icons/original/000/003/619/ForeverAlone.jpg",
        "crop": [
          262,
          33,
          829,
          595
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "size": [
          567,
          562
        ],
        "version": "transparency-v2",
        "previous_sha256": "06459ecb5716f218d78234927ed5fd04586dc75a87b3cc449149ef7222eababe",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/forever-alone-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          0,
          0,
          567,
          562
        ],
        "anchor": [
          283,
          562
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1101,
          620
        ],
        "prepared_size": [
          567,
          562
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1101 × 620; prepared 567 × 562. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/forever-alone.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "freddie",
      "name": "Freddie Mercury Rage Pose",
      "aliases": [
        "Freddie Mercury victory pose"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/freddie-mercury-rage-pose",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Premature grand celebration makes a strong setup for a later silent reversal."
      ],
      "meaning": "An extraordinary feat accomplished; emphatic triumph.",
      "classification": "documented classic rage pose",
      "research_records": [
        "extended:Freddie Mercury Rage Pose"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "fuck-yeah",
      "name": "Fuck Yeah",
      "aliases": [
        "F*ck Yea",
        "Fuck Yea",
        "Fuck Yea Guy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/fuck-yea"
      ],
      "roles": [
        "False victory: celebrate first, disclose overlooked consequence next, end blank."
      ],
      "meaning": "Complacent confidence and triumph over a successful result, often a tiny everyday victory.",
      "classification": "face_character",
      "research_records": [
        "core:Fuck Yeah",
        "directory:Fuck Yea"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Complete scalp recovered from local KYM after rejecting archive clipping, but a collar/neck triangle intrudes into the head contour. Candidate withheld under the clean-head constraint.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "fuu-variants",
      "name": "FUUU / Rageguy variants",
      "aliases": [
        "FFFFUUUU",
        "Fuu variants",
        "Mega Rage"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/subcultures/rage-comics",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Track intensity/redraw as variant metadata; escalating setup can precede final deadpan."
      ],
      "meaning": "Escalated anger/frustration within the existing Rageguy family.",
      "classification": "core-family variants, not new cast members",
      "research_records": [
        "extended:FUUU / Rageguy variants"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "genius",
      "name": "Genius",
      "aliases": [
        "Genius Face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/genius",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-genius.jpeg"
      ],
      "roles": [
        "A solution recreates the original problem or defeats its own purpose; observer supplies ironic applause."
      ],
      "meaning": "Sarcastic admiration of stupidity, including self-deprecating foolish problem-solving.",
      "classification": "documented classic rage face",
      "research_records": [
        "extended:Genius"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/misc-genius.jpeg",
        "source_sha256": "7f14d7ec3acfaad01356844205f74c796aead6c9b77f8d71d118acf42bd8fd7c",
        "crop": [
          0,
          0,
          921,
          1000
        ],
        "trim": [
          170,
          25,
          911,
          935
        ],
        "spec": {
          "source_polygon": [
            [
              170,
              25
            ],
            [
              910,
              25
            ],
            [
              910,
              590
            ],
            [
              828,
              637
            ],
            [
              672,
              642
            ],
            [
              640,
              708
            ],
            [
              550,
              740
            ],
            [
              485,
              823
            ],
            [
              347,
              934
            ],
            [
              273,
              909
            ],
            [
              235,
              824
            ],
            [
              207,
              700
            ],
            [
              212,
              515
            ],
            [
              216,
              491
            ],
            [
              211,
              482
            ],
            [
              192,
              450
            ],
            [
              171,
              422
            ]
          ],
          "retain_white": true
        },
        "sha256": "48d9c6d768ea54b4522bca1500a3f3022d552ff67ca2db206719ace71bd5f236",
        "size": [
          773,
          942
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/genius-v2.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-genius.jpeg",
        "version": "manual-mask-v1",
        "previous_sha256": "d27b68aec57cf9cdd7ca5688a9c33609ead62af7ad08039245d03984620c94a9",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/genius-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "workplace"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          50,
          63,
          715,
          893
        ],
        "anchor": [
          386,
          742
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          921,
          1000
        ],
        "prepared_size": [
          773,
          942
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 921 × 1000; prepared 773 × 942. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/genius.jpg"
        },
        "hidden_rgb_zeroed": true,
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "goalstorm",
      "name": "Goalstorm",
      "aliases": [
        "Football superstar"
      ],
      "sources": [
        "project-generated:gpt-image-2:goalstorm"
      ],
      "roles": [
        "Original fictional football superstar archetype for satire and reaction scenes."
      ],
      "meaning": "Football superstar archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/goalstorm.png",
        "sha256": "2701c6fad14e676838c67794ceecaa95eab363285a0443c06bf75d0383d6433d",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115346_bea9ba94.png",
        "source_sha256": "a5c0c433ed81a239b039e0cc4806c7b3ae774572d5a040b3656bcb2e635feaf3",
        "size": [
          1243,
          1266
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          4,
          1243,
          1266
        ],
        "anchor": [
          621,
          1266
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1243,
          1266
        ],
        "prepared_size": [
          1243,
          1266
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "goodbye-mom",
      "name": "Goodbye Mom!",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/goodbye-mom"
      ],
      "roles": [
        "Travel/departure beat using existing cast identities, followed by arrival consequences and Poker Face."
      ],
      "meaning": "Excited departure in response to an appealing location; later used ironically with map images.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Goodbye Mom!",
        "directory:Goodbye Mom!"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "harp-darp-herp-derp",
      "name": "Harp Darp / Herp Derp",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/harp-darp-herp-derp",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-herp-derp.png"
      ],
      "roles": [
        "An earnest but mistaken instruction creates a visible problem; target the choice, not disability."
      ],
      "meaning": "A foolish or ill-considered statement; distinct documented Harp Darp drawing, not the unrelated Derp robot.",
      "classification": "face_character",
      "research_records": [
        "directory:Harp Darp / Herp Derp"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/misc-herp-derp.png",
        "source_sha256": "1a108df0acde9dbed6d1e1d05ae4f723671eec746a1d6d4c653b3e7c2fa54686",
        "crop": [
          0,
          0,
          1415,
          1500
        ],
        "trim": [
          0,
          0,
          1415,
          1500
        ],
        "spec": {
          "retain_white": true
        },
        "sha256": "041038e62ac9f0628b5c4462b43eb4f59706ceb7196d3cf5d135cfea3d1722ef",
        "size": [
          1447,
          1532
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/harp-darp-herp-derp.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-herp-derp.png",
        "previous_sha256": "3e2a4086bbbe3d3dc142ae9afe96b3f258db89b71a7bed7de05d1df3e1dcbb20",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          18,
          19,
          1428,
          1514
        ],
        "anchor": [
          723,
          1513
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1415,
          1500
        ],
        "prepared_size": [
          1447,
          1532
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1415 × 1500; prepared 1447 × 1532. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/harp-darp-herp-derp.jpg"
        },
        "manual_mask_review": "Residual source-background removed with reviewed source-coordinate silhouette; original preserved; no redraw."
      }
    },
    {
      "id": "hat-hound",
      "name": "Hat Hound",
      "aliases": [
        "deadpan trend chaser",
        "crypto culture character"
      ],
      "sources": [
        "project-generated:gpt-image-2:hat-hound"
      ],
      "roles": [
        "Original fictional crypto-culture reaction archetype."
      ],
      "meaning": "Deadpan trend chaser; not a token mascot or identifiable third-party character.",
      "classification": "original-crypto-culture-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Created after preliminary asset-level rights review recommended original archetypes instead of copied token mascots."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, complete silhouette, no third-party mascot copy, no text, logos, coins, tickers or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to applicable image-provider terms. No affiliation with or endorsement by any token project is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/coin-culture-v1/hat-hound.png",
        "sha256": "80c638374572d5d89dce6485cd7c7b6148c34ef88b19a13344e6a8bf385d8646",
        "source_file": "source-assets/rage-cast/coin-culture-v1/hat-hound/generated.png",
        "source_sha256": "8530650c95622d4cf4f574e4dc0543afa1d07117cc7af78132fb34bfb8f98425",
        "size": [
          1225,
          1298
        ],
        "version": "coin-culture-v1",
        "preparation": "Alpha-bounds crop placed on a new transparent canvas with 32px safety margin; RGB under alpha=0 zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "coin-culture",
        "original",
        "fictional"
      ],
      "tags": [
        "coin-culture",
        "original",
        "fictional",
        "deadpan trend chaser"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          32,
          32,
          1193,
          1266
        ],
        "anchor": [
          612,
          1266
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "prepared_size": [
          1225,
          1298
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "edge_occupancy": false,
        "rights": "Original fictional crypto-culture archetype; no third-party mascot or token affiliation intended."
      }
    },
    {
      "id": "i-lied",
      "name": "I Lied",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/i-lied",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/troll-i-lied-light.png"
      ],
      "roles": [
        "Reveal the lie in a penultimate turn; the exposed liar or witness finishes as Poker Face."
      ],
      "meaning": "Dishonesty reveal, often an exaggeratedly villainous treatment of a tiny white lie.",
      "classification": "face_character",
      "research_records": [
        "supplemental:I Lied",
        "directory:I Lied"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/troll-i-lied-light.png",
        "source_sha256": "ae4010490ae687a5408126cd0712a85eb4bcdf3fdb660d30cda3ffa551ad7b74",
        "crop": [
          0,
          0,
          1500,
          1263
        ],
        "trim": [
          3,
          2,
          1497,
          1263
        ],
        "spec": {},
        "sha256": "e19d0e5bd280120722e7fd30028a1bace88d1205bb1517556d4300a66c3c85e2",
        "size": [
          1526,
          1293
        ],
        "preparation": "Measured source crop/exterior mask only; no redraw. Border-connected background removed; enclosed original face fills preserved. Transparent 16px padding; discarded pixels zeroed so hidden source text/props are not distributed.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/i-lied.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/troll-i-lied-light.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "gaming"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          1510,
          1277
        ],
        "anchor": [
          763,
          1270
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1500,
          1263
        ],
        "prepared_size": [
          1526,
          1293
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1263; prepared 1526 × 1293. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/i-lied.jpg"
        }
      }
    },
    {
      "id": "i-see",
      "name": "I See What You Did There",
      "aliases": [
        "ICWYDT",
        "ISWYDT"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/i-see-what-you-did-there",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/happy-i-see-what-you-did-there-%28clean%29.jpeg"
      ],
      "roles": [
        "A bystander spots wordplay that another character hoped would pass unnoticed."
      ],
      "meaning": "Recognition of a pun, concealed joke or clever move; can be appreciative or patronizing.",
      "classification": "documented phrase; archived rage-template adoption",
      "research_records": [
        "extended:I See What You Did There"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/happy-i-see-what-you-did-there-(clean).jpeg",
        "source_sha256": "49aaec61aed943b4c8bba3ac040aa8229c5085b423d79095ef7556519efdcad7",
        "crop": [
          0,
          0,
          1000,
          916
        ],
        "trim": [
          0,
          0,
          1000,
          916
        ],
        "spec": {
          "retain_white": true
        },
        "sha256": "7c8748fd90026f11150a221c7497f8fc45451ce1d4eba172ded66e4c4a2a8724",
        "size": [
          1032,
          948
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/i-see.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/happy-i-see-what-you-did-there-%28clean%29.jpeg",
        "previous_sha256": "cc07f29cc1d6fa6131e2ae019adb530380e905846748d3a7f214f6241d3963a3",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          39,
          44,
          978,
          901
        ],
        "anchor": [
          516,
          569
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          916
        ],
        "prepared_size": [
          1032,
          948
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 916; prepared 1032 × 948. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/i-see.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "i-m-watching-you",
      "name": "I'm Watching You",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/im-watching-you",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/annoyed-im-watching-u.jpeg"
      ],
      "roles": [
        "The monitor anticipates trouble while another cast member attempts a dodge; discovery leads to Poker Face."
      ],
      "meaning": "Suspicion, distrust or vigilant monitoring.",
      "classification": "face_character",
      "research_records": [
        "supplemental:I'm Watching You",
        "directory:I'm Watching You"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/annoyed-im-watching-u.jpeg",
        "source_sha256": "67e50ab94bc181e8a669d71903c62abdf824593d8f38cb16efade9fbd3453523",
        "crop": [
          315,
          82,
          855,
          738
        ],
        "trim": [
          7,
          18,
          499,
          593
        ],
        "spec": {
          "box": [
            315,
            90,
            855,
            810
          ],
          "clear": [
            [
              315,
              500,
              320,
              911
            ],
            [
              315,
              610,
              347,
              911
            ]
          ]
        },
        "sha256": "3cf41fa366fb05d96bbdf08c2717b1fce0f163685a135339de8b423ea5b11f59",
        "size": [
          524,
          607
        ],
        "preparation": "Measured source crop/exterior mask only; no redraw. Border-connected background removed; enclosed original face fills preserved. Transparent 16px padding; discarded pixels zeroed so hidden source text/props are not distributed.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/i-m-watching-you.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/annoyed-im-watching-u.jpeg"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          508,
          591
        ],
        "anchor": [
          262,
          589
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          911
        ],
        "prepared_size": [
          524,
          607
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 911; prepared 524 × 607. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/i-m-watching-you.jpg"
        }
      }
    },
    {
      "id": "ink-body-hammer-build",
      "name": "Ink body - Hammer Build",
      "aliases": [
        "Hammer Build",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:hammer-build"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Hammer Build pose. Hammer retained as held prop.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/hammer-build.png",
        "sha256": "369affba9d6aa8b25644ec0994d20d124a4c1cf03d39de5d509a3d9a4fc115f7",
        "source_file": "privacy-fence-body-pack-v1/generated/hammer-build.png",
        "source_sha256": "3e5e605f6838198622a0e25b21c2455b6e564e7acf1d8ce78f48105a7e8e773f",
        "size": [
          717,
          1011
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "hammer-build"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body",
          "hammer"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          697,
          991
        ],
        "anchor": [
          332,
          238
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "3e5e605f6838198622a0e25b21c2455b6e564e7acf1d8ce78f48105a7e8e773f",
        "request_id": "5cef374a-606c-41dc-a18c-c16de3e95424",
        "provider_request_id": "3e179df2-cdb7-46fe-a68f-6789b20a6892",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1222,
          1287
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          717,
          1011
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-hold-carry",
      "name": "Ink body - Hold Carry",
      "aliases": [
        "Hold Carry",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:hold-carry"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Hold Carry pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/hold-carry.png",
        "sha256": "ec25176cf90284225832bcd3aac77a544993574caaac239e8ff76a558dd37380",
        "source_file": "privacy-fence-body-pack-v1/generated/hold-carry.png",
        "source_sha256": "844eb751c4145efc10ef51422320dcc5316ea8a21c04d278f33f98024955e772",
        "size": [
          535,
          1016
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "hold-carry"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          515,
          996
        ],
        "anchor": [
          226,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "844eb751c4145efc10ef51422320dcc5316ea8a21c04d278f33f98024955e772",
        "request_id": "365531a7-fea3-479f-912e-d8eda69df75b",
        "provider_request_id": "0f11d5c8-2c76-43f3-9b6c-2b79912b36dd",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          535,
          1016
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-jump",
      "name": "Ink body - Jump",
      "aliases": [
        "Jump",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:jump"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Jump pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/jump.png",
        "sha256": "2c7f36fb208bbcf07bdb504664259b688d018f1b6141d620fdfb450dd77cc005",
        "source_file": "privacy-fence-body-pack-v1/generated/jump.png",
        "source_sha256": "501a3a08e97adfba7eb451769c0d924d24bdbb0891b6c00cbc96222acd2d3014",
        "size": [
          720,
          944
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "jump"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          700,
          924
        ],
        "anchor": [
          360,
          190
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "501a3a08e97adfba7eb451769c0d924d24bdbb0891b6c00cbc96222acd2d3014",
        "request_id": "0a6ffdc8-5f9c-409e-9c3c-dccdce3d8a9a",
        "provider_request_id": "f6772888-ea48-4f9a-a1de-3a524acef569",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1214,
          1296
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          720,
          944
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-lean-peek",
      "name": "Ink body - Lean Peek",
      "aliases": [
        "Lean Peek",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:lean-peek"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Lean Peek pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/lean-peek.png",
        "sha256": "08f659b1bd56c52944d141ba7b864695696ee83a5b444ef5217767606c19d624",
        "source_file": "privacy-fence-body-pack-v1/generated/lean-peek.png",
        "source_sha256": "2df39f38cadae1170919f9c0776317924d3876cb78aa9c3cafb3ab4a8f9d5876",
        "size": [
          603,
          814
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "lean-peek"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          583,
          794
        ],
        "anchor": [
          345,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "2df39f38cadae1170919f9c0776317924d3876cb78aa9c3cafb3ab4a8f9d5876",
        "request_id": "eb78e821-eec6-44c4-bbbb-8996b9b21a98",
        "provider_request_id": "1b70c64d-368a-4dea-8532-0b0cc1b4d76c",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          603,
          814
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-point",
      "name": "Ink body - Point",
      "aliases": [
        "Point",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:point"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Point pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/point.png",
        "sha256": "6aee7a5cb28848d18281161ab0c5ed265ddca3c977a68505c00e36ff36cadd2f",
        "source_file": "privacy-fence-body-pack-v1/generated/point.png",
        "source_sha256": "5e15f5d173a9028068d93dc23ffdb4e34039d9ec6b02388ec409453da0fd9445",
        "size": [
          733,
          897
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "point"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          713,
          877
        ],
        "anchor": [
          223,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "5e15f5d173a9028068d93dc23ffdb4e34039d9ec6b02388ec409453da0fd9445",
        "request_id": "002de2f3-b893-440d-ae98-a0b5c94bca52",
        "provider_request_id": "cf612a78-0365-48cf-8141-0a5350597fd4",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1222,
          1287
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          733,
          897
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-run",
      "name": "Ink body - Run",
      "aliases": [
        "Run",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:run"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Run pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/run.png",
        "sha256": "0f0035e7587b8d8de020a89f509caf1665d0bd2349c4e1c097200e56e05e933a",
        "source_file": "privacy-fence-body-pack-v1/generated/run.png",
        "source_sha256": "f98df2dae256bf2c234a0793733cd3c5ce5c094cbe312e1235593146b9da8f0f",
        "size": [
          780,
          820
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "run"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          760,
          800
        ],
        "anchor": [
          465,
          21
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "f98df2dae256bf2c234a0793733cd3c5ce5c094cbe312e1235593146b9da8f0f",
        "request_id": "91bb6991-0157-4021-a8da-e751901dbc2b",
        "provider_request_id": "d7c7f447-faf2-4a05-8283-f5f4f7e8e76e",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1374,
          1145
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          780,
          820
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-shrug",
      "name": "Ink body - Shrug",
      "aliases": [
        "Shrug",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:shrug"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Shrug pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/shrug.png",
        "sha256": "cde98033bcd56968a7d884b934872b92331e941be6b6b8a7f5a6879772473b07",
        "source_file": "privacy-fence-body-pack-v1/generated/shrug.png",
        "source_sha256": "bd7f0ee9a632632496be42d52bd85b07d67673f9e057e0e1a68c8878a4e299b6",
        "size": [
          804,
          885
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "shrug"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          784,
          865
        ],
        "anchor": [
          403,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "bd7f0ee9a632632496be42d52bd85b07d67673f9e057e0e1a68c8878a4e299b6",
        "request_id": "f63e3447-26b6-422f-af35-f71a5706f83a",
        "provider_request_id": "227c4b4b-fde3-4acf-bc0b-747fbd66466d",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          804,
          885
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-sit-react",
      "name": "Ink body - Sit React",
      "aliases": [
        "Sit React",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:sit-react"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Sit React pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/sit-react.png",
        "sha256": "e32282f088a34b848543dbe6fd3a5f594c7c294d0a57ed206c4d93de5a7d89c5",
        "source_file": "privacy-fence-body-pack-v1/generated/sit-react.png",
        "source_sha256": "bfa17f9d68b30a29d5d7bcee3e520933c17cce9e88b47b51566a38583c056dbe",
        "size": [
          685,
          885
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "sit-react"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          665,
          865
        ],
        "anchor": [
          342,
          130
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "bfa17f9d68b30a29d5d7bcee3e520933c17cce9e88b47b51566a38583c056dbe",
        "request_id": "15bd849f-0a50-4c54-add9-18bad8ddf957",
        "provider_request_id": "3b8cfef6-89f7-435e-b21f-466d88197a79",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1237,
          1272
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          685,
          885
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-sit-read",
      "name": "Ink body - Sit Read",
      "aliases": [
        "Sit Read",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:sit-read"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Sit Read pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/sit-read.png",
        "sha256": "0758eb5f30f0f9de1988e72cec462ec6ca3bfaf7eade052ec1ba954b8e3c7a63",
        "source_file": "privacy-fence-body-pack-v1/generated/sit-read.png",
        "source_sha256": "08096d00499cce2ec174b2f0fd10f9809d6b8aeaac338c0de4affd238fa9f2fc",
        "size": [
          480,
          794
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "sit-read"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          460,
          774
        ],
        "anchor": [
          155,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "08096d00499cce2ec174b2f0fd10f9809d6b8aeaac338c0de4affd238fa9f2fc",
        "request_id": "4bf313bc-78c9-49b6-9537-5bcda429b6d3",
        "provider_request_id": "fb943efd-fae2-4040-b5aa-808af728155d",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1225,
          1284
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          480,
          794
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-source-airborne-wave",
      "name": "Ink body - Source Airborne Wave",
      "aliases": [
        "Source Airborne Wave",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:source-airborne-wave"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Source Airborne Wave pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/source-airborne-wave.png",
        "sha256": "3200f71d498605b600a501795a071a1977a9dab1c13491255822562ab83e1e8e",
        "source_file": "privacy-fence-body-pack-v1/extracted/source-airborne-wave.png",
        "source_sha256": "6ebc25105cfcb9a6a086e3fd05f455a3085dae57ea1acdec0a23905dba795d45",
        "size": [
          277,
          397
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "source-airborne-wave"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          257,
          377
        ],
        "anchor": [
          140,
          88
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "extracted",
        "source_sha256": "6ebc25105cfcb9a6a086e3fd05f455a3085dae57ea1acdec0a23905dba795d45",
        "request_id": null,
        "provider_request_id": null,
        "requested_model": null,
        "requested_quality": null,
        "returned_quality": null,
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "source_type": "source-extracted-generated-raster",
        "prepared_size": [
          277,
          397
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-source-standing-book",
      "name": "Ink body - Source Standing Book",
      "aliases": [
        "Source Standing Book",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:source-standing-book"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Source Standing Book pose. Book retained as source-held prop.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/source-standing-book.png",
        "sha256": "bba6d91e7f2b8b390dccd66451ebfb88585f93d5434a159a6f06f0f5545f765d",
        "source_file": "privacy-fence-body-pack-v1/extracted/source-standing-book.png",
        "source_sha256": "79556ccda5d39a9d8dc04b96907a6d7d2571d6a5f59ef00b94874d389efa00c4",
        "size": [
          289,
          708
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "source-standing-book"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body",
          "held-book"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          269,
          688
        ],
        "anchor": [
          179,
          22
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "extracted",
        "source_sha256": "79556ccda5d39a9d8dc04b96907a6d7d2571d6a5f59ef00b94874d389efa00c4",
        "request_id": null,
        "provider_request_id": null,
        "requested_model": null,
        "requested_quality": null,
        "returned_quality": null,
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "source_type": "source-extracted-generated-raster",
        "prepared_size": [
          289,
          708
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-stand-relaxed",
      "name": "Ink body - Stand Relaxed",
      "aliases": [
        "Stand Relaxed",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:stand-relaxed"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Stand Relaxed pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/stand-relaxed.png",
        "sha256": "ab497877e1a567d6139caff14f9c4a6c5eb134d0dd9f44d7e6e42e64c8f48d36",
        "source_file": "privacy-fence-body-pack-v1/generated/stand-relaxed.png",
        "source_sha256": "775ab66b7a51ff319246e1ff6d584eb3f179fbad4658376656c250e0de2604b9",
        "size": [
          336,
          881
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "stand-relaxed"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          316,
          861
        ],
        "anchor": [
          169,
          20
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "775ab66b7a51ff319246e1ff6d584eb3f179fbad4658376656c250e0de2604b9",
        "request_id": "2a608303-b2c6-450f-93fe-7a1269b0b8b7",
        "provider_request_id": "1c798d37-aa05-4dd4-992d-92226eb1c132",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          336,
          881
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-walk",
      "name": "Ink body - Walk",
      "aliases": [
        "Walk",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:walk"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Walk pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/walk.png",
        "sha256": "080a5d51277bc210f5a1bf0a7b3bb964f60f82faef96151026924c28f3ae58db",
        "source_file": "privacy-fence-body-pack-v1/generated/walk.png",
        "source_sha256": "32e0719ce921d63a5a3d107c7c889c27582177ac4f6fba5cb66d9c88b62fd113",
        "size": [
          554,
          817
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "walk"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          534,
          797
        ],
        "anchor": [
          260,
          21
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "32e0719ce921d63a5a3d107c7c889c27582177ac4f6fba5cb66d9c88b62fd113",
        "request_id": "f1c52535-cfe5-4c08-b387-967f98f79b5e",
        "provider_request_id": "b41a0138-f9a7-4e6e-aa67-d26c9b064fe4",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1222,
          1287
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          554,
          817
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "ink-body-wave",
      "name": "Ink body - Wave",
      "aliases": [
        "Wave",
        "headless",
        "body pose",
        "stick figure"
      ],
      "sources": [
        "project-generated:privacy-fence-body-pack-v1:wave"
      ],
      "roles": [
        "Reusable headless single-line body pose; pair with a separate head."
      ],
      "meaning": "Wave pose. No scene background.",
      "classification": "original-headless-body-pose",
      "canonical_rage_template": false,
      "research_records": [
        "User-requested first-party storytelling body toolkit; original generated art, not a recovered face."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Self-reviewed full silhouette, neck anchor, clean alpha, complete hands and feet; deployment requires independent release review.",
      "license": "Project-generated original body artwork; use subject to image provider terms. No third-party face or character pixels included.",
      "asset": {
        "status": "verified-generated-body-pose",
        "path": "/assets/rage-cast/body-poses/wave.png",
        "sha256": "9e5cae2db7da7e80b11474b772b8abbb2d3cfde833af6c5edc89f6986fc73d04",
        "source_file": "privacy-fence-body-pack-v1/generated/wave.png",
        "source_sha256": "99a67b5274fcfdf9bf1a828514ef545a027effdb47729d938bff9ebeae1ef2ff",
        "size": [
          538,
          1079
        ],
        "version": "body-poses-v1",
        "preparation": "Source ink retained; largest connected body; small enclosed hand/foot fills retained; measured open-wrist alpha seals for sitting reaction; source book preserved; 20px transparent margin; hidden RGB zeroed."
      },
      "recovery_status": "ready",
      "categories": [
        "bodies",
        "original"
      ],
      "tags": [
        "bodies",
        "headless",
        "storytelling",
        "wave"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "headless-body"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "neck-endpoint",
        "background": "transparent",
        "bounds": [
          20,
          20,
          518,
          1059
        ],
        "anchor": [
          206,
          205
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "provenance": {
        "origin": "generated",
        "source_sha256": "99a67b5274fcfdf9bf1a828514ef545a027effdb47729d938bff9ebeae1ef2ff",
        "request_id": "1af1938e-0b96-4eaa-8661-774ba5332685",
        "provider_request_id": "687d9970-bab5-43cb-ac5d-9054f55d79fa",
        "requested_model": "gpt-image-2.5-sunburst",
        "requested_quality": "max",
        "returned_quality": "medium",
        "returned_model_attestation": false
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "source_type": "generated-raster",
        "prepared_size": [
          538,
          1079
        ],
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original headless line art; no sourced rage head included."
      }
    },
    {
      "id": "it-s-something",
      "name": "It's Something",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/its-something",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/neutral-its-something.jpeg"
      ],
      "roles": [
        "Consolation-prize beat that temporarily softens failure; a remaining snag can lead into Poker Face."
      ],
      "meaning": "Resignation to a less-than-ideal result that is nevertheless not entirely unfavorable; consolation optimism.",
      "classification": "face_character",
      "research_records": [
        "supplemental:It's Something",
        "directory:It's Something"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/neutral-its-something.jpeg",
        "source_sha256": "9323f813ea07bdc111c1d6a1ebc3cf2b6013a1822a5f08179da1baef5580d3b0",
        "crop": [
          530,
          60,
          890,
          411
        ],
        "trim": [
          0,
          0,
          360,
          351
        ],
        "spec": {
          "box": [
            530,
            73,
            890,
            500
          ],
          "retain_white": true
        },
        "sha256": "f905ed98ef204a34363e632eb92430c90fe41ca76e64003c554ccefe92a06a50",
        "size": [
          392,
          383
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/it-s-something.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/neutral-its-something.jpeg",
        "previous_sha256": "eb982037432d3b6806b4d3bd2e52102f4c6e283145e49aabc5eb7af009eab2a1",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          41,
          30,
          358,
          367
        ],
        "anchor": [
          196,
          362
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          822
        ],
        "prepared_size": [
          392,
          383
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 822; prepared 392 × 383. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/it-s-something.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "jackie-chan",
      "name": "Jackie Chan / My Brain Is Full of Fuck",
      "aliases": [
        "Confused Jackie Chan",
        "My Brain Is Full Of Fuck"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/my-brain-is-full-of-fuck",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-jackie-chan.jpeg"
      ],
      "roles": [
        "Observer tries to process a nonsensical explanation; then the final Poker Face registers the unavoidable consequence."
      ],
      "meaning": "Confounded response to pointless, contradictory or extraordinarily foolish information.",
      "classification": "classic rage-compatible celebrity reaction",
      "research_records": [
        "extended:Jackie Chan / My Brain Is Full of Fuck"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete native reaction frame retained, including intrinsic hands, sleeves, torso. Not an isolated head; never append a second body or limbs. Original open frame edges are retained, not reconstructed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/jackie-chan-transparent.png",
        "sha256": "87b3ee47e5176061f285d47833b9d67611d69e31d939ed0f9325f7e260d7a7eb",
        "version": "vector-alpha-v1",
        "source_file": "source-assets/rage-cast/recovery/misc-jackie-chan.jpeg",
        "source_sha256": "3020fc85f718a3f2ea607cf1f7c9a04f46250286160accbf85c5123e00b3ca25",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-jackie-chan.jpeg",
        "preparation": "Source-faithful recovery vector re-rendered without its full-canvas white background path. The complete face, both hands, sleeves, torso, linework, dimensions, and native open frame edges are preserved on a true alpha channel.",
        "size": [
          1000,
          634
        ]
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "context-ready",
      "head_recovery_status": "blocked",
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "hands",
          "sleeves",
          "torso"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "left",
          "right",
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          0,
          1000,
          634
        ],
        "anchor": [
          500,
          634
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "categories": [
        "public-figure",
        "film",
        "reaction-cutout"
      ],
      "tags": [
        "public-figure",
        "film",
        "reaction-cutout"
      ],
      "quality": {
        "source_size": [
          1000,
          634
        ],
        "prepared_size": [
          1000,
          634
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 634; prepared 1000 × 634. The recovered vector background path was removed without changing the canvas or subject geometry.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "repaired-vector-background-removal",
          "reason": "Removed only the full-canvas white background path from the source-faithful recovery vector; retained the separate white subject paths so the face, both hands, sleeves, and torso remain intact.",
          "evidence": "source-assets/rage-cast/vector-alpha-v1/review-composite.png"
        }
      }
    },
    {
      "id": "jeff-bezos-custom",
      "name": "Jeff Bezos",
      "aliases": [
        "Bezos"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/jeff-bezos-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Jeff Bezos satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/jeff-bezos-custom.png",
        "sha256": "b98256dfe33d134d23f9008ae2ec624d23061ba2a5d5d0ee90cc3978eedaad8d",
        "source_sha256": "6fae537a5ecbceeadba9928c9c02d4701e2cb2613c312030fa1856dba623b7dc",
        "source_file": "source-assets/rage-cast/public-figures-v1/jeff-bezos-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/jeff-bezos-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Checkerboard is baked source RGB on Zuckerberg/Altman, not genuine source transparency.",
        "size": [
          889,
          1108
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "business"
      ],
      "tags": [
        "custom",
        "public-figure",
        "business"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          873,
          1092
        ],
        "anchor": [
          444,
          1092
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "prepared_size": [
          889,
          1108
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1254 × 1254; prepared 889 × 1108.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "le",
      "name": "Le",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/le"
      ],
      "roles": [
        "Optional period-style captioning; omit if it makes dialogue harder to read."
      ],
      "meaning": "French article used in English rage comics as action preface or substitute for the, also mocking sophistication.",
      "classification": "language_marker",
      "research_records": [
        "supplemental:Le",
        "directory:Le"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "logic-lab-chief",
      "name": "Logic Lab Chief",
      "aliases": [
        "AI laboratory executive"
      ],
      "sources": [
        "project-generated:gpt-image-2:logic-lab-chief"
      ],
      "roles": [
        "Original fictional ai laboratory executive archetype for satire and reaction scenes."
      ],
      "meaning": "AI laboratory executive archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/logic-lab-chief.png",
        "sha256": "9ce96798c6d5dfa6ec0ac5f02aea24d9aafde547a2575dd8457d0da53c468a17",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115210_d7157606.png",
        "source_sha256": "0105cd82abee3a9fa0bd0c1afcc63f8e31b241ee3a85426c8eefc8a081546f0b",
        "size": [
          1263,
          1244
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          10,
          1248,
          1244
        ],
        "anchor": [
          631,
          1244
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1264,
          1244
        ],
        "prepared_size": [
          1263,
          1244
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "lol-guy",
      "name": "LOL Guy",
      "aliases": [
        "LOL Face (ambiguous generic label)"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/lol-guy"
      ],
      "roles": [
        "Laughing witness or contagious escalation; laughter can abruptly stop when the laugher becomes implicated."
      ],
      "meaning": "Laughter and general amusement.",
      "classification": "face_character",
      "research_records": [
        "core:LOL Guy",
        "directory:LOL Guy"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/lol-guy-v2.png",
        "sha256": "8fd4f4e591a1cae6ee5b8d026ef4ef3a109c912dcb1cbb7109270bc6b912b105",
        "source_sha256": "41199533d9bb7581d38e8e28461ecbd3a2ff33a28a7ad1f24030e859132ad1da",
        "source_image_url": "https://i.kym-cdn.com/entries/icons/original/000/004/815/lologuy.jpg",
        "crop": [
          524,
          55,
          1236,
          933
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "size": [
          712,
          878
        ],
        "version": "transparency-v2",
        "previous_sha256": "d6fe21cf92c78760607950cd4acc3ae607efdeb80b0b6d2fece1c14783cfeff6",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/lol-guy-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          0,
          0,
          712,
          878
        ],
        "anchor": [
          356,
          857
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1760,
          990
        ],
        "prepared_size": [
          712,
          878
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1760 × 990; prepared 712 × 878. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/lol-guy.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "man-i-don-t-feel-like-working-out-today",
      "name": "Man, I Don't Feel Like Working Out Today",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/man-i-dont-feel-like-working-out-today"
      ],
      "roles": [
        "Borrow only the setup-to-motivation transition, using an innocuous stimulus before a later Poker Face consequence."
      ],
      "meaning": "A motivation-reversal workout comic: reluctance becomes eagerness to lift after viewing a motivating image.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Man, I Don't Feel Like Working Out Today",
        "directory:Man, I Don't Feel Like Working Out Today"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "mark-zuckerberg-custom",
      "name": "Mark Zuckerberg",
      "aliases": [
        "Zuckerberg"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/mark-zuckerberg-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Mark Zuckerberg satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/mark-zuckerberg-custom.png",
        "sha256": "61f0457f2a5e5d0f743c1cbee482bfab96ea44e1ea48cfc9233645a85a48b203",
        "source_sha256": "ad70012fd2dd5f9d4d5474a23f0cc2a29332b22b94f5e9ca1f2e9080583bd200",
        "source_file": "source-assets/rage-cast/public-figures-v1/mark-zuckerberg-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/mark-zuckerberg-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Zuckerberg/Altman baked checkerboard and detached compression speckles removed; complete opaque head center component retained.",
        "size": [
          846,
          1250
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "technology"
      ],
      "tags": [
        "custom",
        "public-figure",
        "technology"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          830,
          1234
        ],
        "anchor": [
          423,
          1234
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1145,
          1374
        ],
        "prepared_size": [
          846,
          1250
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1145 × 1374; prepared 846 × 1250.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "market-mogul",
      "name": "Market Mogul",
      "aliases": [
        "E-commerce tycoon"
      ],
      "sources": [
        "project-generated:gpt-image-2:market-mogul"
      ],
      "roles": [
        "Original fictional e-commerce tycoon archetype for satire and reaction scenes."
      ],
      "meaning": "E-commerce tycoon archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/market-mogul.png",
        "sha256": "1ae585288c2f14df4e6021612a8d45c9eaaf4555aa52753b3a14202ff3b17665",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115149_081787bd.png",
        "source_sha256": "176381354f3631ce224ed70dda25e2630388799054d308cc536da61e6f514ab1",
        "size": [
          1231,
          1239
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          1215,
          1239
        ],
        "anchor": [
          615,
          1239
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1246,
          1262
        ],
        "prepared_size": [
          1231,
          1239
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "me-gusta",
      "name": "Me Gusta",
      "aliases": [
        "ME GUSTA"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/me-gusta"
      ],
      "roles": [
        "The private pleasure reveal: character enjoys the very thing others would find annoying, followed by being noticed."
      ],
      "meaning": "Approval with an awkward, strange or perversely pleasurable edge; meaning broadened beyond early sexual contexts.",
      "classification": "face_character",
      "research_records": [
        "core:Me Gusta",
        "directory:Me Gusta"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/me-gusta-v2.png",
        "sha256": "b858f4c3b1402dbd4abed186e65c652225b35392171e2cdb8283f26a8ba0fae3",
        "source_sha256": "fa15a27c80796921a8da1b6692baa4e56c7fd16464e6d3b0574193a904efe611",
        "source_image_url": "https://i.kym-cdn.com/entries/icons/original/000/002/252/NoMeGusta.jpg",
        "crop": [
          417,
          9,
          1788,
          1408
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "size": [
          1371,
          1399
        ],
        "version": "transparency-v2",
        "previous_sha256": "5bc4495cf8c3d17ca64ef81e6bce1abd6d640560bba1cb9419ab7e56c6bbf5ef",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/me-gusta-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          0,
          0,
          1371,
          1399
        ],
        "anchor": [
          685,
          1399
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          2504,
          1408
        ],
        "prepared_size": [
          1371,
          1399
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 2504 × 1408; prepared 1371 × 1399. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/me-gusta.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "melvin-comics-f-cking-melvin",
      "name": "Melvin Comics/F*CKING MELVIN",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/melvin-comicsfcking-melvin"
      ],
      "roles": [
        "A rule-reminding interrupter role; identify the action as the nuisance rather than appearance or academic ability."
      ],
      "meaning": "Classroom spin-off in which Melvin spoils other students' hoped-for break with goody-two-shoes intervention.",
      "classification": "comic_series_character_variant",
      "research_records": [
        "supplemental:Melvin Comics/F*CKING MELVIN",
        "directory:Melvin Comics/F*CKING MELVIN"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "mom-can-you-give-me-money",
      "name": "Mom Can You Give Me Money?",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/mom-can-you-give-me-money"
      ],
      "roles": [
        "Set up a mismatch between spoken intention and private intention, then expose it before Poker Face."
      ],
      "meaning": "A child requests money under a harmless pretext while secretly planning another purchase.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Mom Can You Give Me Money?",
        "directory:Mom Can You Give Me Money?"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "moon-pup",
      "name": "Moon Pup",
      "aliases": [
        "space-cycle skeptic",
        "crypto culture character"
      ],
      "sources": [
        "project-generated:gpt-image-2:moon-pup"
      ],
      "roles": [
        "Original fictional crypto-culture reaction archetype."
      ],
      "meaning": "Space-cycle skeptic; not a token mascot or identifiable third-party character.",
      "classification": "original-crypto-culture-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Created after preliminary asset-level rights review recommended original archetypes instead of copied token mascots."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, complete silhouette, no third-party mascot copy, no text, logos, coins, tickers or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to applicable image-provider terms. No affiliation with or endorsement by any token project is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/coin-culture-v1/moon-pup.png",
        "sha256": "f381e1e31d992627f08da5c450f6be5208b21a271e0e54c98d3e0b49a19dd083",
        "source_file": "source-assets/rage-cast/coin-culture-v1/moon-pup/generated.png",
        "source_sha256": "5bb9d7b14ff5e608b8f14c32ada3c9152f42ee863877812e7e0a56a0ad87d8a1",
        "size": [
          1120,
          1241
        ],
        "version": "coin-culture-v1",
        "preparation": "Alpha-bounds crop placed on a new transparent canvas with 32px safety margin; RGB under alpha=0 zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "coin-culture",
        "original",
        "fictional"
      ],
      "tags": [
        "coin-culture",
        "original",
        "fictional",
        "space-cycle skeptic"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          32,
          32,
          1088,
          1209
        ],
        "anchor": [
          560,
          1209
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1246,
          1262
        ],
        "prepared_size": [
          1120,
          1241
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "edge_occupancy": false,
        "rights": "Original fictional crypto-culture archetype; no third-party mascot or token affiliation intended."
      }
    },
    {
      "id": "mother-of-god",
      "name": "Mother of God",
      "aliases": [
        "Mother of God…",
        "Sunglasses-removal rage face (description)"
      ],
      "sources": [
        "https://knowyourmeme.com/sensitive/memes/mother-of-god"
      ],
      "roles": [
        "Reveal amplifier: ordinary looking/walking, glasses removed, then a mundane explanation collapses the grandeur into Poker Face."
      ],
      "meaning": "Astonishment or disbelief at an extraordinary sight; can support awe or horror rather than having fixed positive/negative valence.",
      "classification": "face_character",
      "research_records": [
        "core:Mother of God"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG representatives include glasses/hand and garment context touching the head, with cropped versions among alternatives; no clean complete head accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "neil-tyson",
      "name": "Neil deGrasse Tyson Reaction",
      "aliases": [
        "Neil reaction",
        "Watch Out We Got A Badass Over Here",
        "Watch out guys, we’re dealing with a badass over here",
        "We Got a Badass Over Here",
        "We’ve Got a Badass"
      ],
      "sources": [
        "https://knowyourmeme.com/sensitive/memes/neil-degrasse-tyson-reaction",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-got-a-badass-over-here.jpeg"
      ],
      "roles": [
        "Give the observer this reaction after a trivial achievement is hyped as toughness."
      ],
      "meaning": "Mock deference toward arrogant, self-congratulatory boasting.",
      "classification": "documented classic rage face; merged aliases",
      "research_records": [
        "extended:Neil deGrasse Tyson Reaction"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/misc-got-a-badass-over-here.jpeg",
        "source_sha256": "2d4c4d0e2f1b4c29c05b69d576b2fb5a202d531508fe50c46fa891ecad12c044",
        "crop": [
          0,
          0,
          1000,
          756
        ],
        "trim": [
          360,
          30,
          651,
          420
        ],
        "spec": {
          "source_polygon": [
            [
              360,
              30
            ],
            [
              650,
              30
            ],
            [
              650,
              326
            ],
            [
              624,
              348
            ],
            [
              600,
              382
            ],
            [
              566,
              409
            ],
            [
              513,
              431
            ],
            [
              470,
              440
            ],
            [
              426,
              421
            ],
            [
              407,
              400
            ],
            [
              392,
              386
            ],
            [
              374,
              344
            ]
          ],
          "retain_white": true,
          "clear": [
            [
              0,
              420,
              1000,
              756
            ]
          ]
        },
        "sha256": "6bc8fafaafb74b99757f4e8735fd5328b61ef5a61fa26f6364a365a3683a077c",
        "size": [
          323,
          422
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/neil-tyson.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-got-a-badass-over-here.jpeg",
        "previous_sha256": "be809e37b24b96ecfe036c76e6428c1428770506d4c35fbdb8580751a4f96a78",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "public-figure",
        "science"
      ],
      "tags": [
        "public-figure",
        "science"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          38,
          53,
          299,
          406
        ],
        "anchor": [
          161,
          378
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          756
        ],
        "prepared_size": [
          323,
          422
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 756; prepared 323 × 422. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/neil-tyson.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "no",
      "name": "No. Face",
      "aliases": [
        "NO. Rage Face",
        "No",
        "No Rage Face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/no-rage-face",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/angry-no.png"
      ],
      "roles": [
        "An authority or exasperated friend refuses an increasingly unreasonable request."
      ],
      "meaning": "Curt dismissal or disapproval of another person’s idea.",
      "classification": "face_character",
      "research_records": [
        "extended:No. Face",
        "directory:NO. Rage Face"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/angry-no.png",
        "source_sha256": "6602488165d4f71e9a80b59e0f38f18c27662290e5fa1dc7c001ab341f481fcb",
        "crop": [
          0,
          0,
          1500,
          1852
        ],
        "trim": [
          40,
          8,
          1487,
          1494
        ],
        "spec": {
          "source_polygon": [
            [
              0,
              0
            ],
            [
              1500,
              0
            ],
            [
              1500,
              1070
            ],
            [
              1320,
              1220
            ],
            [
              1280,
              1270
            ],
            [
              1260,
              1310
            ],
            [
              1190,
              1380
            ],
            [
              1120,
              1425
            ],
            [
              1000,
              1480
            ],
            [
              870,
              1510
            ],
            [
              520,
              1510
            ],
            [
              0,
              1110
            ]
          ]
        },
        "sha256": "968dbcbb3c219581a018c5bc962cf42ed04c4904fcdadc2aa5438df4d771eb76",
        "size": [
          1479,
          1518
        ],
        "preparation": "Measured source crop/exterior mask only; no redraw. Border-connected background removed; enclosed original face fills preserved. Transparent 16px padding; discarded pixels zeroed so hidden source text/props are not distributed.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/no.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/angry-no.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "workplace"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          1463,
          1502
        ],
        "anchor": [
          739,
          1500
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1500,
          1852
        ],
        "prepared_size": [
          1479,
          1518
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1852; prepared 1479 × 1518. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/no.jpg"
        }
      }
    },
    {
      "id": "not-bad-obama",
      "name": "Not Bad",
      "aliases": [
        "Not Bad",
        "Not Bad Face",
        "Not Bad Obama",
        "Obama Not Bad",
        "Obama Rage Face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/not-bad-obama-face",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/obama-not-bad.jpeg"
      ],
      "roles": [
        "A surprised evaluator grants understated approval, then discovers a catch before the final blank face."
      ],
      "meaning": "Positive appraisal of an unexpectedly good result, despite the apparently downturned mouth.",
      "classification": "face_character",
      "research_records": [
        "core:Not Bad",
        "core:Obama Not Bad"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/obama-not-bad.jpeg",
        "source_sha256": "42d897aeb80b224af9773b6df81fe32dd8561721bf52e242d4dd427d37bceee0",
        "crop": [
          0,
          0,
          1000,
          1000
        ],
        "trim": [
          310,
          70,
          741,
          583
        ],
        "spec": {
          "source_polygon": [
            [
              310,
              70
            ],
            [
              740,
              70
            ],
            [
              740,
              450
            ],
            [
              634,
              458
            ],
            [
              620,
              482
            ],
            [
              596,
              510
            ],
            [
              556,
              537
            ],
            [
              500,
              572
            ],
            [
              456,
              580
            ],
            [
              414,
              582
            ],
            [
              383,
              570
            ],
            [
              330,
              505
            ],
            [
              310,
              310
            ]
          ],
          "retain_white": true
        },
        "sha256": "82e3496e20e3235f3995096a88bc6468174b6e25ca4742cec15888c762e18db9",
        "size": [
          463,
          545
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/not-bad-obama-v2.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/obama-not-bad.jpeg",
        "version": "transparency-v2",
        "previous_sha256": "7e94f25b04df01ce24ea45374dc0750f23b748415be009501faf3633bf24996e",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/not-bad-obama-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "public-figure",
        "politics",
        "news"
      ],
      "tags": [
        "public-figure",
        "politics",
        "news"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          37,
          38,
          424,
          524
        ],
        "anchor": [
          231,
          493
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          1000
        ],
        "prepared_size": [
          463,
          545
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 1000; prepared 463 × 545. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/not-bad-obama.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "nothing-to-do",
      "name": "Nothing To Do Here / Jet Pack Guy",
      "aliases": [
        "Jet Pack Guy",
        "Nothing To Do Here"
      ],
      "sources": [
        "http://knowyourmeme.com/memes/nothing-to-do-here-jet-pack-guy",
        "https://knowyourmeme.com/memes/nothing-to-do-here-jet-pack-guy"
      ],
      "roles": [
        "A supporting character abandons the protagonist with the mess; protagonist then ends on exact Poker Face."
      ],
      "meaning": "Escape from awkward or difficult situations.",
      "classification": "action_motif",
      "research_records": [
        "extended:Nothing To Do Here / Jet Pack Guy",
        "directory:Nothing To Do Here / Jet Pack Guy"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "now-kiss",
      "name": "Now Kiss!",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/now-kiss"
      ],
      "roles": [
        "Overeager matchmaking or pairing motif; for safe adaptation use consenting adults or obviously inanimate objects, then social awkwardness and Poker Face."
      ],
      "meaning": "An intrusive matchmaker presses two figures together to demand a kiss; uses the face later used for Fap Guy.",
      "classification": "format_reaction_hybrid",
      "research_records": [
        "supplemental:Now Kiss!",
        "directory:Now Kiss!"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "numb-face",
      "name": "Numb Face",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/numb-face"
      ],
      "roles": [
        "Silent dread after discovering consequences; let another actor reveal the mundane cause before the Poker Face ending."
      ],
      "meaning": "Horror, fear and/or loathing; the source compares it to Oh God Why.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Numb Face",
        "directory:Numb Face"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Both local KYM and archived sad-numb source omit the top/scalp contour. Public supplemental search did not locate a verifiable complete replacement.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "oh-crap",
      "name": "Oh Crap / OMG Face",
      "aliases": [
        "Ashraf Face",
        "OMG Face",
        "Oh Crap / OMG Rage Face",
        "Raisin Face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/oh-crap-omg-rage-face",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Realize the apparently good deal or treat was not what it seemed."
      ],
      "meaning": "Astonishment, sudden revelation, or frustration/rage at a discovered fact.",
      "classification": "face_character",
      "research_records": [
        "extended:Oh Crap / OMG Face",
        "directory:Oh Crap / OMG Rage Face"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local documented Ashraf/OMG representative is clipped; archive surprised-omg, surprised-rage-clean and SVG alternatives were not accepted as a verified complete match. No generic surprise substitute enabled.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "oh-fuck",
      "name": "Oh Fuck / Oh Fuck No",
      "aliases": [
        "Oh Crap?"
      ],
      "sources": [
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Keep only as a reference to distinguish from Oh Crap; not recommended for strict classic cast."
      ],
      "meaning": "Generic expletive; inspected Oh Fuck No image communicates extreme horrified rejection.",
      "classification": "ambiguous request; do not automatically admit",
      "research_records": [
        "extended:Oh Fuck / Oh Fuck No"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "oh-god-disgusted",
      "name": "Oh God / Disgusted",
      "aliases": [
        "Disgusted",
        "disgusted-oh-god"
      ],
      "sources": [
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "A witness reacts to an unpleasant discovery."
      ],
      "meaning": "Editorial reading: recoil, distressed disgust or alarm.",
      "classification": "archive-attested separate drawing; ambiguous label",
      "research_records": [
        "extended:Oh God / Disgusted"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "oh-god-why",
      "name": "Oh God Why",
      "aliases": [
        "Disgusted Oh God Why",
        "disgusted-oh-god-why"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/oh-god-why",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/disgusted-oh-god-why.jpeg"
      ],
      "roles": [
        "An intermediate moment of self-reproach before the protagonist must silently face someone."
      ],
      "meaning": "Editorial reading: horrified regret or shame after recognizing what happened.",
      "classification": "face_character",
      "research_records": [
        "extended:Oh God Why",
        "directory:Oh God Why"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/disgusted-oh-god-why.jpeg",
        "source_sha256": "f18e79ac177c52319dacc2a47b52c3a5378b0212b0f35acf8c0fdd5b93112f0d",
        "crop": [
          0,
          0,
          913,
          1000
        ],
        "trim": [
          138,
          165,
          767,
          764
        ],
        "spec": {
          "source_polygon": [
            [
              100,
              150
            ],
            [
              800,
              150
            ],
            [
              800,
              560
            ],
            [
              727,
              635
            ],
            [
              636,
              700
            ],
            [
              574,
              740
            ],
            [
              530,
              763
            ],
            [
              470,
              763
            ],
            [
              405,
              747
            ],
            [
              337,
              722
            ],
            [
              276,
              705
            ],
            [
              100,
              630
            ]
          ]
        },
        "sha256": "59ee8e02b6dc9e2a8732ce0a2315419221b4dc67d5d1c793ba4da7df0219d179",
        "size": [
          661,
          631
        ],
        "preparation": "Measured source crop/exterior mask only; no redraw. Border-connected background removed; enclosed original face fills preserved. Transparent 16px padding; discarded pixels zeroed so hidden source text/props are not distributed.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/oh-god-why.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/disgusted-oh-god-why.jpeg"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          645,
          615
        ],
        "anchor": [
          330,
          610
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          913,
          1000
        ],
        "prepared_size": [
          661,
          631
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 913 × 1000; prepared 661 × 631. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/oh-god-why.jpg"
        }
      }
    },
    {
      "id": "oh-stop-it-you",
      "name": "Oh Stop It, You",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/oh-stop-it-you"
      ],
      "roles": [
        "A flattered recipient temporarily downplays praise; later context can puncture the praise before Poker Face."
      ],
      "meaning": "Self-modesty or humble gratitude in response to praise.",
      "classification": "face_character",
      "research_records": [
        "supplemental:Oh Stop It, You",
        "directory:Oh Stop It, You"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG sources include a hand overlapping the head/neck contour. Crop-only preparation cannot supply hidden contours.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "okay-guy",
      "name": "Okay Guy",
      "aliases": [
        "OK Guy (informal search spelling)",
        "Okay"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/okay-guy"
      ],
      "roles": [
        "Yielding beat: protagonist accepts an unfair or disappointing request before the final reveal changes its meaning."
      ],
      "meaning": "Hopeless resignation and reluctant compliance.",
      "classification": "face_character",
      "research_records": [
        "core:Okay Guy",
        "directory:Okay Guy"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/okay-guy-v2.png",
        "sha256": "0bdfba170851f5fbbba39689010d3cc705e7d1a512d50084cb791f35f91bb898",
        "source_sha256": "9c22a7d2ef6a858b53f68158405265a401f617651faf34fe59d60e4a765d3c2c",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/okay-okay-clean.png",
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "crop": [
          0,
          0,
          755,
          1060
        ],
        "size": [
          755,
          1060
        ],
        "version": "transparency-v2",
        "previous_sha256": "0a9b91fe44445ffa1a0f52c77f8a4514e0dd8bebc20b94559a97ce923afe9272",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/okay-guy-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "workplace"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          0,
          0,
          755,
          1060
        ],
        "anchor": [
          377,
          1057
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          755,
          1106
        ],
        "prepared_size": [
          755,
          1060
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 755 × 1106; prepared 755 × 1060. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/okay-guy.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "omg-run-guy-tampon-head-rage-face",
      "name": "OMG RUN Guy / Tampon Head Rage Face",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/omg-run-guy-tampon-head-rage-face",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/worried-omg-run-male.jpeg"
      ],
      "roles": [
        "Movement bridge between panels: flight, eager arrival or interruption, leaving the final reaction to Poker Face."
      ],
      "meaning": "High energy: running toward or away from something through fear, surprise or excitement.",
      "classification": "face_character",
      "research_records": [
        "supplemental:OMG RUN Guy / Tampon Head Rage Face",
        "directory:OMG RUN Guy / Tampon Head Rage Face"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB. Open lower form and small native white margin remain; not a newly closed anatomical silhouette.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/worried-omg-run-male.jpeg",
        "source_sha256": "594cdfbf25fd6db74abe8af87a750175d430822133083f3a69d4225c348b5415",
        "crop": [
          0,
          0,
          1000,
          737
        ],
        "trim": [
          140,
          130,
          546,
          494
        ],
        "spec": {
          "source_polygon": [
            [
              300,
              150
            ],
            [
              404,
              130
            ],
            [
              460,
              177
            ],
            [
              514,
              199
            ],
            [
              524,
              287
            ],
            [
              545,
              331
            ],
            [
              520,
              384
            ],
            [
              492,
              412
            ],
            [
              460,
              431
            ],
            [
              420,
              431
            ],
            [
              394,
              421
            ],
            [
              380,
              409
            ],
            [
              310,
              454
            ],
            [
              256,
              480
            ],
            [
              206,
              493
            ],
            [
              173,
              490
            ],
            [
              146,
              465
            ],
            [
              140,
              419
            ],
            [
              169,
              369
            ],
            [
              292,
              273
            ]
          ],
          "retain_white": true,
          "clear": [
            [
              440,
              432,
              1000,
              737
            ],
            [
              0,
              495,
              1000,
              737
            ]
          ]
        },
        "sha256": "f79f09dbb84144ec31378d24d6f8f5e42983c9ca4510a450906214f051d36e76",
        "size": [
          438,
          396
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB. Open lower form and small native white margin remain; not a newly closed anatomical silhouette.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/omg-run-guy-tampon-head-rage-face-v2.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/worried-omg-run-male.jpeg",
        "version": "transparency-v2",
        "previous_sha256": "44c6ffdc46fdcc18420eb3bacb6e8229311d915d755831f465012ffc239c43e4",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/omg-run-guy-tampon-head-rage-face-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          22,
          34,
          411,
          377
        ],
        "anchor": [
          219,
          320
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          737
        ],
        "prepared_size": [
          438,
          396
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 737; prepared 438 × 396. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB. Open lower form and small native white margin remain; not a newly closed anatomical silhouette.",
          "evidence": "reports/creative/transparency-v2/omg-run-guy-tampon-head-rage-face.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "orbit-ace",
      "name": "Orbit Ace",
      "aliases": [
        "Space-technology visionary"
      ],
      "sources": [
        "project-generated:gpt-image-2:orbit-ace"
      ],
      "roles": [
        "Original fictional space-technology visionary archetype for satire and reaction scenes."
      ],
      "meaning": "Space-technology visionary archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/orbit-ace.png",
        "sha256": "6884a374e759e8e659c5ffb856e2dcecb9c46f626d23d77ea313372bb0a1eaa3",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115145_35509cf5.png",
        "source_sha256": "6ed296a6c803e24140e8ff12d9e64ebe979e8dc9d449d133cdacb450bd48a2e9",
        "size": [
          1026,
          1254
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          6,
          1010,
          1254
        ],
        "anchor": [
          513,
          1254
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1254,
          1254
        ],
        "prepared_size": [
          1026,
          1254
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "peach-time",
      "name": "Peach Time",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/peach-time"
      ],
      "roles": [
        "An absurd interruption or prop introduction before a consequence and Poker Face."
      ],
      "meaning": "Abrupt surreal declaration that it is time for an object, originally a peach.",
      "classification": "comic_format",
      "research_records": [
        "supplemental:Peach Time",
        "directory:Peach Time"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "pepe-the-frog",
      "name": "Pepe the Frog",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/pepe-the-frog"
      ],
      "roles": [
        "Consult the cited character card before casting."
      ],
      "meaning": "variable frog reactions across distinct derivatives",
      "classification": "adjacent lineage; exclude by default",
      "research_records": [
        "boundary:Pepe the Frog"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Adjacent meme lineage; excluded from default classic cast.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "pffftttchh",
      "name": "PFFFTTTCHH",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/pffftttchh"
      ],
      "roles": [
        "A witness nearly gives away the joke; the suppressed laugh foreshadows exposure and Poker Face."
      ],
      "meaning": "Barely contained laughter expressed by the PFFFTTTCHH sound string.",
      "classification": "face_character",
      "research_records": [
        "supplemental:PFFFTTTCHH",
        "directory:PFFFTTTCHH"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM and archived happy-pfftch examples end at the lower head boundary; caption removal alone does not recover a complete jaw.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "poker-face",
      "name": "Poker Face",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/sensitive/memes/poker-face-rage-comics"
      ],
      "roles": [
        "Final silent realization after the protagonist sees the consequence."
      ],
      "meaning": "Expressionless response to an embarrassing moment.",
      "classification": "face_character",
      "research_records": [
        "directory:Poker Face (Rage Comics)"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact canonical master; available in any panel; never forced as an ending.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/poker-face.png",
        "sha256": "798f04a82a5cb84987b22915eb82e26a8040342e9eb42072836a223006677023",
        "source_sha256": "798f04a82a5cb84987b22915eb82e26a8040342e9eb42072836a223006677023",
        "preparation": "Exact byte-for-byte canonical master; uniform scale/translation only.",
        "size": [
          685,
          756
        ]
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          24,
          24,
          661,
          732
        ],
        "anchor": [
          342,
          732
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          685,
          756
        ],
        "prepared_size": [
          685,
          756
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 685 × 756; prepared 685 × 756. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "verified",
          "reason": "Exact canonical bytes retained, not processed.",
          "evidence": "reports/creative/transparency-v2/poker-face.jpg"
        }
      }
    },
    {
      "id": "pop-comet",
      "name": "Pop Comet",
      "aliases": [
        "Pop superstar"
      ],
      "sources": [
        "project-generated:gpt-image-2:pop-comet"
      ],
      "roles": [
        "Original fictional pop superstar archetype for satire and reaction scenes."
      ],
      "meaning": "Pop superstar archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/pop-comet.png",
        "sha256": "39d26aa3d44b762ca241e37c5276bdbddda9c3014ff8ff5bafa012bc295b3322",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115225_8d45f4a3.png",
        "source_sha256": "0b7b3170ba1999dac611f2fc11f6d2e7ed66babaddcade9d3760aaa17dfab943",
        "size": [
          1224,
          1276
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          16,
          1208,
          1260
        ],
        "anchor": [
          612,
          1276
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1230,
          1278
        ],
        "prepared_size": [
          1224,
          1276
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "race-guy",
      "name": "Race Guy",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/sensitive/memes/race-guy"
      ],
      "roles": [
        "Historical documentation only; no role in multi-cast stories."
      ],
      "meaning": "Racist Rage Guy derivative campaign intended to smear Hot Topic and get its Rage Guy shirts withdrawn; historical context, not a neutral emotion.",
      "classification": "historical_racist_hoax_spinoff",
      "research_records": [
        "supplemental:Race Guy",
        "directory:Race Guy"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Excluded: racial caricature or ethnic-stereotype format. No asset distributed.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "rage-guy",
      "name": "Rage Guy",
      "aliases": [
        "FFFFFUUUUUUUU-",
        "FUUUU / FFFFUUUU (variable letter counts)",
        "Rage Guy (FFFFFUUUUUUUU-)",
        "Rageguy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/rage-guy-fffffuuuuuuuu",
        "https://knowyourmeme.com/sensitive/memes/rage-guy-fffffuuuuuuuu"
      ],
      "roles": [
        "Escalation peak: let a small problem compound, then discharge it; in this project place a further reveal after the outburst so Poker Face remains last."
      ],
      "meaning": "Explosive frustration, exasperation, anger at an aggravating outcome.",
      "classification": "face_character",
      "research_records": [
        "core:Rage Guy",
        "directory:Rage Guy (FFFFFUUUUUUUU-)"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG examples contain adjoining neck/body or cropped contours; no complete text-free, body-free head passed this review.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "rocket-cat",
      "name": "Rocket Cat",
      "aliases": [
        "launch-day inventor",
        "crypto culture character"
      ],
      "sources": [
        "project-generated:gpt-image-2:rocket-cat"
      ],
      "roles": [
        "Original fictional crypto-culture reaction archetype."
      ],
      "meaning": "Launch-day inventor; not a token mascot or identifiable third-party character.",
      "classification": "original-crypto-culture-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Created after preliminary asset-level rights review recommended original archetypes instead of copied token mascots."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, complete silhouette, no third-party mascot copy, no text, logos, coins, tickers or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to applicable image-provider terms. No affiliation with or endorsement by any token project is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/coin-culture-v1/rocket-cat.png",
        "sha256": "e584e508d3efbe737ea2f787a200fbbc04af6a72cf8df6023ba3ef94117a25f0",
        "source_file": "source-assets/rage-cast/coin-culture-v1/rocket-cat/generated.png",
        "source_sha256": "f6c94f3cb6d81bfc9e1f6141b936a2bba744b8165dddcde756a069817cc4ab26",
        "size": [
          1244,
          1354
        ],
        "version": "coin-culture-v1",
        "preparation": "Alpha-bounds crop placed on a new transparent canvas with 32px safety margin; RGB under alpha=0 zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "coin-culture",
        "original",
        "fictional"
      ],
      "tags": [
        "coin-culture",
        "original",
        "fictional",
        "launch-day inventor"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          32,
          32,
          1212,
          1322
        ],
        "anchor": [
          622,
          1322
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1213,
          1296
        ],
        "prepared_size": [
          1244,
          1354
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "edge_occupancy": false,
        "rights": "Original fictional crypto-culture archetype; no third-party mascot or token affiliation intended."
      }
    },
    {
      "id": "sam-altman-custom",
      "name": "Sam Altman",
      "aliases": [
        "Altman"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/sam-altman-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Sam Altman satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/sam-altman-custom.png",
        "sha256": "659cf81cea67fc9a69d7466357cc1c80ecb9dcdb19da8c6e7a6ba1a8359c69f7",
        "source_sha256": "0fe3cb028afa8e2d1bfb5ffaeb0c1293affed43d8bec235fd3d590eefa66c6c2",
        "source_file": "source-assets/rage-cast/public-figures-v1/sam-altman-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/sam-altman-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Zuckerberg/Altman baked checkerboard and detached compression speckles removed; complete opaque head center component retained.",
        "size": [
          845,
          1170
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "technology"
      ],
      "tags": [
        "custom",
        "public-figure",
        "technology"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          829,
          1154
        ],
        "anchor": [
          422,
          1154
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1216,
          1293
        ],
        "prepared_size": [
          845,
          1170
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1216 × 1293; prepared 845 × 1170.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "so-hardcore",
      "name": "So Hardcore",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/so-hardcore"
      ],
      "roles": [
        "Undercut inflated bragging before a final embarrassing revelation and Poker Face."
      ],
      "meaning": "Sarcastic response to someone presenting a trivial action as intense, daring or experienced.",
      "classification": "catchphrase_reaction_macro",
      "research_records": [
        "supplemental:So Hardcore",
        "directory:So Hardcore"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "social-spark",
      "name": "Social Spark",
      "aliases": [
        "Social-network founder"
      ],
      "sources": [
        "project-generated:gpt-image-2:social-spark"
      ],
      "roles": [
        "Original fictional social-network founder archetype for satire and reaction scenes."
      ],
      "meaning": "Social-network founder archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/social-spark.png",
        "sha256": "452e2f310e7611ba02ccfdf9dd4c242ffbd85112ae3561ceda9eecd26a400498",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115147_fb2d5638.png",
        "source_sha256": "a77d6633bdac7a0baed2a0f5d0a66c6700fc4daecd6d1dc9216fe761adbb621c",
        "size": [
          1220,
          1277
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          16,
          1204,
          1277
        ],
        "anchor": [
          610,
          1277
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1230,
          1278
        ],
        "prepared_size": [
          1220,
          1277
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "stupidity",
      "name": "Stupidity",
      "aliases": [
        "Are You Fucking Kidding Me?",
        "Stupid Face?"
      ],
      "sources": [
        "http://knowyourmeme.com/memes/derp",
        "https://knowyourmeme.com/memes/are-you-fucking-kidding-me",
        "https://knowyourmeme.com/memes/genius"
      ],
      "roles": [
        "Use an explicit mapped template rather than adding a fake character."
      ],
      "meaning": "Describes a comic function, not a uniquely established face in this research.",
      "classification": "face_character",
      "research_records": [
        "extended:Stupidity",
        "supplemental:Are You Fucking Kidding Me?",
        "directory:Are You Fucking Kidding Me?"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "sweet-jesus",
      "name": "Sweet Jesus Face",
      "aliases": [
        "Sweet Jesus Have Mercy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/sweet-jesus-face",
        "https://lehollandaisvolant.net/tout/folio/?fol=Rage%20Faces&page=all"
      ],
      "roles": [
        "Long-awaited food or relief arrives; another detail undercuts it before Poker Face."
      ],
      "meaning": "Overwhelming enjoyment or yearning.",
      "classification": "face_character",
      "research_records": [
        "extended:Sweet Jesus Face",
        "directory:Sweet Jesus Face"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local/archive and SVG sources clip the scalp and side of the face. Further public search did not yield a verified complete replacement; no generated completion.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "taylor-swift-custom",
      "name": "Taylor Swift",
      "aliases": [
        "Swift"
      ],
      "sources": [],
      "local_source": "source-assets/rage-cast/public-figures-v1/taylor-swift-custom/generated.png",
      "roles": [
        "Custom fictional satire; name identifies the depicted person, not an endorsement or real quotation."
      ],
      "meaning": "Original custom Taylor Swift satire cartoon; not a canonical historical rage template.",
      "classification": "custom-public-figure-cartoon",
      "canonical_rage_template": false,
      "research_records": [
        "User requested newly created public-figure rage cartoons; individual generation receipt retained."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Individually reviewed complete custom head. Generated source retained; cutout retains source RGB; no automatic appended anatomy.",
      "license": "User-directed generated illustration. No endorsement, likeness/commercial-rights clearance or historical template authenticity is claimed.",
      "asset": {
        "status": "verified-custom-reference",
        "path": "/assets/rage-cast/public-figures-v1/taylor-swift-custom.png",
        "sha256": "c8487416f7cc9f940cf71fdd8ed0fc851924c2c65b266c4899ea4ae7be3c94e7",
        "source_sha256": "7f3cea6eee56947298154769f6f917811da7a839ad323577dd6cb91ca8c8eb54",
        "source_file": "source-assets/rage-cast/public-figures-v1/taylor-swift-custom/generated.png",
        "prepared_file": "source-assets/rage-cast/public-figures-v1/taylor-swift-custom/prepared.png",
        "preparation": "Border-connected low-saturation background removal; original enclosed face/hair RGB unchanged; transparent RGB zeroed; crop and 16px padding, no scale/redraw. Checkerboard is baked source RGB on Zuckerberg/Altman, not genuine source transparency.",
        "size": [
          1051,
          1076
        ],
        "version": "public-figures-v1"
      },
      "categories": [
        "custom",
        "public-figure",
        "entertainment"
      ],
      "tags": [
        "custom",
        "public-figure",
        "entertainment"
      ],
      "render": {
        "kind": "head",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [],
        "anchor_type": "head-bottom-center",
        "background": "transparent",
        "bounds": [
          16,
          16,
          1035,
          1060
        ],
        "anchor": [
          525,
          1060
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1312,
          1199
        ],
        "prepared_size": [
          1051,
          1076
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Reviewed generated satire likeness; not a claim of perfect resemblance, historic canonical status or best-in-world quality.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1312 × 1199; prepared 1051 × 1076.",
        "large_render_note": "Native-resolution cutout; source pixels unchanged wherever retained.",
        "rights": "No endorsement or commercial likeness clearance asserted."
      }
    },
    {
      "id": "grandstander",
      "name": "The Grandstander",
      "aliases": [
        "Political showman"
      ],
      "sources": [
        "project-generated:gpt-image-2:grandstander"
      ],
      "roles": [
        "Original fictional political showman archetype for satire and reaction scenes."
      ],
      "meaning": "Political showman archetype; not an identifiable person.",
      "classification": "original-fictional-archetype",
      "canonical_rage_template": false,
      "research_records": [
        "Original project-controlled fictional character generated specifically to avoid real-person likeness reuse."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original fictional design passed visual review for distinct identity, no real-person resemblance, no text, logos or watermarks.",
      "license": "Project-generated original fictional character; commercial use subject to the image provider terms. No real-person identity is claimed.",
      "asset": {
        "status": "verified-context-reference",
        "path": "/assets/rage-cast/fictional-archetypes/grandstander.png",
        "sha256": "a679a252bf839e83e50696a44c3edfffd5d0b639c1f26b0697fb21138bd39ad1",
        "source_file": "C:\\Users\\Hermes\\AppData\\Local\\hermes\\profiles\\wsl-import\\cache\\images\\openai_codex_gpt-image-2-medium_20260916_115344_8c16aa64.png",
        "source_sha256": "ad1b569a5d80a3cc44ad5ccf2db9ef7b24e8472d4d54105996ab5f5108a89f49",
        "size": [
          1143,
          1278
        ],
        "version": "fictional-archetypes-v1",
        "preparation": "Generated transparent PNG; alpha-bounds crop with 16 px padding; RGB under alpha zeroed; no redraw."
      },
      "recovery_status": "ready",
      "categories": [
        "original",
        "fictional",
        "archetype"
      ],
      "tags": [
        "original",
        "fictional",
        "archetype"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "head",
          "shoulders"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [
          "bottom"
        ],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          0,
          0,
          1127,
          1278
        ],
        "anchor": [
          571,
          1278
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1230,
          1278
        ],
        "prepared_size": [
          1143,
          1278
        ],
        "source_type": "generated-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          0,
          255
        ],
        "hidden_rgb_zeroed": true,
        "rights": "Original fictional archetype; no real-person likeness intended or approved."
      }
    },
    {
      "id": "trollface",
      "name": "Trollface",
      "aliases": [
        "Coolface",
        "Troll Face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/trollface",
        "https://en.wikipedia.org/wiki/File:Trollface.png"
      ],
      "roles": [
        "Instigator or reveal of intentional interference; a prankster can lose control and become the final blank-faced target."
      ],
      "meaning": "Mischievous provocation; pleasure in baiting or fooling someone.",
      "classification": "face_character",
      "research_records": [
        "core:Trollface"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/trollface-v2.png",
        "sha256": "2d05041b0c3a956a6fa1f48f8493b0d49a2a1a604c79f25177c400f0b57a5ff5",
        "source_sha256": "603b99115c372cfe0cf00b9584852dcc4462d51ef08d28b77d83dba1aa6293d9",
        "source_image_url": "https://upload.wikimedia.org/wikipedia/en/7/73/Trollface.png",
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "size": [
          222,
          180
        ],
        "version": "transparency-v2",
        "previous_sha256": "603b99115c372cfe0cf00b9584852dcc4462d51ef08d28b77d83dba1aa6293d9",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/trollface-v2.png"
      },
      "license": "Non-free copyrighted source. Wikipedia fair-use rationale is specific to Wikipedia, not a license for this app. Commercial release HOLD.",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic",
        "gaming"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          15,
          10,
          207,
          167
        ],
        "anchor": [
          111,
          158
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          222,
          180
        ],
        "prepared_size": [
          222,
          180
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 222 × 180; prepared 222 × 180. Padding and masks do not add source detail.",
        "large_render_note": "Enlargement exceeds native dimensions at 300px.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/trollface.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "true-story",
      "name": "True Story",
      "aliases": [
        "Barney Stinson True Story",
        "Neil Patrick Harris True Story face"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/true-story"
      ],
      "roles": [
        "Unreliable narrator’s seal: move its habitual closing function earlier, then expose the boast and end on Poker Face."
      ],
      "meaning": "Smug assurance that a story is true, possibly deliberately false.",
      "classification": "face_character",
      "research_records": [
        "core:True Story"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM, archive and SVG representatives contain cropped scalp and/or adjoining shirt, glass and hand context. No clean isolated full head accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "turbo-toad",
      "name": "Turbo Toad",
      "aliases": [
        "Quantum Leap",
        "TURBO mascot",
        "TurboToken",
        "yellow astronaut toad"
      ],
      "sources": [
        "https://www.mankind.art/artwork/turbo-token",
        "https://images.squarespace-cdn.com/content/v1/60ac45fb26174d18a6273512/62a01380-b461-4fbc-bace-7447bd28efc4/Mankind_a_small_yellow_toad_in_a_space_helmet_pixar_style_2d_ga_78cfb46a-b57b-4baf-9a1b-0a27b8283635.png",
        "https://www.mankind.art/artwork/turbo-token"
      ],
      "roles": [
        "Public-domain mascot of the Turbo meme project."
      ],
      "meaning": "Turbo Token's yellow astronaut-toad mascot, isolated from artwork published by creator Rhett Mankind.",
      "classification": "public-domain-meme-project-mascot",
      "canonical_rage_template": false,
      "research_records": [
        "Creator Rhett Mankind's public-domain dedication is archived in source-assets/meme-projects/turbo/license-evidence.json.",
        "The exact source artwork was downloaded from the creator's Turbo Token page and hash-pinned before background removal."
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Creator-published Turbo Toad artwork is expressly dedicated to the public domain under CC0 1.0 Universal, including commercial use and modification. Transparent cutout preserves the source character one-for-one.",
      "license": "CC0 1.0 Universal public-domain dedication by creator Rhett Mankind; commercial use, modification, and distribution permitted. No affiliation with or endorsement by Turbo Token is claimed.",
      "asset": {
        "status": "verified-public-domain",
        "path": "/assets/rage-cast/meme-projects-v1/turbo-toad.png",
        "sha256": "13f76a183a897fdef891e3d2eea9fdec339450cd2eb816d97913104c85fb60cb",
        "source_file": "source-assets/meme-projects/turbo/rhett-mankind-original-turbo-toad.png",
        "source_sha256": "4297663c6bb61c7fc5cf1a38cf01d72ca9541f77b07582220c7cf16f10804127",
        "size": [
          796,
          935
        ],
        "version": "meme-projects-v1",
        "preparation": "U2Net subject mask applied to the creator-published source; mask converted to a hard subject silhouette, lightly antialiased at 0.65 px, cropped to alpha bounds, and placed on a transparent canvas with a 32 px safety margin. No redraw, recolor, generative fill, pose change, or character alteration."
      },
      "recovery_status": "ready",
      "categories": [
        "coin-culture",
        "meme-project",
        "public-domain"
      ],
      "tags": [
        "coin-culture",
        "meme-project",
        "turbo",
        "turbo-toad",
        "quantum-leap",
        "toad",
        "astronaut",
        "cc0",
        "public-domain"
      ],
      "render": {
        "kind": "reaction-cutout",
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "full character",
          "helmet",
          "space suit"
        ],
        "frame_policy": "contain-full-native-frame",
        "native_open_edges": [],
        "anchor_type": "frame-bottom-center",
        "background": "transparent",
        "bounds": [
          32,
          32,
          764,
          903
        ],
        "anchor": [
          398,
          903
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1024,
          1024
        ],
        "prepared_size": [
          796,
          935
        ],
        "source_type": "creator-published-raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "transparent": true,
        "alpha_extrema": [
          0,
          255
        ],
        "alpha_bbox": [
          32,
          32,
          764,
          903
        ],
        "safety_margin": 32,
        "edge_review": "pass",
        "thumbnail_review": "pass",
        "background_removal": "u2net hard subject mask with 0.65 px antialias; no generative editing"
      }
    },
    {
      "id": "what-s-all-this-racket-mirada-fija",
      "name": "What's All This Racket? / Mirada Fija",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/whats-all-this-racket-mirada-fija"
      ],
      "roles": [
        "A disapproving witness or authority figure silently assesses a revealed absurdity; reserve the final quieter beat for Poker Face."
      ],
      "meaning": "A father-son comic format whose final father's stare became a standalone reaction conveying concern, displeasure or disappointment.",
      "classification": "format_reaction_hybrid",
      "research_records": [
        "supplemental:What's All This Racket? / Mirada Fija",
        "directory:What's All This Racket? / Mirada Fija"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Format, action/pose, hybrid or umbrella family: not an isolated face; retained as reference.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "why-not-zoidberg",
      "name": "Why Not Zoidberg?",
      "aliases": [
        "Futurama Zoidberg",
        "Why not?"
      ],
      "sources": [
        "http://knowyourmeme.com/memes/futurama-zoidberg-why-not-zoidberg"
      ],
      "roles": [
        "Only use as an explicitly labeled crossover offering an unsuitable fallback."
      ],
      "meaning": "An absurd fallback offered in response to a question.",
      "classification": "adjacent advice-animal; conditional cameo",
      "research_records": [
        "extended:Why Not Zoidberg?"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Unresolved identity, variant category or adjacent lineage; not an independently verified classic face.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "wojak-feels-guy",
      "name": "Wojak / Feels Guy",
      "aliases": [],
      "sources": [
        "https://en.wikipedia.org/wiki/Wojak"
      ],
      "roles": [
        "Consult the cited character card before casting."
      ],
      "meaning": "wistful emotion and identification with that feel",
      "classification": "adjacent lineage; exclude by default",
      "research_records": [
        "boundary:Wojak / Feels Guy"
      ],
      "selectable": false,
      "eligible": false,
      "reason": "Adjacent meme lineage; excluded from default classic cast.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "categories": [
        "reference"
      ],
      "tags": [
        "reference"
      ],
      "context_opportunity": null
    },
    {
      "id": "y-u-no",
      "name": "Y U NO",
      "aliases": [
        "\"Y U NO\" Guy",
        "TXT BAK",
        "Y U NO Guy",
        "Y U NO?",
        "Y U No [X]?"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/y-u-no-guy",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/angry-y-u-no-background.png"
      ],
      "roles": [
        "Personifies a thwarted expectation as an accusatory question; more targeted than Rage Guy’s pure outburst."
      ],
      "meaning": "Frustrated demand that someone or something perform an expected action.",
      "classification": "face_character",
      "research_records": [
        "core:Y U NO",
        "directory:\"Y U NO\" Guy"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/angry-y-u-no-background.png",
        "source_sha256": "dea6faef54a6bae582994f8d31bd33e51d0ad8c1e17e5aabc3121a3b9a4942f7",
        "crop": [
          0,
          0,
          1500,
          1108
        ],
        "trim": [
          549,
          224,
          1090,
          775
        ],
        "spec": {
          "file": "angry-y-u-no-background.png",
          "source_polygon": [
            [
              460,
              190
            ],
            [
              1160,
              190
            ],
            [
              1180,
              660
            ],
            [
              1110,
              710
            ],
            [
              1050,
              746
            ],
            [
              960,
              786
            ],
            [
              897,
              795
            ],
            [
              800,
              787
            ],
            [
              718,
              760
            ],
            [
              660,
              735
            ],
            [
              608,
              702
            ],
            [
              563,
              659
            ],
            [
              520,
              580
            ],
            [
              460,
              400
            ]
          ],
          "blue_background": true,
          "clear": [
            [
              0,
              775,
              1500,
              1108
            ]
          ]
        },
        "sha256": "d890d9d656a0bde06864abb1d261e9ae46425de16ae4947adb07eda7a9a815ee",
        "size": [
          573,
          583
        ],
        "preparation": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/transparency-v2/y-u-no-v2.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/angry-y-u-no-background.png",
        "version": "transparency-v2",
        "previous_sha256": "2eb56e1c76746d7fbbc50e3931938be5faa1e17818f26fca439551dc465499fa",
        "transparency_manifest": "source-assets/rage-cast/transparency-v2/manifest.json",
        "prepared_file": "source-assets/rage-cast/transparency-v2/y-u-no-v2.png"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          16,
          16,
          557,
          567
        ],
        "anchor": [
          286,
          555
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1500,
          1108
        ],
        "prepared_size": [
          573,
          583
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          340
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1500 × 1108; prepared 573 × 583. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unknown / local research only, not commercial clearance.",
        "transparency_review": {
          "status": "verified-local-cutout",
          "reason": "Original enclosed face fill and retained visible linework inspected on three backgrounds at large/thumbnail sizes. Native reaction parts retained; no invented contour or redrawn RGB.",
          "evidence": "reports/creative/transparency-v2/y-u-no.jpg"
        },
        "hidden_rgb_zeroed": true
      }
    },
    {
      "id": "yao-ming",
      "name": "Yao Ming Face / Bitch Please",
      "aliases": [
        "Asian Laughing Guy",
        "Bitch Please",
        "Dumb Bitch",
        "Fuck That",
        "Fuck That Guy"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/yao-ming-face-bitch-please",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/fuck-that-bitch-yao-ming.png"
      ],
      "roles": [
        "A braggart or rule-dismissive character confidently rejects sensible advice before consequences arrive."
      ],
      "meaning": "Dismissive amusement; brushing off another claim or one-upping it.",
      "classification": "face_character",
      "research_records": [
        "extended:Yao Ming Face / Bitch Please",
        "directory:Yao Ming Face / Bitch Please"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/fuck-that-bitch-yao-ming.png",
        "source_sha256": "4c9e08e82ecfa0a7e3f75fe6cf66e2a098d6205761ab1784c720f05688f2d28d",
        "crop": [
          0,
          0,
          1295,
          1500
        ],
        "trim": [
          0,
          0,
          1111,
          1342
        ],
        "spec": {
          "source_polygon": [
            [
              0,
              0
            ],
            [
              1110,
              0
            ],
            [
              1110,
              740
            ],
            [
              1025,
              809
            ],
            [
              965,
              810
            ],
            [
              943,
              1000
            ],
            [
              930,
              1090
            ],
            [
              850,
              1190
            ],
            [
              810,
              1245
            ],
            [
              630,
              1280
            ],
            [
              510,
              1320
            ],
            [
              416,
              1341
            ],
            [
              350,
              1310
            ],
            [
              305,
              1290
            ],
            [
              0,
              1050
            ]
          ],
          "retain_white": true
        },
        "sha256": "2d57a6ccfb23d39cfb61e1534252e5403c0a82c728a84444a572fb16b21d91db",
        "size": [
          1143,
          1374
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/yao-ming.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/fuck-that-bitch-yao-ming.png",
        "previous_sha256": "1f5cd66dba0b1b8063dd8f335792bf2edccb283c85a1a1e1ea715803ee0dca10",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "public-figure",
        "sports"
      ],
      "tags": [
        "public-figure",
        "sports"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          43,
          23,
          1072,
          1357
        ],
        "anchor": [
          571,
          1300
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1295,
          1500
        ],
        "prepared_size": [
          1143,
          1374
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1295 × 1500; prepared 1143 × 1374. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/yao-ming.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "you-dont-say",
      "name": "You Don’t Say? / Nicolas Cage",
      "aliases": [
        "Nicolas Cage reaction",
        "You Don’t Say"
      ],
      "sources": [
        "https://knowyourmeme.com/memes/you-dont-say--3",
        "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-you-dont-say.jpeg"
      ],
      "roles": [
        "One character proudly explains the obvious; this character performs overblown mock astonishment."
      ],
      "meaning": "Sarcastic faux-surprise at something painfully obvious.",
      "classification": "documented classic rage face",
      "research_records": [
        "extended:You Don’t Say? / Nicolas Cage"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Complete source head inspected enlarged and at 64px; no caption, hand or shoulder included. Local rough reference only; rights unresolved.",
      "asset": {
        "source_file": "source-assets/rage-cast/recovery/misc-you-dont-say.jpeg",
        "source_sha256": "e8b5e5a3d3c1531ce4bcb62605194a235b58f577405cc1ee2132da17b4b8c19f",
        "crop": [
          0,
          0,
          1000,
          742
        ],
        "trim": [
          310,
          139,
          841,
          736
        ],
        "spec": {
          "source_polygon": [
            [
              310,
              139
            ],
            [
              840,
              139
            ],
            [
              840,
              535
            ],
            [
              768,
              548
            ],
            [
              710,
              546
            ],
            [
              680,
              586
            ],
            [
              650,
              601
            ],
            [
              630,
              640
            ],
            [
              578,
              687
            ],
            [
              514,
              727
            ],
            [
              440,
              735
            ],
            [
              408,
              706
            ],
            [
              360,
              691
            ],
            [
              326,
              663
            ],
            [
              320,
              510
            ],
            [
              310,
              360
            ]
          ],
          "retain_white": true
        },
        "sha256": "bd3391f7538dfffbf26062ba56f543eba85957fbb8744d605b7fe25d28db4f37",
        "size": [
          563,
          629
        ],
        "preparation": "Source-coordinate alpha mask only; retained RGB unchanged; hidden RGB zeroed; no redraw.",
        "status": "verified-rough-reference",
        "path": "/assets/rage-cast/you-dont-say.png",
        "source_image_url": "https://lehollandaisvolant.net/tout/folio/img/Rage%20Faces/misc-you-dont-say.jpeg",
        "previous_sha256": "604902ea93dfa5e19f72a6a044cd7005e257cd7182cb14042f932cf0e63de4a0",
        "version": "manual-mask-v1"
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "ready",
      "categories": [
        "public-figure",
        "film"
      ],
      "tags": [
        "public-figure",
        "film",
        "news"
      ],
      "render": {
        "kind": "head",
        "body_policy": "stick-body",
        "append_limbs": true,
        "intrinsic_context": [],
        "anchor_type": "centerline-ink-base",
        "background": "transparent",
        "bounds": [
          26,
          31,
          522,
          602
        ],
        "anchor": [
          281,
          567
        ],
        "coordinate_space": "native-pixels",
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          1000,
          742
        ],
        "prepared_size": [
          563,
          629
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "comparison_scope": "Measured local source and prepared bytes; not an exhaustive internet quality ranking.",
        "preview_sizes": [
          64,
          300
        ],
        "alpha_extrema": [
          0,
          255
        ],
        "source_resolution_note": "Source 1000 × 742; prepared 563 × 629. Padding and masks do not add source detail.",
        "large_render_note": "300px preview fits within native dimensions; source compression or trace artifacts may remain.",
        "rights": "Unresolved; local rough use only unless separately cleared.",
        "transparency_review": {
          "status": "blocked-transparency-repair",
          "reason": "Border-connected flood leaks through open source contours into original white facial/hand fill. Candidate rejected; existing version retained. A source-faithful manual mask or better complete source remains required.",
          "evidence": "reports/creative/transparency-v2/you-dont-say.jpg"
        },
        "manual_mask_review": "Background defects removed with source-coordinate masks; subject fill and linework preserved on white and contrast previews."
      }
    },
    {
      "id": "you-win-this-time",
      "name": "You Win This Time!",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/you-win-this-time"
      ],
      "roles": [
        "A loser concedes one round while retaining resentment; useful before the final quiet Poker Face."
      ],
      "meaning": "Reluctant or angry admission of defeat; particularly documented in Spanish-language comics.",
      "classification": "face_character",
      "research_records": [
        "supplemental:You Win This Time!",
        "directory:You Win This Time!"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM and archive representative lack a separately usable complete head silhouette and contain intertwined figure context. No head-only crop accepted.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "you-what-have-you-done",
      "name": "You...What Have You Done?",
      "aliases": [],
      "sources": [
        "https://knowyourmeme.com/memes/youwhat-have-you-done"
      ],
      "roles": [
        "The wronged witness registers a revealed mistake; blame lands before Poker Face freezes the scene."
      ],
      "meaning": "Contempt or disappointment at someone else's actions.",
      "classification": "face_character",
      "research_records": [
        "supplemental:You...What Have You Done?",
        "directory:You...What Have You Done?"
      ],
      "selectable": false,
      "eligible": true,
      "reason": "Local KYM and archive use a half-shadowed head merging into a dark scene with body and caption. Crop would retain background context or require inventing the obscured silhouette.",
      "asset": {
        "status": "unavailable",
        "path": null,
        "sha256": null
      },
      "license": "Unresolved: public availability is not a commercial-use license.",
      "recovery_status": "blocked",
      "categories": [
        "classic"
      ],
      "tags": [
        "classic"
      ],
      "context_opportunity": "Inspect a complete native reaction frame rather than removing intrinsic hands/props; keep HOLD for missing source contours, captions, identity mismatch or rights."
    },
    {
      "id": "captcha-original-p1-desktop-native",
      "name": "CAPTCHA original P1 — computer user at desktop (native scene)",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native scene from panel 1 of the identified original word-CAPTCHA comic.",
      "classification": "native-scene",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p1-desktop-native.png",
        "sha256": "63c03a5ab43461d3cabab54451d50be949a6169ec858e6128a7fea7b342e0d16",
        "pixel_sha256": "e5350562f314e788493f628e8298c7fe3f9a3073ec21b1fbc29f4389f2f49b65",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          182,
          103
        ],
        "prepared_file": "assets/captcha-original-p1-desktop-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-scene",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          182,
          103
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          0,
          36
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original head",
          "seated torso and arm",
          "monitor",
          "keyboard/desk",
          "gray background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          182,
          103
        ],
        "prepared_size": [
          182,
          103
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Original desktop and actor inseparable without inventing anatomy. Native left/bottom scene edges; no separate head or padded desk duplicate.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p2-poker-native",
      "name": "CAPTCHA original P2 — Poker Face (native reaction frame)",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native reaction frame from the identified original word-CAPTCHA comic.",
      "classification": "native-reaction-frame",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p2-poker-native.png",
        "sha256": "3088f03d949cfeaede1ca7cbdd550df141e9349ed880f51c76580ecc5bd6e143",
        "pixel_sha256": "cddb3bc9792e4384ce22b57991cdfdf06496b7f4c2b7e35904043294bd61b40e",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          103,
          102
        ],
        "prepared_file": "assets/captcha-original-p2-poker-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-reaction-frame",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          103,
          102
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          28,
          141
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original source-rendered face",
          "short native neck",
          "white background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          103,
          102
        ],
        "prepared_size": [
          103,
          102
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Not a duplicate of canonical master bytes: compressed source rendering and native neck retained; use this for exact original appearance, not a replacement canonical head.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p2-widget",
      "name": "CAPTCHA original P2 — distorted-word widget",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque interface artwork from the identified original word-CAPTCHA comic.",
      "classification": "interface-widget",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p2-widget.png",
        "sha256": "1c235425eda4ccc2251c95d866d2dbe444a3c960950e51effaed81ffbfcab758",
        "pixel_sha256": "633cb129cf0321c0fed588b903523a4e218d1c5006455fb2208b5a6b8fd64b02",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          220,
          89
        ],
        "prepared_file": "assets/captcha-original-p2-widget.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "interface-widget",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          220,
          89
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          231,
          147
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original challenge shapes",
          "old reCAPTCHA red/yellow chrome",
          "original raster English instructions/branding"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          220,
          89
        ],
        "prepared_size": [
          220,
          89
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Preserve complete widget including original fonts/text. Low resolution; no OCR reconstruction, sharpening or fabricated challenge transcription.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p3-scornful-native",
      "name": "CAPTCHA original P3 — scornful reaction (identity unresolved)",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native reaction frame from the identified original word-CAPTCHA comic.",
      "classification": "native-reaction-frame",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p3-scornful-native.png",
        "sha256": "7b26b1786924688797bd1ca2c4aa6725ffef3894a6af8a4d72cb56b01f79728e",
        "pixel_sha256": "ebbd11f690342c0f856b099ce48bd97c45e3ad1b2ac0c4f5ac58ecc1149f2911",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          114,
          101
        ],
        "prepared_file": "assets/captcha-original-p3-scornful-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-reaction-frame",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          114,
          101
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          24,
          247
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original head",
          "white background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          114,
          101
        ],
        "prepared_size": [
          114,
          101
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Exact meme identity unresolved; descriptive source-panel label only. No inferred neck or added body.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p3-widget",
      "name": "CAPTCHA original P3 — distorted-word widget",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque interface artwork from the identified original word-CAPTCHA comic.",
      "classification": "interface-widget",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p3-widget.png",
        "sha256": "baa64377fcfe773ff611cbc3f9b2a0ec20ae33dc186f51cecf1e2f776a772d57",
        "pixel_sha256": "de2a10c78b9d58d4ad11053c6a99003ef8d6579382e21cd93e3952f83891458b",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          220,
          90
        ],
        "prepared_file": "assets/captcha-original-p3-widget.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "interface-widget",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          220,
          90
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          231,
          252
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original challenge shapes",
          "old reCAPTCHA red/yellow chrome",
          "original raster English instructions/branding"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          220,
          90
        ],
        "prepared_size": [
          220,
          90
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Preserve complete widget including original fonts/text. Low resolution; no OCR reconstruction, sharpening or fabricated challenge transcription.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p4-widget",
      "name": "CAPTCHA original P4 — distorted-word widget",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque interface artwork from the identified original word-CAPTCHA comic.",
      "classification": "interface-widget",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p4-widget.png",
        "sha256": "36257d1099c13ed70adfc50de3cf27db30d86b671f7efb9dd5c050a8dc80b051",
        "pixel_sha256": "3bbee19f411be34139ab54aa030ed7fa05e1c3fdc956c9546b8f21b5570153da",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          219,
          91
        ],
        "prepared_file": "assets/captcha-original-p4-widget.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "interface-widget",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          219,
          91
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          231,
          358
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original challenge shapes",
          "old reCAPTCHA red/yellow chrome",
          "original raster English instructions/branding"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          219,
          91
        ],
        "prepared_size": [
          219,
          91
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Preserve complete widget including original fonts/text. Low resolution; no OCR reconstruction, sharpening or fabricated challenge transcription.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p4-y-u-no-native",
      "name": "CAPTCHA original P4 — Y U NO with native gesture",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native reaction frame from the identified original word-CAPTCHA comic.",
      "classification": "native-reaction-frame",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p4-y-u-no-native.png",
        "sha256": "f43bc02e0d90d820786931d0d30ea8c446fb705986496a391b2286d48276f57a",
        "pixel_sha256": "f7ba29df9cc1a8ab8045d6a20ebb9433d1fd26f2f7f62bac11907660b4f690d1",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          112,
          104
        ],
        "prepared_file": "assets/captcha-original-p4-y-u-no-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-reaction-frame",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          112,
          104
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          10,
          351
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original head",
          "native gesturing arm/hand",
          "native torso",
          "white background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          112,
          104
        ],
        "prepared_size": [
          112,
          104
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Native torso reaches lower frame boundary. Source caption excluded geometrically; do not append limbs or redraw hidden contours.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p5-mother-of-god-native",
      "name": "CAPTCHA original P5 — Mother of God with sunglasses/hand",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native reaction frame from the identified original word-CAPTCHA comic.",
      "classification": "native-reaction-frame",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p5-mother-of-god-native.png",
        "sha256": "ab85f44be708999c381f4f6ec6c3db46af2c245d8716decea47b4ffa2fe1fd3b",
        "pixel_sha256": "78f1b1cd11b8d254262642fd3d5eceef47958aed40d58eb60f4edfaaf0ae0c69",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          102,
          100
        ],
        "prepared_file": "assets/captcha-original-p5-mother-of-god-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-reaction-frame",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          102,
          100
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          20,
          460
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original head",
          "sunglasses",
          "hand",
          "garment context",
          "white background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          102,
          100
        ],
        "prepared_size": [
          102,
          100
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Native hand/garment reaches lower scene edge; not a complete isolated head. No invented jaw or body.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p5-widget",
      "name": "CAPTCHA original P5 — problem? widget",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque interface artwork from the identified original word-CAPTCHA comic.",
      "classification": "interface-widget",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p5-widget.png",
        "sha256": "e33b4707e7a1ba2ec8a4a208729c26863ab4ae627819a23821c4bf7224529073",
        "pixel_sha256": "f2f335d51a49499d260470f0d072c925240dcec8c10ed654f6eef13408969fce",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          220,
          89
        ],
        "prepared_file": "assets/captcha-original-p5-widget.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "interface-widget",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          220,
          89
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          230,
          463
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original challenge shapes",
          "old reCAPTCHA red/yellow chrome",
          "original raster English instructions/branding"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          220,
          89
        ],
        "prepared_size": [
          220,
          89
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Preserve complete widget including original fonts/text. Low resolution; no OCR reconstruction, sharpening or fabricated challenge transcription.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-p6-dark-reaction-native",
      "name": "CAPTCHA original P6 — dark crosshatched reaction (identity unresolved)",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque native reaction frame from the identified original word-CAPTCHA comic.",
      "classification": "native-reaction-frame",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-p6-dark-reaction-native.png",
        "sha256": "f8b4fe05e58e376926fafa6c4c5c6a13c21fa1f601bb3d0ba1ede4f5c550f70a",
        "pixel_sha256": "f62b840204b381d106b042318db5a3a3066da2ce120d575d818dc08250c67ddc",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          185,
          138
        ],
        "prepared_file": "assets/captcha-original-p6-dark-reaction-native.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "native-reaction-frame",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          185,
          138
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          269,
          563
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "original dark portrait",
          "crosshatching",
          "black background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          185,
          138
        ],
        "prepared_size": [
          185,
          138
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "Identity unresolved; native right and bottom image edges retained. Deliberately dark original ending, not Poker Face. Red source caption excluded by crop.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    },
    {
      "id": "captcha-original-refresh",
      "name": "CAPTCHA original — refresh marker",
      "aliases": [],
      "sources": [
        "https://archive.org/details/humouuur-legacy",
        "https://archive.org/download/humouuur-legacy/20130706065051d8049b3c6cd.jpg"
      ],
      "roles": [
        "Reusable exact source-native artwork for reconstructing the identified original CAPTCHA comic."
      ],
      "meaning": "Exact low-resolution opaque interface artwork from the identified original word-CAPTCHA comic.",
      "classification": "interface-control",
      "research_records": [
        "captcha-original-v1 manifest asset; independently reviewed PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      ],
      "selectable": true,
      "eligible": true,
      "reason": "Exact reviewed source crop; opaque native frame retained without redraw, masking, padding, scaling, enhancement or typography edits.",
      "asset": {
        "status": "verified-user-attested-native-frame",
        "path": "/assets/rage-cast/captcha-original-v1/captcha-original-refresh.png",
        "sha256": "2383c0c6ed681bc4f658cc0eacefa3b7c7c3aec9e34acc9b587394785b32e482",
        "pixel_sha256": "ed67f4f113e44a2a9c64749721473489351e6553047d9fae24c76cbd6903df8e",
        "source_sha256": "ddafc634bb60d2be349f184e264f640a7c54dd3a0c2dae95151bdf87e4f4cd4d",
        "size": [
          60,
          17
        ],
        "prepared_file": "assets/captcha-original-refresh.png",
        "preparation": "Exact native rectangular crop. No redraw, masking, padding, scale, enhancement or typography edits.",
        "version": "captcha-original-v1"
      },
      "license": "user_attested_permission_not_independently_verified",
      "rights_note": "User attests permission for this identified original CAPTCHA comic; permission not independently verified. This is not an open license or public-domain claim and does not extend to other archive works.",
      "rights_evidence": {
        "verbatim_response": "I have permission to add the original artwork to the public library",
        "evidence_sha256": "9002c30a8746475ba2589992b301642ee4eb4d947d57b417531c019e3635519b",
        "scope": "User attests permission for adding artwork from the identified original CAPTCHA comic to the public library for the requested remake.",
        "review_verdict": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      },
      "categories": [
        "captcha-original",
        "source-native"
      ],
      "tags": [
        "captcha",
        "captcha-original",
        "source-native",
        "low-resolution",
        "opaque-native"
      ],
      "render": {
        "kind": "interface-control",
        "background": "opaque-native",
        "bounds": [
          0,
          0,
          60,
          17
        ],
        "anchor": [
          0,
          0
        ],
        "anchor_type": "native-frame-top-left",
        "coordinate_space": "native-pixels",
        "source_anchor": [
          165,
          225
        ],
        "body_policy": "native-only",
        "append_limbs": false,
        "intrinsic_context": [
          "red refresh icon",
          "native refresh label",
          "white background"
        ],
        "transforms": [
          "uniform-scale",
          "translate"
        ]
      },
      "quality": {
        "source_size": [
          60,
          17
        ],
        "prepared_size": [
          60,
          17
        ],
        "source_type": "raster",
        "upscaled_during_preparation": false,
        "source_hash_verified": true,
        "alpha_extrema": [
          255,
          255
        ],
        "rights": "user_attested_permission_not_independently_verified",
        "limitations": "One reusable P2 refresh marker for P2–P4; P3/P4 source instances intentionally not imported as near-duplicates. Tiny raster label is not editable text.",
        "native_frame_review": "PASS_WITH_RECORDED_NATIVE_FRAME_LIMITATIONS"
      }
    }
  ]
}
