[
  {
    "source_sha256": "d5d879871ffa635608600312b0d4e163076665393ba29eb5b90a031ba4c165c6",
    "source_locator_sha256": "1f3cb991953de1bd263ce39d035003572178d696861f806574473c3cb3628959",
    "measurement_sha256": "438b67aa4e07e25bd611dfc44559c790459939a2f21bbb667931d1eed12cada0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "12-strong-2018",
    "title": "12 Strong",
    "year": 2018,
    "primary_genre": "Drama",
    "writers": [
      "Peter Craig",
      "Ted Tally"
    ],
    "pages": 122,
    "scenes": 176,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 5,
    "median_scene_lines": 31.5,
    "interior_share_pct": 29,
    "day_share_pct": 65.2,
    "unique_locations": 96,
    "location_changes": 148,
    "speaking_characters": 49,
    "single_line_characters": 10,
    "dialogue_blocks": 966,
    "dialogue_words": 9806,
    "dialogue_action_ratio": 0.86,
    "monologues": 16,
    "top_character_pct": 43.4,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 42,
    "words": 32201,
    "runtime_minutes": 139,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/12-strong-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d5d879871ffa635608600312b0d4e163076665393ba29eb5b90a031ba4c165c6",
      "measurement_sha256": "438b67aa4e07e25bd611dfc44559c790459939a2f21bbb667931d1eed12cada0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/12-strong-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:45.127Z.",
        "https://www.scriptslug.com/script/12-strong-2018",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"12-strong-2018\",\"12 Strong\",2018,\"Feature\",\"Drama\",[\"Peter Craig\",\"Ted Tally\"],\"https://www.scriptslug.com/script/12-strong-2018\",\"1f3cb991953de1bd263ce39d035003572178d696861f806574473c3cb3628959\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6216994f7d91a92db7cff4d65845cae3e11b4eadc6d1c7b94fc6cf6b46c153ce",
    "source_locator_sha256": "02eabb20d9331b18b13eb77bc017a7f463d9d01184974a4b74108b68fd94553c",
    "measurement_sha256": "4f328dfe9c6c30c012af726318e9698c9b930b35d6b98e1d89df3459b9475ea8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "127-hours-2010",
    "title": "127 Hours",
    "year": 2010,
    "primary_genre": "Drama",
    "writers": [
      "Simon Beaufoy",
      "Danny Boyle"
    ],
    "pages": 87,
    "scenes": 248,
    "mean_scene_eighths": 2.6,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 68.3,
    "day_share_pct": null,
    "unique_locations": 117,
    "location_changes": 194,
    "speaking_characters": 36,
    "single_line_characters": 14,
    "dialogue_blocks": 394,
    "dialogue_words": 3599,
    "dialogue_action_ratio": 0.43,
    "monologues": 15,
    "top_character_pct": 57.5,
    "dialogue_line_share_pct": 24,
    "action_line_share_pct": 56,
    "words": 20033,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/127-hours-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6216994f7d91a92db7cff4d65845cae3e11b4eadc6d1c7b94fc6cf6b46c153ce",
      "measurement_sha256": "4f328dfe9c6c30c012af726318e9698c9b930b35d6b98e1d89df3459b9475ea8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/127-hours-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.017Z.",
        "https://www.scriptslug.com/script/127-hours-2010",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"127-hours-2010\",\"127 Hours\",2010,\"Feature\",\"Drama\",[\"Simon Beaufoy\",\"Danny Boyle\"],\"https://www.scriptslug.com/script/127-hours-2010\",\"02eabb20d9331b18b13eb77bc017a7f463d9d01184974a4b74108b68fd94553c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "4274f0fabebafef417d51e9235af6fb302b4d4cc4b8423e3efa413e38be2907f",
    "source_locator_sha256": "1d3d3629db7bf5dea1a5adaae7e7dbc35df90cc97b05cd35580391343f399636",
    "measurement_sha256": "71ae255bcc081d26a7395640f436f3787153903aebd43ffff59682e7c759ec58",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "1408-2007",
    "title": "1408",
    "year": 2007,
    "primary_genre": "Horror",
    "writers": [
      "Larry Karaszewski",
      "Matt Greenberg",
      "Scott Alexander"
    ],
    "pages": 113,
    "scenes": 55,
    "mean_scene_eighths": 17.8,
    "median_scene_eighths": 8,
    "median_scene_lines": 58,
    "interior_share_pct": 78.2,
    "day_share_pct": 76,
    "unique_locations": 39,
    "location_changes": 53,
    "speaking_characters": 74,
    "single_line_characters": 41,
    "dialogue_blocks": 888,
    "dialogue_words": 5829,
    "dialogue_action_ratio": 0.55,
    "monologues": 1,
    "top_character_pct": 35,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 53,
    "words": 21385,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/1408-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4274f0fabebafef417d51e9235af6fb302b4d4cc4b8423e3efa413e38be2907f",
      "measurement_sha256": "71ae255bcc081d26a7395640f436f3787153903aebd43ffff59682e7c759ec58",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/1408-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:54.789Z.",
        "https://www.scriptslug.com/script/1408-2007",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"1408-2007\",\"1408\",2007,\"Feature\",\"Horror\",[\"Larry Karaszewski\",\"Matt Greenberg\",\"Scott Alexander\"],\"https://www.scriptslug.com/script/1408-2007\",\"1d3d3629db7bf5dea1a5adaae7e7dbc35df90cc97b05cd35580391343f399636\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "f027c65e9a3d8128d918ba9d554e354f17ac16dd49e5dff9161b7ea0cd17c8a7",
    "source_locator_sha256": "70cb4120271e28bcc654bc838c0bc1cf799f033bbb807eead4ca58e8883ff8ee",
    "measurement_sha256": "05fcc905f43128c8d61e646dbe7c01aabfbc5508d8800ae3e9e4da11bf9ee956",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "2-fast-2-furious-2003",
    "title": "2 Fast 2 Furious",
    "year": 2003,
    "primary_genre": "Action",
    "writers": [
      "Michael Brandt",
      "Derek Haas"
    ],
    "pages": 103,
    "scenes": 205,
    "mean_scene_eighths": 4.3,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 20.5,
    "day_share_pct": 69.9,
    "unique_locations": 66,
    "location_changes": 132,
    "speaking_characters": 32,
    "single_line_characters": 10,
    "dialogue_blocks": 774,
    "dialogue_words": 5156,
    "dialogue_action_ratio": 0.52,
    "monologues": 2,
    "top_character_pct": 14.7,
    "dialogue_line_share_pct": 27,
    "action_line_share_pct": 52,
    "words": 21519,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/2-fast-2-furious-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f027c65e9a3d8128d918ba9d554e354f17ac16dd49e5dff9161b7ea0cd17c8a7",
      "measurement_sha256": "05fcc905f43128c8d61e646dbe7c01aabfbc5508d8800ae3e9e4da11bf9ee956",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/2-fast-2-furious-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.579Z.",
        "https://www.scriptslug.com/script/2-fast-2-furious-2003",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"2-fast-2-furious-2003\",\"2 Fast 2 Furious\",2003,\"Feature\",\"Action\",[\"Michael Brandt\",\"Derek Haas\"],\"https://www.scriptslug.com/script/2-fast-2-furious-2003\",\"70cb4120271e28bcc654bc838c0bc1cf799f033bbb807eead4ca58e8883ff8ee\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "628ecd08c69904365da9a4e8ba2175ca08d5778f7d97c372b5297f7a2e05d495",
    "source_locator_sha256": "6d6d7af6f4ca3bb0acf057a10517bbc57d2f70573c0ba197a7bec7b45488afed",
    "measurement_sha256": "69a57f17a0583e7fa707fb0c183f93bfaf91febd05fafe9baedf9d5353e44ae3",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "21-jump-street-2012",
    "title": "21 Jump Street",
    "year": 2012,
    "primary_genre": "Comedy",
    "writers": [
      "Michael Bacall",
      "Phil Lord",
      "Christopher Miller",
      "Jonah Hill",
      "Seth Rogen",
      "Evan Goldberg"
    ],
    "pages": 135,
    "scenes": 57,
    "mean_scene_eighths": 14.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 67.5,
    "day_share_pct": 68,
    "unique_locations": 24,
    "location_changes": 37,
    "speaking_characters": 42,
    "single_line_characters": 11,
    "dialogue_blocks": 740,
    "dialogue_words": 8276,
    "dialogue_action_ratio": 0.89,
    "monologues": 22,
    "top_character_pct": 31.4,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 42,
    "words": 23321,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/21-jump-street-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "628ecd08c69904365da9a4e8ba2175ca08d5778f7d97c372b5297f7a2e05d495",
      "measurement_sha256": "69a57f17a0583e7fa707fb0c183f93bfaf91febd05fafe9baedf9d5353e44ae3",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/21-jump-street-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.367Z.",
        "https://www.scriptslug.com/script/21-jump-street-2012",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"21-jump-street-2012\",\"21 Jump Street\",2012,\"Feature\",\"Comedy\",[\"Michael Bacall\",\"Phil Lord\",\"Christopher Miller\",\"Jonah Hill\",\"Seth Rogen\",\"Evan Goldberg\"],\"https://www.scriptslug.com/script/21-jump-street-2012\",\"6d6d7af6f4ca3bb0acf057a10517bbc57d2f70573c0ba197a7bec7b45488afed\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "89b1060e12068b5bf497e08e73d7d6e214c7bf37411fe6eb4b25b67e62b1c721",
    "source_locator_sha256": "21cb725d469b9fb215d37ac0b02367ddb1ba8a39fe78e3b569059572ef3de8e6",
    "measurement_sha256": "c1aacbc86644e72578ba3d1317f3e887692e5a41fbfd36b0b1a489923a97e8a3",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "28-weeks-later-2007",
    "title": "28 Weeks Later",
    "year": 2007,
    "primary_genre": "Horror",
    "writers": [
      "Rowan Joffé",
      "Juan Carlos Fresnadillo",
      "Enrique López Lavigne",
      "Jesús Olmo"
    ],
    "pages": 96,
    "scenes": 171,
    "mean_scene_eighths": 4,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 53.2,
    "day_share_pct": 51.3,
    "unique_locations": 98,
    "location_changes": 158,
    "speaking_characters": 34,
    "single_line_characters": 11,
    "dialogue_blocks": 446,
    "dialogue_words": 3488,
    "dialogue_action_ratio": 0.47,
    "monologues": 4,
    "top_character_pct": 18.7,
    "dialogue_line_share_pct": 24,
    "action_line_share_pct": 52,
    "words": 16824,
    "runtime_minutes": 99,
    "parenthetical_rate": 0.3,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/28-weeks-later-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "89b1060e12068b5bf497e08e73d7d6e214c7bf37411fe6eb4b25b67e62b1c721",
      "measurement_sha256": "c1aacbc86644e72578ba3d1317f3e887692e5a41fbfd36b0b1a489923a97e8a3",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.20thcenturystudios.com/movies/28-weeks-later",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.741Z.",
        "https://www.scriptslug.com/script/28-weeks-later-2007",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"28-weeks-later-2007\",\"28 Weeks Later\",2007,\"Feature\",\"Horror\",[\"Rowan Joffé\",\"Juan Carlos Fresnadillo\",\"Enrique López Lavigne\",\"Jesús Olmo\"],\"https://www.scriptslug.com/script/28-weeks-later-2007\",\"21cb725d469b9fb215d37ac0b02367ddb1ba8a39fe78e3b569059572ef3de8e6\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1023c87a1ae5851f381235d905e8e67a52954fba524bb249b66445576b92a04c",
    "source_locator_sha256": "b7538b6d7efc0b5ba4d7ab4b738d59f711fd3b915226116852d30bb8aebe173e",
    "measurement_sha256": "19e2d7569a11eb6627e7a48c732db03d7087f8cff71e474dfe0f34d466b09656",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "500-days-of-summer-2009",
    "title": "(500) Days of Summer",
    "year": 2009,
    "primary_genre": "Romance",
    "writers": [
      "Michael H. Weber",
      "Scott Neustadter"
    ],
    "pages": 120,
    "scenes": 142,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 19.5,
    "interior_share_pct": 69.7,
    "day_share_pct": 72.9,
    "unique_locations": 87,
    "location_changes": 134,
    "speaking_characters": 25,
    "single_line_characters": 8,
    "dialogue_blocks": 1049,
    "dialogue_words": 8041,
    "dialogue_action_ratio": 1.78,
    "monologues": 20,
    "top_character_pct": 47.9,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 24,
    "words": 17763,
    "runtime_minutes": 99,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/500-days-of-summer-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1023c87a1ae5851f381235d905e8e67a52954fba524bb249b66445576b92a04c",
      "measurement_sha256": "19e2d7569a11eb6627e7a48c732db03d7087f8cff71e474dfe0f34d466b09656",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/500-days-of-summer-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.474Z.",
        "https://www.scriptslug.com/script/500-days-of-summer-2009",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"500-days-of-summer-2009\",\"(500) Days of Summer\",2009,\"Feature\",\"Romance\",[\"Michael H. Weber\",\"Scott Neustadter\"],\"https://www.scriptslug.com/script/500-days-of-summer-2009\",\"b7538b6d7efc0b5ba4d7ab4b738d59f711fd3b915226116852d30bb8aebe173e\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "04d48e28a53ef42d4560eff6ea38e1951a18dd75248ee474613ed835c529e85a",
    "source_locator_sha256": "0af87e0393539f5687b07a77cc21ec69454f06100e318596a763477b35017412",
    "measurement_sha256": "cf11b9fd404ff007ab1ed03e80ed29954322622ad9f64c4c3dcfa94938bf71a1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-beautiful-mind-2001",
    "title": "A Beautiful Mind",
    "year": 2001,
    "primary_genre": "Drama",
    "writers": [
      "Akiva Goldsman"
    ],
    "pages": 126,
    "scenes": 182,
    "mean_scene_eighths": 5.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 19.5,
    "interior_share_pct": 54.9,
    "day_share_pct": null,
    "unique_locations": 168,
    "location_changes": 178,
    "speaking_characters": 52,
    "single_line_characters": 28,
    "dialogue_blocks": 1052,
    "dialogue_words": 8822,
    "dialogue_action_ratio": 1.05,
    "monologues": 14,
    "top_character_pct": 34.3,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 36,
    "words": 23302,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-beautiful-mind-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "04d48e28a53ef42d4560eff6ea38e1951a18dd75248ee474613ed835c529e85a",
      "measurement_sha256": "cf11b9fd404ff007ab1ed03e80ed29954322622ad9f64c4c3dcfa94938bf71a1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-beautiful-mind-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.362Z.",
        "https://www.scriptslug.com/script/a-beautiful-mind-2001",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-beautiful-mind-2001\",\"A Beautiful Mind\",2001,\"Feature\",\"Drama\",[\"Akiva Goldsman\"],\"https://www.scriptslug.com/script/a-beautiful-mind-2001\",\"0af87e0393539f5687b07a77cc21ec69454f06100e318596a763477b35017412\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3dacf932da3958aed994c44657d25e6f7c0b9c372940fdd3425380d5648a66ff",
    "source_locator_sha256": "75fb84779e97008519cd733c84b560a787932f52becb8d17112894d0495651ce",
    "measurement_sha256": "75f6c458f44b59343d4aa5ece59d74d93998bd5ab8f91631314282047d1ab352",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-complete-unknown-2024",
    "title": "A Complete Unknown",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Jay Cocks",
      "James Mangold"
    ],
    "pages": 125,
    "scenes": 124,
    "mean_scene_eighths": 8.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 33.5,
    "interior_share_pct": 56,
    "day_share_pct": null,
    "unique_locations": 118,
    "location_changes": 122,
    "speaking_characters": 114,
    "single_line_characters": 64,
    "dialogue_blocks": 1039,
    "dialogue_words": 11594,
    "dialogue_action_ratio": 1.48,
    "monologues": 23,
    "top_character_pct": 20.2,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 30,
    "words": 27293,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-complete-unknown-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3dacf932da3958aed994c44657d25e6f7c0b9c372940fdd3425380d5648a66ff",
      "measurement_sha256": "75f6c458f44b59343d4aa5ece59d74d93998bd5ab8f91631314282047d1ab352",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-complete-unknown-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.281Z.",
        "https://www.scriptslug.com/script/a-complete-unknown-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-complete-unknown-2024\",\"A Complete Unknown\",2024,\"Feature\",\"Drama\",[\"Jay Cocks\",\"James Mangold\"],\"https://www.scriptslug.com/script/a-complete-unknown-2024\",\"75fb84779e97008519cd733c84b560a787932f52becb8d17112894d0495651ce\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "487b49502244ea705beee0b1b45a326044291eef272a3575e80c1fe11eb4ebae",
    "source_locator_sha256": "6f7e9b3cb8379320f464915d1378c2b6e65ef9b4bccdf1939d7529e93d6083d2",
    "measurement_sha256": "240a4667e615e6405aa52cbcfa85d23ca36ad524777a050030afa388dbe1072e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-good-person-2023",
    "title": "A Good Person",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Zach Braff"
    ],
    "pages": 104,
    "scenes": 92,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 25.5,
    "interior_share_pct": 80.4,
    "day_share_pct": 66,
    "unique_locations": 34,
    "location_changes": 61,
    "speaking_characters": 41,
    "single_line_characters": 11,
    "dialogue_blocks": 1019,
    "dialogue_words": 10832,
    "dialogue_action_ratio": 2.73,
    "monologues": 26,
    "top_character_pct": 28.5,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 19,
    "words": 18275,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-good-person-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "487b49502244ea705beee0b1b45a326044291eef272a3575e80c1fe11eb4ebae",
      "measurement_sha256": "240a4667e615e6405aa52cbcfa85d23ca36ad524777a050030afa388dbe1072e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-good-person-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.709Z.",
        "https://www.scriptslug.com/script/a-good-person-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-good-person-2023\",\"A Good Person\",2023,\"Feature\",\"Drama\",[\"Zach Braff\"],\"https://www.scriptslug.com/script/a-good-person-2023\",\"6f7e9b3cb8379320f464915d1378c2b6e65ef9b4bccdf1939d7529e93d6083d2\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8e1f290236d10db160c80d3c8a2fec0a63679098b1d4839ca5ab592c414434a4",
    "source_locator_sha256": "7110047bdbe9b308b75d05281e5590ddd623b847dd0c06a861fc3b804fd2509d",
    "measurement_sha256": "32a333839fb94f66891366b9a3df104a8c853f8a7174b1c5de3405409f8cb3a8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "a-haunting-in-venice-2023",
    "title": "A Haunting in Venice",
    "year": 2023,
    "primary_genre": "Thriller",
    "writers": [
      "Michael Green"
    ],
    "pages": 99,
    "scenes": 133,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 67.7,
    "day_share_pct": null,
    "unique_locations": 82,
    "location_changes": 130,
    "speaking_characters": 20,
    "single_line_characters": 7,
    "dialogue_blocks": 737,
    "dialogue_words": 9374,
    "dialogue_action_ratio": 1.56,
    "monologues": 32,
    "top_character_pct": 34.2,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 30,
    "words": 20406,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-haunting-in-venice-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8e1f290236d10db160c80d3c8a2fec0a63679098b1d4839ca5ab592c414434a4",
      "measurement_sha256": "32a333839fb94f66891366b9a3df104a8c853f8a7174b1c5de3405409f8cb3a8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-haunting-in-venice-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:33.302Z.",
        "https://www.scriptslug.com/script/a-haunting-in-venice-2023",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-haunting-in-venice-2023\",\"A Haunting in Venice\",2023,\"Feature\",\"Thriller\",[\"Michael Green\"],\"https://www.scriptslug.com/script/a-haunting-in-venice-2023\",\"7110047bdbe9b308b75d05281e5590ddd623b847dd0c06a861fc3b804fd2509d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6456c0666e47dd64325a7352dc7bd4a53a359a9af0a56ef5217b280bde6c8eb4",
    "source_locator_sha256": "5edc48d5bdb10ceeef2031a7672cd46d4383a01d548e58c9196ff7352a96ac53",
    "measurement_sha256": "5d88f21840c3fecd1484a0ba6e2d8fe35c17d793fee5fb5f747e4dacf1c90e48",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-hidden-life-2019",
    "title": "A Hidden Life",
    "year": 2019,
    "primary_genre": "Drama",
    "writers": [
      "Terrence Malick"
    ],
    "pages": 114,
    "scenes": 176,
    "mean_scene_eighths": 4.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 35.5,
    "day_share_pct": 0,
    "unique_locations": 98,
    "location_changes": 166,
    "speaking_characters": 47,
    "single_line_characters": 10,
    "dialogue_blocks": 544,
    "dialogue_words": 11660,
    "dialogue_action_ratio": 1.55,
    "monologues": 94,
    "top_character_pct": 29.9,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 32,
    "words": 24316,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-hidden-life-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6456c0666e47dd64325a7352dc7bd4a53a359a9af0a56ef5217b280bde6c8eb4",
      "measurement_sha256": "5d88f21840c3fecd1484a0ba6e2d8fe35c17d793fee5fb5f747e4dacf1c90e48",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-hidden-life-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.541Z.",
        "https://www.scriptslug.com/script/a-hidden-life-2019",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-hidden-life-2019\",\"A Hidden Life\",2019,\"Feature\",\"Drama\",[\"Terrence Malick\"],\"https://www.scriptslug.com/script/a-hidden-life-2019\",\"5edc48d5bdb10ceeef2031a7672cd46d4383a01d548e58c9196ff7352a96ac53\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e430b0d13ea04df939fd21306c27cc1f4bcad08133fc4afe3a8ece3f412a41fc",
    "source_locator_sha256": "9ab00c9c8c89b8a0897c889bf351baa01fdffe559f4706689a068e5e32c780bd",
    "measurement_sha256": "cea5ab38dc82e1a2b4603b020f9769f367388007b2af3e2b9973cceabd753142",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-knights-tale-2001",
    "title": "A Knight's Tale",
    "year": 2001,
    "primary_genre": "Action",
    "writers": [
      "Brian Helgeland"
    ],
    "pages": 127,
    "scenes": 106,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 30.5,
    "interior_share_pct": 26.4,
    "day_share_pct": 80.4,
    "unique_locations": 60,
    "location_changes": 88,
    "speaking_characters": 100,
    "single_line_characters": 52,
    "dialogue_blocks": 982,
    "dialogue_words": 9658,
    "dialogue_action_ratio": 1.2,
    "monologues": 10,
    "top_character_pct": 25.1,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 33,
    "words": 26185,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "cea5ab38dc82e1a2b4603b020f9769f367388007b2af3e2b9973cceabd753142",
      "source_sha256": "e430b0d13ea04df939fd21306c27cc1f4bcad08133fc4afe3a8ece3f412a41fc",
      "pdf_pages": [
        72
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "Action describing a trophy is classified as a speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-knights-tale-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e430b0d13ea04df939fd21306c27cc1f4bcad08133fc4afe3a8ece3f412a41fc",
      "measurement_sha256": "cea5ab38dc82e1a2b4603b020f9769f367388007b2af3e2b9973cceabd753142",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-knights-tale-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.375Z.",
        "https://www.scriptslug.com/script/a-knights-tale-2001",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-knights-tale-2001\",\"A Knight's Tale\",2001,\"Feature\",\"Action\",[\"Brian Helgeland\"],\"https://www.scriptslug.com/script/a-knights-tale-2001\",\"9ab00c9c8c89b8a0897c889bf351baa01fdffe559f4706689a068e5e32c780bd\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "1dc70c1404af821f5b4a48ba818d4820afb371a92e5c503b0322b4bb96a62c4a",
    "source_locator_sha256": "ffb02bbcc4aacd4a37d71a0316bceb81a1848f923b0a1ee35de2b3468145aff4",
    "measurement_sha256": "bb936737af8892700f97e2542b0843ac7683bc8bf4c1d4d4040f609ee0903854",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "a-man-called-otto-2022",
    "title": "A Man Called Otto",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "David Magee"
    ],
    "pages": 115,
    "scenes": 142,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 22.5,
    "interior_share_pct": 58.1,
    "day_share_pct": 88.3,
    "unique_locations": 92,
    "location_changes": 132,
    "speaking_characters": 49,
    "single_line_characters": 16,
    "dialogue_blocks": 930,
    "dialogue_words": 8678,
    "dialogue_action_ratio": 1.05,
    "monologues": 14,
    "top_character_pct": 41.3,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 35,
    "words": 24283,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-man-called-otto-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1dc70c1404af821f5b4a48ba818d4820afb371a92e5c503b0322b4bb96a62c4a",
      "measurement_sha256": "bb936737af8892700f97e2542b0843ac7683bc8bf4c1d4d4040f609ee0903854",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-man-called-otto-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.339Z.",
        "https://www.scriptslug.com/script/a-man-called-otto-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-man-called-otto-2022\",\"A Man Called Otto\",2022,\"Feature\",\"Drama\",[\"David Magee\"],\"https://www.scriptslug.com/script/a-man-called-otto-2022\",\"ffb02bbcc4aacd4a37d71a0316bceb81a1848f923b0a1ee35de2b3468145aff4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6f83fcfb4f55fff108a991090f776fdb1ff6ac260f21f36f09e409df03e34443",
    "source_locator_sha256": "b1a8ced2c31bcbca5693bdf4df5f4fb2f9fcf22608730963e78a70a1e97ce97d",
    "measurement_sha256": "c85a37465293392002905d61ca8dacedb1cb5dcb3c8f9c5d98680479c01cf3d5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "a-million-miles-away-2023",
    "title": "A Million Miles Away",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Hernán Jiménez",
      "Bettina Gilois",
      "Alejandra Márquez Abella"
    ],
    "pages": 115,
    "scenes": 175,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 68,
    "day_share_pct": 71.4,
    "unique_locations": 54,
    "location_changes": 123,
    "speaking_characters": 51,
    "single_line_characters": 18,
    "dialogue_blocks": 805,
    "dialogue_words": 7864,
    "dialogue_action_ratio": 0.99,
    "monologues": 24,
    "top_character_pct": 32.4,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 38,
    "words": 22477,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-million-miles-away-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6f83fcfb4f55fff108a991090f776fdb1ff6ac260f21f36f09e409df03e34443",
      "measurement_sha256": "c85a37465293392002905d61ca8dacedb1cb5dcb3c8f9c5d98680479c01cf3d5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-million-miles-away-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.728Z.",
        "https://www.scriptslug.com/script/a-million-miles-away-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-million-miles-away-2023\",\"A Million Miles Away\",2023,\"Feature\",\"Drama\",[\"Hernán Jiménez\",\"Bettina Gilois\",\"Alejandra Márquez Abella\"],\"https://www.scriptslug.com/script/a-million-miles-away-2023\",\"b1a8ced2c31bcbca5693bdf4df5f4fb2f9fcf22608730963e78a70a1e97ce97d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9c08af13276bd17d732507c50ca8c5fd706631f7641716f5c5a56343c23d14f6",
    "source_locator_sha256": "9e9fe4dae31c72523b98c022a9705308620064aa8e0b07ffd4eb33a1a5d2bac8",
    "measurement_sha256": "32bd15730f7e7424fe690ae8036658516af09741845a6dc37911e17bc45fe996",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "a-quiet-place-2018",
    "title": "A Quiet Place",
    "year": 2018,
    "primary_genre": "Horror",
    "writers": [
      "Scott Beck",
      "Bryan Woods"
    ],
    "pages": 68,
    "scenes": 120,
    "mean_scene_eighths": 2.7,
    "median_scene_eighths": 1,
    "median_scene_lines": 7,
    "interior_share_pct": 47.5,
    "day_share_pct": 94.5,
    "unique_locations": 19,
    "location_changes": 89,
    "speaking_characters": 7,
    "single_line_characters": 2,
    "dialogue_blocks": 75,
    "dialogue_words": 481,
    "dialogue_action_ratio": 0.1,
    "monologues": 1,
    "top_character_pct": 31.6,
    "dialogue_line_share_pct": 8,
    "action_line_share_pct": 77,
    "words": 8771,
    "runtime_minutes": 71,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-quiet-place-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9c08af13276bd17d732507c50ca8c5fd706631f7641716f5c5a56343c23d14f6",
      "measurement_sha256": "32bd15730f7e7424fe690ae8036658516af09741845a6dc37911e17bc45fe996",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-quiet-place-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.310Z.",
        "https://www.scriptslug.com/script/a-quiet-place-2018",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-quiet-place-2018\",\"A Quiet Place\",2018,\"Feature\",\"Horror\",[\"Scott Beck\",\"Bryan Woods\"],\"https://www.scriptslug.com/script/a-quiet-place-2018\",\"9e9fe4dae31c72523b98c022a9705308620064aa8e0b07ffd4eb33a1a5d2bac8\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "97d001ca91ae9212751723a5df8f41b56f9adb062e3d403902443678f55ef7fe",
    "source_locator_sha256": "39642a32018cebb1b70e9910aa0d916046260575c30a0d380e0c01b5836ac804",
    "measurement_sha256": "7e9f14c14f215a1870e539c53df61ce7de6cf141af34941dcdae53c68ab2076a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "a-real-pain-2024",
    "title": "A Real Pain",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Jesse Eisenberg"
    ],
    "pages": 101,
    "scenes": 128,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 60.9,
    "day_share_pct": 77.1,
    "unique_locations": 89,
    "location_changes": 115,
    "speaking_characters": 22,
    "single_line_characters": 7,
    "dialogue_blocks": 431,
    "dialogue_words": 9741,
    "dialogue_action_ratio": 2.26,
    "monologues": 77,
    "top_character_pct": 21,
    "dialogue_line_share_pct": 60,
    "action_line_share_pct": 26,
    "words": 16622,
    "runtime_minutes": 98,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-real-pain-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "97d001ca91ae9212751723a5df8f41b56f9adb062e3d403902443678f55ef7fe",
      "measurement_sha256": "7e9f14c14f215a1870e539c53df61ce7de6cf141af34941dcdae53c68ab2076a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-real-pain-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.247Z.",
        "https://www.scriptslug.com/script/a-real-pain-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-real-pain-2024\",\"A Real Pain\",2024,\"Feature\",\"Comedy\",[\"Jesse Eisenberg\"],\"https://www.scriptslug.com/script/a-real-pain-2024\",\"39642a32018cebb1b70e9910aa0d916046260575c30a0d380e0c01b5836ac804\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7de13521b8902dd76ffa76e96d1735c43f4e568b8bc6995d091c871e8781cfe7",
    "source_locator_sha256": "bda3390044aa9e83fc33f25f87f1d426dd00a0373fa158e659ed50f70724d572",
    "measurement_sha256": "8e18c95d7695c66ec2f8bf01013ac073d88019b9d2203c67303f74808a422e30",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "a-star-is-born-2018",
    "title": "A Star Is Born",
    "year": 2018,
    "primary_genre": "Drama",
    "writers": [
      "Eric Roth",
      "Bradley Cooper",
      "Will Fetters"
    ],
    "pages": 139,
    "scenes": 119,
    "mean_scene_eighths": 8.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 73.1,
    "day_share_pct": 62.3,
    "unique_locations": 62,
    "location_changes": 81,
    "speaking_characters": 40,
    "single_line_characters": 12,
    "dialogue_blocks": 1227,
    "dialogue_words": 11369,
    "dialogue_action_ratio": 1.82,
    "monologues": 30,
    "top_character_pct": 34.3,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 24,
    "words": 24048,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/a-star-is-born-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7de13521b8902dd76ffa76e96d1735c43f4e568b8bc6995d091c871e8781cfe7",
      "measurement_sha256": "8e18c95d7695c66ec2f8bf01013ac073d88019b9d2203c67303f74808a422e30",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/a-star-is-born-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.466Z.",
        "https://www.scriptslug.com/script/a-star-is-born-2018",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"a-star-is-born-2018\",\"A Star Is Born\",2018,\"Feature\",\"Drama\",[\"Eric Roth\",\"Bradley Cooper\",\"Will Fetters\"],\"https://www.scriptslug.com/script/a-star-is-born-2018\",\"bda3390044aa9e83fc33f25f87f1d426dd00a0373fa158e659ed50f70724d572\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d068b33bc059cb74056f6d716e0c8f81409812ab1f6d8850ff2e7dc98b3b9dc1",
    "source_locator_sha256": "5ed39357459b2c9b9eb45f8ab2bc65deaef5ba6ebf31558c105d678dad83fa9d",
    "measurement_sha256": "ba6580af66e5d3c777e0667d065956eb9115539621eab0f1715543868fdcd23a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "abraham-lincoln-vampire-hunter-2012",
    "title": "Abraham Lincoln: Vampire Hunter",
    "year": 2012,
    "primary_genre": "Horror",
    "writers": [
      "Seth Grahame-Smith"
    ],
    "pages": 106,
    "scenes": 96,
    "mean_scene_eighths": 8,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 47.9,
    "day_share_pct": 58.3,
    "unique_locations": 64,
    "location_changes": 88,
    "speaking_characters": 40,
    "single_line_characters": 18,
    "dialogue_blocks": 648,
    "dialogue_words": 7197,
    "dialogue_action_ratio": 0.89,
    "monologues": 7,
    "top_character_pct": 39.8,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 40,
    "words": 21797,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/abraham-lincoln-vampire-hunter-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d068b33bc059cb74056f6d716e0c8f81409812ab1f6d8850ff2e7dc98b3b9dc1",
      "measurement_sha256": "ba6580af66e5d3c777e0667d065956eb9115539621eab0f1715543868fdcd23a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/abraham-lincoln-vampire-hunter-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.525Z.",
        "https://www.scriptslug.com/script/abraham-lincoln-vampire-hunter-2012",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"abraham-lincoln-vampire-hunter-2012\",\"Abraham Lincoln: Vampire Hunter\",2012,\"Feature\",\"Horror\",[\"Seth Grahame-Smith\"],\"https://www.scriptslug.com/script/abraham-lincoln-vampire-hunter-2012\",\"5ed39357459b2c9b9eb45f8ab2bc65deaef5ba6ebf31558c105d678dad83fa9d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "271bde8f90858ad70b3f3de9650d1a047d76ab068fd6ef2b19b3e0ead4717913",
    "source_locator_sha256": "d8508a3d9c8b7307afa3a90017c03d8729e0c7d288e3cf1b899fcc2d162f0415",
    "measurement_sha256": "3c4d8f2e080d57f85841f24e6f3659f4886ca72935ac752efa290274c9e1c829",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "ad-astra-2019",
    "title": "Ad Astra",
    "year": 2019,
    "primary_genre": "Sci-Fi",
    "writers": [
      "James Gray",
      "Ethan Gross"
    ],
    "pages": 109,
    "scenes": 150,
    "mean_scene_eighths": 5.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 15.5,
    "interior_share_pct": 68.3,
    "day_share_pct": 85.7,
    "unique_locations": 76,
    "location_changes": 120,
    "speaking_characters": 58,
    "single_line_characters": 19,
    "dialogue_blocks": 577,
    "dialogue_words": 8497,
    "dialogue_action_ratio": 1.05,
    "monologues": 46,
    "top_character_pct": 31.5,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 39,
    "words": 23514,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.28,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ad-astra-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "271bde8f90858ad70b3f3de9650d1a047d76ab068fd6ef2b19b3e0ead4717913",
      "measurement_sha256": "3c4d8f2e080d57f85841f24e6f3659f4886ca72935ac752efa290274c9e1c829",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ad-astra-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.033Z.",
        "https://www.scriptslug.com/script/ad-astra-2019",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ad-astra-2019\",\"Ad Astra\",2019,\"Feature\",\"Sci-Fi\",[\"James Gray\",\"Ethan Gross\"],\"https://www.scriptslug.com/script/ad-astra-2019\",\"d8508a3d9c8b7307afa3a90017c03d8729e0c7d288e3cf1b899fcc2d162f0415\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "094a13aab55af353d584053254c628ac33c1501ab222d58c19b26ac4410ab943",
    "source_locator_sha256": "d251ee4fb34b4f1f6f5bf3837118453b10c44e0683920856f1faf15f16628523",
    "measurement_sha256": "effce926346362bfc65dd39dff508792047a41be16389efaf3c1b33187567d68",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "after-the-hunt-2025",
    "title": "After the Hunt",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Nora Garrett"
    ],
    "pages": 99,
    "scenes": 73,
    "mean_scene_eighths": 8.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 80.1,
    "day_share_pct": 25,
    "unique_locations": 26,
    "location_changes": 46,
    "speaking_characters": 23,
    "single_line_characters": 8,
    "dialogue_blocks": 695,
    "dialogue_words": 9070,
    "dialogue_action_ratio": 1.86,
    "monologues": 49,
    "top_character_pct": 27.3,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 28,
    "words": 18683,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/after-the-hunt-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "094a13aab55af353d584053254c628ac33c1501ab222d58c19b26ac4410ab943",
      "measurement_sha256": "effce926346362bfc65dd39dff508792047a41be16389efaf3c1b33187567d68",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/after-the-hunt-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.532Z.",
        "https://www.scriptslug.com/script/after-the-hunt-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"after-the-hunt-2025\",\"After the Hunt\",2025,\"Feature\",\"Drama\",[\"Nora Garrett\"],\"https://www.scriptslug.com/script/after-the-hunt-2025\",\"d251ee4fb34b4f1f6f5bf3837118453b10c44e0683920856f1faf15f16628523\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "132be41c0bce23b006ff1b9c64db3852b2ef9a2ee1fac2533a6c19322fe9e216",
    "source_locator_sha256": "05567a0af6696820e2183f235e68208cdd1ba89b52253cd86646f11e4fc92c2f",
    "measurement_sha256": "1cf0e021f4cef03de70353f9f132ef37cba65f3228d824baf514a0c41bd4e64f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "aftersun-2022",
    "title": "Aftersun",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Charlotte Wells"
    ],
    "pages": 102,
    "scenes": 139,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 52.9,
    "day_share_pct": 51.1,
    "unique_locations": 54,
    "location_changes": 121,
    "speaking_characters": 39,
    "single_line_characters": 15,
    "dialogue_blocks": 737,
    "dialogue_words": 4794,
    "dialogue_action_ratio": 0.68,
    "monologues": 3,
    "top_character_pct": 40.1,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 44,
    "words": 18690,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/aftersun-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "132be41c0bce23b006ff1b9c64db3852b2ef9a2ee1fac2533a6c19322fe9e216",
      "measurement_sha256": "1cf0e021f4cef03de70353f9f132ef37cba65f3228d824baf514a0c41bd4e64f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/aftersun-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.114Z.",
        "https://www.scriptslug.com/script/aftersun-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"aftersun-2022\",\"Aftersun\",2022,\"Feature\",\"Drama\",[\"Charlotte Wells\"],\"https://www.scriptslug.com/script/aftersun-2022\",\"05567a0af6696820e2183f235e68208cdd1ba89b52253cd86646f11e4fc92c2f\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a6d722daa8955c5b9f7f956e7f9cb1c8034bc87bc704a0babecbbc6bddabf978",
    "source_locator_sha256": "3062d4ad7ae04ad1e4f1f41a71c0a0a11911e07d8edd31ee4a0480ab50b633b0",
    "measurement_sha256": "5aa577e5ca1284fb8b25db6018adba14b44f3b7480249e3bf766183905d404e2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "air-2023",
    "title": "Air",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Alex Convery"
    ],
    "pages": 105,
    "scenes": 73,
    "mean_scene_eighths": 11.1,
    "median_scene_eighths": 7,
    "median_scene_lines": 47,
    "interior_share_pct": 76.7,
    "day_share_pct": 69.4,
    "unique_locations": 25,
    "location_changes": 53,
    "speaking_characters": 37,
    "single_line_characters": 7,
    "dialogue_blocks": 995,
    "dialogue_words": 10824,
    "dialogue_action_ratio": 2.69,
    "monologues": 41,
    "top_character_pct": 46.1,
    "dialogue_line_share_pct": 53,
    "action_line_share_pct": 20,
    "words": 18438,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/air-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a6d722daa8955c5b9f7f956e7f9cb1c8034bc87bc704a0babecbbc6bddabf978",
      "measurement_sha256": "5aa577e5ca1284fb8b25db6018adba14b44f3b7480249e3bf766183905d404e2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/air-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.954Z.",
        "https://www.scriptslug.com/script/air-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"air-2023\",\"Air\",2023,\"Feature\",\"Drama\",[\"Alex Convery\"],\"https://www.scriptslug.com/script/air-2023\",\"3062d4ad7ae04ad1e4f1f41a71c0a0a11911e07d8edd31ee4a0480ab50b633b0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b9e1915cb749cdfd4aa817faeb7387796a92548d026d8d8f13bfe6c3fd2d9619",
    "source_locator_sha256": "24e1e2a3682008e7d52ae0ba702b155b2ba7e89600dc0d9dec66cf854b0cb67c",
    "measurement_sha256": "73630b8ce50e81eca88a43b689b0383bb51461c635e069095326c2e887b54cf3",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "all-of-us-strangers-2023",
    "title": "All of Us Strangers",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Andrew Haigh"
    ],
    "pages": 91,
    "scenes": 97,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 76.8,
    "day_share_pct": 43.9,
    "unique_locations": 43,
    "location_changes": 76,
    "speaking_characters": 11,
    "single_line_characters": 4,
    "dialogue_blocks": 635,
    "dialogue_words": 5204,
    "dialogue_action_ratio": 0.87,
    "monologues": 5,
    "top_character_pct": 38,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 40,
    "words": 17033,
    "runtime_minutes": 96,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/all-of-us-strangers-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b9e1915cb749cdfd4aa817faeb7387796a92548d026d8d8f13bfe6c3fd2d9619",
      "measurement_sha256": "73630b8ce50e81eca88a43b689b0383bb51461c635e069095326c2e887b54cf3",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/all-of-us-strangers-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.014Z.",
        "https://www.scriptslug.com/script/all-of-us-strangers-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"all-of-us-strangers-2023\",\"All of Us Strangers\",2023,\"Feature\",\"Drama\",[\"Andrew Haigh\"],\"https://www.scriptslug.com/script/all-of-us-strangers-2023\",\"24e1e2a3682008e7d52ae0ba702b155b2ba7e89600dc0d9dec66cf854b0cb67c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d5bd2d1412ac6d28508a5199e41b27cdbb4828eb04a9357d41c0eb35e16817c1",
    "source_locator_sha256": "a5402102d47b8e86647b6e16767a9040b345e5c38979ee1453f468134ca3aab2",
    "measurement_sha256": "284127089d622b5073524de8549e2f50f970121172319c9eb8330c161c2b180c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "all-quiet-on-the-western-front-2022",
    "title": "All Quiet on the Western Front",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Ian Stokell",
      "Lesley Paterson",
      "Edward Berger"
    ],
    "pages": 107,
    "scenes": 153,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 35,
    "day_share_pct": 76.4,
    "unique_locations": 94,
    "location_changes": 146,
    "speaking_characters": 53,
    "single_line_characters": 16,
    "dialogue_blocks": 656,
    "dialogue_words": 5823,
    "dialogue_action_ratio": 0.59,
    "monologues": 24,
    "top_character_pct": 17.7,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 50,
    "words": 25638,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/all-quiet-on-the-western-front-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d5bd2d1412ac6d28508a5199e41b27cdbb4828eb04a9357d41c0eb35e16817c1",
      "measurement_sha256": "284127089d622b5073524de8549e2f50f970121172319c9eb8330c161c2b180c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/all-quiet-on-the-western-front-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.252Z.",
        "https://www.scriptslug.com/script/all-quiet-on-the-western-front-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"all-quiet-on-the-western-front-2022\",\"All Quiet on the Western Front\",2022,\"Feature\",\"Drama\",[\"Ian Stokell\",\"Lesley Paterson\",\"Edward Berger\"],\"https://www.scriptslug.com/script/all-quiet-on-the-western-front-2022\",\"a5402102d47b8e86647b6e16767a9040b345e5c38979ee1453f468134ca3aab2\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d7a98d8a9247725e46f37df95d6020009dd78f31d890aa6887ec0c8704dce8f9",
    "source_locator_sha256": "de0602032a9da6bffe36cd2372cd2db5d312c8e2d4228d07969a5bb9d5ccba04",
    "measurement_sha256": "5fdfd02920390de4d3ff1e5f45644fe1c74d9dda518268fbceaf8f0fea8b050d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "all-the-old-knives-2022",
    "title": "All the Old Knives",
    "year": 2022,
    "primary_genre": "Thriller",
    "writers": [
      "Olen Steinhauer"
    ],
    "pages": 147,
    "scenes": 127,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 80.7,
    "day_share_pct": 60.9,
    "unique_locations": 34,
    "location_changes": 100,
    "speaking_characters": 33,
    "single_line_characters": 3,
    "dialogue_blocks": 972,
    "dialogue_words": 8884,
    "dialogue_action_ratio": 1.37,
    "monologues": 26,
    "top_character_pct": 30,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 31,
    "words": 21209,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/all-the-old-knives-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d7a98d8a9247725e46f37df95d6020009dd78f31d890aa6887ec0c8704dce8f9",
      "measurement_sha256": "5fdfd02920390de4d3ff1e5f45644fe1c74d9dda518268fbceaf8f0fea8b050d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/all-the-old-knives-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.196Z.",
        "https://www.scriptslug.com/script/all-the-old-knives-2022",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"all-the-old-knives-2022\",\"All the Old Knives\",2022,\"Feature\",\"Thriller\",[\"Olen Steinhauer\"],\"https://www.scriptslug.com/script/all-the-old-knives-2022\",\"de0602032a9da6bffe36cd2372cd2db5d312c8e2d4228d07969a5bb9d5ccba04\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "aab48b5cf15b6598d094c2e6ddb2b72df5d2d312e43f9af347f810f2d3e50177",
    "source_locator_sha256": "9fd9cb30a48956c54c0da136a5da6602fcc78b92bbe8e8354d9bb50d2b0684ee",
    "measurement_sha256": "38de11e021efee288aacd23558e960b6c9f3f041d91e4969c66400b60767a08a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "ambulance-2022",
    "title": "Ambulance",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Chris Fedak"
    ],
    "pages": 132,
    "scenes": 257,
    "mean_scene_eighths": 4,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 70.2,
    "day_share_pct": 50,
    "unique_locations": 75,
    "location_changes": 226,
    "speaking_characters": 59,
    "single_line_characters": 19,
    "dialogue_blocks": 1162,
    "dialogue_words": 7720,
    "dialogue_action_ratio": 1.05,
    "monologues": 5,
    "top_character_pct": 19.8,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 33,
    "words": 23758,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ambulance-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "aab48b5cf15b6598d094c2e6ddb2b72df5d2d312e43f9af347f810f2d3e50177",
      "measurement_sha256": "38de11e021efee288aacd23558e960b6c9f3f041d91e4969c66400b60767a08a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ambulance-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.003Z.",
        "https://www.scriptslug.com/script/ambulance-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ambulance-2022\",\"Ambulance\",2022,\"Feature\",\"Action\",[\"Chris Fedak\"],\"https://www.scriptslug.com/script/ambulance-2022\",\"9fd9cb30a48956c54c0da136a5da6602fcc78b92bbe8e8354d9bb50d2b0684ee\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "50c8a779626ea9a1c8e7ed4d0ae29e52ff2a97b5cd4c59b2caeaa1d8cd5c5194",
    "source_locator_sha256": "1adb459f6c9640650a83ab21006117c5de661dc64921ac8bd3a03a60c70bb7c9",
    "measurement_sha256": "5979394bf166dc5be8af64425b0e9dc394da4a0ec1b1746b1476f185a2a0d320",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "american-fiction-2023",
    "title": "American Fiction",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Cord Jefferson"
    ],
    "pages": 111,
    "scenes": 108,
    "mean_scene_eighths": 8,
    "median_scene_eighths": 5,
    "median_scene_lines": 35.5,
    "interior_share_pct": 74.5,
    "day_share_pct": 74,
    "unique_locations": 44,
    "location_changes": 78,
    "speaking_characters": 49,
    "single_line_characters": 11,
    "dialogue_blocks": 1116,
    "dialogue_words": 10693,
    "dialogue_action_ratio": 2.52,
    "monologues": 29,
    "top_character_pct": 33,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 20,
    "words": 19201,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/american-fiction-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "50c8a779626ea9a1c8e7ed4d0ae29e52ff2a97b5cd4c59b2caeaa1d8cd5c5194",
      "measurement_sha256": "5979394bf166dc5be8af64425b0e9dc394da4a0ec1b1746b1476f185a2a0d320",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/american-fiction-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.376Z.",
        "https://www.scriptslug.com/script/american-fiction-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"american-fiction-2023\",\"American Fiction\",2023,\"Feature\",\"Comedy\",[\"Cord Jefferson\"],\"https://www.scriptslug.com/script/american-fiction-2023\",\"1adb459f6c9640650a83ab21006117c5de661dc64921ac8bd3a03a60c70bb7c9\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "20f0e66c2f8b6e314ce2b57f8b34a2fd56ff9c521ec9de50d64fe810534155d4",
    "source_locator_sha256": "6c54f293e2a95a9cf7aacb57c0a828378997010de7984d444d4a7fe918d0eca3",
    "measurement_sha256": "6a994765b22683cf058f91617eeaf4a8ae9a75a4831cf2e6b9777dca45d315ed",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "amsterdam-2022",
    "title": "Amsterdam",
    "year": 2022,
    "primary_genre": "Crime",
    "writers": [
      "David O. Russell"
    ],
    "pages": 144,
    "scenes": 93,
    "mean_scene_eighths": 12.3,
    "median_scene_eighths": 7,
    "median_scene_lines": 47,
    "interior_share_pct": 79.6,
    "day_share_pct": 76.2,
    "unique_locations": 57,
    "location_changes": 85,
    "speaking_characters": 67,
    "single_line_characters": 32,
    "dialogue_blocks": 1373,
    "dialogue_words": 16381,
    "dialogue_action_ratio": 2.98,
    "monologues": 50,
    "top_character_pct": 25.5,
    "dialogue_line_share_pct": 55,
    "action_line_share_pct": 18,
    "words": 27512,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/amsterdam-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "20f0e66c2f8b6e314ce2b57f8b34a2fd56ff9c521ec9de50d64fe810534155d4",
      "measurement_sha256": "6a994765b22683cf058f91617eeaf4a8ae9a75a4831cf2e6b9777dca45d315ed",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/amsterdam-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.323Z.",
        "https://www.scriptslug.com/script/amsterdam-2022",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"amsterdam-2022\",\"Amsterdam\",2022,\"Feature\",\"Crime\",[\"David O. Russell\"],\"https://www.scriptslug.com/script/amsterdam-2022\",\"6c54f293e2a95a9cf7aacb57c0a828378997010de7984d444d4a7fe918d0eca3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ce5019d760b302417a1500a35755d26b3942a98ea84f37dd4c1fee28172f1780",
    "source_locator_sha256": "bcdcc311ae6be3c8f7be2d8cc01d8086a9d5519d25f5e0cb1ef300ff5bd5a151",
    "measurement_sha256": "1f3edc0daf17bc8b3e96ee1e4b6e5f9f9a61d26db98077c403778c062be68841",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "anatomy-of-a-fall-2023",
    "title": "Anatomy of a Fall",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Arthur Harari",
      "Justine Triet"
    ],
    "pages": 144,
    "scenes": 2,
    "mean_scene_eighths": 242,
    "median_scene_eighths": 242,
    "median_scene_lines": 1667,
    "interior_share_pct": 0,
    "day_share_pct": null,
    "unique_locations": 2,
    "location_changes": 1,
    "speaking_characters": 12,
    "single_line_characters": 11,
    "dialogue_blocks": 939,
    "dialogue_words": 21858,
    "dialogue_action_ratio": 3.46,
    "monologues": 164,
    "top_character_pct": 0.1,
    "dialogue_line_share_pct": 77,
    "action_line_share_pct": 22,
    "words": 31732,
    "runtime_minutes": 155,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "1f3edc0daf17bc8b3e96ee1e4b6e5f9f9a61d26db98077c403778c062be68841",
      "source_sha256": "ce5019d760b302417a1500a35755d26b3942a98ea84f37dd4c1fee28172f1780",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/anatomy-of-a-fall-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ce5019d760b302417a1500a35755d26b3942a98ea84f37dd4c1fee28172f1780",
      "measurement_sha256": "1f3edc0daf17bc8b3e96ee1e4b6e5f9f9a61d26db98077c403778c062be68841",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/anatomy-of-a-fall-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.962Z.",
        "https://www.scriptslug.com/script/anatomy-of-a-fall-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"anatomy-of-a-fall-2023\",\"Anatomy of a Fall\",2023,\"Feature\",\"Drama\",[\"Arthur Harari\",\"Justine Triet\"],\"https://www.scriptslug.com/script/anatomy-of-a-fall-2023\",\"bcdcc311ae6be3c8f7be2d8cc01d8086a9d5519d25f5e0cb1ef300ff5bd5a151\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "d9c62f59f4567adb2ee31e2b6775d195124b7ef1519cd74b2645372ec4072410",
    "source_locator_sha256": "8c523e78be628adfd18f6539b21f85bf5d70b67f654461f079d8d5d89b320785",
    "measurement_sha256": "de9b42c5c394528e2ab08a292951b5e32674287c4724e7e867feee03f81b83d4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "anchorman-the-legend-of-ron-burgundy-2004",
    "title": "Anchorman: The Legend of Ron Burgundy",
    "year": 2004,
    "primary_genre": "Comedy",
    "writers": [
      "Adam McKay",
      "Will Ferrell"
    ],
    "pages": 107,
    "scenes": 106,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 6,
    "median_scene_lines": 38.5,
    "interior_share_pct": 72.6,
    "day_share_pct": 66.7,
    "unique_locations": 93,
    "location_changes": 103,
    "speaking_characters": 87,
    "single_line_characters": 46,
    "dialogue_blocks": 903,
    "dialogue_words": 11473,
    "dialogue_action_ratio": 2.57,
    "monologues": 28,
    "top_character_pct": 34.5,
    "dialogue_line_share_pct": 53,
    "action_line_share_pct": 20,
    "words": 21083,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "de9b42c5c394528e2ab08a292951b5e32674287c4724e7e867feee03f81b83d4",
      "source_sha256": "d9c62f59f4567adb2ee31e2b6775d195124b7ef1519cd74b2645372ec4072410",
      "pdf_pages": [
        92
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A montage direction is classified as a speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/anchorman-the-legend-of-ron-burgundy-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d9c62f59f4567adb2ee31e2b6775d195124b7ef1519cd74b2645372ec4072410",
      "measurement_sha256": "de9b42c5c394528e2ab08a292951b5e32674287c4724e7e867feee03f81b83d4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/anchorman-the-legend-of-ron-burgundy-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.962Z.",
        "https://www.scriptslug.com/script/anchorman-the-legend-of-ron-burgundy-2004",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"anchorman-the-legend-of-ron-burgundy-2004\",\"Anchorman: The Legend of Ron Burgundy\",2004,\"Feature\",\"Comedy\",[\"Adam McKay\",\"Will Ferrell\"],\"https://www.scriptslug.com/script/anchorman-the-legend-of-ron-burgundy-2004\",\"8c523e78be628adfd18f6539b21f85bf5d70b67f654461f079d8d5d89b320785\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "0dd3b0485118c5aa523a26f00b5e3a331671274d8d14d878acc117390c7d8df1",
    "source_locator_sha256": "4c6da60b382d4bf041422765fed8629ca297cc72eee1464f25567c8213680e53",
    "measurement_sha256": "bfc2fa5b00021e8abd0b0074b14895b6a6de06bcd866d95615685edfd9454e05",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "anger-management-2003",
    "title": "Anger Management",
    "year": 2003,
    "primary_genre": "Comedy",
    "writers": [
      "David Dorfman"
    ],
    "pages": 115,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 2,
    "single_line_characters": 2,
    "dialogue_blocks": 452,
    "dialogue_words": 1174,
    "dialogue_action_ratio": 0.19,
    "monologues": 0,
    "top_character_pct": 0.1,
    "dialogue_line_share_pct": 16,
    "action_line_share_pct": 84,
    "words": 16699,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "bfc2fa5b00021e8abd0b0074b14895b6a6de06bcd866d95615685edfd9454e05",
      "source_sha256": "0dd3b0485118c5aa523a26f00b5e3a331671274d8d14d878acc117390c7d8df1",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/anger-management-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0dd3b0485118c5aa523a26f00b5e3a331671274d8d14d878acc117390c7d8df1",
      "measurement_sha256": "bfc2fa5b00021e8abd0b0074b14895b6a6de06bcd866d95615685edfd9454e05",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/anger-management-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.624Z.",
        "https://www.scriptslug.com/script/anger-management-2003",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"anger-management-2003\",\"Anger Management\",2003,\"Feature\",\"Comedy\",[\"David Dorfman\"],\"https://www.scriptslug.com/script/anger-management-2003\",\"4c6da60b382d4bf041422765fed8629ca297cc72eee1464f25567c8213680e53\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "663eccd37dcc99cfc5f82683e624c095ff41b88f41f52254446e2f8b4160434c",
    "source_locator_sha256": "6436cf89206a9ad3a8aff94aba90222302fa36744356826edb670ccffd50a398",
    "measurement_sha256": "46129a07d440153c23a2d796c1d5002027bfa664afc8666967e15df3f8a3c185",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "annihilation-2018",
    "title": "Annihilation",
    "year": 2018,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Alex Garland"
    ],
    "pages": 127,
    "scenes": 121,
    "mean_scene_eighths": 8.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 50.4,
    "day_share_pct": 65.8,
    "unique_locations": 62,
    "location_changes": 102,
    "speaking_characters": 18,
    "single_line_characters": 2,
    "dialogue_blocks": 722,
    "dialogue_words": 6393,
    "dialogue_action_ratio": 0.58,
    "monologues": 14,
    "top_character_pct": 31.3,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 51,
    "words": 22960,
    "runtime_minutes": 129,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/annihilation-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "663eccd37dcc99cfc5f82683e624c095ff41b88f41f52254446e2f8b4160434c",
      "measurement_sha256": "46129a07d440153c23a2d796c1d5002027bfa664afc8666967e15df3f8a3c185",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/annihilation-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.982Z.",
        "https://www.scriptslug.com/script/annihilation-2018",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"annihilation-2018\",\"Annihilation\",2018,\"Feature\",\"Sci-Fi\",[\"Alex Garland\"],\"https://www.scriptslug.com/script/annihilation-2018\",\"6436cf89206a9ad3a8aff94aba90222302fa36744356826edb670ccffd50a398\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9b4c3305da854227d6892e3b7b7ff6842b6fea8f22657fc8bbdd74ce3548018d",
    "source_locator_sha256": "a3cf15b8181693bf6c4720c351b4e0ef0eecb658d93778b07fed4740a58d3c3a",
    "measurement_sha256": "030a95e85883771d33c74aa323774ab25300441d5e5f2efdb03dfafaee8bc887",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "anora-2024",
    "title": "Anora",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Sean Baker"
    ],
    "pages": 138,
    "scenes": 207,
    "mean_scene_eighths": 5,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 70,
    "day_share_pct": 64,
    "unique_locations": 58,
    "location_changes": 116,
    "speaking_characters": 34,
    "single_line_characters": 11,
    "dialogue_blocks": 1188,
    "dialogue_words": 8742,
    "dialogue_action_ratio": 1.35,
    "monologues": 4,
    "top_character_pct": 30.4,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 28,
    "words": 22121,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/anora-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9b4c3305da854227d6892e3b7b7ff6842b6fea8f22657fc8bbdd74ce3548018d",
      "measurement_sha256": "030a95e85883771d33c74aa323774ab25300441d5e5f2efdb03dfafaee8bc887",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/anora-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.503Z.",
        "https://www.scriptslug.com/script/anora-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"anora-2024\",\"Anora\",2024,\"Feature\",\"Drama\",[\"Sean Baker\"],\"https://www.scriptslug.com/script/anora-2024\",\"a3cf15b8181693bf6c4720c351b4e0ef0eecb658d93778b07fed4740a58d3c3a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "95fee6390bc8095799c093620cc90d3acc7ea4db3f1bdacd17a34cde8f4e21d6",
    "source_locator_sha256": "cf17a6b27c03e39b2b35496d104dd29e49dc7b1e30eab64195788fa9d4912046",
    "measurement_sha256": "d84077196496cb6a5c9c092de1fa33915b8ea1840c4cdd8f808e1e518ff39752",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "asteroid-city-2023",
    "title": "Asteroid City",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Wes Anderson"
    ],
    "pages": 120,
    "scenes": 48,
    "mean_scene_eighths": 21.5,
    "median_scene_eighths": 19,
    "median_scene_lines": 133,
    "interior_share_pct": 41.7,
    "day_share_pct": null,
    "unique_locations": 27,
    "location_changes": 47,
    "speaking_characters": 56,
    "single_line_characters": 10,
    "dialogue_blocks": 925,
    "dialogue_words": 10463,
    "dialogue_action_ratio": 1.09,
    "monologues": 49,
    "top_character_pct": 9.3,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 37,
    "words": 27624,
    "runtime_minutes": 137,
    "parenthetical_rate": 0.28,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/asteroid-city-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "95fee6390bc8095799c093620cc90d3acc7ea4db3f1bdacd17a34cde8f4e21d6",
      "measurement_sha256": "d84077196496cb6a5c9c092de1fa33915b8ea1840c4cdd8f808e1e518ff39752",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.focusfeatures.com/article/asteroid-city_announcement",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.334Z.",
        "https://www.scriptslug.com/script/asteroid-city-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"asteroid-city-2023\",\"Asteroid City\",2023,\"Feature\",\"Comedy\",[\"Wes Anderson\"],\"https://www.scriptslug.com/script/asteroid-city-2023\",\"cf17a6b27c03e39b2b35496d104dd29e49dc7b1e30eab64195788fa9d4912046\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c1a49003f6420d60a8a90d293066489a478bf3f21af8ac7f59a8da8678f0844c",
    "source_locator_sha256": "ffeb33a941c9f25198e4125a89221c8df996b770337fff8f583775f8de02e903",
    "measurement_sha256": "ec1708a9f20534e61d920a1b3c11b8c30929b7405a4b8c18977e3f69f65871da",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "atomic-blonde-2017",
    "title": "Atomic Blonde",
    "year": 2017,
    "primary_genre": "Action",
    "writers": [
      "Kurt Johnstad"
    ],
    "pages": 112,
    "scenes": 130,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 53.1,
    "day_share_pct": 49.4,
    "unique_locations": 42,
    "location_changes": 105,
    "speaking_characters": 23,
    "single_line_characters": 5,
    "dialogue_blocks": 797,
    "dialogue_words": 7292,
    "dialogue_action_ratio": 0.94,
    "monologues": 8,
    "top_character_pct": 32.3,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 39,
    "words": 22100,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/atomic-blonde-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c1a49003f6420d60a8a90d293066489a478bf3f21af8ac7f59a8da8678f0844c",
      "measurement_sha256": "ec1708a9f20534e61d920a1b3c11b8c30929b7405a4b8c18977e3f69f65871da",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/atomic-blonde-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.497Z.",
        "https://www.scriptslug.com/script/atomic-blonde-2017",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"atomic-blonde-2017\",\"Atomic Blonde\",2017,\"Feature\",\"Action\",[\"Kurt Johnstad\"],\"https://www.scriptslug.com/script/atomic-blonde-2017\",\"ffeb33a941c9f25198e4125a89221c8df996b770337fff8f583775f8de02e903\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c2bb560b5fb6e503484c293339826649896d0d5c8d90ad92ad431141cb850d5d",
    "source_locator_sha256": "8445dbee17187b63e3e4ec1587c49aab1e5854e0abae62ee76bd17d50b687ca9",
    "measurement_sha256": "d0eaed2d355e9e41d036ced35911da5ceb51d4853cce14cac4e82b7cd2660793",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "avatar-2009",
    "title": "Avatar",
    "year": 2009,
    "primary_genre": "Sci-Fi",
    "writers": [
      "James Cameron"
    ],
    "pages": 152,
    "scenes": 163,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 26,
    "interior_share_pct": 49.4,
    "day_share_pct": 63.8,
    "unique_locations": 73,
    "location_changes": 156,
    "speaking_characters": 34,
    "single_line_characters": 12,
    "dialogue_blocks": 829,
    "dialogue_words": 8388,
    "dialogue_action_ratio": 0.57,
    "monologues": 14,
    "top_character_pct": 30.4,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 51,
    "words": 35155,
    "runtime_minutes": 154,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/avatar-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c2bb560b5fb6e503484c293339826649896d0d5c8d90ad92ad431141cb850d5d",
      "measurement_sha256": "d0eaed2d355e9e41d036ced35911da5ceb51d4853cce14cac4e82b7cd2660793",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/avatar-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.970Z.",
        "https://www.scriptslug.com/script/avatar-2009",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"avatar-2009\",\"Avatar\",2009,\"Feature\",\"Sci-Fi\",[\"James Cameron\"],\"https://www.scriptslug.com/script/avatar-2009\",\"8445dbee17187b63e3e4ec1587c49aab1e5854e0abae62ee76bd17d50b687ca9\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2f57cc945eaa3fec5bbb6198f2d6b35f4a2ef3dd2dbbbc0d00e90281c7412f6f",
    "source_locator_sha256": "ed11f57045771e370c0aa5e07e8b02a58003094e73804b70f04f70035edc6997",
    "measurement_sha256": "cbe819ab95f1abe3d8d9e4bbac1fa8f182d97438ba2495a8c8c8cc97188b5850",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "avengers-endgame-2019",
    "title": "Avengers: Endgame",
    "year": 2019,
    "primary_genre": "Action",
    "writers": [
      "Christopher Markus",
      "Stephen McFeely"
    ],
    "pages": 149,
    "scenes": 172,
    "mean_scene_eighths": 6.5,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 54.7,
    "day_share_pct": 80.9,
    "unique_locations": 45,
    "location_changes": 89,
    "speaking_characters": 80,
    "single_line_characters": 17,
    "dialogue_blocks": 1298,
    "dialogue_words": 10765,
    "dialogue_action_ratio": 1.51,
    "monologues": 16,
    "top_character_pct": 18.2,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 25910,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/avengers-endgame-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2f57cc945eaa3fec5bbb6198f2d6b35f4a2ef3dd2dbbbc0d00e90281c7412f6f",
      "measurement_sha256": "cbe819ab95f1abe3d8d9e4bbac1fa8f182d97438ba2495a8c8c8cc97188b5850",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/avengers-endgame-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.488Z.",
        "https://www.scriptslug.com/script/avengers-endgame-2019",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"avengers-endgame-2019\",\"Avengers: Endgame\",2019,\"Feature\",\"Action\",[\"Christopher Markus\",\"Stephen McFeely\"],\"https://www.scriptslug.com/script/avengers-endgame-2019\",\"ed11f57045771e370c0aa5e07e8b02a58003094e73804b70f04f70035edc6997\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "71e33b18c057f52e66b8369e2fef586624e54abef36068875ce4fbb903b646b9",
    "source_locator_sha256": "64af80c1e6fde47f3f3dac48a377e1b79f86df01ef0eb39d07aa5b298a46ded3",
    "measurement_sha256": "e5dd87b5077b515f77e7995f5727784580841f7db58455a0dbe8060f42b8cbd2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "baby-driver-2017",
    "title": "Baby Driver",
    "year": 2017,
    "primary_genre": "Action",
    "writers": [
      "Edgar Wright"
    ],
    "pages": 121,
    "scenes": 104,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 5,
    "median_scene_lines": 34.5,
    "interior_share_pct": 63,
    "day_share_pct": 41,
    "unique_locations": 59,
    "location_changes": 93,
    "speaking_characters": 47,
    "single_line_characters": 17,
    "dialogue_blocks": 779,
    "dialogue_words": 7469,
    "dialogue_action_ratio": 0.71,
    "monologues": 25,
    "top_character_pct": 24,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 47,
    "words": 28083,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/baby-driver-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "71e33b18c057f52e66b8369e2fef586624e54abef36068875ce4fbb903b646b9",
      "measurement_sha256": "e5dd87b5077b515f77e7995f5727784580841f7db58455a0dbe8060f42b8cbd2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/baby-driver-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.727Z.",
        "https://www.scriptslug.com/script/baby-driver-2017",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"baby-driver-2017\",\"Baby Driver\",2017,\"Feature\",\"Action\",[\"Edgar Wright\"],\"https://www.scriptslug.com/script/baby-driver-2017\",\"64af80c1e6fde47f3f3dac48a377e1b79f86df01ef0eb39d07aa5b298a46ded3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "44c956c1965e112b95873fa5b0aa35b10fd24279fccbb67bbb79fd8c013fcdc5",
    "source_locator_sha256": "0a3d45df9c1fdd60f303d8b94e983c7fc522027be35a552e7e98ac99c918285b",
    "measurement_sha256": "b5856f15d3405028fe310a54a860d3c4d749d21462bf3f9fb4d4c77a81178ae5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "babylon-2022",
    "title": "Babylon",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Damien Chazelle"
    ],
    "pages": 187,
    "scenes": 141,
    "mean_scene_eighths": 11.1,
    "median_scene_eighths": 6,
    "median_scene_lines": 39,
    "interior_share_pct": 58.5,
    "day_share_pct": 70.9,
    "unique_locations": 78,
    "location_changes": 127,
    "speaking_characters": 118,
    "single_line_characters": 51,
    "dialogue_blocks": 1428,
    "dialogue_words": 11861,
    "dialogue_action_ratio": 0.79,
    "monologues": 35,
    "top_character_pct": 18.5,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 42,
    "words": 42973,
    "runtime_minutes": 174,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/babylon-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "44c956c1965e112b95873fa5b0aa35b10fd24279fccbb67bbb79fd8c013fcdc5",
      "measurement_sha256": "b5856f15d3405028fe310a54a860d3c4d749d21462bf3f9fb4d4c77a81178ae5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/babylon-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.826Z.",
        "https://www.scriptslug.com/script/babylon-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"babylon-2022\",\"Babylon\",2022,\"Feature\",\"Drama\",[\"Damien Chazelle\"],\"https://www.scriptslug.com/script/babylon-2022\",\"0a3d45df9c1fdd60f303d8b94e983c7fc522027be35a552e7e98ac99c918285b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "90e8bcf375c5fcbcd2dfc21e5d63ee129cfe784516b8df7b05e7ba660e4a8621",
    "source_locator_sha256": "d65d94f6813d540e0c13606c1e0029f38e1b23f2b03564ee4abc60f9871a84e1",
    "measurement_sha256": "24524128090ef839fa19c58278bbcba64c134517eadea88745548b464786882c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bad-times-at-the-el-royale-2018",
    "title": "Bad Times at the El Royale",
    "year": 2018,
    "primary_genre": "Thriller",
    "writers": [
      "Drew Goddard"
    ],
    "pages": 130,
    "scenes": 76,
    "mean_scene_eighths": 13.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 77,
    "day_share_pct": 19.6,
    "unique_locations": 31,
    "location_changes": 74,
    "speaking_characters": 35,
    "single_line_characters": 8,
    "dialogue_blocks": 888,
    "dialogue_words": 9022,
    "dialogue_action_ratio": 0.92,
    "monologues": 24,
    "top_character_pct": 19,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 40,
    "words": 25527,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bad-times-at-the-el-royale-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "90e8bcf375c5fcbcd2dfc21e5d63ee129cfe784516b8df7b05e7ba660e4a8621",
      "measurement_sha256": "24524128090ef839fa19c58278bbcba64c134517eadea88745548b464786882c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bad-times-at-the-el-royale-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.798Z.",
        "https://www.scriptslug.com/script/bad-times-at-the-el-royale-2018",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bad-times-at-the-el-royale-2018\",\"Bad Times at the El Royale\",2018,\"Feature\",\"Thriller\",[\"Drew Goddard\"],\"https://www.scriptslug.com/script/bad-times-at-the-el-royale-2018\",\"d65d94f6813d540e0c13606c1e0029f38e1b23f2b03564ee4abc60f9871a84e1\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f7c34a1cc54ae38d436595f2968a71574b6f490fd0b5ea01a172565b266c9405",
    "source_locator_sha256": "e9931554e8b25cc728fbdda18c470624d4485915af501d2e3ccfe85ecf77a47f",
    "measurement_sha256": "0239f4c81552b601a71d9b77ce33385988ab2681ffb6efa0d29fd400df03b67c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "barbarian-2022",
    "title": "Barbarian",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "Zach Cregger"
    ],
    "pages": 126,
    "scenes": 63,
    "mean_scene_eighths": 15.4,
    "median_scene_eighths": 11,
    "median_scene_lines": 74,
    "interior_share_pct": 63.5,
    "day_share_pct": 82.4,
    "unique_locations": 32,
    "location_changes": 57,
    "speaking_characters": 28,
    "single_line_characters": 4,
    "dialogue_blocks": 984,
    "dialogue_words": 7942,
    "dialogue_action_ratio": 0.95,
    "monologues": 18,
    "top_character_pct": 26.9,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 39,
    "words": 23128,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/barbarian-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f7c34a1cc54ae38d436595f2968a71574b6f490fd0b5ea01a172565b266c9405",
      "measurement_sha256": "0239f4c81552b601a71d9b77ce33385988ab2681ffb6efa0d29fd400df03b67c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/barbarian-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.898Z.",
        "https://www.scriptslug.com/script/barbarian-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"barbarian-2022\",\"Barbarian\",2022,\"Feature\",\"Horror\",[\"Zach Cregger\"],\"https://www.scriptslug.com/script/barbarian-2022\",\"e9931554e8b25cc728fbdda18c470624d4485915af501d2e3ccfe85ecf77a47f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "93fed58427fcfbf0d5d0a163cd4f74d7774437247d75a1a078c0625df33a2ab5",
    "source_locator_sha256": "6b74a055d32c5b65141bf7a04079b29bfb9d1cbb187726f71e408fba1cb0b959",
    "measurement_sha256": "f489779a8f02435b15832218f5dca1a83e918902ccd5964389e6dfe44490717f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "barbie-2023",
    "title": "Barbie",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Greta Gerwig",
      "Noah Baumbach"
    ],
    "pages": 116,
    "scenes": 83,
    "mean_scene_eighths": 11.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 43.4,
    "day_share_pct": null,
    "unique_locations": 73,
    "location_changes": 79,
    "speaking_characters": 95,
    "single_line_characters": 42,
    "dialogue_blocks": 1068,
    "dialogue_words": 9913,
    "dialogue_action_ratio": 1.65,
    "monologues": 16,
    "top_character_pct": 24.9,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 26,
    "words": 22608,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/barbie-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "93fed58427fcfbf0d5d0a163cd4f74d7774437247d75a1a078c0625df33a2ab5",
      "measurement_sha256": "f489779a8f02435b15832218f5dca1a83e918902ccd5964389e6dfe44490717f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/barbie-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.166Z.",
        "https://www.scriptslug.com/script/barbie-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"barbie-2023\",\"Barbie\",2023,\"Feature\",\"Comedy\",[\"Greta Gerwig\",\"Noah Baumbach\"],\"https://www.scriptslug.com/script/barbie-2023\",\"6b74a055d32c5b65141bf7a04079b29bfb9d1cbb187726f71e408fba1cb0b959\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1693207feecc07a5d86aea15ac2995ad83ff2ad5d749046fc6473ef7005a64d8",
    "source_locator_sha256": "12882f5744f8cff564814265f1d6fefd15d5ca7a9b716c813237f4867b3660fd",
    "measurement_sha256": "1c9aa26ccf0352c3592f963fdd344d899308380dbe076fcc2afd351eacb4102f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "beau-is-afraid-2023",
    "title": "Beau Is Afraid",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Ari Aster"
    ],
    "pages": 119,
    "scenes": 119,
    "mean_scene_eighths": 9.4,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 73.9,
    "day_share_pct": 50.8,
    "unique_locations": 52,
    "location_changes": 105,
    "speaking_characters": 49,
    "single_line_characters": 9,
    "dialogue_blocks": 1244,
    "dialogue_words": 8910,
    "dialogue_action_ratio": 1.02,
    "monologues": 17,
    "top_character_pct": 30.8,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 36,
    "words": 27319,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/beau-is-afraid-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1693207feecc07a5d86aea15ac2995ad83ff2ad5d749046fc6473ef7005a64d8",
      "measurement_sha256": "1c9aa26ccf0352c3592f963fdd344d899308380dbe076fcc2afd351eacb4102f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/beau-is-afraid-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.251Z.",
        "https://www.scriptslug.com/script/beau-is-afraid-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"beau-is-afraid-2023\",\"Beau Is Afraid\",2023,\"Feature\",\"Comedy\",[\"Ari Aster\"],\"https://www.scriptslug.com/script/beau-is-afraid-2023\",\"12882f5744f8cff564814265f1d6fefd15d5ca7a9b716c813237f4867b3660fd\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fc2829532128028be69fdaf2e3fbc19305cbdabbbcd86773080f6634e180f8f3",
    "source_locator_sha256": "a0819b8f1f455d94da5a2cc8dd6c3e1df4c09b6faf9802569aa3e6f760b634ed",
    "measurement_sha256": "4bff805c162f2d4d24b072207f4b79e28b8e54e164fb4f8dbb1d0a0a1f8fd670",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "before-midnight-2013",
    "title": "Before Midnight",
    "year": 2013,
    "primary_genre": "Romance",
    "writers": [
      "Ethan Hawke",
      "Julie Delpy",
      "Richard Linklater"
    ],
    "pages": 115,
    "scenes": 23,
    "mean_scene_eighths": 24.8,
    "median_scene_eighths": 11,
    "median_scene_lines": 77,
    "interior_share_pct": 30.4,
    "day_share_pct": 71.4,
    "unique_locations": 17,
    "location_changes": 18,
    "speaking_characters": 20,
    "single_line_characters": 5,
    "dialogue_blocks": 472,
    "dialogue_words": 16863,
    "dialogue_action_ratio": 15.42,
    "monologues": 134,
    "top_character_pct": 16,
    "dialogue_line_share_pct": 82,
    "action_line_share_pct": 5,
    "words": 18776,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.27,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/before-midnight-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fc2829532128028be69fdaf2e3fbc19305cbdabbbcd86773080f6634e180f8f3",
      "measurement_sha256": "4bff805c162f2d4d24b072207f4b79e28b8e54e164fb4f8dbb1d0a0a1f8fd670",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/before-midnight-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.527Z.",
        "https://www.scriptslug.com/script/before-midnight-2013",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"before-midnight-2013\",\"Before Midnight\",2013,\"Feature\",\"Romance\",[\"Ethan Hawke\",\"Julie Delpy\",\"Richard Linklater\"],\"https://www.scriptslug.com/script/before-midnight-2013\",\"a0819b8f1f455d94da5a2cc8dd6c3e1df4c09b6faf9802569aa3e6f760b634ed\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "116d8b6791eb66752c988af7b8260dd860be9dd11d577ed2b102147f8a57d3ad",
    "source_locator_sha256": "dfbf24d2f445f69766081159c09f12c81785896fcb5aeb80d5bfbca711d74ef9",
    "measurement_sha256": "4e57771c919ac5e0bab99e096e3000d932aa1608d8b8c212cbcb08726991b40d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "belfast-2021",
    "title": "Belfast",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Kenneth Branagh"
    ],
    "pages": 96,
    "scenes": 162,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 19.5,
    "interior_share_pct": 33.3,
    "day_share_pct": 100,
    "unique_locations": 90,
    "location_changes": 152,
    "speaking_characters": 68,
    "single_line_characters": 30,
    "dialogue_blocks": 783,
    "dialogue_words": 8984,
    "dialogue_action_ratio": 1.76,
    "monologues": 42,
    "top_character_pct": 15.1,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 27,
    "words": 17458,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/belfast-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "116d8b6791eb66752c988af7b8260dd860be9dd11d577ed2b102147f8a57d3ad",
      "measurement_sha256": "4e57771c919ac5e0bab99e096e3000d932aa1608d8b8c212cbcb08726991b40d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/belfast-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.924Z.",
        "https://www.scriptslug.com/script/belfast-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"belfast-2021\",\"Belfast\",2021,\"Feature\",\"Drama\",[\"Kenneth Branagh\"],\"https://www.scriptslug.com/script/belfast-2021\",\"dfbf24d2f445f69766081159c09f12c81785896fcb5aeb80d5bfbca711d74ef9\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7616f9a2f131dc682134d3a1063cf8d2548d1d96e574a83bb8047bde8a87c468",
    "source_locator_sha256": "6283f869d29519df680a0178469a0602d24dbd50b7a6ebba35a2fc7489fb9cff",
    "measurement_sha256": "a6fb4754b7609b8de2e2087ed83b3e81e99c2d169b317367d0a6707c54c689aa",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "better-man-2024",
    "title": "Better Man",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Simon Gleeson",
      "Oliver Cole",
      "Michael Gracey"
    ],
    "pages": 110,
    "scenes": 129,
    "mean_scene_eighths": 7.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 75.2,
    "day_share_pct": 44.9,
    "unique_locations": 91,
    "location_changes": 126,
    "speaking_characters": 75,
    "single_line_characters": 37,
    "dialogue_blocks": 931,
    "dialogue_words": 9254,
    "dialogue_action_ratio": 1.21,
    "monologues": 18,
    "top_character_pct": 47.5,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 33,
    "words": 24400,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/better-man-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7616f9a2f131dc682134d3a1063cf8d2548d1d96e574a83bb8047bde8a87c468",
      "measurement_sha256": "a6fb4754b7609b8de2e2087ed83b3e81e99c2d169b317367d0a6707c54c689aa",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/better-man-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.645Z.",
        "https://www.scriptslug.com/script/better-man-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"better-man-2024\",\"Better Man\",2024,\"Feature\",\"Drama\",[\"Simon Gleeson\",\"Oliver Cole\",\"Michael Gracey\"],\"https://www.scriptslug.com/script/better-man-2024\",\"6283f869d29519df680a0178469a0602d24dbd50b7a6ebba35a2fc7489fb9cff\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2c721f53ec3ecc1988a9ea1a218739fb4dfd19c37ba45827a803450073bef234",
    "source_locator_sha256": "a0a9cc55cad3cb6f18d68e2fed3ef5230ae6d83e136db7ada28c24ab2ee98eb6",
    "measurement_sha256": "17c59915412802187065c70b081f51872d3b0846c2194bdd1826227850110e6e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bird-box-2018",
    "title": "Bird Box",
    "year": 2018,
    "primary_genre": "Horror",
    "writers": [
      "Eric Heisserer"
    ],
    "pages": 118,
    "scenes": 102,
    "mean_scene_eighths": 8.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 31.5,
    "interior_share_pct": 77.5,
    "day_share_pct": 82.6,
    "unique_locations": 49,
    "location_changes": 98,
    "speaking_characters": 26,
    "single_line_characters": 4,
    "dialogue_blocks": 816,
    "dialogue_words": 6378,
    "dialogue_action_ratio": 0.72,
    "monologues": 10,
    "top_character_pct": 22.1,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 44,
    "words": 22352,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bird-box-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2c721f53ec3ecc1988a9ea1a218739fb4dfd19c37ba45827a803450073bef234",
      "measurement_sha256": "17c59915412802187065c70b081f51872d3b0846c2194bdd1826227850110e6e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bird-box-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.929Z.",
        "https://www.scriptslug.com/script/bird-box-2018",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bird-box-2018\",\"Bird Box\",2018,\"Feature\",\"Horror\",[\"Eric Heisserer\"],\"https://www.scriptslug.com/script/bird-box-2018\",\"a0a9cc55cad3cb6f18d68e2fed3ef5230ae6d83e136db7ada28c24ab2ee98eb6\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1e282922ec74b91d485d99a8993b89dd57e4ecdfa7bb2f13cfce1a286a9297dd",
    "source_locator_sha256": "421e9e3fec1c6cfae01e31275c4074675fe958602a75f0cf99248c977d179a8b",
    "measurement_sha256": "7093c3639d5635e352374904355b952a80b8f15432833010b1a671564ba6513d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "black-bag-2025",
    "title": "Black Bag",
    "year": 2025,
    "primary_genre": "Thriller",
    "writers": [
      "David Koepp"
    ],
    "pages": 127,
    "scenes": 83,
    "mean_scene_eighths": 11.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 31,
    "interior_share_pct": 75.9,
    "day_share_pct": null,
    "unique_locations": 58,
    "location_changes": 79,
    "speaking_characters": 18,
    "single_line_characters": 6,
    "dialogue_blocks": 1053,
    "dialogue_words": 8322,
    "dialogue_action_ratio": 1.13,
    "monologues": 22,
    "top_character_pct": 25.5,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 34,
    "words": 22359,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/black-bag-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1e282922ec74b91d485d99a8993b89dd57e4ecdfa7bb2f13cfce1a286a9297dd",
      "measurement_sha256": "7093c3639d5635e352374904355b952a80b8f15432833010b1a671564ba6513d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/black-bag-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.448Z.",
        "https://www.scriptslug.com/script/black-bag-2025",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"black-bag-2025\",\"Black Bag\",2025,\"Feature\",\"Thriller\",[\"David Koepp\"],\"https://www.scriptslug.com/script/black-bag-2025\",\"421e9e3fec1c6cfae01e31275c4074675fe958602a75f0cf99248c977d179a8b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6834e2ecfd32306828dd095ff6b9103c4aa2456262afe810a4cad60e529c9977",
    "source_locator_sha256": "b8880d32893a1805553c116eae20e742343de38dff06e4561685d26d96dfef54",
    "measurement_sha256": "6ee44e4d7b79f0b3501fb8d393659b1a820ffeefbdafabe5affa44a460266201",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "black-panther-2018",
    "title": "Black Panther",
    "year": 2018,
    "primary_genre": "Action",
    "writers": [
      "Joe Robert Cole",
      "Ryan Coogler"
    ],
    "pages": 123,
    "scenes": 231,
    "mean_scene_eighths": 4.1,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 51.7,
    "day_share_pct": 45.4,
    "unique_locations": 119,
    "location_changes": 222,
    "speaking_characters": 68,
    "single_line_characters": 21,
    "dialogue_blocks": 851,
    "dialogue_words": 8700,
    "dialogue_action_ratio": 0.91,
    "monologues": 15,
    "top_character_pct": 16.3,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 39,
    "words": 25274,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/black-panther-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6834e2ecfd32306828dd095ff6b9103c4aa2456262afe810a4cad60e529c9977",
      "measurement_sha256": "6ee44e4d7b79f0b3501fb8d393659b1a820ffeefbdafabe5affa44a460266201",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/black-panther-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.976Z.",
        "https://www.scriptslug.com/script/black-panther-2018",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"black-panther-2018\",\"Black Panther\",2018,\"Feature\",\"Action\",[\"Joe Robert Cole\",\"Ryan Coogler\"],\"https://www.scriptslug.com/script/black-panther-2018\",\"b8880d32893a1805553c116eae20e742343de38dff06e4561685d26d96dfef54\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "6aa791c7133f3c9872bca792cc1510ca4a2d068d6d24856dc76802646db28e50",
    "source_locator_sha256": "94c826703afcb84832d66c7037a4c234325823022aa17172eb94625f4ad402c0",
    "measurement_sha256": "9d4f3df5c30bbce1602f90803f0cab60904aa21d376ec7ea457bfe23ab01b48b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "black-panther-wakanda-forever-2022",
    "title": "Black Panther: Wakanda Forever",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Joe Robert Cole",
      "Ryan Coogler"
    ],
    "pages": 259,
    "scenes": 327,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 39.8,
    "day_share_pct": 72.6,
    "unique_locations": 126,
    "location_changes": 300,
    "speaking_characters": 78,
    "single_line_characters": 27,
    "dialogue_blocks": 1462,
    "dialogue_words": 15901,
    "dialogue_action_ratio": 1.25,
    "monologues": 51,
    "top_character_pct": 20.2,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 34,
    "words": 39463,
    "runtime_minutes": 172,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/black-panther-wakanda-forever-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6aa791c7133f3c9872bca792cc1510ca4a2d068d6d24856dc76802646db28e50",
      "measurement_sha256": "9d4f3df5c30bbce1602f90803f0cab60904aa21d376ec7ea457bfe23ab01b48b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/black-panther-wakanda-forever-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.621Z.",
        "https://www.scriptslug.com/script/black-panther-wakanda-forever-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"black-panther-wakanda-forever-2022\",\"Black Panther: Wakanda Forever\",2022,\"Feature\",\"Action\",[\"Joe Robert Cole\",\"Ryan Coogler\"],\"https://www.scriptslug.com/script/black-panther-wakanda-forever-2022\",\"94c826703afcb84832d66c7037a4c234325823022aa17172eb94625f4ad402c0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "53b81ea6537d470d642f69fe1a7e27400c03dafba210dd96a3d7fa2c9473d4b5",
    "source_locator_sha256": "3158256e2db533965a36f83117caba4ad076a3b676e05d4480b285cce25f7e2a",
    "measurement_sha256": "e9e6c171a5ec7993da1ca9ba445f4834d249bf74af07ea889740bcb99ac9a20e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "blackberry-2023",
    "title": "BlackBerry",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Matthew Miller",
      "Matt Johnson"
    ],
    "pages": 123,
    "scenes": 148,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 81.4,
    "day_share_pct": 93.7,
    "unique_locations": 56,
    "location_changes": 143,
    "speaking_characters": 71,
    "single_line_characters": 30,
    "dialogue_blocks": 1077,
    "dialogue_words": 9914,
    "dialogue_action_ratio": 1.91,
    "monologues": 24,
    "top_character_pct": 24.7,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 24,
    "words": 20857,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blackberry-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "53b81ea6537d470d642f69fe1a7e27400c03dafba210dd96a3d7fa2c9473d4b5",
      "measurement_sha256": "e9e6c171a5ec7993da1ca9ba445f4834d249bf74af07ea889740bcb99ac9a20e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blackberry-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.470Z.",
        "https://www.scriptslug.com/script/blackberry-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blackberry-2023\",\"BlackBerry\",2023,\"Feature\",\"Drama\",[\"Matthew Miller\",\"Matt Johnson\"],\"https://www.scriptslug.com/script/blackberry-2023\",\"3158256e2db533965a36f83117caba4ad076a3b676e05d4480b285cce25f7e2a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c0478d25515dfcc423e5e8d1afee69bf3b437eb94e3eaccd98d578b67c5dd9fc",
    "source_locator_sha256": "a2139aa9aa51ce717c61da84a1d6e340f3678c14f6c7e172970b548f6bccd348",
    "measurement_sha256": "dceb1ee73aca4ed7f7c8746a6c657c42046ac1dfbd6f1466142eb9b6a03f9efc",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "blade-runner-2049-2017",
    "title": "Blade Runner 2049",
    "year": 2017,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Michael Green",
      "Hampton Fancher"
    ],
    "pages": 109,
    "scenes": 169,
    "mean_scene_eighths": 5.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 64.5,
    "day_share_pct": null,
    "unique_locations": 117,
    "location_changes": 160,
    "speaking_characters": 25,
    "single_line_characters": 6,
    "dialogue_blocks": 642,
    "dialogue_words": 6094,
    "dialogue_action_ratio": 0.6,
    "monologues": 17,
    "top_character_pct": 20.5,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 51,
    "words": 24451,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blade-runner-2049-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c0478d25515dfcc423e5e8d1afee69bf3b437eb94e3eaccd98d578b67c5dd9fc",
      "measurement_sha256": "dceb1ee73aca4ed7f7c8746a6c657c42046ac1dfbd6f1466142eb9b6a03f9efc",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blade-runner-2049-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.143Z.",
        "https://www.scriptslug.com/script/blade-runner-2049-2017",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blade-runner-2049-2017\",\"Blade Runner 2049\",2017,\"Feature\",\"Sci-Fi\",[\"Michael Green\",\"Hampton Fancher\"],\"https://www.scriptslug.com/script/blade-runner-2049-2017\",\"a2139aa9aa51ce717c61da84a1d6e340f3678c14f6c7e172970b548f6bccd348\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "537fe04b6b2c5fad25c9cf4556e7f4696d046989f247f5ff75c7bddfd668c650",
    "source_locator_sha256": "c5a81379984f1152b8621be5ff066b46cdb7e5bad46130f903abb1da4a32d01b",
    "measurement_sha256": "e0284f41e0000572774806fd0fd91bf8edb31a29c0fe902d351ff051266d3c6d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "blades-of-glory-2007",
    "title": "Blades of Glory",
    "year": 2007,
    "primary_genre": "Comedy",
    "writers": [
      "John Altschuler",
      "Dave Krinsky"
    ],
    "pages": 112,
    "scenes": 90,
    "mean_scene_eighths": 10.1,
    "median_scene_eighths": 7,
    "median_scene_lines": 46.5,
    "interior_share_pct": 74.4,
    "day_share_pct": 46.8,
    "unique_locations": 42,
    "location_changes": 66,
    "speaking_characters": 62,
    "single_line_characters": 32,
    "dialogue_blocks": 808,
    "dialogue_words": 9788,
    "dialogue_action_ratio": 1.14,
    "monologues": 20,
    "top_character_pct": 23.7,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 37,
    "words": 25200,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blades-of-glory-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "537fe04b6b2c5fad25c9cf4556e7f4696d046989f247f5ff75c7bddfd668c650",
      "measurement_sha256": "e0284f41e0000572774806fd0fd91bf8edb31a29c0fe902d351ff051266d3c6d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blades-of-glory-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.244Z.",
        "https://www.scriptslug.com/script/blades-of-glory-2007",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blades-of-glory-2007\",\"Blades of Glory\",2007,\"Feature\",\"Comedy\",[\"John Altschuler\",\"Dave Krinsky\"],\"https://www.scriptslug.com/script/blades-of-glory-2007\",\"c5a81379984f1152b8621be5ff066b46cdb7e5bad46130f903abb1da4a32d01b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "2e1636fe8c7c9ebcf063d67ff9146290238a9376d86d75a28202c9a96ac8e454",
    "source_locator_sha256": "5924580c82bf79417779c0d28f6e4dc9aa8835132b21ae07576299cb0c0f28e4",
    "measurement_sha256": "dc6149ca7a229da36d4a33bf948eb79bbb8f3bb791cfb2e16ed6c69163115932",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "blink-twice-2024",
    "title": "Blink Twice",
    "year": 2024,
    "primary_genre": "Thriller",
    "writers": [
      "Zoë Kravitz",
      "E.T. Feigenbaum"
    ],
    "pages": 99,
    "scenes": 1,
    "mean_scene_eighths": 21,
    "median_scene_eighths": 21,
    "median_scene_lines": 147,
    "interior_share_pct": 0,
    "day_share_pct": 0,
    "unique_locations": 1,
    "location_changes": 0,
    "speaking_characters": 41,
    "single_line_characters": 16,
    "dialogue_blocks": 783,
    "dialogue_words": 6480,
    "dialogue_action_ratio": 0.88,
    "monologues": 23,
    "top_character_pct": 23.1,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 42,
    "words": 19328,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "dc6149ca7a229da36d4a33bf948eb79bbb8f3bb791cfb2e16ed6c69163115932",
      "source_sha256": "2e1636fe8c7c9ebcf063d67ff9146290238a9376d86d75a28202c9a96ac8e454",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blink-twice-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2e1636fe8c7c9ebcf063d67ff9146290238a9376d86d75a28202c9a96ac8e454",
      "measurement_sha256": "dc6149ca7a229da36d4a33bf948eb79bbb8f3bb791cfb2e16ed6c69163115932",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blink-twice-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.445Z.",
        "https://www.scriptslug.com/script/blink-twice-2024",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blink-twice-2024\",\"Blink Twice\",2024,\"Feature\",\"Thriller\",[\"Zoë Kravitz\",\"E.T. Feigenbaum\"],\"https://www.scriptslug.com/script/blink-twice-2024\",\"5924580c82bf79417779c0d28f6e4dc9aa8835132b21ae07576299cb0c0f28e4\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "16f5477986f3b4cf54176ad613a3adc8a9f48589bce9f60d048f143223f05b25",
    "source_locator_sha256": "bf81e1b003ae07cd3ef211f4c8c12678089ac5c424d8818fd4d90cb92c22a03c",
    "measurement_sha256": "eb2571740813367f774b3aa13343a01dffda8f0ddd905714a87f13cad7a044b9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "blitz-2024",
    "title": "Blitz",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Steve McQueen"
    ],
    "pages": 109,
    "scenes": 122,
    "mean_scene_eighths": 6.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 60.7,
    "day_share_pct": 68.9,
    "unique_locations": 67,
    "location_changes": 102,
    "speaking_characters": 101,
    "single_line_characters": 42,
    "dialogue_blocks": 614,
    "dialogue_words": 5662,
    "dialogue_action_ratio": 0.55,
    "monologues": 9,
    "top_character_pct": 13,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 51,
    "words": 23798,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blitz-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "16f5477986f3b4cf54176ad613a3adc8a9f48589bce9f60d048f143223f05b25",
      "measurement_sha256": "eb2571740813367f774b3aa13343a01dffda8f0ddd905714a87f13cad7a044b9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blitz-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.772Z.",
        "https://www.scriptslug.com/script/blitz-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blitz-2024\",\"Blitz\",2024,\"Feature\",\"Drama\",[\"Steve McQueen\"],\"https://www.scriptslug.com/script/blitz-2024\",\"bf81e1b003ae07cd3ef211f4c8c12678089ac5c424d8818fd4d90cb92c22a03c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "6ebd27d7e25241b373bf8ae341e6fa9f767ce2eca8d19fbd51a5128e7ab9eb41",
    "source_locator_sha256": "ad552f9e7b0e4a09447d5b50b747af3a9c165d5c0584f7507679de7792d9c783",
    "measurement_sha256": "c19dc17ee03a7548b1272c4d76a3d18c7e57584bd6a06ff95600e0fb8a8765b7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "blue-moon-2025",
    "title": "Blue Moon",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Robert Kaplow"
    ],
    "pages": 85,
    "scenes": 24,
    "mean_scene_eighths": 32.3,
    "median_scene_eighths": 30,
    "median_scene_lines": 206,
    "interior_share_pct": 91.7,
    "day_share_pct": 0,
    "unique_locations": 5,
    "location_changes": 7,
    "speaking_characters": 45,
    "single_line_characters": 25,
    "dialogue_blocks": 922,
    "dialogue_words": 12796,
    "dialogue_action_ratio": 4.38,
    "monologues": 78,
    "top_character_pct": 52.1,
    "dialogue_line_share_pct": 61,
    "action_line_share_pct": 14,
    "words": 17722,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/blue-moon-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6ebd27d7e25241b373bf8ae341e6fa9f767ce2eca8d19fbd51a5128e7ab9eb41",
      "measurement_sha256": "c19dc17ee03a7548b1272c4d76a3d18c7e57584bd6a06ff95600e0fb8a8765b7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/blue-moon-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.250Z.",
        "https://www.scriptslug.com/script/blue-moon-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"blue-moon-2025\",\"Blue Moon\",2025,\"Feature\",\"Drama\",[\"Robert Kaplow\"],\"https://www.scriptslug.com/script/blue-moon-2025\",\"ad552f9e7b0e4a09447d5b50b747af3a9c165d5c0584f7507679de7792d9c783\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "fd98a026c017a8508437d845814b71114683b546fe1125269fc44a6f89c116fe",
    "source_locator_sha256": "2ecb53376f0c4b07de74d3cf16ce2b9b8deb44cc2e5fe06f249f58058ef8279e",
    "measurement_sha256": "4e3279c395a03850bdc2c7cc5e7fc77554001f5a132ae1ac23a1fff3dab9dc3b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bones-and-all-2022",
    "title": "Bones and All",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "David Kajganich"
    ],
    "pages": 115,
    "scenes": 151,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 58.9,
    "day_share_pct": null,
    "unique_locations": 94,
    "location_changes": 104,
    "speaking_characters": 36,
    "single_line_characters": 12,
    "dialogue_blocks": 1031,
    "dialogue_words": 12783,
    "dialogue_action_ratio": 1.55,
    "monologues": 30,
    "top_character_pct": 25.6,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 30,
    "words": 28959,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bones-and-all-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fd98a026c017a8508437d845814b71114683b546fe1125269fc44a6f89c116fe",
      "measurement_sha256": "4e3279c395a03850bdc2c7cc5e7fc77554001f5a132ae1ac23a1fff3dab9dc3b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bones-and-all-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.067Z.",
        "https://www.scriptslug.com/script/bones-and-all-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bones-and-all-2022\",\"Bones and All\",2022,\"Feature\",\"Horror\",[\"David Kajganich\"],\"https://www.scriptslug.com/script/bones-and-all-2022\",\"2ecb53376f0c4b07de74d3cf16ce2b9b8deb44cc2e5fe06f249f58058ef8279e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0b46adc9a583eba3ae455d65703a84e732b9c627e04bbd281ccbbcc72720b6c7",
    "source_locator_sha256": "d18bfedd44b10f0fc4b3733f4490cfdcf75f62b33203f71aa0a22489da8e1458",
    "measurement_sha256": "2a3a78817d813cc4f41252f81370e469792b5cba5b16970e58fee8a6aa397444",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "booksmart-2019",
    "title": "Booksmart",
    "year": 2019,
    "primary_genre": "Comedy",
    "writers": [
      "Emily Halpern",
      "Sarah Haskins"
    ],
    "pages": 122,
    "scenes": 142,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 26.5,
    "interior_share_pct": 78.9,
    "day_share_pct": 69.2,
    "unique_locations": 75,
    "location_changes": 118,
    "speaking_characters": 52,
    "single_line_characters": 21,
    "dialogue_blocks": 1101,
    "dialogue_words": 9516,
    "dialogue_action_ratio": 1.8,
    "monologues": 13,
    "top_character_pct": 27.3,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 25,
    "words": 21026,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/booksmart-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0b46adc9a583eba3ae455d65703a84e732b9c627e04bbd281ccbbcc72720b6c7",
      "measurement_sha256": "2a3a78817d813cc4f41252f81370e469792b5cba5b16970e58fee8a6aa397444",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/booksmart-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.750Z.",
        "https://www.scriptslug.com/script/booksmart-2019",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"booksmart-2019\",\"Booksmart\",2019,\"Feature\",\"Comedy\",[\"Emily Halpern\",\"Sarah Haskins\"],\"https://www.scriptslug.com/script/booksmart-2019\",\"d18bfedd44b10f0fc4b3733f4490cfdcf75f62b33203f71aa0a22489da8e1458\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "38cb76b0f5855877612411d26191c1d229cbd9fae19e5c1a93c0f5f54b92cb07",
    "source_locator_sha256": "12dedcc7c461987f876e33265971ded7b70fba4abb3e0c6a61d821b8d29da4f6",
    "measurement_sha256": "801d1c0ff62f0199dd16ff3e3282f596e2eadc70139a812b317e732e4b16ef3d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bookworm-2024",
    "title": "Bookworm",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Toby Harvard"
    ],
    "pages": 100,
    "scenes": 66,
    "mean_scene_eighths": 12.8,
    "median_scene_eighths": 9,
    "median_scene_lines": 61.5,
    "interior_share_pct": 28.8,
    "day_share_pct": null,
    "unique_locations": 47,
    "location_changes": 61,
    "speaking_characters": 15,
    "single_line_characters": 2,
    "dialogue_blocks": 932,
    "dialogue_words": 8938,
    "dialogue_action_ratio": 1.61,
    "monologues": 19,
    "top_character_pct": 43.3,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 28,
    "words": 18181,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bookworm-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "38cb76b0f5855877612411d26191c1d229cbd9fae19e5c1a93c0f5f54b92cb07",
      "measurement_sha256": "801d1c0ff62f0199dd16ff3e3282f596e2eadc70139a812b317e732e4b16ef3d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bookworm-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:45.813Z.",
        "https://www.scriptslug.com/script/bookworm-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bookworm-2024\",\"Bookworm\",2024,\"Feature\",\"Comedy\",[\"Toby Harvard\"],\"https://www.scriptslug.com/script/bookworm-2024\",\"12dedcc7c461987f876e33265971ded7b70fba4abb3e0c6a61d821b8d29da4f6\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a05389687332ed7b28345da7e84e76d264294aaf6a81b55918334163fbd9d116",
    "source_locator_sha256": "5618e557f4477fdfb25c71e144b9ba5b72d734e69d352d5c1897ef7c45b7fbd7",
    "measurement_sha256": "80bdc92280bb27cfb1f47504ce76dd0d7521d101a9b58146562916ca51fe2e89",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "bottoms-2023",
    "title": "Bottoms",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Emma Seligman",
      "Rachel Sennott"
    ],
    "pages": 119,
    "scenes": 50,
    "mean_scene_eighths": 15.3,
    "median_scene_eighths": 9.5,
    "median_scene_lines": 66,
    "interior_share_pct": 51,
    "day_share_pct": 60,
    "unique_locations": 28,
    "location_changes": 48,
    "speaking_characters": 33,
    "single_line_characters": 7,
    "dialogue_blocks": 855,
    "dialogue_words": 10326,
    "dialogue_action_ratio": 1.91,
    "monologues": 31,
    "top_character_pct": 24.5,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 26,
    "words": 20365,
    "runtime_minutes": 108,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bottoms-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a05389687332ed7b28345da7e84e76d264294aaf6a81b55918334163fbd9d116",
      "measurement_sha256": "80bdc92280bb27cfb1f47504ce76dd0d7521d101a9b58146562916ca51fe2e89",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bottoms-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.610Z.",
        "https://www.scriptslug.com/script/bottoms-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bottoms-2023\",\"Bottoms\",2023,\"Feature\",\"Comedy\",[\"Emma Seligman\",\"Rachel Sennott\"],\"https://www.scriptslug.com/script/bottoms-2023\",\"5618e557f4477fdfb25c71e144b9ba5b72d734e69d352d5c1897ef7c45b7fbd7\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9b14b00da4307e6c5d4e98ebc098a5113ab5acb2acc50dc4f611277f55038cdf",
    "source_locator_sha256": "6968a59b96881a9497a7202387a01e5cd13741b7d5eaa426aee3e500e326a600",
    "measurement_sha256": "4dedae1364d42fa6e337ab56acb6ca579405c76c0d3db880452ffcf69eaa55b2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "boyhood-2014",
    "title": "Boyhood",
    "year": 2014,
    "primary_genre": "Drama",
    "writers": [
      "Richard Linklater"
    ],
    "pages": 182,
    "scenes": 160,
    "mean_scene_eighths": 9,
    "median_scene_eighths": 6,
    "median_scene_lines": 43,
    "interior_share_pct": 58.8,
    "day_share_pct": 75.2,
    "unique_locations": 86,
    "location_changes": 144,
    "speaking_characters": 79,
    "single_line_characters": 12,
    "dialogue_blocks": 2053,
    "dialogue_words": 20005,
    "dialogue_action_ratio": 5.24,
    "monologues": 79,
    "top_character_pct": 24.4,
    "dialogue_line_share_pct": 57,
    "action_line_share_pct": 11,
    "words": 29404,
    "runtime_minutes": 138,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/boyhood-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9b14b00da4307e6c5d4e98ebc098a5113ab5acb2acc50dc4f611277f55038cdf",
      "measurement_sha256": "4dedae1364d42fa6e337ab56acb6ca579405c76c0d3db880452ffcf69eaa55b2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/boyhood-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.259Z.",
        "https://www.scriptslug.com/script/boyhood-2014",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"boyhood-2014\",\"Boyhood\",2014,\"Feature\",\"Drama\",[\"Richard Linklater\"],\"https://www.scriptslug.com/script/boyhood-2014\",\"6968a59b96881a9497a7202387a01e5cd13741b7d5eaa426aee3e500e326a600\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "48f223c7489cead667257c5b200268236e9d48da5d4a77111c2f6fcbab8fd039",
    "source_locator_sha256": "25588fa685fe96e616a075567c4999f71e3694644d7fd7ba16633d096b06cd07",
    "measurement_sha256": "94a3dc7305641373ab4d7404eda8dadcbbc357dd807f764dd3a7e93b97fab9f2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bridesmaids-2011",
    "title": "Bridesmaids",
    "year": 2011,
    "primary_genre": "Comedy",
    "writers": [
      "Annie Mumolo",
      "Kristen Wiig"
    ],
    "pages": 110,
    "scenes": 95,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 6,
    "median_scene_lines": 40,
    "interior_share_pct": 67.9,
    "day_share_pct": 69.4,
    "unique_locations": 52,
    "location_changes": 79,
    "speaking_characters": 42,
    "single_line_characters": 12,
    "dialogue_blocks": 1055,
    "dialogue_words": 11709,
    "dialogue_action_ratio": 3.03,
    "monologues": 38,
    "top_character_pct": 32.6,
    "dialogue_line_share_pct": 53,
    "action_line_share_pct": 18,
    "words": 19948,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bridesmaids-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "48f223c7489cead667257c5b200268236e9d48da5d4a77111c2f6fcbab8fd039",
      "measurement_sha256": "94a3dc7305641373ab4d7404eda8dadcbbc357dd807f764dd3a7e93b97fab9f2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bridesmaids-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.527Z.",
        "https://www.scriptslug.com/script/bridesmaids-2011",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bridesmaids-2011\",\"Bridesmaids\",2011,\"Feature\",\"Comedy\",[\"Annie Mumolo\",\"Kristen Wiig\"],\"https://www.scriptslug.com/script/bridesmaids-2011\",\"25588fa685fe96e616a075567c4999f71e3694644d7fd7ba16633d096b06cd07\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "917eb6f08bf16ff9da96be09ceacbcbcb1ff0c9572a112f40750b0d1d6a7e8cc",
    "source_locator_sha256": "b2630fac01d31649c97827bffce8ed3a7de980b2c29baefc4e0303a5c6891cdd",
    "measurement_sha256": "ce88afe85c100c25c00080c7be7947d2556f410c926b80611de080816942dbf6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "bridget-joness-diary-2001",
    "title": "Bridget Jones's Diary",
    "year": 2001,
    "primary_genre": "Romance",
    "writers": [
      "Richard Curtis",
      "Helen Fielding",
      "Andrew Davies"
    ],
    "pages": 130,
    "scenes": 86,
    "mean_scene_eighths": 12.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 32.5,
    "interior_share_pct": 78.5,
    "day_share_pct": 71.4,
    "unique_locations": 79,
    "location_changes": 83,
    "speaking_characters": 150,
    "single_line_characters": 99,
    "dialogue_blocks": 749,
    "dialogue_words": 7922,
    "dialogue_action_ratio": 0.6,
    "monologues": 33,
    "top_character_pct": 15.8,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 54,
    "words": 29017,
    "runtime_minutes": 149,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bridget-joness-diary-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "917eb6f08bf16ff9da96be09ceacbcbcb1ff0c9572a112f40750b0d1d6a7e8cc",
      "measurement_sha256": "ce88afe85c100c25c00080c7be7947d2556f410c926b80611de080816942dbf6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bridget-joness-diary-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.133Z.",
        "https://www.scriptslug.com/script/bridget-joness-diary-2001",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bridget-joness-diary-2001\",\"Bridget Jones's Diary\",2001,\"Feature\",\"Romance\",[\"Richard Curtis\",\"Helen Fielding\",\"Andrew Davies\"],\"https://www.scriptslug.com/script/bridget-joness-diary-2001\",\"b2630fac01d31649c97827bffce8ed3a7de980b2c29baefc4e0303a5c6891cdd\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1c15c9b1680b7c9f42bbc8683d495fb4aec56ce0753c3f52627f417447745ed9",
    "source_locator_sha256": "eed7054253d3114dc5bd3ab5f7608d0cd6131d1e6ff1720553b584a5d9d66f28",
    "measurement_sha256": "78ef81ff86b6805c9c3df85ca0756ed4a07d552bb9dee4aa08fbc035e5c17b99",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bright-2017",
    "title": "Bright",
    "year": 2017,
    "primary_genre": "Fantasy",
    "writers": [
      "Max Landis",
      "David Ayer"
    ],
    "pages": 97,
    "scenes": 101,
    "mean_scene_eighths": 7.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 44.6,
    "day_share_pct": 54.7,
    "unique_locations": 21,
    "location_changes": 64,
    "speaking_characters": 40,
    "single_line_characters": 8,
    "dialogue_blocks": 775,
    "dialogue_words": 8000,
    "dialogue_action_ratio": 1.37,
    "monologues": 17,
    "top_character_pct": 28.8,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 31,
    "words": 19596,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bright-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1c15c9b1680b7c9f42bbc8683d495fb4aec56ce0753c3f52627f417447745ed9",
      "measurement_sha256": "78ef81ff86b6805c9c3df85ca0756ed4a07d552bb9dee4aa08fbc035e5c17b99",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bright-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.131Z.",
        "https://www.scriptslug.com/script/bright-2017",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bright-2017\",\"Bright\",2017,\"Feature\",\"Fantasy\",[\"Max Landis\",\"David Ayer\"],\"https://www.scriptslug.com/script/bright-2017\",\"eed7054253d3114dc5bd3ab5f7608d0cd6131d1e6ff1720553b584a5d9d66f28\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ffe0a7c23bab48857894123f2ba91d477a36597c5f0d0c19da4613e072bccc7a",
    "source_locator_sha256": "5c37e8def5b98a9d1ab1c2c2333292e77236326526b2817360696b5154904875",
    "measurement_sha256": "5b2214aa86399e0cff6a8d04b1c4a4c0ab15321cd0be08a1b39c74b8b716bf3c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "brooklyn-2015",
    "title": "Brooklyn",
    "year": 2015,
    "primary_genre": "Romance",
    "writers": [
      "Nick Hornby"
    ],
    "pages": 115,
    "scenes": 152,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 63.2,
    "day_share_pct": 100,
    "unique_locations": 94,
    "location_changes": 143,
    "speaking_characters": 39,
    "single_line_characters": 4,
    "dialogue_blocks": 879,
    "dialogue_words": 10653,
    "dialogue_action_ratio": 1.57,
    "monologues": 27,
    "top_character_pct": 29.2,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 29,
    "words": 23516,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/brooklyn-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ffe0a7c23bab48857894123f2ba91d477a36597c5f0d0c19da4613e072bccc7a",
      "measurement_sha256": "5b2214aa86399e0cff6a8d04b1c4a4c0ab15321cd0be08a1b39c74b8b716bf3c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/brooklyn-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.326Z.",
        "https://www.scriptslug.com/script/brooklyn-2015",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"brooklyn-2015\",\"Brooklyn\",2015,\"Feature\",\"Romance\",[\"Nick Hornby\"],\"https://www.scriptslug.com/script/brooklyn-2015\",\"5c37e8def5b98a9d1ab1c2c2333292e77236326526b2817360696b5154904875\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "bbea2123bfef70128c439df362f4bbc13e7582aa90eba1cbd2dd935ed32eb1c7",
    "source_locator_sha256": "2fe89b7747b7b1f4728d84e6b292cd7b4855a8bf7a9f2a2817c1f187ef3ca238",
    "measurement_sha256": "034055e111c477e7564c06cedd658cf97b7f0e515f8a518ef78a436696be5a22",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "bugonia-2025",
    "title": "Bugonia",
    "year": 2025,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Will Tracy"
    ],
    "pages": 103,
    "scenes": 184,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 62.2,
    "day_share_pct": 100,
    "unique_locations": 97,
    "location_changes": 173,
    "speaking_characters": 23,
    "single_line_characters": 7,
    "dialogue_blocks": 827,
    "dialogue_words": 9317,
    "dialogue_action_ratio": 1.5,
    "monologues": 32,
    "top_character_pct": 41.2,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 30,
    "words": 20990,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/bugonia-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "bbea2123bfef70128c439df362f4bbc13e7582aa90eba1cbd2dd935ed32eb1c7",
      "measurement_sha256": "034055e111c477e7564c06cedd658cf97b7f0e515f8a518ef78a436696be5a22",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/bugonia-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.193Z.",
        "https://www.scriptslug.com/script/bugonia-2025",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"bugonia-2025\",\"Bugonia\",2025,\"Feature\",\"Sci-Fi\",[\"Will Tracy\"],\"https://www.scriptslug.com/script/bugonia-2025\",\"2fe89b7747b7b1f4728d84e6b292cd7b4855a8bf7a9f2a2817c1f187ef3ca238\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3940c012f73ccce03ecbb5bc269274024e0eb670fc51dfac9f8ece7d52c8adb3",
    "source_locator_sha256": "45de4a91dbbbf8552e1eeda6f1caf1add0ec814f6329e0140da50c43aa4fd0f5",
    "measurement_sha256": "13f98f690d02aa7757c0c557ff4d0e4781bafc02d79224b5759400f78ab40b0e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "call-me-by-your-name-2017",
    "title": "Call Me by Your Name",
    "year": 2017,
    "primary_genre": "Romance",
    "writers": [
      "James Ivory"
    ],
    "pages": 82,
    "scenes": 119,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 52.1,
    "day_share_pct": 79.5,
    "unique_locations": 69,
    "location_changes": 117,
    "speaking_characters": 15,
    "single_line_characters": 4,
    "dialogue_blocks": 515,
    "dialogue_words": 5282,
    "dialogue_action_ratio": 0.88,
    "monologues": 19,
    "top_character_pct": 26.3,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 39,
    "words": 17875,
    "runtime_minutes": 95,
    "parenthetical_rate": 0.36,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/call-me-by-your-name-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3940c012f73ccce03ecbb5bc269274024e0eb670fc51dfac9f8ece7d52c8adb3",
      "measurement_sha256": "13f98f690d02aa7757c0c557ff4d0e4781bafc02d79224b5759400f78ab40b0e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/call-me-by-your-name-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.251Z.",
        "https://www.scriptslug.com/script/call-me-by-your-name-2017",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"call-me-by-your-name-2017\",\"Call Me by Your Name\",2017,\"Feature\",\"Romance\",[\"James Ivory\"],\"https://www.scriptslug.com/script/call-me-by-your-name-2017\",\"45de4a91dbbbf8552e1eeda6f1caf1add0ec814f6329e0140da50c43aa4fd0f5\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9161d4f184f9631a5c4334386bfc545e1277d8c3eab0a137d2a987e7e01437f4",
    "source_locator_sha256": "775a4c959b154ab054e9f835749ae1459f9386e6ae2632d576ee1de0eaa9a347",
    "measurement_sha256": "73a9e49407471af27e123c72ca69c4e026bfb44446b93575d22d42a177d62a7e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "candyman-2021",
    "title": "Candyman",
    "year": 2021,
    "primary_genre": "Horror",
    "writers": [
      "Jordan Peele",
      "Win Rosenfeld"
    ],
    "pages": 89,
    "scenes": 96,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 64.6,
    "day_share_pct": null,
    "unique_locations": 54,
    "location_changes": 79,
    "speaking_characters": 36,
    "single_line_characters": 8,
    "dialogue_blocks": 649,
    "dialogue_words": 6721,
    "dialogue_action_ratio": 1.31,
    "monologues": 26,
    "top_character_pct": 22.2,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 32,
    "words": 16033,
    "runtime_minutes": 95,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/candyman-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9161d4f184f9631a5c4334386bfc545e1277d8c3eab0a137d2a987e7e01437f4",
      "measurement_sha256": "73a9e49407471af27e123c72ca69c4e026bfb44446b93575d22d42a177d62a7e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/candyman-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.076Z.",
        "https://www.scriptslug.com/script/candyman-2021",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"candyman-2021\",\"Candyman\",2021,\"Feature\",\"Horror\",[\"Jordan Peele\",\"Win Rosenfeld\"],\"https://www.scriptslug.com/script/candyman-2021\",\"775a4c959b154ab054e9f835749ae1459f9386e6ae2632d576ee1de0eaa9a347\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "760e45506802e2db55a167b4670320df35b846c35acf58bb8651898389b3026b",
    "source_locator_sha256": "66c4673df7ada131a34778e3a0f630e7a7c81fae80d3a6f23a6495fa106ab304",
    "measurement_sha256": "74af6257182208852a62c09920a5147645f35b9c6630663d347eac8f9e9cbf51",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "carol-2015",
    "title": "Carol",
    "year": 2015,
    "primary_genre": "Romance",
    "writers": [
      "Phyllis Nagy"
    ],
    "pages": 118,
    "scenes": 163,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 72.1,
    "day_share_pct": 0,
    "unique_locations": 144,
    "location_changes": 157,
    "speaking_characters": 42,
    "single_line_characters": 13,
    "dialogue_blocks": 947,
    "dialogue_words": 8733,
    "dialogue_action_ratio": 1.09,
    "monologues": 16,
    "top_character_pct": 31.9,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 35,
    "words": 25685,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/carol-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "760e45506802e2db55a167b4670320df35b846c35acf58bb8651898389b3026b",
      "measurement_sha256": "74af6257182208852a62c09920a5147645f35b9c6630663d347eac8f9e9cbf51",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/carol-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.750Z.",
        "https://www.scriptslug.com/script/carol-2015",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"carol-2015\",\"Carol\",2015,\"Feature\",\"Romance\",[\"Phyllis Nagy\"],\"https://www.scriptslug.com/script/carol-2015\",\"66c4673df7ada131a34778e3a0f630e7a7c81fae80d3a6f23a6495fa106ab304\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "861e522486d415d2c4d08f2fc2b81807a51f55e849439e86a0eeecf18ad710c7",
    "source_locator_sha256": "d288d8fcb6ccd3fd1a03199c365fd1c629f2f50e8dc4d4bb24796ac899febd1d",
    "measurement_sha256": "82d2594a9fa8affaea86fa0cdb27acc676de22e69656357dfa2813cc720f9421",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "casino-royale-2006",
    "title": "Casino Royale",
    "year": 2006,
    "primary_genre": "Action",
    "writers": [
      "Neal Purvis",
      "Robert Wade",
      "Paul Haggis"
    ],
    "pages": 113,
    "scenes": 164,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 61.3,
    "day_share_pct": 30.8,
    "unique_locations": 140,
    "location_changes": 159,
    "speaking_characters": 106,
    "single_line_characters": 69,
    "dialogue_blocks": 901,
    "dialogue_words": 6786,
    "dialogue_action_ratio": 0.6,
    "monologues": 13,
    "top_character_pct": 16.5,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 53,
    "words": 28197,
    "runtime_minutes": 137,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/casino-royale-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "861e522486d415d2c4d08f2fc2b81807a51f55e849439e86a0eeecf18ad710c7",
      "measurement_sha256": "82d2594a9fa8affaea86fa0cdb27acc676de22e69656357dfa2813cc720f9421",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/casino-royale-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.960Z.",
        "https://www.scriptslug.com/script/casino-royale-2006",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"casino-royale-2006\",\"Casino Royale\",2006,\"Feature\",\"Action\",[\"Neal Purvis\",\"Robert Wade\",\"Paul Haggis\"],\"https://www.scriptslug.com/script/casino-royale-2006\",\"d288d8fcb6ccd3fd1a03199c365fd1c629f2f50e8dc4d4bb24796ac899febd1d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3ad87554f786398b1ec961f51f15153a67a7616d66a52134022e25d9a76d7dd5",
    "source_locator_sha256": "bc12102d12d51cb5256e9e6e75164c21602796ff4c78e415daeba02725374a30",
    "measurement_sha256": "1b200ff48326463cd001cbcd6f48178dd06a91825396ee9f00d5f9eb000df93d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "cassandro-2023",
    "title": "Cassandro",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "David Teague",
      "Roger Ross Williams"
    ],
    "pages": 95,
    "scenes": 96,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 25,
    "interior_share_pct": 71.4,
    "day_share_pct": 39.7,
    "unique_locations": 53,
    "location_changes": 77,
    "speaking_characters": 49,
    "single_line_characters": 16,
    "dialogue_blocks": 641,
    "dialogue_words": 8437,
    "dialogue_action_ratio": 1.47,
    "monologues": 40,
    "top_character_pct": 34.1,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 32,
    "words": 19495,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/cassandro-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3ad87554f786398b1ec961f51f15153a67a7616d66a52134022e25d9a76d7dd5",
      "measurement_sha256": "1b200ff48326463cd001cbcd6f48178dd06a91825396ee9f00d5f9eb000df93d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/cassandro-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.720Z.",
        "https://www.scriptslug.com/script/cassandro-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"cassandro-2023\",\"Cassandro\",2023,\"Feature\",\"Drama\",[\"David Teague\",\"Roger Ross Williams\"],\"https://www.scriptslug.com/script/cassandro-2023\",\"bc12102d12d51cb5256e9e6e75164c21602796ff4c78e415daeba02725374a30\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4868fb10ff6827ed19ec9f28f99e518a514fff23ccdce33926954a7bd82771fd",
    "source_locator_sha256": "d0d87fb7547a3c77e609266b935149815f07b0946a8c8decb25b54ddd5e6184b",
    "measurement_sha256": "616d9189ff0cf1bdc19a25bd6b7fa478f94faf23d4b5e21318a37beab71536d7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "charlie-and-the-chocolate-factory-2005",
    "title": "Charlie and the Chocolate Factory",
    "year": 2005,
    "primary_genre": "Animation/Family",
    "writers": [
      "John August"
    ],
    "pages": 118,
    "scenes": 112,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 66.5,
    "day_share_pct": 80.3,
    "unique_locations": 64,
    "location_changes": 104,
    "speaking_characters": 42,
    "single_line_characters": 12,
    "dialogue_blocks": 779,
    "dialogue_words": 8630,
    "dialogue_action_ratio": 1.15,
    "monologues": 24,
    "top_character_pct": 34.8,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 36,
    "words": 22817,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/charlie-and-the-chocolate-factory-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4868fb10ff6827ed19ec9f28f99e518a514fff23ccdce33926954a7bd82771fd",
      "measurement_sha256": "616d9189ff0cf1bdc19a25bd6b7fa478f94faf23d4b5e21318a37beab71536d7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/charlie-and-the-chocolate-factory-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.945Z.",
        "https://www.scriptslug.com/script/charlie-and-the-chocolate-factory-2005",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"charlie-and-the-chocolate-factory-2005\",\"Charlie and the Chocolate Factory\",2005,\"Feature\",\"Animation/Family\",[\"John August\"],\"https://www.scriptslug.com/script/charlie-and-the-chocolate-factory-2005\",\"d0d87fb7547a3c77e609266b935149815f07b0946a8c8decb25b54ddd5e6184b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "67bb4f62f589166aee4f29107bdc9eff8f509bd59bf7a85c2d2a17d61beb9f4e",
    "source_locator_sha256": "99d2f4c2f9cb6aba62d084115efc03fd8e8800612bcf1fb52d218f4a2747a219",
    "measurement_sha256": "793612ef5d7e6c077973eadef054961e6e2e985bbb93e0ad32385c060aee392c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "children-of-men-2006",
    "title": "Children of Men",
    "year": 2006,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Alfonso Cuarón",
      "Timothy J. Sexton"
    ],
    "pages": 128,
    "scenes": 132,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 55.3,
    "day_share_pct": null,
    "unique_locations": 107,
    "location_changes": 122,
    "speaking_characters": 47,
    "single_line_characters": 15,
    "dialogue_blocks": 887,
    "dialogue_words": 7094,
    "dialogue_action_ratio": 0.75,
    "monologues": 25,
    "top_character_pct": 19.9,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 25174,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/children-of-men-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "67bb4f62f589166aee4f29107bdc9eff8f509bd59bf7a85c2d2a17d61beb9f4e",
      "measurement_sha256": "793612ef5d7e6c077973eadef054961e6e2e985bbb93e0ad32385c060aee392c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/children-of-men-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.991Z.",
        "https://www.scriptslug.com/script/children-of-men-2006",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"children-of-men-2006\",\"Children of Men\",2006,\"Feature\",\"Sci-Fi\",[\"Alfonso Cuarón\",\"Timothy J. Sexton\"],\"https://www.scriptslug.com/script/children-of-men-2006\",\"99d2f4c2f9cb6aba62d084115efc03fd8e8800612bcf1fb52d218f4a2747a219\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "4b9d728c319c98116fc1f2f813427d05930a64b4123e52d6a516603d5a31edf5",
    "source_locator_sha256": "736992580a1222097327e786c1fda21ccced0a30b3af36c3c2695d429caae850",
    "measurement_sha256": "329a6cbd088cfa724561406045adbef987faf50d85dc311b351623a71e78ae34",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "chronicle-2012",
    "title": "Chronicle",
    "year": 2012,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Max Landis"
    ],
    "pages": 93,
    "scenes": 78,
    "mean_scene_eighths": 8.8,
    "median_scene_eighths": 8,
    "median_scene_lines": 53.5,
    "interior_share_pct": 53.8,
    "day_share_pct": 52.9,
    "unique_locations": 33,
    "location_changes": 55,
    "speaking_characters": 34,
    "single_line_characters": 9,
    "dialogue_blocks": 725,
    "dialogue_words": 6919,
    "dialogue_action_ratio": 1.18,
    "monologues": 18,
    "top_character_pct": 32.3,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 35,
    "words": 18168,
    "runtime_minutes": 101,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/chronicle-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4b9d728c319c98116fc1f2f813427d05930a64b4123e52d6a516603d5a31edf5",
      "measurement_sha256": "329a6cbd088cfa724561406045adbef987faf50d85dc311b351623a71e78ae34",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/chronicle-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:45.927Z.",
        "https://www.scriptslug.com/script/chronicle-2012",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"chronicle-2012\",\"Chronicle\",2012,\"Feature\",\"Sci-Fi\",[\"Max Landis\"],\"https://www.scriptslug.com/script/chronicle-2012\",\"736992580a1222097327e786c1fda21ccced0a30b3af36c3c2695d429caae850\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3a2f280694ce3ab55ce006009205acbdf31ca49f030585cc7a72eb5f8219cf21",
    "source_locator_sha256": "c9989b1c8759c6d8d071e5690e0cca4bd93692e89c9889591d9f18cacdeef663",
    "measurement_sha256": "fd66a9132013305accfe1a3e150de36c18f924905938ba4535878e3d3fc97d49",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "cloverfield-2008",
    "title": "Cloverfield",
    "year": 2008,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Drew Goddard"
    ],
    "pages": 121,
    "scenes": 141,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 61,
    "day_share_pct": 11.6,
    "unique_locations": 45,
    "location_changes": 70,
    "speaking_characters": 38,
    "single_line_characters": 10,
    "dialogue_blocks": 848,
    "dialogue_words": 6568,
    "dialogue_action_ratio": 0.7,
    "monologues": 3,
    "top_character_pct": 25.7,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 43,
    "words": 26200,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/cloverfield-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3a2f280694ce3ab55ce006009205acbdf31ca49f030585cc7a72eb5f8219cf21",
      "measurement_sha256": "fd66a9132013305accfe1a3e150de36c18f924905938ba4535878e3d3fc97d49",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/cloverfield-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.664Z.",
        "https://www.scriptslug.com/script/cloverfield-2008",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"cloverfield-2008\",\"Cloverfield\",2008,\"Feature\",\"Sci-Fi\",[\"Drew Goddard\"],\"https://www.scriptslug.com/script/cloverfield-2008\",\"c9989b1c8759c6d8d071e5690e0cca4bd93692e89c9889591d9f18cacdeef663\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d0eec40da67a66a9629cd7608e64837ecd2621af3d6677229426ccf87c8c8856",
    "source_locator_sha256": "774d53faccb048b5ec5ae62df25255897dcf1c197f838312b3f4618dfb69d79a",
    "measurement_sha256": "68a7a73f5412a76345bd282c3529bbd5ea5897ccb9f9430a08c4bdce03f5cc88",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "coda-2021",
    "title": "CODA",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Siân Heder"
    ],
    "pages": 80,
    "scenes": 109,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 59.6,
    "day_share_pct": 81,
    "unique_locations": 24,
    "location_changes": 70,
    "speaking_characters": 44,
    "single_line_characters": 18,
    "dialogue_blocks": 712,
    "dialogue_words": 5904,
    "dialogue_action_ratio": 1.38,
    "monologues": 9,
    "top_character_pct": 25.5,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 29,
    "words": 14656,
    "runtime_minutes": 88,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/coda-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d0eec40da67a66a9629cd7608e64837ecd2621af3d6677229426ccf87c8c8856",
      "measurement_sha256": "68a7a73f5412a76345bd282c3529bbd5ea5897ccb9f9430a08c4bdce03f5cc88",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/coda-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.954Z.",
        "https://www.scriptslug.com/script/coda-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"coda-2021\",\"CODA\",2021,\"Feature\",\"Drama\",[\"Siân Heder\"],\"https://www.scriptslug.com/script/coda-2021\",\"774d53faccb048b5ec5ae62df25255897dcf1c197f838312b3f4618dfb69d79a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3c1627334821dfe169d37c803e02edf6f0bd0e8c8d8a85c55e8dec6c8632ca13",
    "source_locator_sha256": "1db69e4a7bcd1158d8026cac2e7068357ae99ace3a29ededc92b03cc973e395f",
    "measurement_sha256": "e90e45fe2b92528e2f0e6c0bb4f27eb5314f0bd1e4eefd8f3eee731614a56f7a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "collateral-2004",
    "title": "Collateral",
    "year": 2004,
    "primary_genre": "Thriller",
    "writers": [
      "Stuart Beattie",
      "Frank Darabont",
      "Michael Mann"
    ],
    "pages": 167,
    "scenes": 169,
    "mean_scene_eighths": 6,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 69.2,
    "day_share_pct": 6.3,
    "unique_locations": 90,
    "location_changes": 153,
    "speaking_characters": 45,
    "single_line_characters": 18,
    "dialogue_blocks": 957,
    "dialogue_words": 8221,
    "dialogue_action_ratio": 0.95,
    "monologues": 15,
    "top_character_pct": 32.3,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 38,
    "words": 24558,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/collateral-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3c1627334821dfe169d37c803e02edf6f0bd0e8c8d8a85c55e8dec6c8632ca13",
      "measurement_sha256": "e90e45fe2b92528e2f0e6c0bb4f27eb5314f0bd1e4eefd8f3eee731614a56f7a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/collateral-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.946Z.",
        "https://www.scriptslug.com/script/collateral-2004",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"collateral-2004\",\"Collateral\",2004,\"Feature\",\"Thriller\",[\"Stuart Beattie\",\"Frank Darabont\",\"Michael Mann\"],\"https://www.scriptslug.com/script/collateral-2004\",\"1db69e4a7bcd1158d8026cac2e7068357ae99ace3a29ededc92b03cc973e395f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ef5c5221c8568335370522b915367dc7063d8d919dc3522ff740dcb18ce3d2f9",
    "source_locator_sha256": "29c9e293117e4df2d56787daeace6b90de9ac4c3b79ea151d7dfe160921c2aa9",
    "measurement_sha256": "24a130e55f0d67eefedef4c6a2763cd9a93fa71413869b49d34012df4e23b5f1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "conclave-2024",
    "title": "Conclave",
    "year": 2024,
    "primary_genre": "Thriller",
    "writers": [
      "Peter Straughan"
    ],
    "pages": 129,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 38,
    "single_line_characters": 16,
    "dialogue_blocks": 779,
    "dialogue_words": 9028,
    "dialogue_action_ratio": 0.83,
    "monologues": 33,
    "top_character_pct": 38.4,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 44,
    "words": 26996,
    "runtime_minutes": 135,
    "parenthetical_rate": 0.31,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "24a130e55f0d67eefedef4c6a2763cd9a93fa71413869b49d34012df4e23b5f1",
      "source_sha256": "ef5c5221c8568335370522b915367dc7063d8d919dc3522ff740dcb18ce3d2f9",
      "pdf_pages": [
        2,
        10,
        21
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "Bilingual parallel dialogue repeats translated speeches in the held draft. The unseparated word counts and dialogue shares are not comparable to one-language speech measures; existing scene withholding remains.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/conclave-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ef5c5221c8568335370522b915367dc7063d8d919dc3522ff740dcb18ce3d2f9",
      "measurement_sha256": "24a130e55f0d67eefedef4c6a2763cd9a93fa71413869b49d34012df4e23b5f1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/conclave-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.807Z.",
        "https://www.scriptslug.com/script/conclave-2024",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"conclave-2024\",\"Conclave\",2024,\"Feature\",\"Thriller\",[\"Peter Straughan\"],\"https://www.scriptslug.com/script/conclave-2024\",\"29c9e293117e4df2d56787daeace6b90de9ac4c3b79ea151d7dfe160921c2aa9\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "c8bdc0848cc3deb7159b58569795b260782410b404147f68d400ca91fe2b3511",
    "source_locator_sha256": "0e3b401dceee3b001937cb81c197a8281e85abde4d5140b3a3aa0a08f33088cb",
    "measurement_sha256": "7a1537499b81ce2e48c7cfd649b472f973aa95d7e37d42878e2ea99563e2c0ce",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "constantine-2005",
    "title": "Constantine",
    "year": 2005,
    "primary_genre": "Fantasy",
    "writers": [
      "Kevin Brodbin",
      "Mark Bomback",
      "Frank Cappello"
    ],
    "pages": 120,
    "scenes": 150,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 21.5,
    "interior_share_pct": 65.3,
    "day_share_pct": 40.6,
    "unique_locations": 87,
    "location_changes": 142,
    "speaking_characters": 32,
    "single_line_characters": 13,
    "dialogue_blocks": 746,
    "dialogue_words": 6063,
    "dialogue_action_ratio": 0.66,
    "monologues": 12,
    "top_character_pct": 49.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 47,
    "words": 24233,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/constantine-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c8bdc0848cc3deb7159b58569795b260782410b404147f68d400ca91fe2b3511",
      "measurement_sha256": "7a1537499b81ce2e48c7cfd649b472f973aa95d7e37d42878e2ea99563e2c0ce",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/constantine-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:31.679Z.",
        "https://www.scriptslug.com/script/constantine-2005",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"constantine-2005\",\"Constantine\",2005,\"Feature\",\"Fantasy\",[\"Kevin Brodbin\",\"Mark Bomback\",\"Frank Cappello\"],\"https://www.scriptslug.com/script/constantine-2005\",\"0e3b401dceee3b001937cb81c197a8281e85abde4d5140b3a3aa0a08f33088cb\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c5bcd5f8932aa0766c60ceffc8d2f9b9c27f7de692687f8c256f7b4ce09232e4",
    "source_locator_sha256": "12d4dc5cb1667d9be5466b822fb57b7979c6729e70e19c17a27778ada3a94aeb",
    "measurement_sha256": "5961ede7f87a7a545187f2ab5e01d07f79e1f2a1c98c2c06e02865b7931d4ddd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "coraline-2009",
    "title": "Coraline",
    "year": 2009,
    "primary_genre": "Animation/Family",
    "writers": [
      "Henry Selick"
    ],
    "pages": 115,
    "scenes": 121,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 75.6,
    "day_share_pct": 33.3,
    "unique_locations": 62,
    "location_changes": 113,
    "speaking_characters": 40,
    "single_line_characters": 10,
    "dialogue_blocks": 724,
    "dialogue_words": 5492,
    "dialogue_action_ratio": 0.62,
    "monologues": 1,
    "top_character_pct": 10,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 49,
    "words": 23938,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/coraline-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c5bcd5f8932aa0766c60ceffc8d2f9b9c27f7de692687f8c256f7b4ce09232e4",
      "measurement_sha256": "5961ede7f87a7a545187f2ab5e01d07f79e1f2a1c98c2c06e02865b7931d4ddd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/coraline-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.955Z.",
        "https://www.scriptslug.com/script/coraline-2009",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"coraline-2009\",\"Coraline\",2009,\"Feature\",\"Animation/Family\",[\"Henry Selick\"],\"https://www.scriptslug.com/script/coraline-2009\",\"12d4dc5cb1667d9be5466b822fb57b7979c6729e70e19c17a27778ada3a94aeb\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c50e0a091b0aef8d1f16c6b1775ad2dded04cd7b8edcca214f3924172ebb11fa",
    "source_locator_sha256": "18589850632a8d316208c9b9e33ae0b28d95995f4cc4099aa67caec53be48fdd",
    "measurement_sha256": "602befb7ec00fcac3f2227b2760c336ebf6d0cb5d2e6164435f30bd11bc55fbb",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "corpse-bride-2005",
    "title": "Corpse Bride",
    "year": 2005,
    "primary_genre": "Animation/Family",
    "writers": [
      "John August",
      "Pamela Pettler",
      "Caroline Thompson"
    ],
    "pages": 72,
    "scenes": 57,
    "mean_scene_eighths": 14.3,
    "median_scene_eighths": 10,
    "median_scene_lines": 69,
    "interior_share_pct": 56.1,
    "day_share_pct": 60,
    "unique_locations": 47,
    "location_changes": 56,
    "speaking_characters": 42,
    "single_line_characters": 13,
    "dialogue_blocks": 914,
    "dialogue_words": 4855,
    "dialogue_action_ratio": 0.64,
    "monologues": 3,
    "top_character_pct": 12.8,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 48,
    "words": 14090,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/corpse-bride-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c50e0a091b0aef8d1f16c6b1775ad2dded04cd7b8edcca214f3924172ebb11fa",
      "measurement_sha256": "602befb7ec00fcac3f2227b2760c336ebf6d0cb5d2e6164435f30bd11bc55fbb",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/corpse-bride-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.278Z.",
        "https://www.scriptslug.com/script/corpse-bride-2005",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"corpse-bride-2005\",\"Corpse Bride\",2005,\"Feature\",\"Animation/Family\",[\"John August\",\"Pamela Pettler\",\"Caroline Thompson\"],\"https://www.scriptslug.com/script/corpse-bride-2005\",\"18589850632a8d316208c9b9e33ae0b28d95995f4cc4099aa67caec53be48fdd\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "21f81694f53499809db6776c917e34afdd99418eff77ffbbaf888d5d9535a027",
    "source_locator_sha256": "0c7494c715b98eccc159ff76229a19c6a33d97c141d43eb05a544881c8ed2e13",
    "measurement_sha256": "1007d369d6f451ddd3ce441c9780bf6478c45af55595a71b3ce9c8888e809900",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "crazy-rich-asians-2018",
    "title": "Crazy Rich Asians",
    "year": 2018,
    "primary_genre": "Romance",
    "writers": [
      "Peter Chiarelli",
      "Adele Lim"
    ],
    "pages": 138,
    "scenes": 111,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 52.3,
    "day_share_pct": 68.4,
    "unique_locations": 53,
    "location_changes": 95,
    "speaking_characters": 72,
    "single_line_characters": 29,
    "dialogue_blocks": 1214,
    "dialogue_words": 11715,
    "dialogue_action_ratio": 2.02,
    "monologues": 24,
    "top_character_pct": 20.6,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 23,
    "words": 23501,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/crazy-rich-asians-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "21f81694f53499809db6776c917e34afdd99418eff77ffbbaf888d5d9535a027",
      "measurement_sha256": "1007d369d6f451ddd3ce441c9780bf6478c45af55595a71b3ce9c8888e809900",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/crazy-rich-asians-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.798Z.",
        "https://www.scriptslug.com/script/crazy-rich-asians-2018",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"crazy-rich-asians-2018\",\"Crazy Rich Asians\",2018,\"Feature\",\"Romance\",[\"Peter Chiarelli\",\"Adele Lim\"],\"https://www.scriptslug.com/script/crazy-rich-asians-2018\",\"0c7494c715b98eccc159ff76229a19c6a33d97c141d43eb05a544881c8ed2e13\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e3f7a71f311d5ad20b63be1df9459847fafbd22b797a996830355059ac443854",
    "source_locator_sha256": "38f6d40c1c1283e7e6b7ee2a6ff98047cee374458724b5b67044171ebaced5d3",
    "measurement_sha256": "748ed94a07e66226c2dc1bc4599d10c022353c4b05a6ab7359eda2f14fabfb15",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "crazy-stupid-love-2011",
    "title": "Crazy, Stupid, Love.",
    "year": 2011,
    "primary_genre": "Romance",
    "writers": [
      "Dan Fogelman"
    ],
    "pages": 122,
    "scenes": 84,
    "mean_scene_eighths": 11.2,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 38,
    "interior_share_pct": 73.8,
    "day_share_pct": 50,
    "unique_locations": 52,
    "location_changes": 76,
    "speaking_characters": 36,
    "single_line_characters": 10,
    "dialogue_blocks": 1097,
    "dialogue_words": 10472,
    "dialogue_action_ratio": 1.89,
    "monologues": 35,
    "top_character_pct": 30.9,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 25,
    "words": 20030,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/crazy-stupid-love-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e3f7a71f311d5ad20b63be1df9459847fafbd22b797a996830355059ac443854",
      "measurement_sha256": "748ed94a07e66226c2dc1bc4599d10c022353c4b05a6ab7359eda2f14fabfb15",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/crazy-stupid-love-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.331Z.",
        "https://www.scriptslug.com/script/crazy-stupid-love-2011",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"crazy-stupid-love-2011\",\"Crazy, Stupid, Love.\",2011,\"Feature\",\"Romance\",[\"Dan Fogelman\"],\"https://www.scriptslug.com/script/crazy-stupid-love-2011\",\"38f6d40c1c1283e7e6b7ee2a6ff98047cee374458724b5b67044171ebaced5d3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c01b695571106b8fd4939a40cc61593a65b1444f24dc18b0d02442e6f338b3c4",
    "source_locator_sha256": "0491162946bd495db05bbb518ef7e9a61f0a45685b5fec0e3b2394e5543d72ea",
    "measurement_sha256": "065f70fb1634ff9c7e16f7696a14ea752d1d421f4e028f668aff9931fe0d2ccf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "creed-iii-2023",
    "title": "Creed III",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Zach Baylin",
      "Keenan Coogler"
    ],
    "pages": 115,
    "scenes": 132,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 4,
    "median_scene_lines": 26.5,
    "interior_share_pct": 57.6,
    "day_share_pct": 35.2,
    "unique_locations": 65,
    "location_changes": 95,
    "speaking_characters": 52,
    "single_line_characters": 20,
    "dialogue_blocks": 765,
    "dialogue_words": 8492,
    "dialogue_action_ratio": 1,
    "monologues": 9,
    "top_character_pct": 26.1,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 39,
    "words": 24349,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/creed-iii-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c01b695571106b8fd4939a40cc61593a65b1444f24dc18b0d02442e6f338b3c4",
      "measurement_sha256": "065f70fb1634ff9c7e16f7696a14ea752d1d421f4e028f668aff9931fe0d2ccf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/creed-iii-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.960Z.",
        "https://www.scriptslug.com/script/creed-iii-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"creed-iii-2023\",\"Creed III\",2023,\"Feature\",\"Drama\",[\"Zach Baylin\",\"Keenan Coogler\"],\"https://www.scriptslug.com/script/creed-iii-2023\",\"0491162946bd495db05bbb518ef7e9a61f0a45685b5fec0e3b2394e5543d72ea\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "08dc04903553e4bac5b45e46872e03c19a6d6a9d6188271e25668b38aa8ae32e",
    "source_locator_sha256": "eee00172e8bacfdd8aadca25a383787d009f77b578cd3b100bc8cfca1b7a046f",
    "measurement_sha256": "81d1da96148af292d8b8969b02a66b0815af7fcd1ce2417ef71f892b5e893c7d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "dawn-of-the-planet-of-the-apes-2014",
    "title": "Dawn of the Planet of the Apes",
    "year": 2014,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Mark Bomback",
      "Rick Jaffa",
      "Amanda Silver"
    ],
    "pages": 139,
    "scenes": 160,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 26,
    "interior_share_pct": 41.9,
    "day_share_pct": 61.8,
    "unique_locations": 74,
    "location_changes": 139,
    "speaking_characters": 33,
    "single_line_characters": 11,
    "dialogue_blocks": 533,
    "dialogue_words": 4092,
    "dialogue_action_ratio": 0.31,
    "monologues": 7,
    "top_character_pct": 26.8,
    "dialogue_line_share_pct": 19,
    "action_line_share_pct": 63,
    "words": 30525,
    "runtime_minutes": 136,
    "parenthetical_rate": 0.28,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dawn-of-the-planet-of-the-apes-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "08dc04903553e4bac5b45e46872e03c19a6d6a9d6188271e25668b38aa8ae32e",
      "measurement_sha256": "81d1da96148af292d8b8969b02a66b0815af7fcd1ce2417ef71f892b5e893c7d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dawn-of-the-planet-of-the-apes-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:54.480Z.",
        "https://www.scriptslug.com/script/dawn-of-the-planet-of-the-apes-2014",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dawn-of-the-planet-of-the-apes-2014\",\"Dawn of the Planet of the Apes\",2014,\"Feature\",\"Sci-Fi\",[\"Mark Bomback\",\"Rick Jaffa\",\"Amanda Silver\"],\"https://www.scriptslug.com/script/dawn-of-the-planet-of-the-apes-2014\",\"eee00172e8bacfdd8aadca25a383787d009f77b578cd3b100bc8cfca1b7a046f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "2dd92b6d69e4fe7f9cb54365e4a44128173147fc8460f805b860227317471c5e",
    "source_locator_sha256": "b1883307a3dccee8850d49275d15c87ffea82772dcd6c872f67c7eaadf8c6dfc",
    "measurement_sha256": "2814b84b34cae0257a09417105919b3099fd084759910acbe8bab57795e15094",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "deadpool-wolverine-2024",
    "title": "Deadpool & Wolverine",
    "year": 2024,
    "primary_genre": "Action",
    "writers": [
      "Paul Wernick",
      "Zeb Wells",
      "Rhett Reese",
      "Ryan Reynolds",
      "Shawn Levy"
    ],
    "pages": 149,
    "scenes": 87,
    "mean_scene_eighths": 13.2,
    "median_scene_eighths": 10,
    "median_scene_lines": 71,
    "interior_share_pct": 48.3,
    "day_share_pct": 87.5,
    "unique_locations": 30,
    "location_changes": 58,
    "speaking_characters": 54,
    "single_line_characters": 15,
    "dialogue_blocks": 1200,
    "dialogue_words": 12533,
    "dialogue_action_ratio": 1.32,
    "monologues": 36,
    "top_character_pct": 29.2,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 33,
    "words": 27965,
    "runtime_minutes": 140,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/deadpool-wolverine-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2dd92b6d69e4fe7f9cb54365e4a44128173147fc8460f805b860227317471c5e",
      "measurement_sha256": "2814b84b34cae0257a09417105919b3099fd084759910acbe8bab57795e15094",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/deadpool-wolverine-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:43.602Z.",
        "https://www.scriptslug.com/script/deadpool-wolverine-2024",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"deadpool-wolverine-2024\",\"Deadpool & Wolverine\",2024,\"Feature\",\"Action\",[\"Paul Wernick\",\"Zeb Wells\",\"Rhett Reese\",\"Ryan Reynolds\",\"Shawn Levy\"],\"https://www.scriptslug.com/script/deadpool-wolverine-2024\",\"b1883307a3dccee8850d49275d15c87ffea82772dcd6c872f67c7eaadf8c6dfc\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1cefcb06f996b3d0d307875aabea8921a074ccff3bbfa1114f64718515638e45",
    "source_locator_sha256": "141df361408a6b2204a5c9496bd41269f465ecbabf2ebe6d64c6ad4b554a7c38",
    "measurement_sha256": "8798c3a68f6ff6bedbf974e99ae0dd5073f7f93f4121be1d5a588a9ef0ecb66f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "django-unchained-2012",
    "title": "Django Unchained",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "Quentin Tarantino"
    ],
    "pages": 169,
    "scenes": 77,
    "mean_scene_eighths": 18.1,
    "median_scene_eighths": 11,
    "median_scene_lines": 79,
    "interior_share_pct": 42.9,
    "day_share_pct": 45.6,
    "unique_locations": 2,
    "location_changes": 26,
    "speaking_characters": 74,
    "single_line_characters": 28,
    "dialogue_blocks": 1300,
    "dialogue_words": 17074,
    "dialogue_action_ratio": 1.15,
    "monologues": 87,
    "top_character_pct": 17.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 39,
    "words": 38940,
    "runtime_minutes": 183,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/django-unchained-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1cefcb06f996b3d0d307875aabea8921a074ccff3bbfa1114f64718515638e45",
      "measurement_sha256": "8798c3a68f6ff6bedbf974e99ae0dd5073f7f93f4121be1d5a588a9ef0ecb66f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/django-unchained-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.762Z.",
        "https://www.scriptslug.com/script/django-unchained-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"django-unchained-2012\",\"Django Unchained\",2012,\"Feature\",\"Action\",[\"Quentin Tarantino\"],\"https://www.scriptslug.com/script/django-unchained-2012\",\"141df361408a6b2204a5c9496bd41269f465ecbabf2ebe6d64c6ad4b554a7c38\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e03e0f19f1605bff807e08960c6b9506d64d56f9bee0832078eba511f976674b",
    "source_locator_sha256": "9e9402151ff8d02b11779f324b17b687642e18c92ea5e3fe5eaa2581178b44d8",
    "measurement_sha256": "31c1ea7fb93e87d2925187e2163c596aa347c0ef3580481c28a9b47875dcec8e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "don-t-worry-darling-2022",
    "title": "Don't Worry Darling",
    "year": 2022,
    "primary_genre": "Thriller",
    "writers": [
      "Katie Silberman",
      "Carey Wayne Van Dyke",
      "Shane Van Dyke"
    ],
    "pages": 96,
    "scenes": 109,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 65.6,
    "day_share_pct": 59.2,
    "unique_locations": 46,
    "location_changes": 100,
    "speaking_characters": 32,
    "single_line_characters": 9,
    "dialogue_blocks": 760,
    "dialogue_words": 6839,
    "dialogue_action_ratio": 1.04,
    "monologues": 13,
    "top_character_pct": 32.8,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 36,
    "words": 19455,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "31c1ea7fb93e87d2925187e2163c596aa347c0ef3580481c28a9b47875dcec8e",
      "source_sha256": "e03e0f19f1605bff807e08960c6b9506d64d56f9bee0832078eba511f976674b",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dont-worry-darling-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e03e0f19f1605bff807e08960c6b9506d64d56f9bee0832078eba511f976674b",
      "measurement_sha256": "31c1ea7fb93e87d2925187e2163c596aa347c0ef3580481c28a9b47875dcec8e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dont-worry-darling-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.597Z.",
        "https://www.scriptslug.com/script/dont-worry-darling-2022",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"don-t-worry-darling-2022\",\"Don't Worry Darling\",2022,\"Feature\",\"Thriller\",[\"Katie Silberman\",\"Carey Wayne Van Dyke\",\"Shane Van Dyke\"],\"https://www.scriptslug.com/script/dont-worry-darling-2022\",\"9e9402151ff8d02b11779f324b17b687642e18c92ea5e3fe5eaa2581178b44d8\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "57199fdfcb5568da5cdaa6e71379f61a515ecc59caa3b52f3602e5fbddb8720b",
    "source_locator_sha256": "b8c52376ee5c6a4f29176b402cb9c9b57b2b277e7e1abbc61de5eb60653c1571",
    "measurement_sha256": "8440a48752ce381647fa878953db94a11f917a6e56c0950500315086e8f2aca7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "dont-look-up-2021",
    "title": "Don't Look Up",
    "year": 2021,
    "primary_genre": "Comedy",
    "writers": [
      "Adam McKay"
    ],
    "pages": 158,
    "scenes": 218,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 62.4,
    "day_share_pct": 72.5,
    "unique_locations": 137,
    "location_changes": 209,
    "speaking_characters": 144,
    "single_line_characters": 64,
    "dialogue_blocks": 1260,
    "dialogue_words": 18118,
    "dialogue_action_ratio": 2.95,
    "monologues": 72,
    "top_character_pct": 19.1,
    "dialogue_line_share_pct": 56,
    "action_line_share_pct": 19,
    "words": 30103,
    "runtime_minutes": 141,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dont-look-up-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "57199fdfcb5568da5cdaa6e71379f61a515ecc59caa3b52f3602e5fbddb8720b",
      "measurement_sha256": "8440a48752ce381647fa878953db94a11f917a6e56c0950500315086e8f2aca7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dont-look-up-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.477Z.",
        "https://www.scriptslug.com/script/dont-look-up-2021",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dont-look-up-2021\",\"Don't Look Up\",2021,\"Feature\",\"Comedy\",[\"Adam McKay\"],\"https://www.scriptslug.com/script/dont-look-up-2021\",\"b8c52376ee5c6a4f29176b402cb9c9b57b2b277e7e1abbc61de5eb60653c1571\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ec9a0d7dda097150f4113354887a62b6da6a1f3eb8f84d680f3b5de3ad617921",
    "source_locator_sha256": "02997484f9acce3c5c0fbfa7f5c7adfec7dadcddfffcda3838e7e7839c0367e5",
    "measurement_sha256": "9d8fdf35f756264207c8c7fd8ee3c97320cab0a86e504204444e4dabf0c370a6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "dream-scenario-2023",
    "title": "Dream Scenario",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Kristoffer Borgli"
    ],
    "pages": 101,
    "scenes": 95,
    "mean_scene_eighths": 8,
    "median_scene_eighths": 5,
    "median_scene_lines": 37,
    "interior_share_pct": 83.2,
    "day_share_pct": 62.1,
    "unique_locations": 25,
    "location_changes": 52,
    "speaking_characters": 52,
    "single_line_characters": 13,
    "dialogue_blocks": 972,
    "dialogue_words": 9591,
    "dialogue_action_ratio": 2.52,
    "monologues": 29,
    "top_character_pct": 38.2,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 20,
    "words": 17794,
    "runtime_minutes": 99,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dream-scenario-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ec9a0d7dda097150f4113354887a62b6da6a1f3eb8f84d680f3b5de3ad617921",
      "measurement_sha256": "9d8fdf35f756264207c8c7fd8ee3c97320cab0a86e504204444e4dabf0c370a6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dream-scenario-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.790Z.",
        "https://www.scriptslug.com/script/dream-scenario-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dream-scenario-2023\",\"Dream Scenario\",2023,\"Feature\",\"Comedy\",[\"Kristoffer Borgli\"],\"https://www.scriptslug.com/script/dream-scenario-2023\",\"02997484f9acce3c5c0fbfa7f5c7adfec7dadcddfffcda3838e7e7839c0367e5\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fd32ee25c2193788b472c95e40e7d57a788d8d6003da352b6bb97394b9da13a7",
    "source_locator_sha256": "daa944eb7214b85a0cd5d084a78c58f231002927aebdd123ccadf490a534656e",
    "measurement_sha256": "4aab651c274390bfac3f575451a8e87dd067759d7d57484673e78420a7de787c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "dredd-2012",
    "title": "Dredd",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "Alex Garland"
    ],
    "pages": 111,
    "scenes": 96,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 29,
    "interior_share_pct": 92.7,
    "day_share_pct": 85.7,
    "unique_locations": 64,
    "location_changes": 88,
    "speaking_characters": 38,
    "single_line_characters": 11,
    "dialogue_blocks": 558,
    "dialogue_words": 4800,
    "dialogue_action_ratio": 0.49,
    "monologues": 8,
    "top_character_pct": 20.2,
    "dialogue_line_share_pct": 27,
    "action_line_share_pct": 55,
    "words": 20019,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dredd-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fd32ee25c2193788b472c95e40e7d57a788d8d6003da352b6bb97394b9da13a7",
      "measurement_sha256": "4aab651c274390bfac3f575451a8e87dd067759d7d57484673e78420a7de787c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dredd-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.925Z.",
        "https://www.scriptslug.com/script/dredd-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dredd-2012\",\"Dredd\",2012,\"Feature\",\"Action\",[\"Alex Garland\"],\"https://www.scriptslug.com/script/dredd-2012\",\"daa944eb7214b85a0cd5d084a78c58f231002927aebdd123ccadf490a534656e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "30a909fcd289d98123c3f68f1e0a5fdab9c9c9d7fd6409e98f4c322f26384109",
    "source_locator_sha256": "af2c08859f25d0785686ae2aeaa0d5e255024ef460922bd3af6906f4bbd58111",
    "measurement_sha256": "887876dfcd2833aa90441814e086a80897503904c5a8df39848f2ead5659b5d2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "drive-2011",
    "title": "Drive",
    "year": 2011,
    "primary_genre": "Crime",
    "writers": [
      "Hossein Amini"
    ],
    "pages": 89,
    "scenes": 144,
    "mean_scene_eighths": 5.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 11,
    "interior_share_pct": 65.6,
    "day_share_pct": 0,
    "unique_locations": 98,
    "location_changes": 135,
    "speaking_characters": 45,
    "single_line_characters": 19,
    "dialogue_blocks": 648,
    "dialogue_words": 5829,
    "dialogue_action_ratio": 0.73,
    "monologues": 11,
    "top_character_pct": 23.5,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 45,
    "words": 21144,
    "runtime_minutes": 108,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/drive-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "30a909fcd289d98123c3f68f1e0a5fdab9c9c9d7fd6409e98f4c322f26384109",
      "measurement_sha256": "887876dfcd2833aa90441814e086a80897503904c5a8df39848f2ead5659b5d2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/drive-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.783Z.",
        "https://www.scriptslug.com/script/drive-2011",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"drive-2011\",\"Drive\",2011,\"Feature\",\"Crime\",[\"Hossein Amini\"],\"https://www.scriptslug.com/script/drive-2011\",\"af2c08859f25d0785686ae2aeaa0d5e255024ef460922bd3af6906f4bbd58111\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9ce80e9c76f1dcf6fb2b01a57288491b250ef6eb50b8da0b6bbe3ce401fc0db9",
    "source_locator_sha256": "ac1dca2d0da2b61ca8b986666b0a949dd8f423546847f09d0d08b0cb4e2ff06d",
    "measurement_sha256": "97596fab7ed559b0c37921546623d6d8610c6dc6ca5cae8fcaee9f4f954c5d93",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "dumb-money-2023",
    "title": "Dumb Money",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Rebecca Angelo",
      "Lauren Schuker Blum"
    ],
    "pages": 140,
    "scenes": 161,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 77.3,
    "day_share_pct": 66.4,
    "unique_locations": 61,
    "location_changes": 142,
    "speaking_characters": 95,
    "single_line_characters": 46,
    "dialogue_blocks": 1159,
    "dialogue_words": 11741,
    "dialogue_action_ratio": 1.55,
    "monologues": 38,
    "top_character_pct": 22,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 29,
    "words": 26024,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dumb-money-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9ce80e9c76f1dcf6fb2b01a57288491b250ef6eb50b8da0b6bbe3ce401fc0db9",
      "measurement_sha256": "97596fab7ed559b0c37921546623d6d8610c6dc6ca5cae8fcaee9f4f954c5d93",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dumb-money-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.497Z.",
        "https://www.scriptslug.com/script/dumb-money-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dumb-money-2023\",\"Dumb Money\",2023,\"Feature\",\"Drama\",[\"Rebecca Angelo\",\"Lauren Schuker Blum\"],\"https://www.scriptslug.com/script/dumb-money-2023\",\"ac1dca2d0da2b61ca8b986666b0a949dd8f423546847f09d0d08b0cb4e2ff06d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "41092ea152975f9ff2e9039ca5f39abdd7540bceb97c1aeaebb430c011b8d3d9",
    "source_locator_sha256": "9e2d71e49900af79436af64b9170e8d78e534a27f6d9571f73ec4928192df09a",
    "measurement_sha256": "cd5d9981f6c0de0089a5139c85e44d3964a03aaf595ffbcb71d0b609184af5a1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "dune-2021",
    "title": "Dune",
    "year": 2021,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Jon Spaihts",
      "Denis Villeneuve",
      "Eric Roth"
    ],
    "pages": 111,
    "scenes": 112,
    "mean_scene_eighths": 7.7,
    "median_scene_eighths": 5,
    "median_scene_lines": 31.5,
    "interior_share_pct": 51.3,
    "day_share_pct": 54.7,
    "unique_locations": 66,
    "location_changes": 98,
    "speaking_characters": 47,
    "single_line_characters": 19,
    "dialogue_blocks": 695,
    "dialogue_words": 6375,
    "dialogue_action_ratio": 0.64,
    "monologues": 11,
    "top_character_pct": 16.5,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 48,
    "words": 24741,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/dune-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "41092ea152975f9ff2e9039ca5f39abdd7540bceb97c1aeaebb430c011b8d3d9",
      "measurement_sha256": "cd5d9981f6c0de0089a5139c85e44d3964a03aaf595ffbcb71d0b609184af5a1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/dune-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.588Z.",
        "https://www.scriptslug.com/script/dune-2021",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"dune-2021\",\"Dune\",2021,\"Feature\",\"Sci-Fi\",[\"Jon Spaihts\",\"Denis Villeneuve\",\"Eric Roth\"],\"https://www.scriptslug.com/script/dune-2021\",\"9e2d71e49900af79436af64b9170e8d78e534a27f6d9571f73ec4928192df09a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "40c3a685722456a6a54734d1e58b191aa2b892b1e00426e16349ac5c9e6f8d93",
    "source_locator_sha256": "4cb5904bb56492848ae0e1a8f9735ce84875fc3092312418ac333b181adeb614",
    "measurement_sha256": "c81046b4d418c7010100b38dc67cc6e922ca23c42a428c459f87e8dc7d485144",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "easy-a-2010",
    "title": "Easy A",
    "year": 2010,
    "primary_genre": "Comedy",
    "writers": [
      "Bert V. Royal"
    ],
    "pages": 111,
    "scenes": 109,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 86.2,
    "day_share_pct": 73.5,
    "unique_locations": 43,
    "location_changes": 100,
    "speaking_characters": 38,
    "single_line_characters": 9,
    "dialogue_blocks": 906,
    "dialogue_words": 11432,
    "dialogue_action_ratio": 2.46,
    "monologues": 46,
    "top_character_pct": 58.2,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 21,
    "words": 20523,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/easy-a-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "40c3a685722456a6a54734d1e58b191aa2b892b1e00426e16349ac5c9e6f8d93",
      "measurement_sha256": "c81046b4d418c7010100b38dc67cc6e922ca23c42a428c459f87e8dc7d485144",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/easy-a-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.613Z.",
        "https://www.scriptslug.com/script/easy-a-2010",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"easy-a-2010\",\"Easy A\",2010,\"Feature\",\"Comedy\",[\"Bert V. Royal\"],\"https://www.scriptslug.com/script/easy-a-2010\",\"4cb5904bb56492848ae0e1a8f9735ce84875fc3092312418ac333b181adeb614\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "11f030ec44158e4ba74672e1aa5f6f448c4494216012c6f47fba0b9bbece8843",
    "source_locator_sha256": "fd13111279f219c94a59d5fef80753da48acbccf7ea92490b07298cffcd35cb3",
    "measurement_sha256": "d657a575ae761be86920ce9936b705587f4e4d090da5132a9c951024840aae4a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "eddington-2025",
    "title": "Eddington",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Ari Aster"
    ],
    "pages": 148,
    "scenes": 168,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 58.9,
    "day_share_pct": 38.6,
    "unique_locations": 69,
    "location_changes": 147,
    "speaking_characters": 56,
    "single_line_characters": 17,
    "dialogue_blocks": 1129,
    "dialogue_words": 11860,
    "dialogue_action_ratio": 0.94,
    "monologues": 43,
    "top_character_pct": 31,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 40,
    "words": 36426,
    "runtime_minutes": 156,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "d657a575ae761be86920ce9936b705587f4e4d090da5132a9c951024840aae4a",
      "source_sha256": "11f030ec44158e4ba74672e1aa5f6f448c4494216012c6f47fba0b9bbece8843",
      "pdf_pages": [
        72
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A wrapped line of simultaneous dialogue is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/eddington-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "11f030ec44158e4ba74672e1aa5f6f448c4494216012c6f47fba0b9bbece8843",
      "measurement_sha256": "d657a575ae761be86920ce9936b705587f4e4d090da5132a9c951024840aae4a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/eddington-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.721Z.",
        "https://www.scriptslug.com/script/eddington-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"eddington-2025\",\"Eddington\",2025,\"Feature\",\"Drama\",[\"Ari Aster\"],\"https://www.scriptslug.com/script/eddington-2025\",\"fd13111279f219c94a59d5fef80753da48acbccf7ea92490b07298cffcd35cb3\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "68b0201b6d284763a683f39b8c795b33868826d981eb79cbd3468827867a517a",
    "source_locator_sha256": "9da67e016e29b1ff0a2131683d31b0c2462e47426030123eaa7234095adfd37c",
    "measurement_sha256": "c2f82bed1ce160e06ff9f085ae476fb871023ba887cf8493cf8fa805affc9902",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "elemental-2023",
    "title": "Elemental",
    "year": 2023,
    "primary_genre": "Animation/Family",
    "writers": [
      "John Hoberg",
      "Kat Likkel",
      "Brenda Hsueh"
    ],
    "pages": 125,
    "scenes": 122,
    "mean_scene_eighths": 8.5,
    "median_scene_eighths": 6,
    "median_scene_lines": 42,
    "interior_share_pct": 48.8,
    "day_share_pct": 66.7,
    "unique_locations": 46,
    "location_changes": 91,
    "speaking_characters": 59,
    "single_line_characters": 31,
    "dialogue_blocks": 975,
    "dialogue_words": 6774,
    "dialogue_action_ratio": 0.69,
    "monologues": 4,
    "top_character_pct": 32.1,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 44,
    "words": 25138,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/elemental-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "68b0201b6d284763a683f39b8c795b33868826d981eb79cbd3468827867a517a",
      "measurement_sha256": "c2f82bed1ce160e06ff9f085ae476fb871023ba887cf8493cf8fa805affc9902",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/elemental-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.606Z.",
        "https://www.scriptslug.com/script/elemental-2023",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"elemental-2023\",\"Elemental\",2023,\"Feature\",\"Animation/Family\",[\"John Hoberg\",\"Kat Likkel\",\"Brenda Hsueh\"],\"https://www.scriptslug.com/script/elemental-2023\",\"9da67e016e29b1ff0a2131683d31b0c2462e47426030123eaa7234095adfd37c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1b15723b17b0f7aa0664efc5064778fba9548efe648ac94745490622e5b33a08",
    "source_locator_sha256": "84ef7f1ccd7d24ed21886d5f80bea979d3d9464317b47219c1645efb4894894b",
    "measurement_sha256": "de440a501880529e80eb06ca1b5c0bd56f60b495ba1b4b22e12bec40c78e2a45",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "elvis-2022",
    "title": "Elvis",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Baz Luhrmann",
      "Sam Bromell",
      "Craig Pearce",
      "Jeremy Doner"
    ],
    "pages": 176,
    "scenes": 256,
    "mean_scene_eighths": 5.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 70.9,
    "day_share_pct": 52.4,
    "unique_locations": 76,
    "location_changes": 162,
    "speaking_characters": 95,
    "single_line_characters": 44,
    "dialogue_blocks": 1273,
    "dialogue_words": 15891,
    "dialogue_action_ratio": 1.42,
    "monologues": 44,
    "top_character_pct": 31.2,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 31,
    "words": 35757,
    "runtime_minutes": 159,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/elvis-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1b15723b17b0f7aa0664efc5064778fba9548efe648ac94745490622e5b33a08",
      "measurement_sha256": "de440a501880529e80eb06ca1b5c0bd56f60b495ba1b4b22e12bec40c78e2a45",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/elvis-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.473Z.",
        "https://www.scriptslug.com/script/elvis-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"elvis-2022\",\"Elvis\",2022,\"Feature\",\"Drama\",[\"Baz Luhrmann\",\"Sam Bromell\",\"Craig Pearce\",\"Jeremy Doner\"],\"https://www.scriptslug.com/script/elvis-2022\",\"84ef7f1ccd7d24ed21886d5f80bea979d3d9464317b47219c1645efb4894894b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "bdd001cfb01ce84f4fbc6ea0fba0bf00207cb000a1bbf1582eb4743913db2fb1",
    "source_locator_sha256": "85db9f722f4a6f90b91e4948424c4d1860661abbd3132cea32e8c69a7a424ab0",
    "measurement_sha256": "bbe249dccc6ceaaecb0d4cd9337c230dd507aed2e9d4fab47e85e300e349acb0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "emancipation-2022",
    "title": "Emancipation",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "William N. Collage"
    ],
    "pages": 105,
    "scenes": 152,
    "mean_scene_eighths": 5.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 13.2,
    "day_share_pct": 50.9,
    "unique_locations": 99,
    "location_changes": 145,
    "speaking_characters": 74,
    "single_line_characters": 32,
    "dialogue_blocks": 441,
    "dialogue_words": 3184,
    "dialogue_action_ratio": 0.3,
    "monologues": 2,
    "top_character_pct": 18,
    "dialogue_line_share_pct": 19,
    "action_line_share_pct": 63,
    "words": 23510,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/emancipation-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "bdd001cfb01ce84f4fbc6ea0fba0bf00207cb000a1bbf1582eb4743913db2fb1",
      "measurement_sha256": "bbe249dccc6ceaaecb0d4cd9337c230dd507aed2e9d4fab47e85e300e349acb0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/emancipation-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.851Z.",
        "https://www.scriptslug.com/script/emancipation-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"emancipation-2022\",\"Emancipation\",2022,\"Feature\",\"Drama\",[\"William N. Collage\"],\"https://www.scriptslug.com/script/emancipation-2022\",\"85db9f722f4a6f90b91e4948424c4d1860661abbd3132cea32e8c69a7a424ab0\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a00a20da50f66ed881c2a5e61d1d2093e6f8be3fa1222704b669bb73a9ff463a",
    "source_locator_sha256": "30ec2cd2e62a7178064702def571440736350415df8f718f13cce55ca31f1764",
    "measurement_sha256": "65b9bb5ddbf829e7dd9cd2921fdf94525d7e53b49f9d47d34e7ece4dc9bf3506",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "emergency-2022",
    "title": "Emergency",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "K.D. Davila"
    ],
    "pages": 114,
    "scenes": 120,
    "mean_scene_eighths": 7.7,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 53.3,
    "day_share_pct": 5.7,
    "unique_locations": 41,
    "location_changes": 92,
    "speaking_characters": 44,
    "single_line_characters": 14,
    "dialogue_blocks": 995,
    "dialogue_words": 9092,
    "dialogue_action_ratio": 1.34,
    "monologues": 15,
    "top_character_pct": 31.6,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 31,
    "words": 21690,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/emergency-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a00a20da50f66ed881c2a5e61d1d2093e6f8be3fa1222704b669bb73a9ff463a",
      "measurement_sha256": "65b9bb5ddbf829e7dd9cd2921fdf94525d7e53b49f9d47d34e7ece4dc9bf3506",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/emergency-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.971Z.",
        "https://www.scriptslug.com/script/emergency-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"emergency-2022\",\"Emergency\",2022,\"Feature\",\"Comedy\",[\"K.D. Davila\"],\"https://www.scriptslug.com/script/emergency-2022\",\"30ec2cd2e62a7178064702def571440736350415df8f718f13cce55ca31f1764\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "490ca318242ce8b0366b788ddf27456f9a1718cd09968fa1b1f25c8955508d4f",
    "source_locator_sha256": "f6b03808f132dae09ba670fa8b9fced159177b0cd8249672325e877de67f36b5",
    "measurement_sha256": "638f347b311843c1308d63a0bdce00e53989bae5fff73b7a69296a52ec4c7ea0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "emilia-p-rez-2024",
    "title": "Emilia Pérez",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Jacques Audiard",
      "Thomas Bidegain"
    ],
    "pages": 124,
    "scenes": 106,
    "mean_scene_eighths": 9.1,
    "median_scene_eighths": 5,
    "median_scene_lines": 33.5,
    "interior_share_pct": 54.2,
    "day_share_pct": 45.5,
    "unique_locations": 69,
    "location_changes": 81,
    "speaking_characters": 54,
    "single_line_characters": 22,
    "dialogue_blocks": 852,
    "dialogue_words": 14985,
    "dialogue_action_ratio": 2.31,
    "monologues": 99,
    "top_character_pct": 30.5,
    "dialogue_line_share_pct": 55,
    "action_line_share_pct": 24,
    "words": 25023,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/emilia-perez-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "490ca318242ce8b0366b788ddf27456f9a1718cd09968fa1b1f25c8955508d4f",
      "measurement_sha256": "638f347b311843c1308d63a0bdce00e53989bae5fff73b7a69296a52ec4c7ea0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/emilia-perez-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.379Z.",
        "https://www.scriptslug.com/script/emilia-perez-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"emilia-p-rez-2024\",\"Emilia Pérez\",2024,\"Feature\",\"Drama\",[\"Jacques Audiard\",\"Thomas Bidegain\"],\"https://www.scriptslug.com/script/emilia-perez-2024\",\"f6b03808f132dae09ba670fa8b9fced159177b0cd8249672325e877de67f36b5\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1d2840272b4af99f4a154c5cb55cdc93fa5dc56933d185ac712f79d4b92ac4b0",
    "source_locator_sha256": "529f304bfc7d88c88b4efa9587a9f21b225f69ee5c8540acd74f147829833aea",
    "measurement_sha256": "27fe9a44d8fecda2c4a6cff95b8874412da49b0e7d993b89bbf9689e1f2c4198",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "emma-2020",
    "title": "Emma",
    "year": 2020,
    "primary_genre": "Romance",
    "writers": [
      "Eleanor Catton"
    ],
    "pages": 75,
    "scenes": 59,
    "mean_scene_eighths": 16.3,
    "median_scene_eighths": 10,
    "median_scene_lines": 71,
    "interior_share_pct": 65.3,
    "day_share_pct": 80,
    "unique_locations": 31,
    "location_changes": 51,
    "speaking_characters": 43,
    "single_line_characters": 14,
    "dialogue_blocks": 1372,
    "dialogue_words": 16983,
    "dialogue_action_ratio": 2.69,
    "monologues": 47,
    "top_character_pct": 23.6,
    "dialogue_line_share_pct": 61,
    "action_line_share_pct": 23,
    "words": 27781,
    "runtime_minutes": 136,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "27fe9a44d8fecda2c4a6cff95b8874412da49b0e7d993b89bbf9689e1f2c4198",
      "source_sha256": "1d2840272b4af99f4a154c5cb55cdc93fa5dc56933d185ac712f79d4b92ac4b0",
      "pdf_pages": [
        2,
        3,
        17,
        29
      ],
      "withheld_families": [
        "scene",
        "dialogue",
        "character"
      ],
      "reason": "Numbered scene headings appear in the character table and some dialogue lacks a speaker. Withhold scene, dialogue and character families.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/emma-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1d2840272b4af99f4a154c5cb55cdc93fa5dc56933d185ac712f79d4b92ac4b0",
      "measurement_sha256": "27fe9a44d8fecda2c4a6cff95b8874412da49b0e7d993b89bbf9689e1f2c4198",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/emma-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.384Z.",
        "https://www.scriptslug.com/script/emma-2020",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"emma-2020\",\"Emma\",2020,\"Feature\",\"Romance\",[\"Eleanor Catton\"],\"https://www.scriptslug.com/script/emma-2020\",\"529f304bfc7d88c88b4efa9587a9f21b225f69ee5c8540acd74f147829833aea\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "e17ece14fa85d8ddd42ab1030454679225a7ef30131edd156315c0440c044c0a",
    "source_locator_sha256": "b94ce3c52a2382cc1fad31b35fa912db2d1555aa344e26ddbb3ff402cc6697b4",
    "measurement_sha256": "01306af08f5c045d2f5450a36efbe6f1d94fcf3a3d5676bc21dc24bad55fb6c0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "empire-of-light-2022",
    "title": "Empire of Light",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Sam Mendes"
    ],
    "pages": 130,
    "scenes": 181,
    "mean_scene_eighths": 5.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 69.3,
    "day_share_pct": null,
    "unique_locations": 117,
    "location_changes": 163,
    "speaking_characters": 43,
    "single_line_characters": 18,
    "dialogue_blocks": 858,
    "dialogue_words": 6997,
    "dialogue_action_ratio": 0.74,
    "monologues": 10,
    "top_character_pct": 31.5,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 43,
    "words": 24129,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/empire-of-light-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e17ece14fa85d8ddd42ab1030454679225a7ef30131edd156315c0440c044c0a",
      "measurement_sha256": "01306af08f5c045d2f5450a36efbe6f1d94fcf3a3d5676bc21dc24bad55fb6c0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/empire-of-light-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.558Z.",
        "https://www.scriptslug.com/script/empire-of-light-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"empire-of-light-2022\",\"Empire of Light\",2022,\"Feature\",\"Drama\",[\"Sam Mendes\"],\"https://www.scriptslug.com/script/empire-of-light-2022\",\"b94ce3c52a2382cc1fad31b35fa912db2d1555aa344e26ddbb3ff402cc6697b4\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2366d7ca8042401d06898dde4ced44729ed61ec7c58d2678c7e19a07108bae1b",
    "source_locator_sha256": "32c1dff700747d1223a35461f946d174aa0d1bf453e91f9a6ca91775aba5ea4f",
    "measurement_sha256": "2fc76edacda090e5452b4e694040b0461b71fcab0c367680dbbffad9aef59204",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "encanto-2021",
    "title": "Encanto",
    "year": 2021,
    "primary_genre": "Animation/Family",
    "writers": [
      "Charise Castro Smith",
      "Jared Bush"
    ],
    "pages": 101,
    "scenes": 64,
    "mean_scene_eighths": 12.1,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 37,
    "interior_share_pct": 57.8,
    "day_share_pct": 36.4,
    "unique_locations": 27,
    "location_changes": 49,
    "speaking_characters": 65,
    "single_line_characters": 30,
    "dialogue_blocks": 807,
    "dialogue_words": 8089,
    "dialogue_action_ratio": 1.16,
    "monologues": 13,
    "top_character_pct": 32.4,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 35,
    "words": 21588,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "2fc76edacda090e5452b4e694040b0461b71fcab0c367680dbbffad9aef59204",
      "source_sha256": "2366d7ca8042401d06898dde4ced44729ed61ec7c58d2678c7e19a07108bae1b",
      "pdf_pages": [
        50,
        51
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A song lyric is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/encanto-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2366d7ca8042401d06898dde4ced44729ed61ec7c58d2678c7e19a07108bae1b",
      "measurement_sha256": "2fc76edacda090e5452b4e694040b0461b71fcab0c367680dbbffad9aef59204",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/encanto-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.566Z.",
        "https://www.scriptslug.com/script/encanto-2021",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"encanto-2021\",\"Encanto\",2021,\"Feature\",\"Animation/Family\",[\"Charise Castro Smith\",\"Jared Bush\"],\"https://www.scriptslug.com/script/encanto-2021\",\"32c1dff700747d1223a35461f946d174aa0d1bf453e91f9a6ca91775aba5ea4f\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "e74c9b9daf6844550f40d4a6a802a0676df77cb793688232d283bc7e1041415d",
    "source_locator_sha256": "14ea0ea1977640abec105b6a8aff2cd19475ed3deac501e54d502fa086465a7b",
    "measurement_sha256": "7cb3cb27bc744cd3289383691a96d75097137eefa62367a7e3f377be617f7981",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "eternal-sunshine-of-the-spotless-mind-2004",
    "title": "Eternal Sunshine of the Spotless Mind",
    "year": 2004,
    "primary_genre": "Romance",
    "writers": [
      "Charlie Kaufman"
    ],
    "pages": 130,
    "scenes": 171,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 68.1,
    "day_share_pct": 38.1,
    "unique_locations": 67,
    "location_changes": 156,
    "speaking_characters": 35,
    "single_line_characters": 9,
    "dialogue_blocks": 1215,
    "dialogue_words": 11967,
    "dialogue_action_ratio": 1.9,
    "monologues": 35,
    "top_character_pct": 34.1,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 24,
    "words": 25247,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "7cb3cb27bc744cd3289383691a96d75097137eefa62367a7e3f377be617f7981",
      "source_sha256": "e74c9b9daf6844550f40d4a6a802a0676df77cb793688232d283bc7e1041415d",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/eternal-sunshine-of-the-spotless-mind-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e74c9b9daf6844550f40d4a6a802a0676df77cb793688232d283bc7e1041415d",
      "measurement_sha256": "7cb3cb27bc744cd3289383691a96d75097137eefa62367a7e3f377be617f7981",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/eternal-sunshine-of-the-spotless-mind-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.278Z.",
        "https://www.scriptslug.com/script/eternal-sunshine-of-the-spotless-mind-2004",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"eternal-sunshine-of-the-spotless-mind-2004\",\"Eternal Sunshine of the Spotless Mind\",2004,\"Feature\",\"Romance\",[\"Charlie Kaufman\"],\"https://www.scriptslug.com/script/eternal-sunshine-of-the-spotless-mind-2004\",\"14ea0ea1977640abec105b6a8aff2cd19475ed3deac501e54d502fa086465a7b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "35648cd7033c576b605911360271d85aed992b511aa5abbe34dc5175bfb0d32b",
    "source_locator_sha256": "a12b4bf135ce60656879108ae6428d524cee9b4806b17ae8c1c9a68e3dd8944e",
    "measurement_sha256": "28ede5fb9577a3a72eeb28356c5220a5c66628555130f3478b3618968a04479f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "everything-everywhere-all-at-once-2022",
    "title": "Everything Everywhere All at Once",
    "year": 2022,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Daniel Kwan",
      "Daniel Scheinert"
    ],
    "pages": 126,
    "scenes": 68,
    "mean_scene_eighths": 15.6,
    "median_scene_eighths": 6.5,
    "median_scene_lines": 44.5,
    "interior_share_pct": 92.6,
    "day_share_pct": 80,
    "unique_locations": 30,
    "location_changes": 50,
    "speaking_characters": 33,
    "single_line_characters": 11,
    "dialogue_blocks": 750,
    "dialogue_words": 7418,
    "dialogue_action_ratio": 0.62,
    "monologues": 27,
    "top_character_pct": 26.3,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 48,
    "words": 27711,
    "runtime_minutes": 134,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/everything-everywhere-all-at-once-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "35648cd7033c576b605911360271d85aed992b511aa5abbe34dc5175bfb0d32b",
      "measurement_sha256": "28ede5fb9577a3a72eeb28356c5220a5c66628555130f3478b3618968a04479f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/everything-everywhere-all-at-once-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.852Z.",
        "https://www.scriptslug.com/script/everything-everywhere-all-at-once-2022",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"everything-everywhere-all-at-once-2022\",\"Everything Everywhere All at Once\",2022,\"Feature\",\"Sci-Fi\",[\"Daniel Kwan\",\"Daniel Scheinert\"],\"https://www.scriptslug.com/script/everything-everywhere-all-at-once-2022\",\"a12b4bf135ce60656879108ae6428d524cee9b4806b17ae8c1c9a68e3dd8944e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "59e9a947a521f30fac65f64f1a4e8013cce35b3580721d52151039afb526b47e",
    "source_locator_sha256": "b76d21192211460e37cc70b29f6a5c59871ce48b8b5ce2024025c7ec7f8550fe",
    "measurement_sha256": "a4f4052f264aa125f5570c68b3c0260cbe23c92952e5ce57347749e8ec2fcce8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "evil-dead-2013",
    "title": "Evil Dead",
    "year": 2013,
    "primary_genre": "Horror",
    "writers": [
      "Fede Álvarez",
      "Rodo Sayagues"
    ],
    "pages": 103,
    "scenes": 133,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 70.7,
    "day_share_pct": 45.2,
    "unique_locations": 21,
    "location_changes": 121,
    "speaking_characters": 26,
    "single_line_characters": 14,
    "dialogue_blocks": 564,
    "dialogue_words": 4897,
    "dialogue_action_ratio": 0.56,
    "monologues": 4,
    "top_character_pct": 30.3,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 51,
    "words": 20637,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/evil-dead-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "59e9a947a521f30fac65f64f1a4e8013cce35b3580721d52151039afb526b47e",
      "measurement_sha256": "a4f4052f264aa125f5570c68b3c0260cbe23c92952e5ce57347749e8ec2fcce8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/evil-dead-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.057Z.",
        "https://www.scriptslug.com/script/evil-dead-2013",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"evil-dead-2013\",\"Evil Dead\",2013,\"Feature\",\"Horror\",[\"Fede Álvarez\",\"Rodo Sayagues\"],\"https://www.scriptslug.com/script/evil-dead-2013\",\"b76d21192211460e37cc70b29f6a5c59871ce48b8b5ce2024025c7ec7f8550fe\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "d8fc59e77ceda4a336cb0aee1bcc0be912511178564aec5db3af65be433ae6cb",
    "source_locator_sha256": "fd52c4e99171edec7bc3ac9a64f061baf9c243894f189579cbb590149baeef58",
    "measurement_sha256": "1cb9f222171a00fa5be661969e24269655cd48abcba08ea3611c329d9c525774",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "evolution-2001",
    "title": "Evolution",
    "year": 2001,
    "primary_genre": "Comedy",
    "writers": [
      "Don Jakoby"
    ],
    "pages": 124,
    "scenes": 115,
    "mean_scene_eighths": 8.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 76.1,
    "day_share_pct": 76.5,
    "unique_locations": 102,
    "location_changes": 114,
    "speaking_characters": 56,
    "single_line_characters": 27,
    "dialogue_blocks": 872,
    "dialogue_words": 7900,
    "dialogue_action_ratio": 0.78,
    "monologues": 11,
    "top_character_pct": 20.8,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 43,
    "words": 25437,
    "runtime_minutes": 129,
    "parenthetical_rate": 0.28,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/evolution-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d8fc59e77ceda4a336cb0aee1bcc0be912511178564aec5db3af65be433ae6cb",
      "measurement_sha256": "1cb9f222171a00fa5be661969e24269655cd48abcba08ea3611c329d9c525774",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/evolution-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.525Z.",
        "https://www.scriptslug.com/script/evolution-2001",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"evolution-2001\",\"Evolution\",2001,\"Feature\",\"Comedy\",[\"Don Jakoby\"],\"https://www.scriptslug.com/script/evolution-2001\",\"fd52c4e99171edec7bc3ac9a64f061baf9c243894f189579cbb590149baeef58\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "089471520763c6345a0227e8bb4e6c67e05a7ef6f01651ea58bbf4f197b6b2bd",
    "source_locator_sha256": "6e76b4c145c286f4eda221ebe827567727fc22161a0c1872a4f06a50eb9a6484",
    "measurement_sha256": "8f4d6b093deb7ca793e63ad57f14b188fd8c1c8b3d0e512a5502cc0961068b07",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "f1-2025",
    "title": "F1",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Ehren Kruger"
    ],
    "pages": 183,
    "scenes": 184,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 53.3,
    "day_share_pct": 69.9,
    "unique_locations": 106,
    "location_changes": 171,
    "speaking_characters": 59,
    "single_line_characters": 17,
    "dialogue_blocks": 1217,
    "dialogue_words": 12361,
    "dialogue_action_ratio": 1.33,
    "monologues": 30,
    "top_character_pct": 20,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 32,
    "words": 31164,
    "runtime_minutes": 139,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/f1-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "089471520763c6345a0227e8bb4e6c67e05a7ef6f01651ea58bbf4f197b6b2bd",
      "measurement_sha256": "8f4d6b093deb7ca793e63ad57f14b188fd8c1c8b3d0e512a5502cc0961068b07",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.apple.com/tv-pr/news/2022/06/apple-original-films-lands-formula-one-racing-feature-from-joseph-kosinski-plan-b-entertainment-and-jerry-bruckheimer-films-starring-brad-pitt/",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.190Z.",
        "https://www.scriptslug.com/script/f1-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"f1-2025\",\"F1\",2025,\"Feature\",\"Drama\",[\"Ehren Kruger\"],\"https://www.scriptslug.com/script/f1-2025\",\"6e76b4c145c286f4eda221ebe827567727fc22161a0c1872a4f06a50eb9a6484\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b53be39e3cedb7d21f29ba7e2ac30a4653a978076d9f27ea48e5a0e806229464",
    "source_locator_sha256": "3347f185ef5766c38a2c3c519211ccebbfa0d6646e253b5c450f11027a01bef8",
    "measurement_sha256": "dcacc74e77ad5d2d21da2fe68188ad9ed86a64f91e416a3e22df72896785a080",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "fair-play-2023",
    "title": "Fair Play",
    "year": 2023,
    "primary_genre": "Thriller",
    "writers": [
      "Chloe Domont"
    ],
    "pages": 106,
    "scenes": 112,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 83,
    "day_share_pct": 51,
    "unique_locations": 37,
    "location_changes": 75,
    "speaking_characters": 35,
    "single_line_characters": 12,
    "dialogue_blocks": 943,
    "dialogue_words": 7847,
    "dialogue_action_ratio": 1.23,
    "monologues": 10,
    "top_character_pct": 25,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 34,
    "words": 18651,
    "runtime_minutes": 108,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fair-play-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b53be39e3cedb7d21f29ba7e2ac30a4653a978076d9f27ea48e5a0e806229464",
      "measurement_sha256": "dcacc74e77ad5d2d21da2fe68188ad9ed86a64f91e416a3e22df72896785a080",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fair-play-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.690Z.",
        "https://www.scriptslug.com/script/fair-play-2023",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fair-play-2023\",\"Fair Play\",2023,\"Feature\",\"Thriller\",[\"Chloe Domont\"],\"https://www.scriptslug.com/script/fair-play-2023\",\"3347f185ef5766c38a2c3c519211ccebbfa0d6646e253b5c450f11027a01bef8\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2f50da3fc8f0f071ab5395be441ba047a4ad94a016adf1b0a21510f141285b79",
    "source_locator_sha256": "56eabd8343c98eef772ccfdd7f73a02f7ac9fc9572a77795bd22f10c97dd083f",
    "measurement_sha256": "2e6cfb82e682977480514d9e0cfb940e5d9524c6a1b788a45726bfcddd54b155",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "fanboys-2009",
    "title": "Fanboys",
    "year": 2009,
    "primary_genre": "Comedy",
    "writers": [
      "Adam F. Goldberg"
    ],
    "pages": 113,
    "scenes": 79,
    "mean_scene_eighths": 10.6,
    "median_scene_eighths": 9,
    "median_scene_lines": 63,
    "interior_share_pct": 57,
    "day_share_pct": 31.7,
    "unique_locations": 53,
    "location_changes": 72,
    "speaking_characters": 53,
    "single_line_characters": 22,
    "dialogue_blocks": 1044,
    "dialogue_words": 9803,
    "dialogue_action_ratio": 1.91,
    "monologues": 4,
    "top_character_pct": 23.2,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 25,
    "words": 20520,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fanboys-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2f50da3fc8f0f071ab5395be441ba047a4ad94a016adf1b0a21510f141285b79",
      "measurement_sha256": "2e6cfb82e682977480514d9e0cfb940e5d9524c6a1b788a45726bfcddd54b155",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fanboys-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.141Z.",
        "https://www.scriptslug.com/script/fanboys-2009",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fanboys-2009\",\"Fanboys\",2009,\"Feature\",\"Comedy\",[\"Adam F. Goldberg\"],\"https://www.scriptslug.com/script/fanboys-2009\",\"56eabd8343c98eef772ccfdd7f73a02f7ac9fc9572a77795bd22f10c97dd083f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "59158f0f1abe963345706a286eaecb310b083eae907bb5ead064a03b2b17499a",
    "source_locator_sha256": "60c9643e8030099dad383c11be0845ce196484d5143a04debadb4a61b1d5f764",
    "measurement_sha256": "3dc9e0a58b48231e8ffa69c1d4bee01e1b11f2ad32c8654e5b345f657df87e93",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "fantastic-beasts-and-where-to-find-them-2016",
    "title": "Fantastic Beasts and Where to Find Them",
    "year": 2016,
    "primary_genre": "Fantasy",
    "writers": [
      "J. K. Rowling"
    ],
    "pages": 133,
    "scenes": 124,
    "mean_scene_eighths": 8.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 33.5,
    "interior_share_pct": 58.9,
    "day_share_pct": 48.6,
    "unique_locations": 71,
    "location_changes": 105,
    "speaking_characters": 50,
    "single_line_characters": 18,
    "dialogue_blocks": 810,
    "dialogue_words": 6809,
    "dialogue_action_ratio": 0.55,
    "monologues": 5,
    "top_character_pct": 31.7,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 51,
    "words": 28993,
    "runtime_minutes": 141,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fantastic-beasts-and-where-to-find-them-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "59158f0f1abe963345706a286eaecb310b083eae907bb5ead064a03b2b17499a",
      "measurement_sha256": "3dc9e0a58b48231e8ffa69c1d4bee01e1b11f2ad32c8654e5b345f657df87e93",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fantastic-beasts-and-where-to-find-them-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.355Z.",
        "https://www.scriptslug.com/script/fantastic-beasts-and-where-to-find-them-2016",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fantastic-beasts-and-where-to-find-them-2016\",\"Fantastic Beasts and Where to Find Them\",2016,\"Feature\",\"Fantasy\",[\"J. K. Rowling\"],\"https://www.scriptslug.com/script/fantastic-beasts-and-where-to-find-them-2016\",\"60c9643e8030099dad383c11be0845ce196484d5143a04debadb4a61b1d5f764\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7729792280e514cb011e306f997ad32a8dbe6e9f9bba8304e41b75c7dd06f107",
    "source_locator_sha256": "2978bff405f4a1348913d1a91c2250204be3f0c06e40744a16a8a46f3f50f8d2",
    "measurement_sha256": "dd5e4c8e678d7e5053d325b8760cc423f5844abd571f9a7ffaa1eb1649ddb22a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "fantastic-beasts-the-crimes-of-grindelwald-2018",
    "title": "Fantastic Beasts: The Crimes of Grindelwald",
    "year": 2018,
    "primary_genre": "Fantasy",
    "writers": [
      "J. K. Rowling"
    ],
    "pages": 112,
    "scenes": 120,
    "mean_scene_eighths": 7.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 31.5,
    "interior_share_pct": 56.7,
    "day_share_pct": 30.9,
    "unique_locations": 62,
    "location_changes": 93,
    "speaking_characters": 48,
    "single_line_characters": 12,
    "dialogue_blocks": 771,
    "dialogue_words": 7029,
    "dialogue_action_ratio": 0.75,
    "monologues": 16,
    "top_character_pct": 19.6,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 22425,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "dd5e4c8e678d7e5053d325b8760cc423f5844abd571f9a7ffaa1eb1649ddb22a",
      "source_sha256": "7729792280e514cb011e306f997ad32a8dbe6e9f9bba8304e41b75c7dd06f107",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fantastic-beasts-the-crimes-of-grindelwald-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7729792280e514cb011e306f997ad32a8dbe6e9f9bba8304e41b75c7dd06f107",
      "measurement_sha256": "dd5e4c8e678d7e5053d325b8760cc423f5844abd571f9a7ffaa1eb1649ddb22a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fantastic-beasts-the-crimes-of-grindelwald-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.590Z.",
        "https://www.scriptslug.com/script/fantastic-beasts-the-crimes-of-grindelwald-2018",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fantastic-beasts-the-crimes-of-grindelwald-2018\",\"Fantastic Beasts: The Crimes of Grindelwald\",2018,\"Feature\",\"Fantasy\",[\"J. K. Rowling\"],\"https://www.scriptslug.com/script/fantastic-beasts-the-crimes-of-grindelwald-2018\",\"2978bff405f4a1348913d1a91c2250204be3f0c06e40744a16a8a46f3f50f8d2\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f775a7cc514266c41edd0a7826d7327b8d5b669671d314a720a1e0f140d0dbb4",
    "source_locator_sha256": "c6f36d1b99aacde829f929050d6d0e5d60bada2dbe0e836ef82de79ad17430c3",
    "measurement_sha256": "784921f6153db39d9a36ac791a2087f0b174da12143a77ced5385828bd30bab6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "fantastic-beasts-the-secrets-of-dumbledore-2022",
    "title": "Fantastic Beasts: The Secrets of Dumbledore",
    "year": 2022,
    "primary_genre": "Fantasy",
    "writers": [
      "J.K. Rowling",
      "Steve Kloves"
    ],
    "pages": 102,
    "scenes": 100,
    "mean_scene_eighths": 8.2,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 23,
    "interior_share_pct": 44,
    "day_share_pct": 54.9,
    "unique_locations": 58,
    "location_changes": 88,
    "speaking_characters": 38,
    "single_line_characters": 11,
    "dialogue_blocks": 655,
    "dialogue_words": 6161,
    "dialogue_action_ratio": 0.66,
    "monologues": 21,
    "top_character_pct": 21,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 49,
    "words": 22005,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fantastic-beasts-the-secrets-of-dumbledore-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f775a7cc514266c41edd0a7826d7327b8d5b669671d314a720a1e0f140d0dbb4",
      "measurement_sha256": "784921f6153db39d9a36ac791a2087f0b174da12143a77ced5385828bd30bab6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fantastic-beasts-the-secrets-of-dumbledore-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.787Z.",
        "https://www.scriptslug.com/script/fantastic-beasts-the-secrets-of-dumbledore-2022",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fantastic-beasts-the-secrets-of-dumbledore-2022\",\"Fantastic Beasts: The Secrets of Dumbledore\",2022,\"Feature\",\"Fantasy\",[\"J.K. Rowling\",\"Steve Kloves\"],\"https://www.scriptslug.com/script/fantastic-beasts-the-secrets-of-dumbledore-2022\",\"c6f36d1b99aacde829f929050d6d0e5d60bada2dbe0e836ef82de79ad17430c3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5dbfc225b0e6c53f896a343d773a3b61838e4dadf70677b51c2644c634d94ef8",
    "source_locator_sha256": "91e0cb90b130acba4105236aee4b021c000b3b02c1702f5f9e8721296ac8d3c8",
    "measurement_sha256": "618fbf3739ad815b4769db806b29ee3d2abc7d0f945900696488e38dbeb71222",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "ferrari-2023",
    "title": "Ferrari",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Troy Kennedy Martin",
      "Michael Mann"
    ],
    "pages": 167,
    "scenes": 221,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 53.8,
    "day_share_pct": 100,
    "unique_locations": 181,
    "location_changes": 205,
    "speaking_characters": 66,
    "single_line_characters": 24,
    "dialogue_blocks": 880,
    "dialogue_words": 7712,
    "dialogue_action_ratio": 0.79,
    "monologues": 13,
    "top_character_pct": 43.1,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 42,
    "words": 25282,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ferrari-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5dbfc225b0e6c53f896a343d773a3b61838e4dadf70677b51c2644c634d94ef8",
      "measurement_sha256": "618fbf3739ad815b4769db806b29ee3d2abc7d0f945900696488e38dbeb71222",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ferrari-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.856Z.",
        "https://www.scriptslug.com/script/ferrari-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ferrari-2023\",\"Ferrari\",2023,\"Feature\",\"Drama\",[\"Troy Kennedy Martin\",\"Michael Mann\"],\"https://www.scriptslug.com/script/ferrari-2023\",\"91e0cb90b130acba4105236aee4b021c000b3b02c1702f5f9e8721296ac8d3c8\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0d1ef5c2bdb701c06471e5dc194f3ee64c1935d53bacd5aaed153a53ba6ac1f8",
    "source_locator_sha256": "9702385b6ff2c512e6b62bdeecd2e84e7b9855bdd9362cb7f30710e4a1f179b2",
    "measurement_sha256": "d40143bf18f7e35dda101d14683decd2e9b1720e449ef6ccd368b73e70fdad3d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "film-stars-dont-die-in-liverpool-2017",
    "title": "Film Stars Don't Die in Liverpool",
    "year": 2017,
    "primary_genre": "Romance",
    "writers": [
      "Matt Greenhalgh"
    ],
    "pages": 118,
    "scenes": 121,
    "mean_scene_eighths": 7.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 78.9,
    "day_share_pct": 57.1,
    "unique_locations": 72,
    "location_changes": 107,
    "speaking_characters": 48,
    "single_line_characters": 19,
    "dialogue_blocks": 1072,
    "dialogue_words": 8432,
    "dialogue_action_ratio": 1.66,
    "monologues": 9,
    "top_character_pct": 32.3,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 26,
    "words": 18938,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/film-stars-dont-die-in-liverpool-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0d1ef5c2bdb701c06471e5dc194f3ee64c1935d53bacd5aaed153a53ba6ac1f8",
      "measurement_sha256": "d40143bf18f7e35dda101d14683decd2e9b1720e449ef6ccd368b73e70fdad3d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/film-stars-dont-die-in-liverpool-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.262Z.",
        "https://www.scriptslug.com/script/film-stars-dont-die-in-liverpool-2017",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"film-stars-dont-die-in-liverpool-2017\",\"Film Stars Don't Die in Liverpool\",2017,\"Feature\",\"Romance\",[\"Matt Greenhalgh\"],\"https://www.scriptslug.com/script/film-stars-dont-die-in-liverpool-2017\",\"9702385b6ff2c512e6b62bdeecd2e84e7b9855bdd9362cb7f30710e4a1f179b2\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "683202fac6245f83d1f5e3b5950a6f127c732df584489b0ed594ddbc91abc743",
    "source_locator_sha256": "f2477dfd41fc31a88b6f9ca83dfc7d413b2d11251183cb70ddb745f254b2e61d",
    "measurement_sha256": "aaba6b7a0cdb6117bd5f6f93c28270952016b504671f3817789ba4ca5d019330",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "final-destination-2000",
    "title": "Final Destination",
    "year": 2000,
    "primary_genre": "Horror",
    "writers": [
      "James Wong",
      "Glen Morgan"
    ],
    "pages": 114,
    "scenes": 143,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 60.8,
    "day_share_pct": 11.1,
    "unique_locations": 61,
    "location_changes": 126,
    "speaking_characters": 31,
    "single_line_characters": 4,
    "dialogue_blocks": 501,
    "dialogue_words": 5374,
    "dialogue_action_ratio": 0.44,
    "monologues": 12,
    "top_character_pct": 24.8,
    "dialogue_line_share_pct": 25,
    "action_line_share_pct": 57,
    "words": 24712,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/final-destination-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "683202fac6245f83d1f5e3b5950a6f127c732df584489b0ed594ddbc91abc743",
      "measurement_sha256": "aaba6b7a0cdb6117bd5f6f93c28270952016b504671f3817789ba4ca5d019330",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/final-destination-2000",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.192Z.",
        "https://www.scriptslug.com/script/final-destination-2000",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"final-destination-2000\",\"Final Destination\",2000,\"Feature\",\"Horror\",[\"James Wong\",\"Glen Morgan\"],\"https://www.scriptslug.com/script/final-destination-2000\",\"f2477dfd41fc31a88b6f9ca83dfc7d413b2d11251183cb70ddb745f254b2e61d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b7ff90311a9eaab9d5cc4b8f2f56e67ffe548949524586c6ab7029b5d7abd2b4",
    "source_locator_sha256": "f387d8872b8d7deeea3b32dd666a960aafde2d79db0ac36da8590ad0ceb08058",
    "measurement_sha256": "ea6b606b74ffcee578b0689d8512d1cd2ece469a9e1c10b795a388f1aa59fdbf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "finding-nemo-2003",
    "title": "Finding Nemo",
    "year": 2003,
    "primary_genre": "Animation/Family",
    "writers": [
      "David Reynolds",
      "Bob Peterson",
      "Andrew Stanton"
    ],
    "pages": 142,
    "scenes": 25,
    "mean_scene_eighths": 49.3,
    "median_scene_eighths": 34,
    "median_scene_lines": 231,
    "interior_share_pct": 40,
    "day_share_pct": 75,
    "unique_locations": 23,
    "location_changes": 24,
    "speaking_characters": 121,
    "single_line_characters": 82,
    "dialogue_blocks": 1453,
    "dialogue_words": 10453,
    "dialogue_action_ratio": 0.91,
    "monologues": 9,
    "top_character_pct": 3.1,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 47,
    "words": 24457,
    "runtime_minutes": 152,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "ea6b606b74ffcee578b0689d8512d1cd2ece469a9e1c10b795a388f1aa59fdbf",
      "source_sha256": "b7ff90311a9eaab9d5cc4b8f2f56e67ffe548949524586c6ab7029b5d7abd2b4",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/finding-nemo-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b7ff90311a9eaab9d5cc4b8f2f56e67ffe548949524586c6ab7029b5d7abd2b4",
      "measurement_sha256": "ea6b606b74ffcee578b0689d8512d1cd2ece469a9e1c10b795a388f1aa59fdbf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/finding-nemo-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.842Z.",
        "https://www.scriptslug.com/script/finding-nemo-2003",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"finding-nemo-2003\",\"Finding Nemo\",2003,\"Feature\",\"Animation/Family\",[\"David Reynolds\",\"Bob Peterson\",\"Andrew Stanton\"],\"https://www.scriptslug.com/script/finding-nemo-2003\",\"f387d8872b8d7deeea3b32dd666a960aafde2d79db0ac36da8590ad0ceb08058\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "174af810fb366bc5c9e448c2bd815667baba277272bcbbf7a0fdbccb0fd77957",
    "source_locator_sha256": "b4c4f0e4d5e50f9affc72072b54fe5de737d2e8a54c2b3b49b979918bf509af1",
    "measurement_sha256": "ec72d158351f30f75a4e30a96df0fd737ba04b52bd7ce3ba6819ebc4d95b55ac",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "flora-and-son-2023",
    "title": "Flora and Son",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "John Carney"
    ],
    "pages": 109,
    "scenes": 93,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 61.8,
    "day_share_pct": 76.9,
    "unique_locations": 50,
    "location_changes": 79,
    "speaking_characters": 43,
    "single_line_characters": 14,
    "dialogue_blocks": 1011,
    "dialogue_words": 9958,
    "dialogue_action_ratio": 1.79,
    "monologues": 25,
    "top_character_pct": 44.5,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 26,
    "words": 20150,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/flora-and-son-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "174af810fb366bc5c9e448c2bd815667baba277272bcbbf7a0fdbccb0fd77957",
      "measurement_sha256": "ec72d158351f30f75a4e30a96df0fd737ba04b52bd7ce3ba6819ebc4d95b55ac",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/flora-and-son-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.295Z.",
        "https://www.scriptslug.com/script/flora-and-son-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"flora-and-son-2023\",\"Flora and Son\",2023,\"Feature\",\"Comedy\",[\"John Carney\"],\"https://www.scriptslug.com/script/flora-and-son-2023\",\"b4c4f0e4d5e50f9affc72072b54fe5de737d2e8a54c2b3b49b979918bf509af1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "52ef9b5b14a037e9a598fe59fbfe68c5b201037169ff9fe741c2ac5d649a2926",
    "source_locator_sha256": "ddc09225e3edd3587427c6d41e9f7405beb199e9e585ab6b95b0c8bb7a6ad114",
    "measurement_sha256": "d74461b9c4fb430f616cf8526a41cb07341c96745bf2cf4a9b15136d5fc7a054",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "foe-2023",
    "title": "Foe",
    "year": 2023,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Iain Reid",
      "Garth Davis"
    ],
    "pages": 106,
    "scenes": 117,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 72.6,
    "day_share_pct": 54.5,
    "unique_locations": 63,
    "location_changes": 108,
    "speaking_characters": 12,
    "single_line_characters": 4,
    "dialogue_blocks": 818,
    "dialogue_words": 6569,
    "dialogue_action_ratio": 0.84,
    "monologues": 8,
    "top_character_pct": 41.5,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 40,
    "words": 22131,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/foe-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "52ef9b5b14a037e9a598fe59fbfe68c5b201037169ff9fe741c2ac5d649a2926",
      "measurement_sha256": "d74461b9c4fb430f616cf8526a41cb07341c96745bf2cf4a9b15136d5fc7a054",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/foe-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.695Z.",
        "https://www.scriptslug.com/script/foe-2023",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"foe-2023\",\"Foe\",2023,\"Feature\",\"Sci-Fi\",[\"Iain Reid\",\"Garth Davis\"],\"https://www.scriptslug.com/script/foe-2023\",\"ddc09225e3edd3587427c6d41e9f7405beb199e9e585ab6b95b0c8bb7a6ad114\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "44498d4f7e0dd597ad5d4f83ebcb362a2e7879dc48ad61a6d2e85f1e06d685e4",
    "source_locator_sha256": "9d29401816db4ae97cd9faa86d1ad590b5143667c95fdddf458022f379f4a3b3",
    "measurement_sha256": "c7343f1193e82e8c5449c5567fedc51f5be02df7de4157d3c4bf786c6fcb3be6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "ford-v-ferrari-2019",
    "title": "Ford v Ferrari",
    "year": 2019,
    "primary_genre": "Drama",
    "writers": [
      "Jez Butterworth",
      "John-Henry Butterworth",
      "Jason Keller"
    ],
    "pages": 143,
    "scenes": 120,
    "mean_scene_eighths": 9.9,
    "median_scene_eighths": 6,
    "median_scene_lines": 40,
    "interior_share_pct": 63.3,
    "day_share_pct": null,
    "unique_locations": 111,
    "location_changes": 117,
    "speaking_characters": 70,
    "single_line_characters": 35,
    "dialogue_blocks": 1163,
    "dialogue_words": 12253,
    "dialogue_action_ratio": 1.14,
    "monologues": 30,
    "top_character_pct": 26,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 36,
    "words": 30051,
    "runtime_minutes": 145,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ford-v-ferrari-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "44498d4f7e0dd597ad5d4f83ebcb362a2e7879dc48ad61a6d2e85f1e06d685e4",
      "measurement_sha256": "c7343f1193e82e8c5449c5567fedc51f5be02df7de4157d3c4bf786c6fcb3be6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ford-v-ferrari-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:37.979Z.",
        "https://www.scriptslug.com/script/ford-v-ferrari-2019",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ford-v-ferrari-2019\",\"Ford v Ferrari\",2019,\"Feature\",\"Drama\",[\"Jez Butterworth\",\"John-Henry Butterworth\",\"Jason Keller\"],\"https://www.scriptslug.com/script/ford-v-ferrari-2019\",\"9d29401816db4ae97cd9faa86d1ad590b5143667c95fdddf458022f379f4a3b3\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7238bcc8ec329ddaccc743889df8d8e98285d04342043fe92d9da057c3b2d973",
    "source_locator_sha256": "bc96297a0bbb129976db923dc62eedc90131f64d386f6823910c5d4ef190ef1b",
    "measurement_sha256": "76652d3ad4e22737e977bbd06654fd8dbd30ef29ccbc25da3fc0e12be504dbb8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "frankenstein-2025",
    "title": "Frankenstein",
    "year": 2025,
    "primary_genre": "Horror",
    "writers": [
      "Guillermo del Toro"
    ],
    "pages": 136,
    "scenes": 228,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 57.5,
    "day_share_pct": 53.1,
    "unique_locations": 70,
    "location_changes": 151,
    "speaking_characters": 32,
    "single_line_characters": 5,
    "dialogue_blocks": 872,
    "dialogue_words": 10642,
    "dialogue_action_ratio": 1.25,
    "monologues": 22,
    "top_character_pct": 34.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 34,
    "words": 25083,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/frankenstein-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7238bcc8ec329ddaccc743889df8d8e98285d04342043fe92d9da057c3b2d973",
      "measurement_sha256": "76652d3ad4e22737e977bbd06654fd8dbd30ef29ccbc25da3fc0e12be504dbb8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/frankenstein-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.540Z.",
        "https://www.scriptslug.com/script/frankenstein-2025",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"frankenstein-2025\",\"Frankenstein\",2025,\"Feature\",\"Horror\",[\"Guillermo del Toro\"],\"https://www.scriptslug.com/script/frankenstein-2025\",\"bc96297a0bbb129976db923dc62eedc90131f64d386f6823910c5d4ef190ef1b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a9290e3d1b3a490a250956173f11df2c6c1438ca2a1b497efaa581b3e2823463",
    "source_locator_sha256": "c0f5e4aafbda166629e3d8f5ff4807974eb6b033ff9d73d5ea90c6bcc311fbd7",
    "measurement_sha256": "3f23ccc361064f339a75c2f8c234cd69f66592308cb6e47a988dd3c3a1a4791b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "fred-claus-2007",
    "title": "Fred Claus",
    "year": 2007,
    "primary_genre": "Comedy",
    "writers": [
      "Dan Fogelman"
    ],
    "pages": 116,
    "scenes": 74,
    "mean_scene_eighths": 12.2,
    "median_scene_eighths": 8.5,
    "median_scene_lines": 57,
    "interior_share_pct": 68.9,
    "day_share_pct": 100,
    "unique_locations": 44,
    "location_changes": 65,
    "speaking_characters": 79,
    "single_line_characters": 44,
    "dialogue_blocks": 901,
    "dialogue_words": 11187,
    "dialogue_action_ratio": 1.49,
    "monologues": 44,
    "top_character_pct": 23.6,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 31,
    "words": 23672,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fred-claus-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a9290e3d1b3a490a250956173f11df2c6c1438ca2a1b497efaa581b3e2823463",
      "measurement_sha256": "3f23ccc361064f339a75c2f8c234cd69f66592308cb6e47a988dd3c3a1a4791b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fred-claus-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.712Z.",
        "https://www.scriptslug.com/script/fred-claus-2007",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fred-claus-2007\",\"Fred Claus\",2007,\"Feature\",\"Comedy\",[\"Dan Fogelman\"],\"https://www.scriptslug.com/script/fred-claus-2007\",\"c0f5e4aafbda166629e3d8f5ff4807974eb6b033ff9d73d5ea90c6bcc311fbd7\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7fd3f7c8816723afce81b9a2af5f43653cf698549c8938fab39b4af83e1892c4",
    "source_locator_sha256": "fac2a7d1c0bdc1a7fcb2856591b944142fc61cd527130610731a0c40ae8bea5b",
    "measurement_sha256": "c5f496597958d81ab06c07684471a6dc82a9f2157464175962dbece93bf3c985",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "free-guy-2021",
    "title": "Free Guy",
    "year": 2021,
    "primary_genre": "Comedy",
    "writers": [
      "Matt Lieberman"
    ],
    "pages": 110,
    "scenes": 158,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 48.4,
    "day_share_pct": 90,
    "unique_locations": 71,
    "location_changes": 150,
    "speaking_characters": 54,
    "single_line_characters": 23,
    "dialogue_blocks": 771,
    "dialogue_words": 7457,
    "dialogue_action_ratio": 1,
    "monologues": 15,
    "top_character_pct": 38.4,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 38,
    "words": 21567,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "c5f496597958d81ab06c07684471a6dc82a9f2157464175962dbece93bf3c985",
      "source_sha256": "7fd3f7c8816723afce81b9a2af5f43653cf698549c8938fab39b4af83e1892c4",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/free-guy-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7fd3f7c8816723afce81b9a2af5f43653cf698549c8938fab39b4af83e1892c4",
      "measurement_sha256": "c5f496597958d81ab06c07684471a6dc82a9f2157464175962dbece93bf3c985",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/free-guy-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.287Z.",
        "https://www.scriptslug.com/script/free-guy-2021",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"free-guy-2021\",\"Free Guy\",2021,\"Feature\",\"Comedy\",[\"Matt Lieberman\"],\"https://www.scriptslug.com/script/free-guy-2021\",\"fac2a7d1c0bdc1a7fcb2856591b944142fc61cd527130610731a0c40ae8bea5b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c667d1c5d2546d003664db8655c99e2aaf9136b4c89dcdd9af17ab83cccca7c2",
    "source_locator_sha256": "9df36b3ebd9ee5452bfe004494a541eb94cb42b94bbee28879fc7e5e352240f0",
    "measurement_sha256": "dff52cfaa22381d01df410c8e9cd1e8a8d2a070e100d167a8d7062a2397344a7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "fresh-2022",
    "title": "Fresh",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "Lauryn Kahn"
    ],
    "pages": 110,
    "scenes": 83,
    "mean_scene_eighths": 10,
    "median_scene_eighths": 7,
    "median_scene_lines": 50,
    "interior_share_pct": 73.5,
    "day_share_pct": 16.7,
    "unique_locations": 61,
    "location_changes": 78,
    "speaking_characters": 19,
    "single_line_characters": 6,
    "dialogue_blocks": 710,
    "dialogue_words": 6335,
    "dialogue_action_ratio": 0.68,
    "monologues": 8,
    "top_character_pct": 41.4,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 46,
    "words": 24538,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/fresh-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c667d1c5d2546d003664db8655c99e2aaf9136b4c89dcdd9af17ab83cccca7c2",
      "measurement_sha256": "dff52cfaa22381d01df410c8e9cd1e8a8d2a070e100d167a8d7062a2397344a7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/fresh-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.725Z.",
        "https://www.scriptslug.com/script/fresh-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"fresh-2022\",\"Fresh\",2022,\"Feature\",\"Horror\",[\"Lauryn Kahn\"],\"https://www.scriptslug.com/script/fresh-2022\",\"9df36b3ebd9ee5452bfe004494a541eb94cb42b94bbee28879fc7e5e352240f0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "68777927429487f264b8ad547227a04c180f8e10a822d7189d059ae8d4d66b5d",
    "source_locator_sha256": "b396f7b76641493c285cfe7f08a413ac146eb20619bcee818bb302b5851f384d",
    "measurement_sha256": "52416329f6eb5205317fca8d8a28a67792bba4dd18fab3c08dae671c97224d6f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "freuds-last-session-2023",
    "title": "Freud's Last Session",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Mark St. Germain",
      "Matthew Brown"
    ],
    "pages": 103,
    "scenes": 132,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 28.5,
    "interior_share_pct": 69.7,
    "day_share_pct": 33.3,
    "unique_locations": 91,
    "location_changes": 129,
    "speaking_characters": 45,
    "single_line_characters": 15,
    "dialogue_blocks": 815,
    "dialogue_words": 8124,
    "dialogue_action_ratio": 1.65,
    "monologues": 22,
    "top_character_pct": 34.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 27,
    "words": 18239,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/freuds-last-session-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "68777927429487f264b8ad547227a04c180f8e10a822d7189d059ae8d4d66b5d",
      "measurement_sha256": "52416329f6eb5205317fca8d8a28a67792bba4dd18fab3c08dae671c97224d6f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/freuds-last-session-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.323Z.",
        "https://www.scriptslug.com/script/freuds-last-session-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"freuds-last-session-2023\",\"Freud's Last Session\",2023,\"Feature\",\"Drama\",[\"Mark St. Germain\",\"Matthew Brown\"],\"https://www.scriptslug.com/script/freuds-last-session-2023\",\"b396f7b76641493c285cfe7f08a413ac146eb20619bcee818bb302b5851f384d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ea0aed26149a966d192fe793ef857d2b8bff5709b174f128e9c5c31171cefd23",
    "source_locator_sha256": "82fa944b9b4dfe0eb2aed29b6c00c4523107e9a70c6a38170b229dcd16931d1d",
    "measurement_sha256": "9a4dd2ff748866ce32a9a47a12e791ca5d76988e5a7f2915cbd9c1f5dca6cd35",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "friendship-2025",
    "title": "Friendship",
    "year": 2025,
    "primary_genre": "Comedy",
    "writers": [
      "Andrew DeYoung"
    ],
    "pages": 105,
    "scenes": 100,
    "mean_scene_eighths": 7.9,
    "median_scene_eighths": 5,
    "median_scene_lines": 31,
    "interior_share_pct": 68,
    "day_share_pct": 47.5,
    "unique_locations": 53,
    "location_changes": 94,
    "speaking_characters": 35,
    "single_line_characters": 5,
    "dialogue_blocks": 974,
    "dialogue_words": 9435,
    "dialogue_action_ratio": 2.01,
    "monologues": 21,
    "top_character_pct": 55.1,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 23,
    "words": 19485,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/friendship-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ea0aed26149a966d192fe793ef857d2b8bff5709b174f128e9c5c31171cefd23",
      "measurement_sha256": "9a4dd2ff748866ce32a9a47a12e791ca5d76988e5a7f2915cbd9c1f5dca6cd35",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/friendship-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.373Z.",
        "https://www.scriptslug.com/script/friendship-2025",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"friendship-2025\",\"Friendship\",2025,\"Feature\",\"Comedy\",[\"Andrew DeYoung\"],\"https://www.scriptslug.com/script/friendship-2025\",\"82fa944b9b4dfe0eb2aed29b6c00c4523107e9a70c6a38170b229dcd16931d1d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "2a273fb73336e51e052e346cdb06c0ffd267eeb4ca8d25a900e60751fb9420d6",
    "source_locator_sha256": "9793903c66c1d1765c53bb7da5ba09678f41d13a0efcb43726d2422c3f5e0f83",
    "measurement_sha256": "1075c19307aed730e4a762e3869b7ed10b5761778015943f9a4dc96f7747d81f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "frost-nixon-2008",
    "title": "Frost/Nixon",
    "year": 2008,
    "primary_genre": "Drama",
    "writers": [
      "Peter Morgan"
    ],
    "pages": 142,
    "scenes": 152,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 19.5,
    "interior_share_pct": 80.9,
    "day_share_pct": 71.4,
    "unique_locations": 69,
    "location_changes": 136,
    "speaking_characters": 32,
    "single_line_characters": 10,
    "dialogue_blocks": 871,
    "dialogue_words": 12907,
    "dialogue_action_ratio": 2.77,
    "monologues": 78,
    "top_character_pct": 31.2,
    "dialogue_line_share_pct": 57,
    "action_line_share_pct": 20,
    "words": 21698,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/frost-nixon-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2a273fb73336e51e052e346cdb06c0ffd267eeb4ca8d25a900e60751fb9420d6",
      "measurement_sha256": "1075c19307aed730e4a762e3869b7ed10b5761778015943f9a4dc96f7747d81f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/frost-nixon-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.901Z.",
        "https://www.scriptslug.com/script/frost-nixon-2008",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"frost-nixon-2008\",\"Frost/Nixon\",2008,\"Feature\",\"Drama\",[\"Peter Morgan\"],\"https://www.scriptslug.com/script/frost-nixon-2008\",\"9793903c66c1d1765c53bb7da5ba09678f41d13a0efcb43726d2422c3f5e0f83\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b3cbec70d1c4682068655236d1068af63868e071fd9bb08bcc07726cea04fd7b",
    "source_locator_sha256": "8a833323946a81254571b8c8522c8210eeb83594656bd2cd2f44a7d457149d64",
    "measurement_sha256": "99a5a7abd11df39370d183d3260cdd8daabda0d9eed4118b0c8932548be521fe",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "game-night-2018",
    "title": "Game Night",
    "year": 2018,
    "primary_genre": "Comedy",
    "writers": [
      "Mark Perez",
      "Dana Fox",
      "Katherine Silberman",
      "Jonathan Goldstein",
      "John Francis Daley"
    ],
    "pages": 113,
    "scenes": 74,
    "mean_scene_eighths": 12.2,
    "median_scene_eighths": 8,
    "median_scene_lines": 52,
    "interior_share_pct": 70.9,
    "day_share_pct": 4.4,
    "unique_locations": 43,
    "location_changes": 69,
    "speaking_characters": 35,
    "single_line_characters": 7,
    "dialogue_blocks": 1225,
    "dialogue_words": 10221,
    "dialogue_action_ratio": 2.32,
    "monologues": 11,
    "top_character_pct": 25.8,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 20,
    "words": 19922,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/game-night-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b3cbec70d1c4682068655236d1068af63868e071fd9bb08bcc07726cea04fd7b",
      "measurement_sha256": "99a5a7abd11df39370d183d3260cdd8daabda0d9eed4118b0c8932548be521fe",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/game-night-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.592Z.",
        "https://www.scriptslug.com/script/game-night-2018",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"game-night-2018\",\"Game Night\",2018,\"Feature\",\"Comedy\",[\"Mark Perez\",\"Dana Fox\",\"Katherine Silberman\",\"Jonathan Goldstein\",\"John Francis Daley\"],\"https://www.scriptslug.com/script/game-night-2018\",\"8a833323946a81254571b8c8522c8210eeb83594656bd2cd2f44a7d457149d64\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "24a90d4edeab95261bcc61333e2bbf98806ae58f2ad6b4813a68779d4c6f5e8b",
    "source_locator_sha256": "29a9c441a59d6cd3a2ec84e93d451f4f8ec65d34f420acee9fd9792fd678950f",
    "measurement_sha256": "27348e8c00ffff2876102d5a58126696459777087a95d2df93afc8ed01a87f89",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "gemini-man-2019",
    "title": "Gemini Man",
    "year": 2019,
    "primary_genre": "Action",
    "writers": [
      "David Benioff"
    ],
    "pages": 116,
    "scenes": 171,
    "mean_scene_eighths": 5,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 40.9,
    "day_share_pct": 64.4,
    "unique_locations": 91,
    "location_changes": 163,
    "speaking_characters": 39,
    "single_line_characters": 13,
    "dialogue_blocks": 797,
    "dialogue_words": 7495,
    "dialogue_action_ratio": 0.86,
    "monologues": 16,
    "top_character_pct": 34,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 41,
    "words": 24309,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/gemini-man-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "24a90d4edeab95261bcc61333e2bbf98806ae58f2ad6b4813a68779d4c6f5e8b",
      "measurement_sha256": "27348e8c00ffff2876102d5a58126696459777087a95d2df93afc8ed01a87f89",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/gemini-man-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.920Z.",
        "https://www.scriptslug.com/script/gemini-man-2019",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"gemini-man-2019\",\"Gemini Man\",2019,\"Feature\",\"Action\",[\"David Benioff\"],\"https://www.scriptslug.com/script/gemini-man-2019\",\"29a9c441a59d6cd3a2ec84e93d451f4f8ec65d34f420acee9fd9792fd678950f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7598adf3e0acef139d0cedd00f82916b5184c28eea0987554d3412fa2b510ac9",
    "source_locator_sha256": "74bf0a19e38b4d6dc1446be2c60eb7654bfbe8702f0c0a5dbe9a01da68944f57",
    "measurement_sha256": "651b4ad8becea80715948d06cf4e20a43fcf9db064eb54eed4d53f032e0622d1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "geostorm-2017",
    "title": "Geostorm",
    "year": 2017,
    "primary_genre": "Action",
    "writers": [
      "Dean Devlin",
      "Paul Guyot"
    ],
    "pages": 133,
    "scenes": 216,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 66.4,
    "day_share_pct": 55,
    "unique_locations": 96,
    "location_changes": 186,
    "speaking_characters": 53,
    "single_line_characters": 17,
    "dialogue_blocks": 953,
    "dialogue_words": 9134,
    "dialogue_action_ratio": 1.04,
    "monologues": 13,
    "top_character_pct": 21.8,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 37,
    "words": 27140,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/geostorm-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7598adf3e0acef139d0cedd00f82916b5184c28eea0987554d3412fa2b510ac9",
      "measurement_sha256": "651b4ad8becea80715948d06cf4e20a43fcf9db064eb54eed4d53f032e0622d1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/geostorm-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.377Z.",
        "https://www.scriptslug.com/script/geostorm-2017",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"geostorm-2017\",\"Geostorm\",2017,\"Feature\",\"Action\",[\"Dean Devlin\",\"Paul Guyot\"],\"https://www.scriptslug.com/script/geostorm-2017\",\"74bf0a19e38b4d6dc1446be2c60eb7654bfbe8702f0c0a5dbe9a01da68944f57\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "029edde811891a2194e982ae385ea217279bb6a2351ad2d1c1d29ee43b12552a",
    "source_locator_sha256": "13ebbb5a6e3c1369696052897ef71a5c8cc2b55e20011d6d3ea45af26dfd092c",
    "measurement_sha256": "cc6554e0e223dda5a361b35f7c3fa7be270bc0c0eded2172849bf9b5d4da9d07",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "get-out-2017",
    "title": "Get Out",
    "year": 2017,
    "primary_genre": "Horror",
    "writers": [
      "Jordan Peele"
    ],
    "pages": 100,
    "scenes": 118,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 65.3,
    "day_share_pct": 69.1,
    "unique_locations": 54,
    "location_changes": 103,
    "speaking_characters": 38,
    "single_line_characters": 10,
    "dialogue_blocks": 871,
    "dialogue_words": 7534,
    "dialogue_action_ratio": 1.51,
    "monologues": 11,
    "top_character_pct": 25.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 29,
    "words": 18175,
    "runtime_minutes": 99,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/get-out-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "029edde811891a2194e982ae385ea217279bb6a2351ad2d1c1d29ee43b12552a",
      "measurement_sha256": "cc6554e0e223dda5a361b35f7c3fa7be270bc0c0eded2172849bf9b5d4da9d07",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/get-out-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.688Z.",
        "https://www.scriptslug.com/script/get-out-2017",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"get-out-2017\",\"Get Out\",2017,\"Feature\",\"Horror\",[\"Jordan Peele\"],\"https://www.scriptslug.com/script/get-out-2017\",\"13ebbb5a6e3c1369696052897ef71a5c8cc2b55e20011d6d3ea45af26dfd092c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8b0a0100d1bcbc3c1636343c5d887670712ef11b2fc092bfba35e48879e25c4f",
    "source_locator_sha256": "ddc2d0d5258d2cdde66595ddae3fb4667d66d4d832adfdfcf465f4351f8b44b4",
    "measurement_sha256": "f4c83533872c634b25447e3de18edbf7d15999518d1314b2ed037a2fff5b20ba",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "girl-with-a-pearl-earring-2003",
    "title": "Girl with a Pearl Earring",
    "year": 2003,
    "primary_genre": "Drama",
    "writers": [
      "Olivia Hetreed"
    ],
    "pages": 88,
    "scenes": 150,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 70.7,
    "day_share_pct": 58.3,
    "unique_locations": 66,
    "location_changes": 148,
    "speaking_characters": 19,
    "single_line_characters": 5,
    "dialogue_blocks": 599,
    "dialogue_words": 5871,
    "dialogue_action_ratio": 0.7,
    "monologues": 9,
    "top_character_pct": 17.7,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 46,
    "words": 21231,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "f4c83533872c634b25447e3de18edbf7d15999518d1314b2ed037a2fff5b20ba",
      "source_sha256": "8b0a0100d1bcbc3c1636343c5d887670712ef11b2fc092bfba35e48879e25c4f",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/girl-with-a-pearl-earring-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8b0a0100d1bcbc3c1636343c5d887670712ef11b2fc092bfba35e48879e25c4f",
      "measurement_sha256": "f4c83533872c634b25447e3de18edbf7d15999518d1314b2ed037a2fff5b20ba",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/girl-with-a-pearl-earring-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.416Z.",
        "https://www.scriptslug.com/script/girl-with-a-pearl-earring-2003",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"girl-with-a-pearl-earring-2003\",\"Girl with a Pearl Earring\",2003,\"Feature\",\"Drama\",[\"Olivia Hetreed\"],\"https://www.scriptslug.com/script/girl-with-a-pearl-earring-2003\",\"ddc2d0d5258d2cdde66595ddae3fb4667d66d4d832adfdfcf465f4351f8b44b4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "99be33fa21e5fd35c962617025cd377de8928e4af993f286da97058950599a49",
    "source_locator_sha256": "830da2aeb18a273b9dc7f90b2c29c08477c70adce36ae0d1aeba1ab5358d75c7",
    "measurement_sha256": "6922bbaeeb9f281611fe5e85f9c91e2c5ac24a3f4684bf47be863ff81a7492ba",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "gladiator-2000",
    "title": "Gladiator",
    "year": 2000,
    "primary_genre": "Action",
    "writers": [
      "David Franzoni",
      "John Logan"
    ],
    "pages": 121,
    "scenes": 120,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 29.5,
    "interior_share_pct": 40.8,
    "day_share_pct": 55,
    "unique_locations": 43,
    "location_changes": 86,
    "speaking_characters": 43,
    "single_line_characters": 15,
    "dialogue_blocks": 735,
    "dialogue_words": 8906,
    "dialogue_action_ratio": 0.87,
    "monologues": 32,
    "top_character_pct": 14.7,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 44,
    "words": 24836,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/gladiator-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "99be33fa21e5fd35c962617025cd377de8928e4af993f286da97058950599a49",
      "measurement_sha256": "6922bbaeeb9f281611fe5e85f9c91e2c5ac24a3f4684bf47be863ff81a7492ba",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/gladiator-2000",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.674Z.",
        "https://www.scriptslug.com/script/gladiator-2000",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"gladiator-2000\",\"Gladiator\",2000,\"Feature\",\"Action\",[\"David Franzoni\",\"John Logan\"],\"https://www.scriptslug.com/script/gladiator-2000\",\"830da2aeb18a273b9dc7f90b2c29c08477c70adce36ae0d1aeba1ab5358d75c7\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1d5b32b7af91a9f80b11caa82988ee5846d5c205b2d65ed6207d39a1399c627c",
    "source_locator_sha256": "0fc2d89f6690e2955f1c59a44c63c6e9973ddd7efac07683ed2c563c51e4dc33",
    "measurement_sha256": "aad46e0102fba76a3d635e28c900fa0b1b43d09a84c3fce522d40c68e13c91dd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "gladiator-ii-2024",
    "title": "Gladiator II",
    "year": 2024,
    "primary_genre": "Action",
    "writers": [
      "David Scarpa"
    ],
    "pages": 152,
    "scenes": 150,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 45.7,
    "day_share_pct": 0,
    "unique_locations": 116,
    "location_changes": 139,
    "speaking_characters": 34,
    "single_line_characters": 9,
    "dialogue_blocks": 727,
    "dialogue_words": 7721,
    "dialogue_action_ratio": 0.72,
    "monologues": 11,
    "top_character_pct": 21,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 46,
    "words": 26699,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/gladiator-ii-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1d5b32b7af91a9f80b11caa82988ee5846d5c205b2d65ed6207d39a1399c627c",
      "measurement_sha256": "aad46e0102fba76a3d635e28c900fa0b1b43d09a84c3fce522d40c68e13c91dd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/gladiator-ii-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.879Z.",
        "https://www.scriptslug.com/script/gladiator-ii-2024",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"gladiator-ii-2024\",\"Gladiator II\",2024,\"Feature\",\"Action\",[\"David Scarpa\"],\"https://www.scriptslug.com/script/gladiator-ii-2024\",\"0fc2d89f6690e2955f1c59a44c63c6e9973ddd7efac07683ed2c563c51e4dc33\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "bd52110e7babb11668184a2155ea3fcb33b128f746b7e43ba3c359a51905d3c4",
    "source_locator_sha256": "759e634536fc2d8da6060b44cd3f5fc9cddce5b936c170be0f43c67e298564b1",
    "measurement_sha256": "9e61866de176294050e4ba22fae1b03b8ad1b7e57e213a0a42b532a8785f9406",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "glass-onion-a-knives-out-mystery-2022",
    "title": "Glass Onion: A Knives Out Mystery",
    "year": 2022,
    "primary_genre": "Crime",
    "writers": [
      "Rian Johnson"
    ],
    "pages": 135,
    "scenes": 146,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 18.5,
    "interior_share_pct": 62.3,
    "day_share_pct": 35.2,
    "unique_locations": 55,
    "location_changes": 135,
    "speaking_characters": 42,
    "single_line_characters": 18,
    "dialogue_blocks": 1067,
    "dialogue_words": 12454,
    "dialogue_action_ratio": 1.56,
    "monologues": 51,
    "top_character_pct": 25.4,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 30,
    "words": 25879,
    "runtime_minutes": 131,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/glass-onion-a-knives-out-mystery-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "bd52110e7babb11668184a2155ea3fcb33b128f746b7e43ba3c359a51905d3c4",
      "measurement_sha256": "9e61866de176294050e4ba22fae1b03b8ad1b7e57e213a0a42b532a8785f9406",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/glass-onion-a-knives-out-mystery-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.611Z.",
        "https://www.scriptslug.com/script/glass-onion-a-knives-out-mystery-2022",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"glass-onion-a-knives-out-mystery-2022\",\"Glass Onion: A Knives Out Mystery\",2022,\"Feature\",\"Crime\",[\"Rian Johnson\"],\"https://www.scriptslug.com/script/glass-onion-a-knives-out-mystery-2022\",\"759e634536fc2d8da6060b44cd3f5fc9cddce5b936c170be0f43c67e298564b1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "961ffb08e008a49b9f0505049e9ef960de44610f440bd277bbe834d35cddfdce",
    "source_locator_sha256": "61f13bdf53d9558438ffa199b08a2814471f1979dcdbd6788dbafb0d21eb4296",
    "measurement_sha256": "b323c0e2034b3a9c50984eba04b8815b54a3bb1e790e5c2e4ec5bbd01736bebc",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "gone-girl-2014",
    "title": "Gone Girl",
    "year": 2014,
    "primary_genre": "Thriller",
    "writers": [
      "Gillian Flynn"
    ],
    "pages": 177,
    "scenes": 261,
    "mean_scene_eighths": 4.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 75.1,
    "day_share_pct": 53.1,
    "unique_locations": 135,
    "location_changes": 238,
    "speaking_characters": 48,
    "single_line_characters": 17,
    "dialogue_blocks": 1595,
    "dialogue_words": 15164,
    "dialogue_action_ratio": 2.1,
    "monologues": 26,
    "top_character_pct": 27,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 23,
    "words": 30825,
    "runtime_minutes": 137,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/gone-girl-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "961ffb08e008a49b9f0505049e9ef960de44610f440bd277bbe834d35cddfdce",
      "measurement_sha256": "b323c0e2034b3a9c50984eba04b8815b54a3bb1e790e5c2e4ec5bbd01736bebc",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/gone-girl-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:50.439Z.",
        "https://www.scriptslug.com/script/gone-girl-2014",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"gone-girl-2014\",\"Gone Girl\",2014,\"Feature\",\"Thriller\",[\"Gillian Flynn\"],\"https://www.scriptslug.com/script/gone-girl-2014\",\"61f13bdf53d9558438ffa199b08a2814471f1979dcdbd6788dbafb0d21eb4296\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "565b93668697715b127cb3e20f3bf8751db2b150b0201745337838ad9855a56e",
    "source_locator_sha256": "26a61984b6531dde09276aa00bafc1dc38abd0770e827c7eeec3730cee07fc27",
    "measurement_sha256": "1a80bc20ee24d9f0430ecd13fa928ee468cd803eb7ef0bf0149e23856df4b6a0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "guillermo-del-toros-pinocchio-2022",
    "title": "Guillermo del Toro's Pinocchio",
    "year": 2022,
    "primary_genre": "Animation/Family",
    "writers": [
      "Guillermo del Toro",
      "Patrick McHale"
    ],
    "pages": 120,
    "scenes": 125,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 56.8,
    "day_share_pct": 46.2,
    "unique_locations": 54,
    "location_changes": 110,
    "speaking_characters": 54,
    "single_line_characters": 18,
    "dialogue_blocks": 914,
    "dialogue_words": 8461,
    "dialogue_action_ratio": 1.17,
    "monologues": 14,
    "top_character_pct": 26.1,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 34,
    "words": 20735,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/guillermo-del-toros-pinocchio-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "565b93668697715b127cb3e20f3bf8751db2b150b0201745337838ad9855a56e",
      "measurement_sha256": "1a80bc20ee24d9f0430ecd13fa928ee468cd803eb7ef0bf0149e23856df4b6a0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/guillermo-del-toros-pinocchio-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.784Z.",
        "https://www.scriptslug.com/script/guillermo-del-toros-pinocchio-2022",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"guillermo-del-toros-pinocchio-2022\",\"Guillermo del Toro's Pinocchio\",2022,\"Feature\",\"Animation/Family\",[\"Guillermo del Toro\",\"Patrick McHale\"],\"https://www.scriptslug.com/script/guillermo-del-toros-pinocchio-2022\",\"26a61984b6531dde09276aa00bafc1dc38abd0770e827c7eeec3730cee07fc27\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2fefc08fd5feaf7c33e7e158e3088efd296dde4191dabe191564bf0f2b836f94",
    "source_locator_sha256": "d74e74d0958f37ab2893e46e34b8dde6039b12221979546ec61bbacc0164a6fc",
    "measurement_sha256": "85838e32f9a84cf7a64e3696f5057c997937a9b3aa8c90e95acc4c5d3bb2b7af",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "gunpowder-milkshake-2021",
    "title": "Gunpowder Milkshake",
    "year": 2021,
    "primary_genre": "Action",
    "writers": [
      "Aharon Keshales",
      "Navot Papushado",
      "Ehud Lavski"
    ],
    "pages": 109,
    "scenes": 82,
    "mean_scene_eighths": 10.1,
    "median_scene_eighths": 8,
    "median_scene_lines": 53.5,
    "interior_share_pct": 78.7,
    "day_share_pct": 19.4,
    "unique_locations": 47,
    "location_changes": 74,
    "speaking_characters": 33,
    "single_line_characters": 9,
    "dialogue_blocks": 785,
    "dialogue_words": 5903,
    "dialogue_action_ratio": 0.73,
    "monologues": 2,
    "top_character_pct": 34.2,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 44,
    "words": 21539,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/gunpowder-milkshake-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2fefc08fd5feaf7c33e7e158e3088efd296dde4191dabe191564bf0f2b836f94",
      "measurement_sha256": "85838e32f9a84cf7a64e3696f5057c997937a9b3aa8c90e95acc4c5d3bb2b7af",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/gunpowder-milkshake-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.115Z.",
        "https://www.scriptslug.com/script/gunpowder-milkshake-2021",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"gunpowder-milkshake-2021\",\"Gunpowder Milkshake\",2021,\"Feature\",\"Action\",[\"Aharon Keshales\",\"Navot Papushado\",\"Ehud Lavski\"],\"https://www.scriptslug.com/script/gunpowder-milkshake-2021\",\"d74e74d0958f37ab2893e46e34b8dde6039b12221979546ec61bbacc0164a6fc\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "eb6f30b4dec7421640c89fdef36a2858281e836ebcc1b338cc93b6ac322f23ec",
    "source_locator_sha256": "ae05dca9ed658e31de543292eccc3cc0590f7aa48ee1c192ab7c16194153aff2",
    "measurement_sha256": "4fe46bcf8c29c8b86b74635504bf5421d33f8a4b0c3c880e4ec4679d42894dca",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "hall-pass-2011",
    "title": "Hall Pass",
    "year": 2011,
    "primary_genre": "Comedy",
    "writers": [
      "Pete Jones"
    ],
    "pages": 101,
    "scenes": 3,
    "mean_scene_eighths": 118.7,
    "median_scene_eighths": 1,
    "median_scene_lines": 4,
    "interior_share_pct": 0,
    "day_share_pct": null,
    "unique_locations": 3,
    "location_changes": 2,
    "speaking_characters": 58,
    "single_line_characters": 24,
    "dialogue_blocks": 998,
    "dialogue_words": 8162,
    "dialogue_action_ratio": 1.1,
    "monologues": 10,
    "top_character_pct": 30,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 36,
    "words": 20719,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "4fe46bcf8c29c8b86b74635504bf5421d33f8a4b0c3c880e4ec4679d42894dca",
      "source_sha256": "eb6f30b4dec7421640c89fdef36a2858281e836ebcc1b338cc93b6ac322f23ec",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hall-pass-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "eb6f30b4dec7421640c89fdef36a2858281e836ebcc1b338cc93b6ac322f23ec",
      "measurement_sha256": "4fe46bcf8c29c8b86b74635504bf5421d33f8a4b0c3c880e4ec4679d42894dca",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hall-pass-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.465Z.",
        "https://www.scriptslug.com/script/hall-pass-2011",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hall-pass-2011\",\"Hall Pass\",2011,\"Feature\",\"Comedy\",[\"Pete Jones\"],\"https://www.scriptslug.com/script/hall-pass-2011\",\"ae05dca9ed658e31de543292eccc3cc0590f7aa48ee1c192ab7c16194153aff2\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "29ea54d4cd3c2513e587b1b8ef0d9648f00e4cd948b787c8a185a89422ab36df",
    "source_locator_sha256": "359118dd78aa5a651658d3bcd267b6f8f58879cb208cc6d035239a1c83b72a38",
    "measurement_sha256": "6cf87bfb7a4bf838291bc05e931c94f025a2ea46d2e4de60ffd1bd4d917e6627",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "halloween-2018",
    "title": "Halloween",
    "year": 2018,
    "primary_genre": "Horror",
    "writers": [
      "David Gordon Green",
      "Danny McBride",
      "Jeff Fradley"
    ],
    "pages": 95,
    "scenes": 120,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 57.5,
    "day_share_pct": null,
    "unique_locations": 81,
    "location_changes": 111,
    "speaking_characters": 45,
    "single_line_characters": 14,
    "dialogue_blocks": 603,
    "dialogue_words": 7039,
    "dialogue_action_ratio": 1.04,
    "monologues": 24,
    "top_character_pct": 12.2,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 38,
    "words": 19493,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "6cf87bfb7a4bf838291bc05e931c94f025a2ea46d2e4de60ffd1bd4d917e6627",
      "source_sha256": "29ea54d4cd3c2513e587b1b8ef0d9648f00e4cd948b787c8a185a89422ab36df",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/halloween-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "29ea54d4cd3c2513e587b1b8ef0d9648f00e4cd948b787c8a185a89422ab36df",
      "measurement_sha256": "6cf87bfb7a4bf838291bc05e931c94f025a2ea46d2e4de60ffd1bd4d917e6627",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/halloween-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.943Z.",
        "https://www.scriptslug.com/script/halloween-2018",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"halloween-2018\",\"Halloween\",2018,\"Feature\",\"Horror\",[\"David Gordon Green\",\"Danny McBride\",\"Jeff Fradley\"],\"https://www.scriptslug.com/script/halloween-2018\",\"359118dd78aa5a651658d3bcd267b6f8f58879cb208cc6d035239a1c83b72a38\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "982eff352a07098af36651f291a25c2cb2c8870a931544a326cb2f95b2228f01",
    "source_locator_sha256": "47c5e275ee8d5c971be5262c4fc77a40b7de3d79473ad246856778421f8435ec",
    "measurement_sha256": "a23afa5e76d5d0456fba818d7dc5a856eee80cd3a898a20c8c90bcca6569cff9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "halloween-kills-2021",
    "title": "Halloween Kills",
    "year": 2021,
    "primary_genre": "Horror",
    "writers": [
      "David Gordon Green",
      "Danny McBride",
      "Scott Teems"
    ],
    "pages": 117,
    "scenes": 144,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 62.5,
    "day_share_pct": null,
    "unique_locations": 82,
    "location_changes": 137,
    "speaking_characters": 46,
    "single_line_characters": 5,
    "dialogue_blocks": 758,
    "dialogue_words": 6315,
    "dialogue_action_ratio": 0.82,
    "monologues": 13,
    "top_character_pct": 13.6,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 41,
    "words": 20022,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/halloween-kills-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "982eff352a07098af36651f291a25c2cb2c8870a931544a326cb2f95b2228f01",
      "measurement_sha256": "a23afa5e76d5d0456fba818d7dc5a856eee80cd3a898a20c8c90bcca6569cff9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/halloween-kills-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:31.730Z.",
        "https://www.scriptslug.com/script/halloween-kills-2021",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"halloween-kills-2021\",\"Halloween Kills\",2021,\"Feature\",\"Horror\",[\"David Gordon Green\",\"Danny McBride\",\"Scott Teems\"],\"https://www.scriptslug.com/script/halloween-kills-2021\",\"47c5e275ee8d5c971be5262c4fc77a40b7de3d79473ad246856778421f8435ec\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c1653d4a75ea218e719b66cba7b98e9447390d394793e9c0a9de1ea3a315e0b4",
    "source_locator_sha256": "27a12c1eac1b8c180b77cdf8eb1ddcdc5000cc7c80af6de70b723d97b1590826",
    "measurement_sha256": "07e0a9a5e958e624561e7833c8200c1f660be298e862c515e1b06fc631767829",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "hamnet-2025",
    "title": "Hamnet",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Chloé Zhao",
      "Maggie O'Farrell"
    ],
    "pages": 119,
    "scenes": 124,
    "mean_scene_eighths": 7.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 52,
    "day_share_pct": 68.9,
    "unique_locations": 19,
    "location_changes": 59,
    "speaking_characters": 47,
    "single_line_characters": 17,
    "dialogue_blocks": 784,
    "dialogue_words": 8664,
    "dialogue_action_ratio": 0.95,
    "monologues": 30,
    "top_character_pct": 25.2,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 40,
    "words": 26626,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hamnet-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c1653d4a75ea218e719b66cba7b98e9447390d394793e9c0a9de1ea3a315e0b4",
      "measurement_sha256": "07e0a9a5e958e624561e7833c8200c1f660be298e862c515e1b06fc631767829",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hamnet-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.647Z.",
        "https://www.scriptslug.com/script/hamnet-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hamnet-2025\",\"Hamnet\",2025,\"Feature\",\"Drama\",[\"Chloé Zhao\",\"Maggie O'Farrell\"],\"https://www.scriptslug.com/script/hamnet-2025\",\"27a12c1eac1b8c180b77cdf8eb1ddcdc5000cc7c80af6de70b723d97b1590826\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a69420e38e5ddd7e0c34c20a9e7a2746fa4ec950456a9edfbe0284b66465a410",
    "source_locator_sha256": "bc8415ccebc4876f5cb7af8d2021faf2524b0931f742a44beff300e5d7499d96",
    "measurement_sha256": "deac70fbb9d68456502a947a40f5351055d2cafe9a81e3bbc5568f19bf3b8e8d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "harry-potter-and-the-goblet-of-fire-2005",
    "title": "Harry Potter and the Goblet of Fire",
    "year": 2005,
    "primary_genre": "Fantasy",
    "writers": [
      "Steve Kloves"
    ],
    "pages": 130,
    "scenes": 55,
    "mean_scene_eighths": 24.9,
    "median_scene_eighths": 17,
    "median_scene_lines": 114,
    "interior_share_pct": 42.7,
    "day_share_pct": 76.9,
    "unique_locations": 45,
    "location_changes": 51,
    "speaking_characters": 96,
    "single_line_characters": 49,
    "dialogue_blocks": 1206,
    "dialogue_words": 6923,
    "dialogue_action_ratio": 0.41,
    "monologues": 3,
    "top_character_pct": 4.2,
    "dialogue_line_share_pct": 25,
    "action_line_share_pct": 61,
    "words": 29564,
    "runtime_minutes": 163,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/harry-potter-and-the-goblet-of-fire-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a69420e38e5ddd7e0c34c20a9e7a2746fa4ec950456a9edfbe0284b66465a410",
      "measurement_sha256": "deac70fbb9d68456502a947a40f5351055d2cafe9a81e3bbc5568f19bf3b8e8d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/harry-potter-and-the-goblet-of-fire-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.142Z.",
        "https://www.scriptslug.com/script/harry-potter-and-the-goblet-of-fire-2005",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"harry-potter-and-the-goblet-of-fire-2005\",\"Harry Potter and the Goblet of Fire\",2005,\"Feature\",\"Fantasy\",[\"Steve Kloves\"],\"https://www.scriptslug.com/script/harry-potter-and-the-goblet-of-fire-2005\",\"bc8415ccebc4876f5cb7af8d2021faf2524b0931f742a44beff300e5d7499d96\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "161d476f0e17800725938bf2ee5115f4cdc48456a5de1bed596e088baa75420c",
    "source_locator_sha256": "e0b874f7cf179e4d857f509881f1122b14f28e19458c0785a4c4093bf52c6079",
    "measurement_sha256": "de33caf41a17915c0672cf18188478452dc206df47d25c1982d896290c7c7497",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "harry-potter-and-the-prisoner-of-azkaban-2004",
    "title": "Harry Potter and the Prisoner of Azkaban",
    "year": 2004,
    "primary_genre": "Fantasy",
    "writers": [
      "Steve Kloves"
    ],
    "pages": 128,
    "scenes": 139,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 47.1,
    "day_share_pct": 47.1,
    "unique_locations": 65,
    "location_changes": 117,
    "speaking_characters": 45,
    "single_line_characters": 10,
    "dialogue_blocks": 906,
    "dialogue_words": 9084,
    "dialogue_action_ratio": 1.09,
    "monologues": 23,
    "top_character_pct": 15.4,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 36,
    "words": 25096,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/harry-potter-and-the-prisoner-of-azkaban-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "161d476f0e17800725938bf2ee5115f4cdc48456a5de1bed596e088baa75420c",
      "measurement_sha256": "de33caf41a17915c0672cf18188478452dc206df47d25c1982d896290c7c7497",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/harry-potter-and-the-prisoner-of-azkaban-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.946Z.",
        "https://www.scriptslug.com/script/harry-potter-and-the-prisoner-of-azkaban-2004",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"harry-potter-and-the-prisoner-of-azkaban-2004\",\"Harry Potter and the Prisoner of Azkaban\",2004,\"Feature\",\"Fantasy\",[\"Steve Kloves\"],\"https://www.scriptslug.com/script/harry-potter-and-the-prisoner-of-azkaban-2004\",\"e0b874f7cf179e4d857f509881f1122b14f28e19458c0785a4c4093bf52c6079\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "54a9bd03dd13604f0b169762c6583cf0ba5aaa956d8ba9b440c272e95ea286b6",
    "source_locator_sha256": "22b3cfa7971966ae2e179a4895d1470abf22c48a7b7656092ca8533b8b5974bb",
    "measurement_sha256": "a2dedbb4f47b4d513ea49f46a8861d1340223e551d258b1e0a86bdd1b622fe0b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "hellboy-2004",
    "title": "Hellboy",
    "year": 2004,
    "primary_genre": "Fantasy",
    "writers": [
      "Guillermo del Toro"
    ],
    "pages": 116,
    "scenes": 35,
    "mean_scene_eighths": 24.9,
    "median_scene_eighths": 14,
    "median_scene_lines": 94,
    "interior_share_pct": 45.7,
    "day_share_pct": 60,
    "unique_locations": 27,
    "location_changes": 32,
    "speaking_characters": 68,
    "single_line_characters": 39,
    "dialogue_blocks": 646,
    "dialogue_words": 6582,
    "dialogue_action_ratio": 0.57,
    "monologues": 11,
    "top_character_pct": 8.8,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 54,
    "words": 24381,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hellboy-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "54a9bd03dd13604f0b169762c6583cf0ba5aaa956d8ba9b440c272e95ea286b6",
      "measurement_sha256": "a2dedbb4f47b4d513ea49f46a8861d1340223e551d258b1e0a86bdd1b622fe0b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hellboy-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.487Z.",
        "https://www.scriptslug.com/script/hellboy-2004",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hellboy-2004\",\"Hellboy\",2004,\"Feature\",\"Fantasy\",[\"Guillermo del Toro\"],\"https://www.scriptslug.com/script/hellboy-2004\",\"22b3cfa7971966ae2e179a4895d1470abf22c48a7b7656092ca8533b8b5974bb\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "753bd9cf01ced429d65b9034be42e9ef5b54b81d2f67c501a0d82d6f42c9bcc1",
    "source_locator_sha256": "42795a8edf63a36d04d7cfe25202aa6d38c77fe46227820a722551b9dfb5bb29",
    "measurement_sha256": "c8f1fbf34045feff7a1230504c34e796942d999a6b0d16a305ea5c56cf0d4d25",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "her-2013",
    "title": "Her",
    "year": 2013,
    "primary_genre": "Romance",
    "writers": [
      "Spike Jonze"
    ],
    "pages": 106,
    "scenes": 87,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 6,
    "median_scene_lines": 43,
    "interior_share_pct": 72.4,
    "day_share_pct": 50,
    "unique_locations": 45,
    "location_changes": 73,
    "speaking_characters": 25,
    "single_line_characters": 7,
    "dialogue_blocks": 1021,
    "dialogue_words": 10766,
    "dialogue_action_ratio": 2.98,
    "monologues": 38,
    "top_character_pct": 38,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 17,
    "words": 18211,
    "runtime_minutes": 101,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/her-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "753bd9cf01ced429d65b9034be42e9ef5b54b81d2f67c501a0d82d6f42c9bcc1",
      "measurement_sha256": "c8f1fbf34045feff7a1230504c34e796942d999a6b0d16a305ea5c56cf0d4d25",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/her-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.512Z.",
        "https://www.scriptslug.com/script/her-2013",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"her-2013\",\"Her\",2013,\"Feature\",\"Romance\",[\"Spike Jonze\"],\"https://www.scriptslug.com/script/her-2013\",\"42795a8edf63a36d04d7cfe25202aa6d38c77fe46227820a722551b9dfb5bb29\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7280a2409ab24177e68e05e3a30cd37756a186e6405205feb945a8d024f46d4b",
    "source_locator_sha256": "bcd7a7c2521b504d95eab97157adba554992729df55e5e49bfdcf427100e2687",
    "measurement_sha256": "6c9fb7380a8e2d6f61e4fb396e4b2f180325ff9e3a67d4cdba56e047cefc985c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "hereditary-2018",
    "title": "Hereditary",
    "year": 2018,
    "primary_genre": "Horror",
    "writers": [
      "Ari Aster"
    ],
    "pages": 119,
    "scenes": 155,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 83.2,
    "day_share_pct": 41.5,
    "unique_locations": 50,
    "location_changes": 149,
    "speaking_characters": 30,
    "single_line_characters": 6,
    "dialogue_blocks": 870,
    "dialogue_words": 6794,
    "dialogue_action_ratio": 0.67,
    "monologues": 15,
    "top_character_pct": 47.5,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 45,
    "words": 26540,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.23,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hereditary-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7280a2409ab24177e68e05e3a30cd37756a186e6405205feb945a8d024f46d4b",
      "measurement_sha256": "6c9fb7380a8e2d6f61e4fb396e4b2f180325ff9e3a67d4cdba56e047cefc985c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hereditary-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.109Z.",
        "https://www.scriptslug.com/script/hereditary-2018",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hereditary-2018\",\"Hereditary\",2018,\"Feature\",\"Horror\",[\"Ari Aster\"],\"https://www.scriptslug.com/script/hereditary-2018\",\"bcd7a7c2521b504d95eab97157adba554992729df55e5e49bfdcf427100e2687\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "53e28afea280bd807e1e17547f1ebaf3615dbc05be2f4bf10b35b3279d07b460",
    "source_locator_sha256": "408a0abcf8c66b96eea2294e47bfe49741937b31bfb6e67e4a549e5d8314a64f",
    "measurement_sha256": "b3abb6c3dbdb39021310d0320927b5cf406a435f48b9e1e7dccd9ca411408b34",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "hot-fuzz-2007",
    "title": "Hot Fuzz",
    "year": 2007,
    "primary_genre": "Comedy",
    "writers": [
      "Edgar Wright",
      "Simon Pegg"
    ],
    "pages": 148,
    "scenes": 148,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 59.8,
    "day_share_pct": 63.2,
    "unique_locations": 95,
    "location_changes": 134,
    "speaking_characters": 109,
    "single_line_characters": 59,
    "dialogue_blocks": 1402,
    "dialogue_words": 12199,
    "dialogue_action_ratio": 2,
    "monologues": 27,
    "top_character_pct": 32.1,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 24,
    "words": 25877,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hot-fuzz-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "53e28afea280bd807e1e17547f1ebaf3615dbc05be2f4bf10b35b3279d07b460",
      "measurement_sha256": "b3abb6c3dbdb39021310d0320927b5cf406a435f48b9e1e7dccd9ca411408b34",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hot-fuzz-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.007Z.",
        "https://www.scriptslug.com/script/hot-fuzz-2007",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hot-fuzz-2007\",\"Hot Fuzz\",2007,\"Feature\",\"Comedy\",[\"Edgar Wright\",\"Simon Pegg\"],\"https://www.scriptslug.com/script/hot-fuzz-2007\",\"408a0abcf8c66b96eea2294e47bfe49741937b31bfb6e67e4a549e5d8314a64f\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8a34481c55e88f067f45827bbef9bb3180fb6ec712ee96f82e53bca3eb4abcf8",
    "source_locator_sha256": "1df2e59f1d025c369041da4379795bcf099c5a5f506e2a9ffb7b71c17b1fc8c6",
    "measurement_sha256": "50adc5799eaba7594a4eca1cadcc9c880dda13a1d95f84c4016d28e3474aaf4e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "house-of-gucci-2021",
    "title": "House of Gucci",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Roberto Bentivegna"
    ],
    "pages": 134,
    "scenes": 159,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 71.1,
    "day_share_pct": 66.7,
    "unique_locations": 116,
    "location_changes": 142,
    "speaking_characters": 57,
    "single_line_characters": 22,
    "dialogue_blocks": 1096,
    "dialogue_words": 12702,
    "dialogue_action_ratio": 1.3,
    "monologues": 35,
    "top_character_pct": 38.5,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 33,
    "words": 29066,
    "runtime_minutes": 137,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/house-of-gucci-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8a34481c55e88f067f45827bbef9bb3180fb6ec712ee96f82e53bca3eb4abcf8",
      "measurement_sha256": "50adc5799eaba7594a4eca1cadcc9c880dda13a1d95f84c4016d28e3474aaf4e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/house-of-gucci-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.789Z.",
        "https://www.scriptslug.com/script/house-of-gucci-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"house-of-gucci-2021\",\"House of Gucci\",2021,\"Feature\",\"Drama\",[\"Roberto Bentivegna\"],\"https://www.scriptslug.com/script/house-of-gucci-2021\",\"1df2e59f1d025c369041da4379795bcf099c5a5f506e2a9ffb7b71c17b1fc8c6\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "db81777b74dd5a1c813d1a8210ae425c0c1f3129ab7df8b623331f401eebe318",
    "source_locator_sha256": "d1734c0cfcc88b16e510ef0d231bed89f435af9c3ae903cba6d323db6bbdd2f6",
    "measurement_sha256": "d43e011587b2bedb86d2eb60ea6f42601d9ce4bb1b6a8fe1065d952fc96c690e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "how-the-grinch-stole-christmas-2000",
    "title": "How the Grinch Stole Christmas",
    "year": 2000,
    "primary_genre": "Animation/Family",
    "writers": [
      "Jeffrey Price",
      "Peter S. Seaman"
    ],
    "pages": 153,
    "scenes": 92,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 4,
    "median_scene_lines": 27.5,
    "interior_share_pct": 38,
    "day_share_pct": null,
    "unique_locations": 82,
    "location_changes": 90,
    "speaking_characters": 104,
    "single_line_characters": 66,
    "dialogue_blocks": 304,
    "dialogue_words": 3338,
    "dialogue_action_ratio": 0.31,
    "monologues": 7,
    "top_character_pct": 16.2,
    "dialogue_line_share_pct": 20,
    "action_line_share_pct": 65,
    "words": 24929,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "d43e011587b2bedb86d2eb60ea6f42601d9ce4bb1b6a8fe1065d952fc96c690e",
      "source_sha256": "db81777b74dd5a1c813d1a8210ae425c0c1f3129ab7df8b623331f401eebe318",
      "pdf_pages": [
        91
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "An angle direction and damaged text are classified as speakers.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/how-the-grinch-stole-christmas-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "db81777b74dd5a1c813d1a8210ae425c0c1f3129ab7df8b623331f401eebe318",
      "measurement_sha256": "d43e011587b2bedb86d2eb60ea6f42601d9ce4bb1b6a8fe1065d952fc96c690e",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.universalpicturesathome.com/press-release/dr-seuss-how-the-grinch-stole-christmas-25th-anniv-press-release",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.917Z.",
        "https://www.scriptslug.com/script/how-the-grinch-stole-christmas-2000",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"how-the-grinch-stole-christmas-2000\",\"How the Grinch Stole Christmas\",2000,\"Feature\",\"Animation/Family\",[\"Jeffrey Price\",\"Peter S. Seaman\"],\"https://www.scriptslug.com/script/how-the-grinch-stole-christmas-2000\",\"d1734c0cfcc88b16e510ef0d231bed89f435af9c3ae903cba6d323db6bbdd2f6\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "295d54bf015c26e4e5e474d2138aa4cfb6a8df20f96be0b467279f914355eff2",
    "source_locator_sha256": "ac46bccc9d6dcc1b5f9c3b6fa1efc0b043fc2cb1fd4e2799e82b16a9a41a93ed",
    "measurement_sha256": "4764d828d9e8a1756b9f3613df667b98419e7b26347eb66d6eb87dbe7eed09ca",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "how-to-train-your-dragon-2-2014",
    "title": "How to Train Your Dragon 2",
    "year": 2014,
    "primary_genre": "Animation/Family",
    "writers": [
      "Dean DeBlois"
    ],
    "pages": 99,
    "scenes": 41,
    "mean_scene_eighths": 19.4,
    "median_scene_eighths": 14,
    "median_scene_lines": 99,
    "interior_share_pct": 29.3,
    "day_share_pct": 53.3,
    "unique_locations": 24,
    "location_changes": 35,
    "speaking_characters": 23,
    "single_line_characters": 6,
    "dialogue_blocks": 854,
    "dialogue_words": 6957,
    "dialogue_action_ratio": 0.94,
    "monologues": 3,
    "top_character_pct": 33.2,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 40,
    "words": 20562,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/how-to-train-your-dragon-2-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "295d54bf015c26e4e5e474d2138aa4cfb6a8df20f96be0b467279f914355eff2",
      "measurement_sha256": "4764d828d9e8a1756b9f3613df667b98419e7b26347eb66d6eb87dbe7eed09ca",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/how-to-train-your-dragon-2-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.379Z.",
        "https://www.scriptslug.com/script/how-to-train-your-dragon-2-2014",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"how-to-train-your-dragon-2-2014\",\"How to Train Your Dragon 2\",2014,\"Feature\",\"Animation/Family\",[\"Dean DeBlois\"],\"https://www.scriptslug.com/script/how-to-train-your-dragon-2-2014\",\"ac46bccc9d6dcc1b5f9c3b6fa1efc0b043fc2cb1fd4e2799e82b16a9a41a93ed\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0f5c36adf3ed88917f40930bb170f79b8e988e99b9be477ee4fdad71ca896247",
    "source_locator_sha256": "3b27cdbfb50e622cebb0f7faf71ccc29c191298e6b1720e9429feac06cbb23e0",
    "measurement_sha256": "0cb3806041666550499b032d2b5bb2113651af927c8cef84eaf71566c9de6bc0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "how-to-train-your-dragon-2010",
    "title": "How to Train Your Dragon",
    "year": 2010,
    "primary_genre": "Animation/Family",
    "writers": [
      "Dean DeBlois",
      "Chris Sanders",
      "William Davies"
    ],
    "pages": 107,
    "scenes": 69,
    "mean_scene_eighths": 12.3,
    "median_scene_eighths": 7,
    "median_scene_lines": 50,
    "interior_share_pct": 21.7,
    "day_share_pct": 73.9,
    "unique_locations": 27,
    "location_changes": 59,
    "speaking_characters": 25,
    "single_line_characters": 8,
    "dialogue_blocks": 782,
    "dialogue_words": 5838,
    "dialogue_action_ratio": 0.71,
    "monologues": 3,
    "top_character_pct": 39.9,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 44,
    "words": 21456,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/how-to-train-your-dragon-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0f5c36adf3ed88917f40930bb170f79b8e988e99b9be477ee4fdad71ca896247",
      "measurement_sha256": "0cb3806041666550499b032d2b5bb2113651af927c8cef84eaf71566c9de6bc0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/how-to-train-your-dragon-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.058Z.",
        "https://www.scriptslug.com/script/how-to-train-your-dragon-2010",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"how-to-train-your-dragon-2010\",\"How to Train Your Dragon\",2010,\"Feature\",\"Animation/Family\",[\"Dean DeBlois\",\"Chris Sanders\",\"William Davies\"],\"https://www.scriptslug.com/script/how-to-train-your-dragon-2010\",\"3b27cdbfb50e622cebb0f7faf71ccc29c191298e6b1720e9429feac06cbb23e0\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "38edc027bf21a24b1d5ba8f7975d9b2fc4e45b2ed58da41aa679a8937c4cb02c",
    "source_locator_sha256": "bd4c5fe37a1e4ecd10852684cc82a9dae0e046aa99aa24478e19c31f53eefaba",
    "measurement_sha256": "3de5daf4da4e8022a6a12005e7fd23c19818fb4ac7b65072692f4a44242777aa",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "how-to-train-your-dragon-the-hidden-world-2019",
    "title": "How to Train Your Dragon: The Hidden World",
    "year": 2019,
    "primary_genre": "Animation/Family",
    "writers": [
      "Dean DeBlois"
    ],
    "pages": 106,
    "scenes": 57,
    "mean_scene_eighths": 14.8,
    "median_scene_eighths": 11,
    "median_scene_lines": 76,
    "interior_share_pct": 13.2,
    "day_share_pct": 78.8,
    "unique_locations": 14,
    "location_changes": 46,
    "speaking_characters": 30,
    "single_line_characters": 5,
    "dialogue_blocks": 719,
    "dialogue_words": 6045,
    "dialogue_action_ratio": 0.66,
    "monologues": 7,
    "top_character_pct": 33.3,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 48,
    "words": 22895,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/how-to-train-your-dragon-the-hidden-world-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "38edc027bf21a24b1d5ba8f7975d9b2fc4e45b2ed58da41aa679a8937c4cb02c",
      "measurement_sha256": "3de5daf4da4e8022a6a12005e7fd23c19818fb4ac7b65072692f4a44242777aa",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/how-to-train-your-dragon-the-hidden-world-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.489Z.",
        "https://www.scriptslug.com/script/how-to-train-your-dragon-the-hidden-world-2019",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"how-to-train-your-dragon-the-hidden-world-2019\",\"How to Train Your Dragon: The Hidden World\",2019,\"Feature\",\"Animation/Family\",[\"Dean DeBlois\"],\"https://www.scriptslug.com/script/how-to-train-your-dragon-the-hidden-world-2019\",\"bd4c5fe37a1e4ecd10852684cc82a9dae0e046aa99aa24478e19c31f53eefaba\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fba6ebd200ed552a8dcaf39769b530cf7761e92b301ee09de3cd01dd17736bb9",
    "source_locator_sha256": "07f7d3f0b3a07cc9b774cf21b2c174dfdbc6a5e8d75e6bfa3bdcdb830470ed54",
    "measurement_sha256": "9298f9e19cf98e9dd807e80167bf07f45a026a25a0421fd3b1b460485811dc39",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "hugo-2011",
    "title": "Hugo",
    "year": 2011,
    "primary_genre": "Animation/Family",
    "writers": [
      "John Logan"
    ],
    "pages": 109,
    "scenes": 97,
    "mean_scene_eighths": 8.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 76.3,
    "day_share_pct": 54.3,
    "unique_locations": 51,
    "location_changes": 91,
    "speaking_characters": 24,
    "single_line_characters": 8,
    "dialogue_blocks": 544,
    "dialogue_words": 5201,
    "dialogue_action_ratio": 0.53,
    "monologues": 8,
    "top_character_pct": 26.9,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 53,
    "words": 18385,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hugo-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fba6ebd200ed552a8dcaf39769b530cf7761e92b301ee09de3cd01dd17736bb9",
      "measurement_sha256": "9298f9e19cf98e9dd807e80167bf07f45a026a25a0421fd3b1b460485811dc39",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hugo-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.412Z.",
        "https://www.scriptslug.com/script/hugo-2011",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hugo-2011\",\"Hugo\",2011,\"Feature\",\"Animation/Family\",[\"John Logan\"],\"https://www.scriptslug.com/script/hugo-2011\",\"07f7d3f0b3a07cc9b774cf21b2c174dfdbc6a5e8d75e6bfa3bdcdb830470ed54\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e86f6979ba96bd0f1b3377c4b3b771e81ca5e9cadcff1a34e412a7b39a4bab00",
    "source_locator_sha256": "43c0b54c16bd8d139e5d3ce99bb6c20f7e299dfcec45db27e98635f7061cca5d",
    "measurement_sha256": "b7850572e4c213e4f6d908be90122821017de515c2db7b56ffae13d81edc0592",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "hustle-flow-2005",
    "title": "Hustle & Flow",
    "year": 2005,
    "primary_genre": "Drama",
    "writers": [
      "Craig Brewer"
    ],
    "pages": 132,
    "scenes": 96,
    "mean_scene_eighths": 11.4,
    "median_scene_eighths": 6,
    "median_scene_lines": 40.5,
    "interior_share_pct": 69.8,
    "day_share_pct": 45.7,
    "unique_locations": 35,
    "location_changes": 69,
    "speaking_characters": 31,
    "single_line_characters": 7,
    "dialogue_blocks": 1167,
    "dialogue_words": 11162,
    "dialogue_action_ratio": 1.3,
    "monologues": 24,
    "top_character_pct": 37,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 33,
    "words": 24666,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/hustle-flow-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e86f6979ba96bd0f1b3377c4b3b771e81ca5e9cadcff1a34e412a7b39a4bab00",
      "measurement_sha256": "b7850572e4c213e4f6d908be90122821017de515c2db7b56ffae13d81edc0592",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/hustle-flow-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.299Z.",
        "https://www.scriptslug.com/script/hustle-flow-2005",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"hustle-flow-2005\",\"Hustle & Flow\",2005,\"Feature\",\"Drama\",[\"Craig Brewer\"],\"https://www.scriptslug.com/script/hustle-flow-2005\",\"43c0b54c16bd8d139e5d3ce99bb6c20f7e299dfcec45db27e98635f7061cca5d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "4b78c0f348689dec5415cb55c7096a1a91ac8b7bce2b1c7743f9f7f3455196f7",
    "source_locator_sha256": "39673029ff1c3e0bbb2647537448fd8df5553ad58adcfff0e59ad6753875a1e0",
    "measurement_sha256": "1baf2758583aad03c8ee0d878e530c24723b3efd09178edfbe08841c8f84fd85",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "identity-2003",
    "title": "Identity",
    "year": 2003,
    "primary_genre": "Thriller",
    "writers": [
      "Michael Cooney",
      "James Mangold"
    ],
    "pages": 115,
    "scenes": 131,
    "mean_scene_eighths": 10.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 61.5,
    "day_share_pct": 0,
    "unique_locations": 100,
    "location_changes": 127,
    "speaking_characters": 35,
    "single_line_characters": 13,
    "dialogue_blocks": 1407,
    "dialogue_words": 7704,
    "dialogue_action_ratio": 0.58,
    "monologues": 1,
    "top_character_pct": 7.2,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 51,
    "words": 24544,
    "runtime_minutes": 145,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/identity-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4b78c0f348689dec5415cb55c7096a1a91ac8b7bce2b1c7743f9f7f3455196f7",
      "measurement_sha256": "1baf2758583aad03c8ee0d878e530c24723b3efd09178edfbe08841c8f84fd85",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/identity-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.956Z.",
        "https://www.scriptslug.com/script/identity-2003",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"identity-2003\",\"Identity\",2003,\"Feature\",\"Thriller\",[\"Michael Cooney\",\"James Mangold\"],\"https://www.scriptslug.com/script/identity-2003\",\"39673029ff1c3e0bbb2647537448fd8df5553ad58adcfff0e59ad6753875a1e0\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "d2cabfc513d48e53f4b2ec7b5c782add934708aa94da1e82ef868074879ab29f",
    "source_locator_sha256": "b631d55f8516484de9e684f1adc98105c6779e04e290b55d8e8730ad9a544230",
    "measurement_sha256": "f7ac234682e6c7cf12fc27b668706c18e02d418664833556100fd04e4ddf12c9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "in-the-tall-grass-2019",
    "title": "In the Tall Grass",
    "year": 2019,
    "primary_genre": "Horror",
    "writers": [
      "Vincenzo Natali"
    ],
    "pages": 113,
    "scenes": 84,
    "mean_scene_eighths": 10.3,
    "median_scene_eighths": 6.5,
    "median_scene_lines": 44,
    "interior_share_pct": 16.7,
    "day_share_pct": 51.9,
    "unique_locations": 31,
    "location_changes": 69,
    "speaking_characters": 16,
    "single_line_characters": 4,
    "dialogue_blocks": 821,
    "dialogue_words": 6601,
    "dialogue_action_ratio": 0.81,
    "monologues": 12,
    "top_character_pct": 23,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 42,
    "words": 20584,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/in-the-tall-grass-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d2cabfc513d48e53f4b2ec7b5c782add934708aa94da1e82ef868074879ab29f",
      "measurement_sha256": "f7ac234682e6c7cf12fc27b668706c18e02d418664833556100fd04e4ddf12c9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/in-the-tall-grass-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.827Z.",
        "https://www.scriptslug.com/script/in-the-tall-grass-2019",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"in-the-tall-grass-2019\",\"In the Tall Grass\",2019,\"Feature\",\"Horror\",[\"Vincenzo Natali\"],\"https://www.scriptslug.com/script/in-the-tall-grass-2019\",\"b631d55f8516484de9e684f1adc98105c6779e04e290b55d8e8730ad9a544230\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "13fd7e684ac40872506acb310ecb1488f80d5d1a9d4f9e3378c5dde3800e6b64",
    "source_locator_sha256": "9f70a87322daa0ab2f20fbc40ed049ddd125db770935ee553d615a1e294873aa",
    "measurement_sha256": "113828f67d990ab932ee550711aa0d8475be1bfdf82d6e96af9e331d32d6cf85",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "inception-2010",
    "title": "Inception",
    "year": 2010,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Christopher Nolan"
    ],
    "pages": 147,
    "scenes": 285,
    "mean_scene_eighths": 4.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 11,
    "interior_share_pct": 75.8,
    "day_share_pct": 74.2,
    "unique_locations": 110,
    "location_changes": 278,
    "speaking_characters": 24,
    "single_line_characters": 5,
    "dialogue_blocks": 1279,
    "dialogue_words": 11521,
    "dialogue_action_ratio": 1.54,
    "monologues": 11,
    "top_character_pct": 42.8,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 27,
    "words": 27756,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "113828f67d990ab932ee550711aa0d8475be1bfdf82d6e96af9e331d32d6cf85",
      "source_sha256": "13fd7e684ac40872506acb310ecb1488f80d5d1a9d4f9e3378c5dde3800e6b64",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/inception-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "13fd7e684ac40872506acb310ecb1488f80d5d1a9d4f9e3378c5dde3800e6b64",
      "measurement_sha256": "113828f67d990ab932ee550711aa0d8475be1bfdf82d6e96af9e331d32d6cf85",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/inception-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.558Z.",
        "https://www.scriptslug.com/script/inception-2010",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"inception-2010\",\"Inception\",2010,\"Feature\",\"Sci-Fi\",[\"Christopher Nolan\"],\"https://www.scriptslug.com/script/inception-2010\",\"9f70a87322daa0ab2f20fbc40ed049ddd125db770935ee553d615a1e294873aa\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4ccf6c1e5363d7d935c108ffb652e61314752f69508c6a3feb7b3c3e1e135c28",
    "source_locator_sha256": "cc414a73808855fb07c035abba4c32a619454c331ad567524f8178da34ed6eb6",
    "measurement_sha256": "a0fc526b60706a28bfa64f6936a20280e525a3f5a38476954672dd91dd1c4cca",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "indiana-jones-and-the-kingdom-of-the-crystal-skull-2008",
    "title": "Indiana Jones and the Kingdom of the Crystal Skull",
    "year": 2008,
    "primary_genre": "Action",
    "writers": [
      "David Koepp",
      "Jeff Nathanson",
      "Frank Darabont",
      "George Lucas",
      "Jeb Stuart"
    ],
    "pages": 211,
    "scenes": 87,
    "mean_scene_eighths": 14.4,
    "median_scene_eighths": 8,
    "median_scene_lines": 53,
    "interior_share_pct": 55.2,
    "day_share_pct": null,
    "unique_locations": 76,
    "location_changes": 82,
    "speaking_characters": 34,
    "single_line_characters": 16,
    "dialogue_blocks": 960,
    "dialogue_words": 9184,
    "dialogue_action_ratio": 0.64,
    "monologues": 29,
    "top_character_pct": 34.3,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 50,
    "words": 34078,
    "runtime_minutes": 158,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/indiana-jones-and-the-kingdom-of-the-crystal-skull-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4ccf6c1e5363d7d935c108ffb652e61314752f69508c6a3feb7b3c3e1e135c28",
      "measurement_sha256": "a0fc526b60706a28bfa64f6936a20280e525a3f5a38476954672dd91dd1c4cca",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/indiana-jones-and-the-kingdom-of-the-crystal-skull-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.886Z.",
        "https://www.scriptslug.com/script/indiana-jones-and-the-kingdom-of-the-crystal-skull-2008",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"indiana-jones-and-the-kingdom-of-the-crystal-skull-2008\",\"Indiana Jones and the Kingdom of the Crystal Skull\",2008,\"Feature\",\"Action\",[\"David Koepp\",\"Jeff Nathanson\",\"Frank Darabont\",\"George Lucas\",\"Jeb Stuart\"],\"https://www.scriptslug.com/script/indiana-jones-and-the-kingdom-of-the-crystal-skull-2008\",\"cc414a73808855fb07c035abba4c32a619454c331ad567524f8178da34ed6eb6\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a1fd0ade934cef85644a9a0fb64238f25319edead3ca4ab0abc2a1697628c2be",
    "source_locator_sha256": "a1dc09c1be4a89c10d49c1d9ed9227b2d6bcb3d494abc6d44bddb70cf31439f0",
    "measurement_sha256": "0233ac0da88e523428123cb02de6514e1e1e3f1533130541d01f06d0572b219b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "inglourious-basterds-2009",
    "title": "Inglourious Basterds",
    "year": 2009,
    "primary_genre": "Drama",
    "writers": [
      "Quentin Tarantino"
    ],
    "pages": 166,
    "scenes": 1,
    "mean_scene_eighths": 192,
    "median_scene_eighths": 192,
    "median_scene_lines": 1320,
    "interior_share_pct": 0,
    "day_share_pct": null,
    "unique_locations": 1,
    "location_changes": 0,
    "speaking_characters": 89,
    "single_line_characters": 34,
    "dialogue_blocks": 1210,
    "dialogue_words": 16477,
    "dialogue_action_ratio": 1.57,
    "monologues": 82,
    "top_character_pct": 19.1,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 31,
    "words": 34190,
    "runtime_minutes": 159,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "0233ac0da88e523428123cb02de6514e1e1e3f1533130541d01f06d0572b219b",
      "source_sha256": "a1fd0ade934cef85644a9a0fb64238f25319edead3ca4ab0abc2a1697628c2be",
      "pdf_pages": [
        3
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/inglourious-basterds-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a1fd0ade934cef85644a9a0fb64238f25319edead3ca4ab0abc2a1697628c2be",
      "measurement_sha256": "0233ac0da88e523428123cb02de6514e1e1e3f1533130541d01f06d0572b219b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/inglourious-basterds-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 166; file bytes verified against production storage on 2026-09-20T19:51:49.797Z.",
        "https://www.scriptslug.com/script/inglourious-basterds-2009",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"inglourious-basterds-2009\",\"Inglourious Basterds\",2009,\"Feature\",\"Drama\",[\"Quentin Tarantino\"],\"https://www.scriptslug.com/script/inglourious-basterds-2009\",\"a1dc09c1be4a89c10d49c1d9ed9227b2d6bcb3d494abc6d44bddb70cf31439f0\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "82df280531b694b1cee9129367017b70a2e8945085af5eca7123f619ce4247d9",
    "source_locator_sha256": "620c8b48b33be9a9601b1abe67c7c6b9783244f101fdd4ecdade70e080e736bc",
    "measurement_sha256": "1b205839d5abb2bcf781479c6547ff8585315f3376c4ef29c4f709a4854121bd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "inside-out-2015",
    "title": "Inside Out",
    "year": 2015,
    "primary_genre": "Animation/Family",
    "writers": [
      "Pete Docter",
      "Meg LeFauve",
      "Josh Cooley"
    ],
    "pages": 130,
    "scenes": 380,
    "mean_scene_eighths": 2.5,
    "median_scene_eighths": 1,
    "median_scene_lines": 8,
    "interior_share_pct": 78.7,
    "day_share_pct": 56.7,
    "unique_locations": 58,
    "location_changes": 350,
    "speaking_characters": 69,
    "single_line_characters": 32,
    "dialogue_blocks": 1114,
    "dialogue_words": 8823,
    "dialogue_action_ratio": 2.01,
    "monologues": 5,
    "top_character_pct": 31.7,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 21,
    "words": 19264,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/inside-out-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "82df280531b694b1cee9129367017b70a2e8945085af5eca7123f619ce4247d9",
      "measurement_sha256": "1b205839d5abb2bcf781479c6547ff8585315f3376c4ef29c4f709a4854121bd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/inside-out-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.775Z.",
        "https://www.scriptslug.com/script/inside-out-2015",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"inside-out-2015\",\"Inside Out\",2015,\"Feature\",\"Animation/Family\",[\"Pete Docter\",\"Meg LeFauve\",\"Josh Cooley\"],\"https://www.scriptslug.com/script/inside-out-2015\",\"620c8b48b33be9a9601b1abe67c7c6b9783244f101fdd4ecdade70e080e736bc\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c1ebbeade26580dd50304d31bb8e43283142c3d0fc0ad70f6156cfd17344e41a",
    "source_locator_sha256": "73d7c66ba7d44b8a12bc8ec719daa0987d0a455c4ba1f02476e149ef8a60056a",
    "measurement_sha256": "27db954cacd99af68b627f33960520fd9895c8b6853592d931c1cfde064f0cd5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "insomnia-2002",
    "title": "Insomnia",
    "year": 2002,
    "primary_genre": "Thriller",
    "writers": [
      "Hillary Seitz"
    ],
    "pages": 127,
    "scenes": 148,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 62.2,
    "day_share_pct": 46.2,
    "unique_locations": 120,
    "location_changes": 140,
    "speaking_characters": 39,
    "single_line_characters": 19,
    "dialogue_blocks": 892,
    "dialogue_words": 6457,
    "dialogue_action_ratio": 0.61,
    "monologues": 9,
    "top_character_pct": 19.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 50,
    "words": 22980,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/insomnia-2002",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c1ebbeade26580dd50304d31bb8e43283142c3d0fc0ad70f6156cfd17344e41a",
      "measurement_sha256": "27db954cacd99af68b627f33960520fd9895c8b6853592d931c1cfde064f0cd5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/insomnia-2002",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.891Z.",
        "https://www.scriptslug.com/script/insomnia-2002",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"insomnia-2002\",\"Insomnia\",2002,\"Feature\",\"Thriller\",[\"Hillary Seitz\"],\"https://www.scriptslug.com/script/insomnia-2002\",\"73d7c66ba7d44b8a12bc8ec719daa0987d0a455c4ba1f02476e149ef8a60056a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1f1551f66172f22467a2faac5c69bfd9d073201bdc6c94f7e87934a6ef72859e",
    "source_locator_sha256": "4e0119846d3907c232f3de2c80feade6a8ac6722c12d1fa7555719c8b1085a6f",
    "measurement_sha256": "877ae1847bdd2aeb02097624ece7138e48d6b13a9cadf53d9170ab115d80dee7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "interstellar-2014",
    "title": "Interstellar",
    "year": 2014,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Jonathan Nolan",
      "Christopher Nolan"
    ],
    "pages": 157,
    "scenes": 367,
    "mean_scene_eighths": 3.1,
    "median_scene_eighths": 1,
    "median_scene_lines": 8,
    "interior_share_pct": 61,
    "day_share_pct": 82.7,
    "unique_locations": 73,
    "location_changes": 346,
    "speaking_characters": 37,
    "single_line_characters": 8,
    "dialogue_blocks": 1249,
    "dialogue_words": 11285,
    "dialogue_action_ratio": 1.7,
    "monologues": 19,
    "top_character_pct": 29.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 25,
    "words": 26042,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/interstellar-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1f1551f66172f22467a2faac5c69bfd9d073201bdc6c94f7e87934a6ef72859e",
      "measurement_sha256": "877ae1847bdd2aeb02097624ece7138e48d6b13a9cadf53d9170ab115d80dee7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/interstellar-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.506Z.",
        "https://www.scriptslug.com/script/interstellar-2014",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"interstellar-2014\",\"Interstellar\",2014,\"Feature\",\"Sci-Fi\",[\"Jonathan Nolan\",\"Christopher Nolan\"],\"https://www.scriptslug.com/script/interstellar-2014\",\"4e0119846d3907c232f3de2c80feade6a8ac6722c12d1fa7555719c8b1085a6f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "02faed4d4c3e24de8254671b0a89d66f1334b7e1bfc97edf896e3484d935603c",
    "source_locator_sha256": "05222ace7fd7121bb8009d62c8ff63afa7ec2794a85ad68caaa6989b6cfca46d",
    "measurement_sha256": "f33952971cf3ab38b3d2e4b6d15b32682366b6db5d66c6696aada6ee4f94ae03",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "it-2017",
    "title": "It",
    "year": 2017,
    "primary_genre": "Horror",
    "writers": [
      "Chase Palmer",
      "Cary Joji Fukunaga",
      "Gary Dauberman"
    ],
    "pages": 120,
    "scenes": 115,
    "mean_scene_eighths": 7.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 60.9,
    "day_share_pct": 71.9,
    "unique_locations": 62,
    "location_changes": 100,
    "speaking_characters": 40,
    "single_line_characters": 3,
    "dialogue_blocks": 761,
    "dialogue_words": 5847,
    "dialogue_action_ratio": 0.62,
    "monologues": 10,
    "top_character_pct": 17,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 48,
    "words": 23453,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/it-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "02faed4d4c3e24de8254671b0a89d66f1334b7e1bfc97edf896e3484d935603c",
      "measurement_sha256": "f33952971cf3ab38b3d2e4b6d15b32682366b6db5d66c6696aada6ee4f94ae03",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/it-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.400Z.",
        "https://www.scriptslug.com/script/it-2017",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"it-2017\",\"It\",2017,\"Feature\",\"Horror\",[\"Chase Palmer\",\"Cary Joji Fukunaga\",\"Gary Dauberman\"],\"https://www.scriptslug.com/script/it-2017\",\"05222ace7fd7121bb8009d62c8ff63afa7ec2794a85ad68caaa6989b6cfca46d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "10af040febc270416f890d62558f86649aca0f9299e6523b5d0b33ed62ecee76",
    "source_locator_sha256": "411313c4df323c7b2ab3718936249ae81458528e21f0aede1ac9fe242833fecb",
    "measurement_sha256": "a8ab442d09d4651f7a6ec38693f348a1952d41607f874f4e6cba0baf9ad0810e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "it-follows-2015",
    "title": "It Follows",
    "year": 2015,
    "primary_genre": "Horror",
    "writers": [
      "David Robert Mitchell"
    ],
    "pages": 107,
    "scenes": 146,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 16.5,
    "interior_share_pct": 54.8,
    "day_share_pct": 50,
    "unique_locations": 77,
    "location_changes": 130,
    "speaking_characters": 23,
    "single_line_characters": 8,
    "dialogue_blocks": 617,
    "dialogue_words": 3950,
    "dialogue_action_ratio": 0.4,
    "monologues": 4,
    "top_character_pct": 32.8,
    "dialogue_line_share_pct": 23,
    "action_line_share_pct": 56,
    "words": 23590,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/it-follows-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "10af040febc270416f890d62558f86649aca0f9299e6523b5d0b33ed62ecee76",
      "measurement_sha256": "a8ab442d09d4651f7a6ec38693f348a1952d41607f874f4e6cba0baf9ad0810e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/it-follows-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.432Z.",
        "https://www.scriptslug.com/script/it-follows-2015",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"it-follows-2015\",\"It Follows\",2015,\"Feature\",\"Horror\",[\"David Robert Mitchell\"],\"https://www.scriptslug.com/script/it-follows-2015\",\"411313c4df323c7b2ab3718936249ae81458528e21f0aede1ac9fe242833fecb\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c450c8852ce5ee7920e42c87aa98ee3557ae9eb5dca93e0833c250a3d0666b49",
    "source_locator_sha256": "13dea316fb4ef8eb002d0984e8c0c7b4692d424719aa4213eb7dcd7db9beeffa",
    "measurement_sha256": "8f8ca833b0ea02bb724f2ba0e4b0d95ff0e3afa9e261bff3f35eb41c35b6e04d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "jack-reacher-2012",
    "title": "Jack Reacher",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "Christopher McQuarrie",
      "Josh Olson"
    ],
    "pages": 123,
    "scenes": 200,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 59,
    "day_share_pct": 52.5,
    "unique_locations": 85,
    "location_changes": 162,
    "speaking_characters": 33,
    "single_line_characters": 12,
    "dialogue_blocks": 962,
    "dialogue_words": 9586,
    "dialogue_action_ratio": 1.18,
    "monologues": 22,
    "top_character_pct": 37.5,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 34,
    "words": 24845,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/jack-reacher-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c450c8852ce5ee7920e42c87aa98ee3557ae9eb5dca93e0833c250a3d0666b49",
      "measurement_sha256": "8f8ca833b0ea02bb724f2ba0e4b0d95ff0e3afa9e261bff3f35eb41c35b6e04d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/jack-reacher-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.032Z.",
        "https://www.scriptslug.com/script/jack-reacher-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"jack-reacher-2012\",\"Jack Reacher\",2012,\"Feature\",\"Action\",[\"Christopher McQuarrie\",\"Josh Olson\"],\"https://www.scriptslug.com/script/jack-reacher-2012\",\"13dea316fb4ef8eb002d0984e8c0c7b4692d424719aa4213eb7dcd7db9beeffa\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e3c1956847291116e06eaa6ba52d476ba017f3ae215a62d6e2a74cf30671ae1b",
    "source_locator_sha256": "bbc889e4f602a88f1c1545bb906add39313874eb82d2f7f0f9c1d28e5ee810c0",
    "measurement_sha256": "35facb1f9e7841164156239c6bec72973e49089be5659fcac5e3e95dd379765e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "john-wick-chapter-4-2023",
    "title": "John Wick: Chapter 4",
    "year": 2023,
    "primary_genre": "Action",
    "writers": [
      "Shay Hatten",
      "Michael Finch"
    ],
    "pages": 168,
    "scenes": 136,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 20.5,
    "interior_share_pct": 53.7,
    "day_share_pct": 18.4,
    "unique_locations": 89,
    "location_changes": 128,
    "speaking_characters": 35,
    "single_line_characters": 13,
    "dialogue_blocks": 798,
    "dialogue_words": 6430,
    "dialogue_action_ratio": 0.56,
    "monologues": 14,
    "top_character_pct": 16.9,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 51,
    "words": 29300,
    "runtime_minutes": 134,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/john-wick-chapter-4-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e3c1956847291116e06eaa6ba52d476ba017f3ae215a62d6e2a74cf30671ae1b",
      "measurement_sha256": "35facb1f9e7841164156239c6bec72973e49089be5659fcac5e3e95dd379765e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/john-wick-chapter-4-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.397Z.",
        "https://www.scriptslug.com/script/john-wick-chapter-4-2023",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"john-wick-chapter-4-2023\",\"John Wick: Chapter 4\",2023,\"Feature\",\"Action\",[\"Shay Hatten\",\"Michael Finch\"],\"https://www.scriptslug.com/script/john-wick-chapter-4-2023\",\"bbc889e4f602a88f1c1545bb906add39313874eb82d2f7f0f9c1d28e5ee810c0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a1552454775b2b1bf64eeb73a6e8ff1a3681eefbf4354820e4bf89720bffadfd",
    "source_locator_sha256": "89152ba977b35b11259744b211574fd8c487516d98e20f8b5301201508154f21",
    "measurement_sha256": "8c2294a90ef8757a99713d38352234a8c98acf3470ac7814e96bf88882eef0ae",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "joker-2019",
    "title": "Joker",
    "year": 2019,
    "primary_genre": "Drama",
    "writers": [
      "Scott Silver",
      "Todd Phillips"
    ],
    "pages": 121,
    "scenes": 128,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 70.3,
    "day_share_pct": 43.1,
    "unique_locations": 71,
    "location_changes": 122,
    "speaking_characters": 48,
    "single_line_characters": 14,
    "dialogue_blocks": 679,
    "dialogue_words": 7697,
    "dialogue_action_ratio": 0.76,
    "monologues": 12,
    "top_character_pct": 37.3,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 26263,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.29,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/joker-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a1552454775b2b1bf64eeb73a6e8ff1a3681eefbf4354820e4bf89720bffadfd",
      "measurement_sha256": "8c2294a90ef8757a99713d38352234a8c98acf3470ac7814e96bf88882eef0ae",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/joker-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.307Z.",
        "https://www.scriptslug.com/script/joker-2019",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"joker-2019\",\"Joker\",2019,\"Feature\",\"Drama\",[\"Scott Silver\",\"Todd Phillips\"],\"https://www.scriptslug.com/script/joker-2019\",\"89152ba977b35b11259744b211574fd8c487516d98e20f8b5301201508154f21\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5567e0f32d107d21d53588aaaa148ab98cf71b02366d7c1935d4db2359db088e",
    "source_locator_sha256": "0acb53efb1fb4c7c86f7696d658fca467e14a4349a722c82d785d844776b1b05",
    "measurement_sha256": "9482a0b4acdb8283ada03f20f639a38b26833addb21f4ce525b3b25711def938",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "judas-and-the-black-messiah-2021",
    "title": "Judas and the Black Messiah",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Will Berson",
      "Shaka King"
    ],
    "pages": 112,
    "scenes": 127,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 66.5,
    "day_share_pct": 64.9,
    "unique_locations": 56,
    "location_changes": 105,
    "speaking_characters": 69,
    "single_line_characters": 20,
    "dialogue_blocks": 928,
    "dialogue_words": 9900,
    "dialogue_action_ratio": 1.7,
    "monologues": 37,
    "top_character_pct": 29.5,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 28,
    "words": 20948,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/judas-and-the-black-messiah-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5567e0f32d107d21d53588aaaa148ab98cf71b02366d7c1935d4db2359db088e",
      "measurement_sha256": "9482a0b4acdb8283ada03f20f639a38b26833addb21f4ce525b3b25711def938",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/judas-and-the-black-messiah-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.109Z.",
        "https://www.scriptslug.com/script/judas-and-the-black-messiah-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"judas-and-the-black-messiah-2021\",\"Judas and the Black Messiah\",2021,\"Feature\",\"Drama\",[\"Will Berson\",\"Shaka King\"],\"https://www.scriptslug.com/script/judas-and-the-black-messiah-2021\",\"0acb53efb1fb4c7c86f7696d658fca467e14a4349a722c82d785d844776b1b05\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "abbdbc1c254dba0ab41a96842df81b843e0f33934d9230cb9320efc19bad860d",
    "source_locator_sha256": "db341de1a6cbc9d2debc26acc8874369291ada4e76b2827c5448e4e3a8f539d9",
    "measurement_sha256": "67e0bbcce360ec192b965795fb30a6a4231a869707b817ca10ca84082fce23eb",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "jules-2023",
    "title": "Jules",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Gavin Steckler"
    ],
    "pages": 105,
    "scenes": 151,
    "mean_scene_eighths": 5.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 68.5,
    "day_share_pct": 71,
    "unique_locations": 34,
    "location_changes": 101,
    "speaking_characters": 35,
    "single_line_characters": 6,
    "dialogue_blocks": 811,
    "dialogue_words": 8917,
    "dialogue_action_ratio": 1.48,
    "monologues": 28,
    "top_character_pct": 26.8,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 30,
    "words": 19931,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/jules-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "abbdbc1c254dba0ab41a96842df81b843e0f33934d9230cb9320efc19bad860d",
      "measurement_sha256": "67e0bbcce360ec192b965795fb30a6a4231a869707b817ca10ca84082fce23eb",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/jules-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.556Z.",
        "https://www.scriptslug.com/script/jules-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"jules-2023\",\"Jules\",2023,\"Feature\",\"Comedy\",[\"Gavin Steckler\"],\"https://www.scriptslug.com/script/jules-2023\",\"db341de1a6cbc9d2debc26acc8874369291ada4e76b2827c5448e4e3a8f539d9\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6556ea270ad1b9eaa4a21e0c79e5cb4daab8a0eac31e172b17c1701b976b948e",
    "source_locator_sha256": "adefaacbf832a9b777044b7aee51192879a5e53bbb8d54630d5884ab716ad67b",
    "measurement_sha256": "bd0bc11bb5a17d176561dc4971be62d27ca23e096a9256601e66f109f465eb4b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "kill-bill-vol-1-2003",
    "title": "Kill Bill: Vol. 1",
    "year": 2003,
    "primary_genre": "Action",
    "writers": [
      "Quentin Tarantino"
    ],
    "pages": 100,
    "scenes": 36,
    "mean_scene_eighths": 20.1,
    "median_scene_eighths": 9,
    "median_scene_lines": 62,
    "interior_share_pct": 77.8,
    "day_share_pct": 36.7,
    "unique_locations": 33,
    "location_changes": 35,
    "speaking_characters": 47,
    "single_line_characters": 23,
    "dialogue_blocks": 499,
    "dialogue_words": 5336,
    "dialogue_action_ratio": 0.52,
    "monologues": 25,
    "top_character_pct": 37.2,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 56,
    "words": 22921,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/kill-bill-vol-1-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6556ea270ad1b9eaa4a21e0c79e5cb4daab8a0eac31e172b17c1701b976b948e",
      "measurement_sha256": "bd0bc11bb5a17d176561dc4971be62d27ca23e096a9256601e66f109f465eb4b",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.scriptslug.com/script/kill-bill-vol-1-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.257Z.",
        "https://www.scriptslug.com/script/kill-bill-vol-1-2003",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"kill-bill-vol-1-2003\",\"Kill Bill: Vol. 1\",2003,\"Feature\",\"Action\",[\"Quentin Tarantino\"],\"https://www.scriptslug.com/script/kill-bill-vol-1-2003\",\"adefaacbf832a9b777044b7aee51192879a5e53bbb8d54630d5884ab716ad67b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "f31cd3d10dfa641ef6364ec82b7568d6fbc2ed1b07ddf68be5af395be5062b81",
    "source_locator_sha256": "517a6f8d3e304f2109879ecbacf45392589e8f33b289011e08652c717e46a632",
    "measurement_sha256": "4e2a41f66bdd4fb0c309637ae194a1f710669628a7f33ea1b1a77ccf3e07ed84",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "killers-of-the-flower-moon-2023",
    "title": "Killers of the Flower Moon",
    "year": 2023,
    "primary_genre": "Crime",
    "writers": [
      "Eric Roth",
      "Martin Scorsese"
    ],
    "pages": 155,
    "scenes": 186,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 3.5,
    "median_scene_lines": 24.5,
    "interior_share_pct": 55.1,
    "day_share_pct": 68.4,
    "unique_locations": 158,
    "location_changes": 179,
    "speaking_characters": 92,
    "single_line_characters": 30,
    "dialogue_blocks": 1259,
    "dialogue_words": 13361,
    "dialogue_action_ratio": 1.56,
    "monologues": 43,
    "top_character_pct": 22.5,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 29,
    "words": 30039,
    "runtime_minutes": 138,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/killers-of-the-flower-moon-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f31cd3d10dfa641ef6364ec82b7568d6fbc2ed1b07ddf68be5af395be5062b81",
      "measurement_sha256": "4e2a41f66bdd4fb0c309637ae194a1f710669628a7f33ea1b1a77ccf3e07ed84",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/killers-of-the-flower-moon-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.290Z.",
        "https://www.scriptslug.com/script/killers-of-the-flower-moon-2023",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"killers-of-the-flower-moon-2023\",\"Killers of the Flower Moon\",2023,\"Feature\",\"Crime\",[\"Eric Roth\",\"Martin Scorsese\"],\"https://www.scriptslug.com/script/killers-of-the-flower-moon-2023\",\"517a6f8d3e304f2109879ecbacf45392589e8f33b289011e08652c717e46a632\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0ad541932a692dc2fb15f5626d720a0aef9501685053c203366e47dcd52807a3",
    "source_locator_sha256": "548b1977464185f0f0dddde15ba51fd49fbeba1003f0554be435c67c49cc694a",
    "measurement_sha256": "c14a8151ed094cf1ea7f602a389372371812c9dac79edec05c7fa7e881d46bb7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "king-kong-2005",
    "title": "King Kong",
    "year": 2005,
    "primary_genre": "Action",
    "writers": [
      "Peter Jackson",
      "Fran Walsh",
      "Philippa Boyens"
    ],
    "pages": 126,
    "scenes": 237,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 35,
    "day_share_pct": 31.4,
    "unique_locations": 91,
    "location_changes": 222,
    "speaking_characters": 49,
    "single_line_characters": 20,
    "dialogue_blocks": 751,
    "dialogue_words": 6802,
    "dialogue_action_ratio": 0.52,
    "monologues": 7,
    "top_character_pct": 25.2,
    "dialogue_line_share_pct": 27,
    "action_line_share_pct": 51,
    "words": 30845,
    "runtime_minutes": 139,
    "parenthetical_rate": 0.36,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/king-kong-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0ad541932a692dc2fb15f5626d720a0aef9501685053c203366e47dcd52807a3",
      "measurement_sha256": "c14a8151ed094cf1ea7f602a389372371812c9dac79edec05c7fa7e881d46bb7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/king-kong-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.491Z.",
        "https://www.scriptslug.com/script/king-kong-2005",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"king-kong-2005\",\"King Kong\",2005,\"Feature\",\"Action\",[\"Peter Jackson\",\"Fran Walsh\",\"Philippa Boyens\"],\"https://www.scriptslug.com/script/king-kong-2005\",\"548b1977464185f0f0dddde15ba51fd49fbeba1003f0554be435c67c49cc694a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ddf00a2a3eae3340f0a765598499ffd44fa486f0eb44e6fa0234cd02e8f35295",
    "source_locator_sha256": "41323da3786c526b14682eb87833ab9fa39cb86914ba5ec86eddcc946cbd514f",
    "measurement_sha256": "103e491679497687484d2778b2d51a18726d2e9c491d087a81d6b879d382d2de",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "king-richard-2021",
    "title": "King Richard",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Zach Baylin"
    ],
    "pages": 125,
    "scenes": 108,
    "mean_scene_eighths": 8.9,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 28.2,
    "day_share_pct": 68.6,
    "unique_locations": 48,
    "location_changes": 87,
    "speaking_characters": 55,
    "single_line_characters": 19,
    "dialogue_blocks": 914,
    "dialogue_words": 12015,
    "dialogue_action_ratio": 1.48,
    "monologues": 52,
    "top_character_pct": 43.1,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 31,
    "words": 26903,
    "runtime_minutes": 128,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/king-richard-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ddf00a2a3eae3340f0a765598499ffd44fa486f0eb44e6fa0234cd02e8f35295",
      "measurement_sha256": "103e491679497687484d2778b2d51a18726d2e9c491d087a81d6b879d382d2de",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/king-richard-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.290Z.",
        "https://www.scriptslug.com/script/king-richard-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"king-richard-2021\",\"King Richard\",2021,\"Feature\",\"Drama\",[\"Zach Baylin\"],\"https://www.scriptslug.com/script/king-richard-2021\",\"41323da3786c526b14682eb87833ab9fa39cb86914ba5ec86eddcc946cbd514f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5d4374ec89afc2d936d6761bb2717310d8f06e19653c09c95c62ec4bf7f23d15",
    "source_locator_sha256": "34f36e69c86385678f5382f8b3660ea752d82a82f8ca73e37e88e2aff7d70792",
    "measurement_sha256": "0a9eb37ac35268ec96391f402da8e8e04adf6703e1612737c1f7e33ea1f0be06",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "knives-out-2019",
    "title": "Knives Out",
    "year": 2019,
    "primary_genre": "Crime",
    "writers": [
      "Rian Johnson"
    ],
    "pages": 125,
    "scenes": 196,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2.5,
    "median_scene_lines": 17.5,
    "interior_share_pct": 73.5,
    "day_share_pct": 46.4,
    "unique_locations": 53,
    "location_changes": 188,
    "speaking_characters": 23,
    "single_line_characters": 4,
    "dialogue_blocks": 964,
    "dialogue_words": 12041,
    "dialogue_action_ratio": 1.83,
    "monologues": 49,
    "top_character_pct": 21.4,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 27,
    "words": 24395,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/knives-out-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5d4374ec89afc2d936d6761bb2717310d8f06e19653c09c95c62ec4bf7f23d15",
      "measurement_sha256": "0a9eb37ac35268ec96391f402da8e8e04adf6703e1612737c1f7e33ea1f0be06",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/knives-out-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.071Z.",
        "https://www.scriptslug.com/script/knives-out-2019",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"knives-out-2019\",\"Knives Out\",2019,\"Feature\",\"Crime\",[\"Rian Johnson\"],\"https://www.scriptslug.com/script/knives-out-2019\",\"34f36e69c86385678f5382f8b3660ea752d82a82f8ca73e37e88e2aff7d70792\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "b809e1b89d279be90eda3e3198b6ec7c3b520d1b1b0497d9dea55ce9f390928e",
    "source_locator_sha256": "6e5cba903a57dcbf1392cd007853bf3e775aa8ffe641d493fbeb3aea4225ad98",
    "measurement_sha256": "6985e53ce1ea49a44a1ccf97623069e8a4d752d553f834b775ee1f6954e8ff6f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "knock-at-the-cabin-2023",
    "title": "Knock at the Cabin",
    "year": 2023,
    "primary_genre": "Horror",
    "writers": [
      "Steve Desmond",
      "Michael Sherman"
    ],
    "pages": 101,
    "scenes": 46,
    "mean_scene_eighths": 17,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 32.5,
    "interior_share_pct": 58.7,
    "day_share_pct": null,
    "unique_locations": 29,
    "location_changes": 45,
    "speaking_characters": 17,
    "single_line_characters": 4,
    "dialogue_blocks": 754,
    "dialogue_words": 8919,
    "dialogue_action_ratio": 1.22,
    "monologues": 24,
    "top_character_pct": 27.2,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 36,
    "words": 21698,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/knock-at-the-cabin-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b809e1b89d279be90eda3e3198b6ec7c3b520d1b1b0497d9dea55ce9f390928e",
      "measurement_sha256": "6985e53ce1ea49a44a1ccf97623069e8a4d752d553f834b775ee1f6954e8ff6f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/knock-at-the-cabin-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.457Z.",
        "https://www.scriptslug.com/script/knock-at-the-cabin-2023",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"knock-at-the-cabin-2023\",\"Knock at the Cabin\",2023,\"Feature\",\"Horror\",[\"Steve Desmond\",\"Michael Sherman\"],\"https://www.scriptslug.com/script/knock-at-the-cabin-2023\",\"6e5cba903a57dcbf1392cd007853bf3e775aa8ffe641d493fbeb3aea4225ad98\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5aaad8cf3b03f0b22aab06d6916be59cae63a6b1d363d454a1e7650129030c82",
    "source_locator_sha256": "52d9fe73c2e72ad6db7b013fdf65e5caff390093e4f20cbe17990503fd0301a6",
    "measurement_sha256": "30c7ba0bb19ad16ad2b8bd8633a9272388322b8dc8813dbee3bb0ccf5964e677",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "knocked-up-2007",
    "title": "Knocked Up",
    "year": 2007,
    "primary_genre": "Comedy",
    "writers": [
      "Judd Apatow"
    ],
    "pages": 140,
    "scenes": 167,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 71,
    "day_share_pct": 57.3,
    "unique_locations": 59,
    "location_changes": 126,
    "speaking_characters": 47,
    "single_line_characters": 9,
    "dialogue_blocks": 1156,
    "dialogue_words": 17946,
    "dialogue_action_ratio": 5.7,
    "monologues": 89,
    "top_character_pct": 13.4,
    "dialogue_line_share_pct": 66,
    "action_line_share_pct": 12,
    "words": 23709,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/knocked-up-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5aaad8cf3b03f0b22aab06d6916be59cae63a6b1d363d454a1e7650129030c82",
      "measurement_sha256": "30c7ba0bb19ad16ad2b8bd8633a9272388322b8dc8813dbee3bb0ccf5964e677",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/knocked-up-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.872Z.",
        "https://www.scriptslug.com/script/knocked-up-2007",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"knocked-up-2007\",\"Knocked Up\",2007,\"Feature\",\"Comedy\",[\"Judd Apatow\"],\"https://www.scriptslug.com/script/knocked-up-2007\",\"52d9fe73c2e72ad6db7b013fdf65e5caff390093e4f20cbe17990503fd0301a6\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8322a106fef78269d3ce23e3da1097e3a50c6e8e7fc4814efbd33a378977cd60",
    "source_locator_sha256": "774c8654ba9b8acba61d870bb090b5a14e552117e44cc75d78418aadaf66621c",
    "measurement_sha256": "7fe5364a3e9e94cac48c2915103e009402e680ad2c94871861e4076af55e71f8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "krampus-2015",
    "title": "Krampus",
    "year": 2015,
    "primary_genre": "Horror",
    "writers": [
      "Todd Casey",
      "Michael Dougherty",
      "Zach Shields"
    ],
    "pages": 108,
    "scenes": 106,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 27.5,
    "interior_share_pct": 76.4,
    "day_share_pct": 11.5,
    "unique_locations": 33,
    "location_changes": 93,
    "speaking_characters": 23,
    "single_line_characters": 6,
    "dialogue_blocks": 688,
    "dialogue_words": 5878,
    "dialogue_action_ratio": 0.65,
    "monologues": 3,
    "top_character_pct": 18.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 48,
    "words": 24117,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/krampus-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8322a106fef78269d3ce23e3da1097e3a50c6e8e7fc4814efbd33a378977cd60",
      "measurement_sha256": "7fe5364a3e9e94cac48c2915103e009402e680ad2c94871861e4076af55e71f8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/krampus-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.474Z.",
        "https://www.scriptslug.com/script/krampus-2015",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"krampus-2015\",\"Krampus\",2015,\"Feature\",\"Horror\",[\"Todd Casey\",\"Michael Dougherty\",\"Zach Shields\"],\"https://www.scriptslug.com/script/krampus-2015\",\"774c8654ba9b8acba61d870bb090b5a14e552117e44cc75d78418aadaf66621c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fa29817e16fb0de81e7b962212734e27f7ec38f809795dce257f647a8881ed07",
    "source_locator_sha256": "6ae7adbac4a469ef54ee32d7072ee7027aab34623b9aa22a5454e1f9804a1042",
    "measurement_sha256": "38f2ac46b4ecaaab0bb208c7f6cb24c49f2778fc42b14a3b1dca063b3f205543",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "kubo-and-the-two-strings-2016",
    "title": "Kubo and the Two Strings",
    "year": 2016,
    "primary_genre": "Animation/Family",
    "writers": [
      "Marc Haimes",
      "Chris Butler"
    ],
    "pages": 93,
    "scenes": 50,
    "mean_scene_eighths": 14.7,
    "median_scene_eighths": 9.5,
    "median_scene_lines": 65,
    "interior_share_pct": 38,
    "day_share_pct": 38.1,
    "unique_locations": 27,
    "location_changes": 42,
    "speaking_characters": 24,
    "single_line_characters": 7,
    "dialogue_blocks": 604,
    "dialogue_words": 5530,
    "dialogue_action_ratio": 0.65,
    "monologues": 10,
    "top_character_pct": 27.8,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 49,
    "words": 21070,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/kubo-and-the-two-strings-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fa29817e16fb0de81e7b962212734e27f7ec38f809795dce257f647a8881ed07",
      "measurement_sha256": "38f2ac46b4ecaaab0bb208c7f6cb24c49f2778fc42b14a3b1dca063b3f205543",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/kubo-and-the-two-strings-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.293Z.",
        "https://www.scriptslug.com/script/kubo-and-the-two-strings-2016",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"kubo-and-the-two-strings-2016\",\"Kubo and the Two Strings\",2016,\"Feature\",\"Animation/Family\",[\"Marc Haimes\",\"Chris Butler\"],\"https://www.scriptslug.com/script/kubo-and-the-two-strings-2016\",\"6ae7adbac4a469ef54ee32d7072ee7027aab34623b9aa22a5454e1f9804a1042\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "95ed533e540f93f8eca93477a523aac937a7847c13be5e4dfa89997b8279644e",
    "source_locator_sha256": "72b635cee2bcdedac665dab717773c1bd89366ee823dd91bc3e4f8b1fa7de717",
    "measurement_sha256": "eaafcdeb7d7f53d01f4b76c74356ac8e3dfd8d36ec8d4e5cccf3c94cef6fbf98",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "la-la-land-2016",
    "title": "La La Land",
    "year": 2016,
    "primary_genre": "Romance",
    "writers": [
      "Damien Chazelle"
    ],
    "pages": 86,
    "scenes": 112,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 20.5,
    "interior_share_pct": 64.7,
    "day_share_pct": 55.2,
    "unique_locations": 64,
    "location_changes": 92,
    "speaking_characters": 41,
    "single_line_characters": 11,
    "dialogue_blocks": 683,
    "dialogue_words": 5234,
    "dialogue_action_ratio": 0.82,
    "monologues": 8,
    "top_character_pct": 35.3,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 41,
    "words": 18146,
    "runtime_minutes": 99,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/la-la-land-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "95ed533e540f93f8eca93477a523aac937a7847c13be5e4dfa89997b8279644e",
      "measurement_sha256": "eaafcdeb7d7f53d01f4b76c74356ac8e3dfd8d36ec8d4e5cccf3c94cef6fbf98",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/la-la-land-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.827Z.",
        "https://www.scriptslug.com/script/la-la-land-2016",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"la-la-land-2016\",\"La La Land\",2016,\"Feature\",\"Romance\",[\"Damien Chazelle\"],\"https://www.scriptslug.com/script/la-la-land-2016\",\"72b635cee2bcdedac665dab717773c1bd89366ee823dd91bc3e4f8b1fa7de717\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "71157393fd0906b2ac60fd4c552e8b5330d10afda87508124eab35aecb40f923",
    "source_locator_sha256": "86f8d21d45cfd36d84b3be1d7b587eb23b2215f7f392635c5928172fa646d78e",
    "measurement_sha256": "9b35b6f1a26018d8c2c81580821154e15db9832e39c4eaab0af1714497a75b04",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "lady-chatterleys-lover-2022",
    "title": "Lady Chatterley's Lover",
    "year": 2022,
    "primary_genre": "Romance",
    "writers": [
      "David Magee"
    ],
    "pages": 102,
    "scenes": 127,
    "mean_scene_eighths": 6.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 53.5,
    "day_share_pct": 84.2,
    "unique_locations": 69,
    "location_changes": 114,
    "speaking_characters": 24,
    "single_line_characters": 3,
    "dialogue_blocks": 894,
    "dialogue_words": 9858,
    "dialogue_action_ratio": 1.48,
    "monologues": 12,
    "top_character_pct": 33.7,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 29,
    "words": 21699,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/lady-chatterleys-lover-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "71157393fd0906b2ac60fd4c552e8b5330d10afda87508124eab35aecb40f923",
      "measurement_sha256": "9b35b6f1a26018d8c2c81580821154e15db9832e39c4eaab0af1714497a75b04",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/lady-chatterleys-lover-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.160Z.",
        "https://www.scriptslug.com/script/lady-chatterleys-lover-2022",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"lady-chatterleys-lover-2022\",\"Lady Chatterley's Lover\",2022,\"Feature\",\"Romance\",[\"David Magee\"],\"https://www.scriptslug.com/script/lady-chatterleys-lover-2022\",\"86f8d21d45cfd36d84b3be1d7b587eb23b2215f7f392635c5928172fa646d78e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8fe385ea984ba23007b05a5756398bfa0cd76faf7ffe72e13c1a4f906b2b09ad",
    "source_locator_sha256": "0bd08a5fe509789027e4684c39578486d3624d097b310c8f4704fe76d37653dd",
    "measurement_sha256": "b56b00fbf38f2da49cd3a047844bb11e88a346b8d2735d8201ccda5fd10e04c9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "last-night-in-soho-2021",
    "title": "Last Night in Soho",
    "year": 2021,
    "primary_genre": "Horror",
    "writers": [
      "Krysty Wilson-Cairns",
      "Edgar Wright"
    ],
    "pages": 116,
    "scenes": 122,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 77,
    "day_share_pct": 35.5,
    "unique_locations": 75,
    "location_changes": 106,
    "speaking_characters": 46,
    "single_line_characters": 10,
    "dialogue_blocks": 844,
    "dialogue_words": 6815,
    "dialogue_action_ratio": 0.73,
    "monologues": 12,
    "top_character_pct": 25.3,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 24677,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/last-night-in-soho-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8fe385ea984ba23007b05a5756398bfa0cd76faf7ffe72e13c1a4f906b2b09ad",
      "measurement_sha256": "b56b00fbf38f2da49cd3a047844bb11e88a346b8d2735d8201ccda5fd10e04c9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/last-night-in-soho-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.620Z.",
        "https://www.scriptslug.com/script/last-night-in-soho-2021",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"last-night-in-soho-2021\",\"Last Night in Soho\",2021,\"Feature\",\"Horror\",[\"Krysty Wilson-Cairns\",\"Edgar Wright\"],\"https://www.scriptslug.com/script/last-night-in-soho-2021\",\"0bd08a5fe509789027e4684c39578486d3624d097b310c8f4704fe76d37653dd\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "16e647ff189f90dad42bfdb44450e38ab1dca8a0d6dfd27c799aa7c07de8889e",
    "source_locator_sha256": "b4aa3ba72849e7ac94d6e02013b945cbd3f58860df894101563852414e689dc0",
    "measurement_sha256": "70fe2a56a1a2985353a6bcea120f80da61926d4f4e568257d75a3593430413b9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "law-abiding-citizen-2009",
    "title": "Law Abiding Citizen",
    "year": 2009,
    "primary_genre": "Thriller",
    "writers": [
      "Frank Darabont",
      "Kurt Wimmer"
    ],
    "pages": 123,
    "scenes": 210,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 13.5,
    "interior_share_pct": 64.5,
    "day_share_pct": 41,
    "unique_locations": 108,
    "location_changes": 199,
    "speaking_characters": 59,
    "single_line_characters": 21,
    "dialogue_blocks": 954,
    "dialogue_words": 10726,
    "dialogue_action_ratio": 1.38,
    "monologues": 20,
    "top_character_pct": 29.1,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 31,
    "words": 25940,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/law-abiding-citizen-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "16e647ff189f90dad42bfdb44450e38ab1dca8a0d6dfd27c799aa7c07de8889e",
      "measurement_sha256": "70fe2a56a1a2985353a6bcea120f80da61926d4f4e568257d75a3593430413b9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/law-abiding-citizen-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.619Z.",
        "https://www.scriptslug.com/script/law-abiding-citizen-2009",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"law-abiding-citizen-2009\",\"Law Abiding Citizen\",2009,\"Feature\",\"Thriller\",[\"Frank Darabont\",\"Kurt Wimmer\"],\"https://www.scriptslug.com/script/law-abiding-citizen-2009\",\"b4aa3ba72849e7ac94d6e02013b945cbd3f58860df894101563852414e689dc0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6eaf94bc4acf2bf0af73eda270b7c28befb2baf005ee20240be4a749a5f9a1b8",
    "source_locator_sha256": "2b93f7fb8d6b85be2f116bb619f2ec230924f63b01cf24d3fe8934b304f84b63",
    "measurement_sha256": "e3c1b4a35e388dcd50ff74f927d8f82fcdbabaf2b7e2fcb691f11a98de9af256",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "little-miss-sunshine-2006",
    "title": "Little Miss Sunshine",
    "year": 2006,
    "primary_genre": "Comedy",
    "writers": [
      "Michael Arndt"
    ],
    "pages": 110,
    "scenes": 84,
    "mean_scene_eighths": 10.8,
    "median_scene_eighths": 6,
    "median_scene_lines": 40.5,
    "interior_share_pct": 67.9,
    "day_share_pct": 78.4,
    "unique_locations": 47,
    "location_changes": 76,
    "speaking_characters": 47,
    "single_line_characters": 22,
    "dialogue_blocks": 998,
    "dialogue_words": 8723,
    "dialogue_action_ratio": 1.12,
    "monologues": 19,
    "top_character_pct": 21.7,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 37,
    "words": 21500,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/little-miss-sunshine-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6eaf94bc4acf2bf0af73eda270b7c28befb2baf005ee20240be4a749a5f9a1b8",
      "measurement_sha256": "e3c1b4a35e388dcd50ff74f927d8f82fcdbabaf2b7e2fcb691f11a98de9af256",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/little-miss-sunshine-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.281Z.",
        "https://www.scriptslug.com/script/little-miss-sunshine-2006",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"little-miss-sunshine-2006\",\"Little Miss Sunshine\",2006,\"Feature\",\"Comedy\",[\"Michael Arndt\"],\"https://www.scriptslug.com/script/little-miss-sunshine-2006\",\"2b93f7fb8d6b85be2f116bb619f2ec230924f63b01cf24d3fe8934b304f84b63\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "0fbc1ab4e480ec936b687be358eaa740e1e96b74139d976909582ccbb1cbba80",
    "source_locator_sha256": "e0a5aa1a947b9763094656f3bbf44a4104ade07a8950bc79a4664f33b38ad41e",
    "measurement_sha256": "df2fb194773d70a5afd24e1008f9d0b5cbde8fb50e6950e59fd06e1dc72c8655",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "logan-2017",
    "title": "Logan",
    "year": 2017,
    "primary_genre": "Action",
    "writers": [
      "Michael Green",
      "Scott Frank",
      "James Mangold"
    ],
    "pages": 126,
    "scenes": 158,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 52.2,
    "day_share_pct": 72.1,
    "unique_locations": 105,
    "location_changes": 143,
    "speaking_characters": 48,
    "single_line_characters": 17,
    "dialogue_blocks": 843,
    "dialogue_words": 7562,
    "dialogue_action_ratio": 0.69,
    "monologues": 17,
    "top_character_pct": 26.9,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 46,
    "words": 29613,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/logan-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0fbc1ab4e480ec936b687be358eaa740e1e96b74139d976909582ccbb1cbba80",
      "measurement_sha256": "df2fb194773d70a5afd24e1008f9d0b5cbde8fb50e6950e59fd06e1dc72c8655",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/logan-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.785Z.",
        "https://www.scriptslug.com/script/logan-2017",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"logan-2017\",\"Logan\",2017,\"Feature\",\"Action\",[\"Michael Green\",\"Scott Frank\",\"James Mangold\"],\"https://www.scriptslug.com/script/logan-2017\",\"e0a5aa1a947b9763094656f3bbf44a4104ade07a8950bc79a4664f33b38ad41e\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "91dbd3b01e973e5aef01621f75074976010a4dbf0bd824ce8d455fd86cd98a13",
    "source_locator_sha256": "f992d46b589792a40bd45df6127dc400fcd7c9906a2ca2d535c8698cfb413e2b",
    "measurement_sha256": "43467bfe965ac4c670c1dbbea92a6056aa9477d432da64de6d1a4caeb2bd178d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "looper-2012",
    "title": "Looper",
    "year": 2012,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Rian Johnson"
    ],
    "pages": 119,
    "scenes": 317,
    "mean_scene_eighths": 2.9,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 50.9,
    "day_share_pct": 53.1,
    "unique_locations": 122,
    "location_changes": 287,
    "speaking_characters": 25,
    "single_line_characters": 6,
    "dialogue_blocks": 663,
    "dialogue_words": 7493,
    "dialogue_action_ratio": 0.74,
    "monologues": 33,
    "top_character_pct": 28.9,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 26139,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/looper-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "91dbd3b01e973e5aef01621f75074976010a4dbf0bd824ce8d455fd86cd98a13",
      "measurement_sha256": "43467bfe965ac4c670c1dbbea92a6056aa9477d432da64de6d1a4caeb2bd178d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/looper-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:57.781Z.",
        "https://www.scriptslug.com/script/looper-2012",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"looper-2012\",\"Looper\",2012,\"Feature\",\"Sci-Fi\",[\"Rian Johnson\"],\"https://www.scriptslug.com/script/looper-2012\",\"f992d46b589792a40bd45df6127dc400fcd7c9906a2ca2d535c8698cfb413e2b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "543962ebf3f04e05d1a01378415f21edb011572dcbe93aceed75b385164f49c0",
    "source_locator_sha256": "16421f6073cb76f2734df02b3fe1c42de4a7bf4f68f01630a11f7ef184aafd44",
    "measurement_sha256": "18ce03440d43d6c9fea30b41b46dfd6104de192a5b30a2006d9cacee98f6af22",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "love-actually-2003",
    "title": "Love Actually",
    "year": 2003,
    "primary_genre": "Romance",
    "writers": [
      "Richard Curtis"
    ],
    "pages": 131,
    "scenes": 60,
    "mean_scene_eighths": 18.3,
    "median_scene_eighths": 15.5,
    "median_scene_lines": 108,
    "interior_share_pct": 85.8,
    "day_share_pct": null,
    "unique_locations": 60,
    "location_changes": 59,
    "speaking_characters": 124,
    "single_line_characters": 56,
    "dialogue_blocks": 1149,
    "dialogue_words": 13304,
    "dialogue_action_ratio": 1.55,
    "monologues": 34,
    "top_character_pct": 8.7,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 30,
    "words": 22469,
    "runtime_minutes": 136,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/love-actually-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "543962ebf3f04e05d1a01378415f21edb011572dcbe93aceed75b385164f49c0",
      "measurement_sha256": "18ce03440d43d6c9fea30b41b46dfd6104de192a5b30a2006d9cacee98f6af22",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/love-actually-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.257Z.",
        "https://www.scriptslug.com/script/love-actually-2003",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"love-actually-2003\",\"Love Actually\",2003,\"Feature\",\"Romance\",[\"Richard Curtis\"],\"https://www.scriptslug.com/script/love-actually-2003\",\"16421f6073cb76f2734df02b3fe1c42de4a7bf4f68f01630a11f7ef184aafd44\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "347fe868a08451483cb91fa17f36d7cd550a5c8c91e683b06dfcb514fc739551",
    "source_locator_sha256": "d2fe50c5ca5b53f6421b53eadb90150cdd51ccfb83d44e7f5d271972574fd1c3",
    "measurement_sha256": "549b9234fb3d4b998fbcae12a9a61416d236ce8cce0783cf17bb4597bf01a506",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers"
      ]
    },
    "slug": "love-simon-2018",
    "title": "Love, Simon",
    "year": 2018,
    "primary_genre": "Romance",
    "writers": [
      "Isaac Aptaker",
      "Elizabeth Berger"
    ],
    "pages": 117,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 0,
    "single_line_characters": 0,
    "dialogue_blocks": 261,
    "dialogue_words": 349,
    "dialogue_action_ratio": 0.1,
    "monologues": 0,
    "top_character_pct": null,
    "dialogue_line_share_pct": 9,
    "action_line_share_pct": 90,
    "words": 17577,
    "runtime_minutes": 118,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "549b9234fb3d4b998fbcae12a9a61416d236ce8cce0783cf17bb4597bf01a506",
      "source_sha256": "347fe868a08451483cb91fa17f36d7cd550a5c8c91e683b06dfcb514fc739551",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/love-simon-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "347fe868a08451483cb91fa17f36d7cd550a5c8c91e683b06dfcb514fc739551",
      "measurement_sha256": "549b9234fb3d4b998fbcae12a9a61416d236ce8cce0783cf17bb4597bf01a506",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/love-simon-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.763Z.",
        "https://www.scriptslug.com/script/love-simon-2018",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"love-simon-2018\",\"Love, Simon\",2018,\"Feature\",\"Romance\",[\"Isaac Aptaker\",\"Elizabeth Berger\"],\"https://www.scriptslug.com/script/love-simon-2018\",\"d2fe50c5ca5b53f6421b53eadb90150cdd51ccfb83d44e7f5d271972574fd1c3\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "ec84c7c0a1e1de751bc623e87d38b8a4bb49c46357ac05af65a19e0c1d602eee",
    "source_locator_sha256": "319e25cbd189e912a72d4f1d7d7901611efa25ed058aedd07f99a5759e72d785",
    "measurement_sha256": "9efc470385e101b4b0e8e8230ca67b5f1fd853b44b5ae163d7163adbd976e82a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "luca-2021",
    "title": "Luca",
    "year": 2021,
    "primary_genre": "Animation/Family",
    "writers": [
      "Jesse Andrews",
      "Mike Jones"
    ],
    "pages": 120,
    "scenes": 96,
    "mean_scene_eighths": 10.4,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 28.5,
    "interior_share_pct": 20.8,
    "day_share_pct": 64.9,
    "unique_locations": 53,
    "location_changes": 88,
    "speaking_characters": 46,
    "single_line_characters": 29,
    "dialogue_blocks": 1016,
    "dialogue_words": 7023,
    "dialogue_action_ratio": 0.88,
    "monologues": 3,
    "top_character_pct": 24,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 38,
    "words": 21571,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "9efc470385e101b4b0e8e8230ca67b5f1fd853b44b5ae163d7163adbd976e82a",
      "source_sha256": "ec84c7c0a1e1de751bc623e87d38b8a4bb49c46357ac05af65a19e0c1d602eee",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/luca-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ec84c7c0a1e1de751bc623e87d38b8a4bb49c46357ac05af65a19e0c1d602eee",
      "measurement_sha256": "9efc470385e101b4b0e8e8230ca67b5f1fd853b44b5ae163d7163adbd976e82a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/luca-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.887Z.",
        "https://www.scriptslug.com/script/luca-2021",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"luca-2021\",\"Luca\",2021,\"Feature\",\"Animation/Family\",[\"Jesse Andrews\",\"Mike Jones\"],\"https://www.scriptslug.com/script/luca-2021\",\"319e25cbd189e912a72d4f1d7d7901611efa25ed058aedd07f99a5759e72d785\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b9421447c94953936581b473ffcd17c6f8c162576659e18df105badf97437bb1",
    "source_locator_sha256": "c19fe29f7edf1f36eb90662b33898db2111ed10c0e40d947e52f03a818b2d7cc",
    "measurement_sha256": "721255cf4b9f42f12907a45336b95e93a9704fbebee8197eda5510a57b9d3cb9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "macgruber-2010",
    "title": "MacGruber",
    "year": 2010,
    "primary_genre": "Comedy",
    "writers": [
      "Will Forte",
      "John Solomon",
      "Jorma Taccone"
    ],
    "pages": 100,
    "scenes": 128,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 54.7,
    "day_share_pct": 42.9,
    "unique_locations": 77,
    "location_changes": 105,
    "speaking_characters": 39,
    "single_line_characters": 19,
    "dialogue_blocks": 930,
    "dialogue_words": 8420,
    "dialogue_action_ratio": 2,
    "monologues": 18,
    "top_character_pct": 54.1,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 23,
    "words": 17121,
    "runtime_minutes": 96,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/macgruber-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b9421447c94953936581b473ffcd17c6f8c162576659e18df105badf97437bb1",
      "measurement_sha256": "721255cf4b9f42f12907a45336b95e93a9704fbebee8197eda5510a57b9d3cb9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/macgruber-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.278Z.",
        "https://www.scriptslug.com/script/macgruber-2010",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"macgruber-2010\",\"MacGruber\",2010,\"Feature\",\"Comedy\",[\"Will Forte\",\"John Solomon\",\"Jorma Taccone\"],\"https://www.scriptslug.com/script/macgruber-2010\",\"c19fe29f7edf1f36eb90662b33898db2111ed10c0e40d947e52f03a818b2d7cc\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f24180839ad0f9959c5a667229090bb4041fdbe24db0f4e001b285ce397f0e63",
    "source_locator_sha256": "12fa4afeb9dadfb41c369ce25bea13eadc9bbfbf0dbe516dee8cb6296c522019",
    "measurement_sha256": "842f62874e900b4245e5f5eaa47d96fe108181160ecdc85a946612c96bdfd955",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "maestro-2023",
    "title": "Maestro",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Josh Singer",
      "Bradley Cooper"
    ],
    "pages": 108,
    "scenes": 98,
    "mean_scene_eighths": 9.7,
    "median_scene_eighths": 4,
    "median_scene_lines": 29.5,
    "interior_share_pct": 68.9,
    "day_share_pct": 67.5,
    "unique_locations": 63,
    "location_changes": 87,
    "speaking_characters": 48,
    "single_line_characters": 15,
    "dialogue_blocks": 1112,
    "dialogue_words": 9923,
    "dialogue_action_ratio": 1.52,
    "monologues": 36,
    "top_character_pct": 41.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 30,
    "words": 22314,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/maestro-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f24180839ad0f9959c5a667229090bb4041fdbe24db0f4e001b285ce397f0e63",
      "measurement_sha256": "842f62874e900b4245e5f5eaa47d96fe108181160ecdc85a946612c96bdfd955",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/maestro-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.291Z.",
        "https://www.scriptslug.com/script/maestro-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"maestro-2023\",\"Maestro\",2023,\"Feature\",\"Drama\",[\"Josh Singer\",\"Bradley Cooper\"],\"https://www.scriptslug.com/script/maestro-2023\",\"12fa4afeb9dadfb41c369ce25bea13eadc9bbfbf0dbe516dee8cb6296c522019\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ad7a9476b7d4413a65f0802820838f26949a7f31010995231e8c0362cd6478f3",
    "source_locator_sha256": "552aa72ae916a61a82a0d37bc6472cc99fda798bae820e19bc52b2971295cf78",
    "measurement_sha256": "0bb8981320889815ee3f2e36791d91ea06eb295ff0bf97ac4bbb00f69a069343",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "malibus-most-wanted-2003",
    "title": "Malibu's Most Wanted",
    "year": 2003,
    "primary_genre": "Comedy",
    "writers": [
      "Fax Bahr",
      "Adam Small",
      "Jamie Kennedy",
      "Nick Swardson"
    ],
    "pages": 123,
    "scenes": 90,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 6,
    "median_scene_lines": 38.5,
    "interior_share_pct": 67.8,
    "day_share_pct": 50,
    "unique_locations": 52,
    "location_changes": 78,
    "speaking_characters": 48,
    "single_line_characters": 12,
    "dialogue_blocks": 1031,
    "dialogue_words": 8953,
    "dialogue_action_ratio": 2.08,
    "monologues": 11,
    "top_character_pct": 28.9,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 22,
    "words": 17860,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/malibus-most-wanted-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ad7a9476b7d4413a65f0802820838f26949a7f31010995231e8c0362cd6478f3",
      "measurement_sha256": "0bb8981320889815ee3f2e36791d91ea06eb295ff0bf97ac4bbb00f69a069343",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/malibus-most-wanted-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.398Z.",
        "https://www.scriptslug.com/script/malibus-most-wanted-2003",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"malibus-most-wanted-2003\",\"Malibu's Most Wanted\",2003,\"Feature\",\"Comedy\",[\"Fax Bahr\",\"Adam Small\",\"Jamie Kennedy\",\"Nick Swardson\"],\"https://www.scriptslug.com/script/malibus-most-wanted-2003\",\"552aa72ae916a61a82a0d37bc6472cc99fda798bae820e19bc52b2971295cf78\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "47169e51a65d82b85bec032b404c8da6903951d2c5a7479ae6877c83a51fc645",
    "source_locator_sha256": "08f0fcda758635bbfb402ce79ac00a9bdeec773b42a9ae19fd676d4911fb2872",
    "measurement_sha256": "f3c9a37225362bdd4e24a5ffc027daa16b135eb89b70eeffe6138b9c2e33e39c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "malignant-2021",
    "title": "Malignant",
    "year": 2021,
    "primary_genre": "Horror",
    "writers": [
      "Akela Cooper"
    ],
    "pages": 114,
    "scenes": 164,
    "mean_scene_eighths": 6,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 84.1,
    "day_share_pct": 37.8,
    "unique_locations": 38,
    "location_changes": 99,
    "speaking_characters": 47,
    "single_line_characters": 12,
    "dialogue_blocks": 858,
    "dialogue_words": 8488,
    "dialogue_action_ratio": 0.84,
    "monologues": 23,
    "top_character_pct": 17.5,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 42,
    "words": 26447,
    "runtime_minutes": 129,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/malignant-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "47169e51a65d82b85bec032b404c8da6903951d2c5a7479ae6877c83a51fc645",
      "measurement_sha256": "f3c9a37225362bdd4e24a5ffc027daa16b135eb89b70eeffe6138b9c2e33e39c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/malignant-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.308Z.",
        "https://www.scriptslug.com/script/malignant-2021",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"malignant-2021\",\"Malignant\",2021,\"Feature\",\"Horror\",[\"Akela Cooper\"],\"https://www.scriptslug.com/script/malignant-2021\",\"08f0fcda758635bbfb402ce79ac00a9bdeec773b42a9ae19fd676d4911fb2872\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ad4026e6989998d27e5d2576130b895c581fe03db6d78a3ea28c834cc9be144a",
    "source_locator_sha256": "d4fb6c45d559f76e5e0c07b931cca6269d19eb241f66b204d012baee59871a06",
    "measurement_sha256": "a450b56f886f0e210ef098a1a121df92cf8282d198cf7dc54dfa61fadb4e21a4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "mank-2020",
    "title": "Mank",
    "year": 2020,
    "primary_genre": "Drama",
    "writers": [
      "Jack Fincher"
    ],
    "pages": 152,
    "scenes": 97,
    "mean_scene_eighths": 10.4,
    "median_scene_eighths": 6,
    "median_scene_lines": 42,
    "interior_share_pct": 54.6,
    "day_share_pct": 65.1,
    "unique_locations": 63,
    "location_changes": 83,
    "speaking_characters": 67,
    "single_line_characters": 26,
    "dialogue_blocks": 1276,
    "dialogue_words": 13964,
    "dialogue_action_ratio": 3.51,
    "monologues": 39,
    "top_character_pct": 33.5,
    "dialogue_line_share_pct": 54,
    "action_line_share_pct": 15,
    "words": 23721,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "a450b56f886f0e210ef098a1a121df92cf8282d198cf7dc54dfa61fadb4e21a4",
      "source_sha256": "ad4026e6989998d27e5d2576130b895c581fe03db6d78a3ea28c834cc9be144a",
      "pdf_pages": [
        82
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "An emphatic continuation of dialogue is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/mank-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ad4026e6989998d27e5d2576130b895c581fe03db6d78a3ea28c834cc9be144a",
      "measurement_sha256": "a450b56f886f0e210ef098a1a121df92cf8282d198cf7dc54dfa61fadb4e21a4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/mank-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.821Z.",
        "https://www.scriptslug.com/script/mank-2020",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"mank-2020\",\"Mank\",2020,\"Feature\",\"Drama\",[\"Jack Fincher\"],\"https://www.scriptslug.com/script/mank-2020\",\"d4fb6c45d559f76e5e0c07b931cca6269d19eb241f66b204d012baee59871a06\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "5d71aecf81f6ded7dbfe15c0fd3f54173ec35464f0aba78a1f96df297f0a3e47",
    "source_locator_sha256": "341a4e27df6512780f3ba44eb6ed2dff86bcaab64bc9e0f74bae1f1a7e1b193f",
    "measurement_sha256": "17b6031d3eef444b47c2b51268193f3a50bd381882dac18d106c767e871064e9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "maria-2024",
    "title": "Maria",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Steven Knight"
    ],
    "pages": 96,
    "scenes": 113,
    "mean_scene_eighths": 6.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 77,
    "day_share_pct": 62.9,
    "unique_locations": 60,
    "location_changes": 106,
    "speaking_characters": 39,
    "single_line_characters": 20,
    "dialogue_blocks": 651,
    "dialogue_words": 6134,
    "dialogue_action_ratio": 0.78,
    "monologues": 4,
    "top_character_pct": 46.6,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 44,
    "words": 19514,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/maria-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5d71aecf81f6ded7dbfe15c0fd3f54173ec35464f0aba78a1f96df297f0a3e47",
      "measurement_sha256": "17b6031d3eef444b47c2b51268193f3a50bd381882dac18d106c767e871064e9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/maria-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.057Z.",
        "https://www.scriptslug.com/script/maria-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"maria-2024\",\"Maria\",2024,\"Feature\",\"Drama\",[\"Steven Knight\"],\"https://www.scriptslug.com/script/maria-2024\",\"341a4e27df6512780f3ba44eb6ed2dff86bcaab64bc9e0f74bae1f1a7e1b193f\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c54e4ab7519b11d163859f1df4185389c2e3bb6bfaccd2621fec71251018639c",
    "source_locator_sha256": "d955c3bb347d0bf79df29b5e25cdb4c022a13de994e8f7e890160a3384d3f6e7",
    "measurement_sha256": "130aea1dd0abedbe6e97d7d50cdb994a5619deebac495b625ca83e1b9a1c18f7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "marriage-story-2019",
    "title": "Marriage Story",
    "year": 2019,
    "primary_genre": "Drama",
    "writers": [
      "Noah Baumbach"
    ],
    "pages": 153,
    "scenes": 87,
    "mean_scene_eighths": 14.3,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 78.2,
    "day_share_pct": null,
    "unique_locations": 72,
    "location_changes": 86,
    "speaking_characters": 46,
    "single_line_characters": 10,
    "dialogue_blocks": 1513,
    "dialogue_words": 14522,
    "dialogue_action_ratio": 2.36,
    "monologues": 35,
    "top_character_pct": 29,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 20,
    "words": 27364,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/marriage-story-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c54e4ab7519b11d163859f1df4185389c2e3bb6bfaccd2621fec71251018639c",
      "measurement_sha256": "130aea1dd0abedbe6e97d7d50cdb994a5619deebac495b625ca83e1b9a1c18f7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/marriage-story-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.720Z.",
        "https://www.scriptslug.com/script/marriage-story-2019",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"marriage-story-2019\",\"Marriage Story\",2019,\"Feature\",\"Drama\",[\"Noah Baumbach\"],\"https://www.scriptslug.com/script/marriage-story-2019\",\"d955c3bb347d0bf79df29b5e25cdb4c022a13de994e8f7e890160a3384d3f6e7\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ecae6e5d3d26abb34b11dc59d6a026e74f66904d618527e91ef14050530c4c47",
    "source_locator_sha256": "8948e6226851f569f6098b84dd3ca24825df460f21bc91d5a5fda900b50ef3ee",
    "measurement_sha256": "197dd31c8af37be9aa5cc2d75ff006891e3936274ec1395ddb2ad5f8400a3482",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "marty-supreme-2025",
    "title": "Marty Supreme",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Ronald Bronstein",
      "Josh Safdie"
    ],
    "pages": 168,
    "scenes": 161,
    "mean_scene_eighths": 8.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 75.2,
    "day_share_pct": 67.7,
    "unique_locations": 70,
    "location_changes": 108,
    "speaking_characters": 88,
    "single_line_characters": 25,
    "dialogue_blocks": 1617,
    "dialogue_words": 13830,
    "dialogue_action_ratio": 1.68,
    "monologues": 22,
    "top_character_pct": 47,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 26,
    "words": 30392,
    "runtime_minutes": 140,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/marty-supreme-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ecae6e5d3d26abb34b11dc59d6a026e74f66904d618527e91ef14050530c4c47",
      "measurement_sha256": "197dd31c8af37be9aa5cc2d75ff006891e3936274ec1395ddb2ad5f8400a3482",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/marty-supreme-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.356Z.",
        "https://www.scriptslug.com/script/marty-supreme-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"marty-supreme-2025\",\"Marty Supreme\",2025,\"Feature\",\"Drama\",[\"Ronald Bronstein\",\"Josh Safdie\"],\"https://www.scriptslug.com/script/marty-supreme-2025\",\"8948e6226851f569f6098b84dd3ca24825df460f21bc91d5a5fda900b50ef3ee\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "5d8acf2d540255d90f5e51725bf334d1e53c96cb79a84184601dc6f15973567c",
    "source_locator_sha256": "5491cccbf67639f94a17b97f066beab9a1c956a219000905bf91f627a31e5bcf",
    "measurement_sha256": "0ff77cb479e4211c28f0b13626e678f31154d63320cc0808b26c198ca73632f6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "mary-poppins-returns-2018",
    "title": "Mary Poppins Returns",
    "year": 2018,
    "primary_genre": "Animation/Family",
    "writers": [
      "David Magee"
    ],
    "pages": 128,
    "scenes": 86,
    "mean_scene_eighths": 12.2,
    "median_scene_eighths": 7,
    "median_scene_lines": 50,
    "interior_share_pct": 42.4,
    "day_share_pct": 61.8,
    "unique_locations": 52,
    "location_changes": 83,
    "speaking_characters": 49,
    "single_line_characters": 17,
    "dialogue_blocks": 1109,
    "dialogue_words": 9351,
    "dialogue_action_ratio": 1.09,
    "monologues": 3,
    "top_character_pct": 15.7,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 34,
    "words": 26167,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "0ff77cb479e4211c28f0b13626e678f31154d63320cc0808b26c198ca73632f6",
      "source_sha256": "5d8acf2d540255d90f5e51725bf334d1e53c96cb79a84184601dc6f15973567c",
      "pdf_pages": [
        37
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "An all-capitals lyric is classified as a speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/mary-poppins-returns-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5d8acf2d540255d90f5e51725bf334d1e53c96cb79a84184601dc6f15973567c",
      "measurement_sha256": "0ff77cb479e4211c28f0b13626e678f31154d63320cc0808b26c198ca73632f6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/mary-poppins-returns-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.142Z.",
        "https://www.scriptslug.com/script/mary-poppins-returns-2018",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"mary-poppins-returns-2018\",\"Mary Poppins Returns\",2018,\"Feature\",\"Animation/Family\",[\"David Magee\"],\"https://www.scriptslug.com/script/mary-poppins-returns-2018\",\"5491cccbf67639f94a17b97f066beab9a1c956a219000905bf91f627a31e5bcf\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "76fca0db43065cb196656e079767375cf2535d544b2308071daed0e0a5b850c5",
    "source_locator_sha256": "2f787f86439c06916e41a5e4b72a0c8107f32fd7c2e62e2c4c81ae0c9e5adda3",
    "measurement_sha256": "d4a5ba178928c56af1fa3495c760d66108c8240591da878fdeb48b95570869ff",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "master-2022",
    "title": "Master",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "Mariama Diallo"
    ],
    "pages": 138,
    "scenes": 117,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 72.6,
    "day_share_pct": 39.8,
    "unique_locations": 41,
    "location_changes": 95,
    "speaking_characters": 48,
    "single_line_characters": 16,
    "dialogue_blocks": 760,
    "dialogue_words": 7072,
    "dialogue_action_ratio": 0.97,
    "monologues": 18,
    "top_character_pct": 28.4,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 39,
    "words": 20019,
    "runtime_minutes": 109,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/master-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "76fca0db43065cb196656e079767375cf2535d544b2308071daed0e0a5b850c5",
      "measurement_sha256": "d4a5ba178928c56af1fa3495c760d66108c8240591da878fdeb48b95570869ff",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/master-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.536Z.",
        "https://www.scriptslug.com/script/master-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"master-2022\",\"Master\",2022,\"Feature\",\"Horror\",[\"Mariama Diallo\"],\"https://www.scriptslug.com/script/master-2022\",\"2f787f86439c06916e41a5e4b72a0c8107f32fd7c2e62e2c4c81ae0c9e5adda3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "446d84e26142115a722021b123ea2d34d2c384e407d47d281992abc5e2cdddf7",
    "source_locator_sha256": "0b568ea1054d9d50460e2cb384f832b931bdd134bf39f0003449a1dedceb603e",
    "measurement_sha256": "ef83f9f78fc9306319c46520f28dad79bf2dcfb12ec616b5a1241142991c62c4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "may-december-2023",
    "title": "May December",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Samy Burch"
    ],
    "pages": 94,
    "scenes": 87,
    "mean_scene_eighths": 8.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 63.2,
    "day_share_pct": 75,
    "unique_locations": 69,
    "location_changes": 81,
    "speaking_characters": 35,
    "single_line_characters": 7,
    "dialogue_blocks": 851,
    "dialogue_words": 7718,
    "dialogue_action_ratio": 1.6,
    "monologues": 26,
    "top_character_pct": 26.2,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 28,
    "words": 16551,
    "runtime_minutes": 98,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/may-december-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "446d84e26142115a722021b123ea2d34d2c384e407d47d281992abc5e2cdddf7",
      "measurement_sha256": "ef83f9f78fc9306319c46520f28dad79bf2dcfb12ec616b5a1241142991c62c4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/may-december-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.119Z.",
        "https://www.scriptslug.com/script/may-december-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"may-december-2023\",\"May December\",2023,\"Feature\",\"Drama\",[\"Samy Burch\"],\"https://www.scriptslug.com/script/may-december-2023\",\"0b568ea1054d9d50460e2cb384f832b931bdd134bf39f0003449a1dedceb603e\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "642d535e0d612a8362990b29dd181b6b3eaba8f1ec2d3c60f076cc44bd4e9c1f",
    "source_locator_sha256": "64c614fbe6733d486b632003dd1b47fbcb69625b295c779e70dd99c07d98602f",
    "measurement_sha256": "7c1b7e1e65aab0d3d90c7fa433b446b5e1df9154b030e3fb213b64fa8f9a00a8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "memoirs-of-a-geisha-2005",
    "title": "Memoirs of a Geisha",
    "year": 2005,
    "primary_genre": "Drama",
    "writers": [
      "Robin Swicord"
    ],
    "pages": 148,
    "scenes": 87,
    "mean_scene_eighths": 12.2,
    "median_scene_eighths": 6,
    "median_scene_lines": 39,
    "interior_share_pct": 46,
    "day_share_pct": 100,
    "unique_locations": 81,
    "location_changes": 85,
    "speaking_characters": 45,
    "single_line_characters": 18,
    "dialogue_blocks": 960,
    "dialogue_words": 7793,
    "dialogue_action_ratio": 0.65,
    "monologues": 10,
    "top_character_pct": 12.7,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 50,
    "words": 25928,
    "runtime_minutes": 138,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/memoirs-of-a-geisha-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "642d535e0d612a8362990b29dd181b6b3eaba8f1ec2d3c60f076cc44bd4e9c1f",
      "measurement_sha256": "7c1b7e1e65aab0d3d90c7fa433b446b5e1df9154b030e3fb213b64fa8f9a00a8",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.sonypictures.ca/movies/memoirs-of-a-geisha",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.125Z.",
        "https://www.scriptslug.com/script/memoirs-of-a-geisha-2005",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"memoirs-of-a-geisha-2005\",\"Memoirs of a Geisha\",2005,\"Feature\",\"Drama\",[\"Robin Swicord\"],\"https://www.scriptslug.com/script/memoirs-of-a-geisha-2005\",\"64c614fbe6733d486b632003dd1b47fbcb69625b295c779e70dd99c07d98602f\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "6a5487de5ba08ca9e87ecb9f8032702af3dde5b7594e5d9f244d03f90fe7a62d",
    "source_locator_sha256": "4cf79059d0cdedf9fea75472abc4e920aa5a9ffeb2a4287b5068a2da0ebbc57c",
    "measurement_sha256": "775744b1794cae240ee35df8cd8cb7e523c525b626f114a85c661fffdf3db959",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "memory-2022",
    "title": "Memory",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Michel Franco"
    ],
    "pages": 78,
    "scenes": 111,
    "mean_scene_eighths": 5.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 76.6,
    "day_share_pct": null,
    "unique_locations": 61,
    "location_changes": 92,
    "speaking_characters": 33,
    "single_line_characters": 9,
    "dialogue_blocks": 673,
    "dialogue_words": 4756,
    "dialogue_action_ratio": 0.97,
    "monologues": 8,
    "top_character_pct": 24.7,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 38,
    "words": 13707,
    "runtime_minutes": 89,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/memory-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6a5487de5ba08ca9e87ecb9f8032702af3dde5b7594e5d9f244d03f90fe7a62d",
      "measurement_sha256": "775744b1794cae240ee35df8cd8cb7e523c525b626f114a85c661fffdf3db959",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/memory-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.503Z.",
        "https://www.scriptslug.com/script/memory-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"memory-2022\",\"Memory\",2023,\"Feature\",\"Drama\",[\"Michel Franco\"],\"https://www.scriptslug.com/script/memory-2022\",\"4cf79059d0cdedf9fea75472abc4e920aa5a9ffeb2a4287b5068a2da0ebbc57c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3b157f241e8c3f65acbe334b0d040660a415457489faedd0e273d6a8e393dc75",
    "source_locator_sha256": "2042c26bb59c68cdd8cca38be1a05039b3a0c11a8a9048cab2a690b25152a059",
    "measurement_sha256": "efec9ad2498429c1e5b139fcdc3fd926e7f0063591775353b1f54f51970c155f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "midsommar-2019",
    "title": "Midsommar",
    "year": 2019,
    "primary_genre": "Horror",
    "writers": [
      "Ari Aster"
    ],
    "pages": 118,
    "scenes": 119,
    "mean_scene_eighths": 10.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 46.2,
    "day_share_pct": 64.7,
    "unique_locations": 45,
    "location_changes": 99,
    "speaking_characters": 58,
    "single_line_characters": 20,
    "dialogue_blocks": 1105,
    "dialogue_words": 8677,
    "dialogue_action_ratio": 0.73,
    "monologues": 18,
    "top_character_pct": 18.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 43,
    "words": 32437,
    "runtime_minutes": 145,
    "parenthetical_rate": 0.26,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/midsommar-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3b157f241e8c3f65acbe334b0d040660a415457489faedd0e273d6a8e393dc75",
      "measurement_sha256": "efec9ad2498429c1e5b139fcdc3fd926e7f0063591775353b1f54f51970c155f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/midsommar-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:31.915Z.",
        "https://www.scriptslug.com/script/midsommar-2019",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"midsommar-2019\",\"Midsommar\",2019,\"Feature\",\"Horror\",[\"Ari Aster\"],\"https://www.scriptslug.com/script/midsommar-2019\",\"2042c26bb59c68cdd8cca38be1a05039b3a0c11a8a9048cab2a690b25152a059\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c7cd5839ef1ccbe3449e41875fe7a23213a897360fc98fd487958d010630e1e7",
    "source_locator_sha256": "d71b8c06b96bc227efb09acb0723cecc5f089ce9f8a3e5682df5c813d66c5a1c",
    "measurement_sha256": "9610f621eba3a60331bd91bb0489a1c52ea23c1d750eea6bc61622b414342772",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "millers-girl-2024",
    "title": "Miller's Girl",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Jade Halley Bartlett"
    ],
    "pages": 122,
    "scenes": 66,
    "mean_scene_eighths": 13.9,
    "median_scene_eighths": 6,
    "median_scene_lines": 38.5,
    "interior_share_pct": 86.4,
    "day_share_pct": 64.3,
    "unique_locations": 21,
    "location_changes": 57,
    "speaking_characters": 9,
    "single_line_characters": 1,
    "dialogue_blocks": 1267,
    "dialogue_words": 12370,
    "dialogue_action_ratio": 3.59,
    "monologues": 41,
    "top_character_pct": 33.3,
    "dialogue_line_share_pct": 55,
    "action_line_share_pct": 15,
    "words": 19944,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/millers-girl-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c7cd5839ef1ccbe3449e41875fe7a23213a897360fc98fd487958d010630e1e7",
      "measurement_sha256": "9610f621eba3a60331bd91bb0489a1c52ea23c1d750eea6bc61622b414342772",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/millers-girl-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.377Z.",
        "https://www.scriptslug.com/script/millers-girl-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"millers-girl-2024\",\"Miller's Girl\",2024,\"Feature\",\"Drama\",[\"Jade Halley Bartlett\"],\"https://www.scriptslug.com/script/millers-girl-2024\",\"d71b8c06b96bc227efb09acb0723cecc5f089ce9f8a3e5682df5c813d66c5a1c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4154d42d927b26d0f29d7f88e5b806d2e969bb31aa46155b7a9cb4733bb9de9b",
    "source_locator_sha256": "755234f45e8c7243a561743e9ce8a5e793b0a5f4dd0babf1c1f9075a62d135cb",
    "measurement_sha256": "6b6fb2a054874a51ec12aecb3eb6d9dab667df4a310863a3f934a22023ddadcd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "minority-report-2002",
    "title": "Minority Report",
    "year": 2002,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Scott Frank"
    ],
    "pages": 187,
    "scenes": 283,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 76,
    "day_share_pct": 64.1,
    "unique_locations": 109,
    "location_changes": 271,
    "speaking_characters": 80,
    "single_line_characters": 25,
    "dialogue_blocks": 1419,
    "dialogue_words": 12718,
    "dialogue_action_ratio": 1.06,
    "monologues": 17,
    "top_character_pct": 23.6,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 36,
    "words": 37373,
    "runtime_minutes": 157,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/minority-report-2002",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4154d42d927b26d0f29d7f88e5b806d2e969bb31aa46155b7a9cb4733bb9de9b",
      "measurement_sha256": "6b6fb2a054874a51ec12aecb3eb6d9dab667df4a310863a3f934a22023ddadcd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/minority-report-2002",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.885Z.",
        "https://www.scriptslug.com/script/minority-report-2002",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"minority-report-2002\",\"Minority Report\",2002,\"Feature\",\"Sci-Fi\",[\"Scott Frank\"],\"https://www.scriptslug.com/script/minority-report-2002\",\"755234f45e8c7243a561743e9ce8a5e793b0a5f4dd0babf1c1f9075a62d135cb\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "411b0e56b65211d1edb00d1593070c2055293e7f88a0496352b4c968b91ec0ba",
    "source_locator_sha256": "dd2dc592d58a91ed497e07d18e7a2b7166aea3fe712bd35b57cc7636613bc100",
    "measurement_sha256": "136ad42482860bd6ce038fb71c9e50f00f9074bb005f7a348723b26da09c4cd6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "miss-congeniality-2000",
    "title": "Miss Congeniality",
    "year": 2000,
    "primary_genre": "Comedy",
    "writers": [
      "Marc Lawrence",
      "Katie Ford",
      "Caryn Lucas"
    ],
    "pages": 103,
    "scenes": 120,
    "mean_scene_eighths": 7.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 28.5,
    "interior_share_pct": 70,
    "day_share_pct": 40,
    "unique_locations": 89,
    "location_changes": 110,
    "speaking_characters": 85,
    "single_line_characters": 45,
    "dialogue_blocks": 915,
    "dialogue_words": 10509,
    "dialogue_action_ratio": 1.88,
    "monologues": 29,
    "top_character_pct": 25.6,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 26,
    "words": 20802,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/miss-congeniality-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "411b0e56b65211d1edb00d1593070c2055293e7f88a0496352b4c968b91ec0ba",
      "measurement_sha256": "136ad42482860bd6ce038fb71c9e50f00f9074bb005f7a348723b26da09c4cd6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/miss-congeniality-2000",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.377Z.",
        "https://www.scriptslug.com/script/miss-congeniality-2000",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"miss-congeniality-2000\",\"Miss Congeniality\",2000,\"Feature\",\"Comedy\",[\"Marc Lawrence\",\"Katie Ford\",\"Caryn Lucas\"],\"https://www.scriptslug.com/script/miss-congeniality-2000\",\"dd2dc592d58a91ed497e07d18e7a2b7166aea3fe712bd35b57cc7636613bc100\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "26036d097298f7010e21c70806b245f282de901e8807d2e79a084179490d394f",
    "source_locator_sha256": "a0a66531c50345a5d93ca2d6c59f4190ea900cbba3f2d879789a6ffd5f4038fd",
    "measurement_sha256": "8fb15930eb1177bfae4ff69623f706ae181b2fcc1c78049231f124a574c73354",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "mission-impossible-fallout-2018",
    "title": "Mission: Impossible – Fallout",
    "year": 2018,
    "primary_genre": "Action",
    "writers": [
      "Christopher McQuarrie"
    ],
    "pages": 209,
    "scenes": 315,
    "mean_scene_eighths": 3.8,
    "median_scene_eighths": 1,
    "median_scene_lines": 8,
    "interior_share_pct": 55.2,
    "day_share_pct": 85.4,
    "unique_locations": 146,
    "location_changes": 280,
    "speaking_characters": 29,
    "single_line_characters": 5,
    "dialogue_blocks": 1047,
    "dialogue_words": 9938,
    "dialogue_action_ratio": 0.88,
    "monologues": 33,
    "top_character_pct": 24.5,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 40,
    "words": 31992,
    "runtime_minutes": 142,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "8fb15930eb1177bfae4ff69623f706ae181b2fcc1c78049231f124a574c73354",
      "source_sha256": "26036d097298f7010e21c70806b245f282de901e8807d2e79a084179490d394f",
      "pdf_pages": [
        3
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/mission-impossible-fallout-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "26036d097298f7010e21c70806b245f282de901e8807d2e79a084179490d394f",
      "measurement_sha256": "8fb15930eb1177bfae4ff69623f706ae181b2fcc1c78049231f124a574c73354",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/mission-impossible-fallout-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.822Z.",
        "https://www.scriptslug.com/script/mission-impossible-fallout-2018",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"mission-impossible-fallout-2018\",\"Mission: Impossible – Fallout\",2018,\"Feature\",\"Action\",[\"Christopher McQuarrie\"],\"https://www.scriptslug.com/script/mission-impossible-fallout-2018\",\"a0a66531c50345a5d93ca2d6c59f4190ea900cbba3f2d879789a6ffd5f4038fd\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8d8526885541a9e97171257ca7b8ca1b5650bf17325960640c608ef85d84c4a2",
    "source_locator_sha256": "f650bbe62f3a2bd4867ed7f5da6e56f6fd6ad2e938304a94472a25ef20598394",
    "measurement_sha256": "3dd0e95a1f4a1b743a8099c9693efeae06d076fd94c686bb9d16a57268318a52",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "mission-impossible-rogue-nation-2015",
    "title": "Mission: Impossible – Rogue Nation",
    "year": 2015,
    "primary_genre": "Action",
    "writers": [
      "Christopher McQuarrie",
      "Will Staples",
      "Drew Pearce"
    ],
    "pages": 156,
    "scenes": 289,
    "mean_scene_eighths": 3.7,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 65.6,
    "day_share_pct": 47.9,
    "unique_locations": 108,
    "location_changes": 238,
    "speaking_characters": 33,
    "single_line_characters": 7,
    "dialogue_blocks": 896,
    "dialogue_words": 9866,
    "dialogue_action_ratio": 0.95,
    "monologues": 36,
    "top_character_pct": 21.5,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 39,
    "words": 28770,
    "runtime_minutes": 134,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/mission-impossible-rogue-nation-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8d8526885541a9e97171257ca7b8ca1b5650bf17325960640c608ef85d84c4a2",
      "measurement_sha256": "3dd0e95a1f4a1b743a8099c9693efeae06d076fd94c686bb9d16a57268318a52",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/mission-impossible-rogue-nation-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.310Z.",
        "https://www.scriptslug.com/script/mission-impossible-rogue-nation-2015",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"mission-impossible-rogue-nation-2015\",\"Mission: Impossible – Rogue Nation\",2015,\"Feature\",\"Action\",[\"Christopher McQuarrie\",\"Will Staples\",\"Drew Pearce\"],\"https://www.scriptslug.com/script/mission-impossible-rogue-nation-2015\",\"f650bbe62f3a2bd4867ed7f5da6e56f6fd6ad2e938304a94472a25ef20598394\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "bdd82be025850fef356c28248301493f6788de5b833fd4e2e486c946fa54f8a5",
    "source_locator_sha256": "ad416c6d4c16aa5ee61cecdb55c73b3f567917bfebdec76e5c62a66a0bad5916",
    "measurement_sha256": "a402b07f529dd8609fde41d455a0d9b2f6815ceb3f3e5332de5c6046032f7fa1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "monsters-ball-2001",
    "title": "Monster's Ball",
    "year": 2001,
    "primary_genre": "Drama",
    "writers": [
      "Will Rokos",
      "Milo Addica"
    ],
    "pages": 116,
    "scenes": 164,
    "mean_scene_eighths": 5.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 56.7,
    "day_share_pct": 58.1,
    "unique_locations": 83,
    "location_changes": 156,
    "speaking_characters": 42,
    "single_line_characters": 20,
    "dialogue_blocks": 703,
    "dialogue_words": 4266,
    "dialogue_action_ratio": 0.48,
    "monologues": 2,
    "top_character_pct": 11,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 58,
    "words": 16305,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/monsters-ball-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "bdd82be025850fef356c28248301493f6788de5b833fd4e2e486c946fa54f8a5",
      "measurement_sha256": "a402b07f529dd8609fde41d455a0d9b2f6815ceb3f3e5332de5c6046032f7fa1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/monsters-ball-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.526Z.",
        "https://www.scriptslug.com/script/monsters-ball-2001",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"monsters-ball-2001\",\"Monster's Ball\",2001,\"Feature\",\"Drama\",[\"Will Rokos\",\"Milo Addica\"],\"https://www.scriptslug.com/script/monsters-ball-2001\",\"ad416c6d4c16aa5ee61cecdb55c73b3f567917bfebdec76e5c62a66a0bad5916\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "eae0a3529a16e0d46ca0fb932ac5c9f907c5b672c4eb6dc523cdfa86af322dbb",
    "source_locator_sha256": "285e1b239af49a72a9d966719c5caaeeba7ae898b09fa7f41c0991c8752a4798",
    "measurement_sha256": "4f5656512e0e2dd51ad7917bf4c0e3bed4a38862a2fb55692c1fcd64cd7a31c4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "monsters-university-2013",
    "title": "Monsters University",
    "year": 2013,
    "primary_genre": "Animation/Family",
    "writers": [
      "Daniel Gerson",
      "Robert L. Baird",
      "Dan Scanlon"
    ],
    "pages": 154,
    "scenes": 126,
    "mean_scene_eighths": 9.1,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 59.5,
    "day_share_pct": 35.3,
    "unique_locations": 58,
    "location_changes": 104,
    "speaking_characters": 124,
    "single_line_characters": 66,
    "dialogue_blocks": 1206,
    "dialogue_words": 8136,
    "dialogue_action_ratio": 1.06,
    "monologues": 4,
    "top_character_pct": 25.2,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 33,
    "words": 24706,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.31,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/monsters-university-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "eae0a3529a16e0d46ca0fb932ac5c9f907c5b672c4eb6dc523cdfa86af322dbb",
      "measurement_sha256": "4f5656512e0e2dd51ad7917bf4c0e3bed4a38862a2fb55692c1fcd64cd7a31c4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/monsters-university-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.616Z.",
        "https://www.scriptslug.com/script/monsters-university-2013",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"monsters-university-2013\",\"Monsters University\",2013,\"Feature\",\"Animation/Family\",[\"Daniel Gerson\",\"Robert L. Baird\",\"Dan Scanlon\"],\"https://www.scriptslug.com/script/monsters-university-2013\",\"285e1b239af49a72a9d966719c5caaeeba7ae898b09fa7f41c0991c8752a4798\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a664df24ed065b5a267fd490d2ffe6e9f5e3366e7cef5902ec40135e23cf0a19",
    "source_locator_sha256": "0e3fb5460aacc4e79528db70e5d8f030ed1a7a861839a76d79608db945525fab",
    "measurement_sha256": "0a39523641fb4e6cdc77ccba14238beddc687e0aea07efba1a549d795ad64d3b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "moon-2009",
    "title": "Moon",
    "year": 2009,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Nathan Parker"
    ],
    "pages": 97,
    "scenes": 162,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 84,
    "day_share_pct": null,
    "unique_locations": 81,
    "location_changes": 154,
    "speaking_characters": 18,
    "single_line_characters": 5,
    "dialogue_blocks": 594,
    "dialogue_words": 5933,
    "dialogue_action_ratio": 0.82,
    "monologues": 16,
    "top_character_pct": 29.9,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 42,
    "words": 20363,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/moon-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a664df24ed065b5a267fd490d2ffe6e9f5e3366e7cef5902ec40135e23cf0a19",
      "measurement_sha256": "0a39523641fb4e6cdc77ccba14238beddc687e0aea07efba1a549d795ad64d3b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/moon-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.763Z.",
        "https://www.scriptslug.com/script/moon-2009",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"moon-2009\",\"Moon\",2009,\"Feature\",\"Sci-Fi\",[\"Nathan Parker\"],\"https://www.scriptslug.com/script/moon-2009\",\"0e3fb5460aacc4e79528db70e5d8f030ed1a7a861839a76d79608db945525fab\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c196856fce151aab4600acd145bf5ddbc16b45a1f044d0e2acaf004eda240cba",
    "source_locator_sha256": "355b47292ed5047e683ec8925bb0e99d288c17f699d8cd0cd3174238c306af45",
    "measurement_sha256": "85a9efbc4151c2532ac25b22b1bbb703f271a540d02d5e589b47018411e5d7b1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "mudbound-2017",
    "title": "Mudbound",
    "year": 2017,
    "primary_genre": "Drama",
    "writers": [
      "Virgil Williams",
      "Dee Rees"
    ],
    "pages": 125,
    "scenes": 158,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 54.1,
    "day_share_pct": 71.3,
    "unique_locations": 55,
    "location_changes": 127,
    "speaking_characters": 32,
    "single_line_characters": 10,
    "dialogue_blocks": 1014,
    "dialogue_words": 10707,
    "dialogue_action_ratio": 1.47,
    "monologues": 24,
    "top_character_pct": 18.7,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 30,
    "words": 25355,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/mudbound-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c196856fce151aab4600acd145bf5ddbc16b45a1f044d0e2acaf004eda240cba",
      "measurement_sha256": "85a9efbc4151c2532ac25b22b1bbb703f271a540d02d5e589b47018411e5d7b1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/mudbound-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.473Z.",
        "https://www.scriptslug.com/script/mudbound-2017",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"mudbound-2017\",\"Mudbound\",2017,\"Feature\",\"Drama\",[\"Virgil Williams\",\"Dee Rees\"],\"https://www.scriptslug.com/script/mudbound-2017\",\"355b47292ed5047e683ec8925bb0e99d288c17f699d8cd0cd3174238c306af45\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "aa095a4a11e88803379765b3b47605f8634ef88b24fde0b476a33402e0e495c5",
    "source_locator_sha256": "0736569c2164ab9ad1854265ba76b177d9da95d94b9383be25992c0914e89c5b",
    "measurement_sha256": "5d76d94b01438e953a42e6d435475892a0a853859805537b2adb6860f5b2d0d0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "my-old-ass-2024",
    "title": "My Old Ass",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Megan Park"
    ],
    "pages": 104,
    "scenes": 80,
    "mean_scene_eighths": 9.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 28.5,
    "interior_share_pct": 31.3,
    "day_share_pct": null,
    "unique_locations": 73,
    "location_changes": 77,
    "speaking_characters": 24,
    "single_line_characters": 10,
    "dialogue_blocks": 948,
    "dialogue_words": 8299,
    "dialogue_action_ratio": 1.9,
    "monologues": 14,
    "top_character_pct": 44.2,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 23,
    "words": 17548,
    "runtime_minutes": 97,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/my-old-ass-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "aa095a4a11e88803379765b3b47605f8634ef88b24fde0b476a33402e0e495c5",
      "measurement_sha256": "5d76d94b01438e953a42e6d435475892a0a853859805537b2adb6860f5b2d0d0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/my-old-ass-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.658Z.",
        "https://www.scriptslug.com/script/my-old-ass-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"my-old-ass-2024\",\"My Old Ass\",2024,\"Feature\",\"Comedy\",[\"Megan Park\"],\"https://www.scriptslug.com/script/my-old-ass-2024\",\"0736569c2164ab9ad1854265ba76b177d9da95d94b9383be25992c0914e89c5b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "6f4a852c52a4a73e3a4ab9b31ba7956302a8cd9c98f048a0b9054c362310140a",
    "source_locator_sha256": "a6dbcbec51482ba4e7a4c1550cdd8c4768a80af90f22af9d7f5e1eac28520cc0",
    "measurement_sha256": "023128331d31799983b6a0f8889fd8fa9ff73739286979bcf9c9ce62d5118476",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "my-policeman-2022",
    "title": "My Policeman",
    "year": 2022,
    "primary_genre": "Romance",
    "writers": [
      "Ron Nyswaner"
    ],
    "pages": 103,
    "scenes": 159,
    "mean_scene_eighths": 5.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 66,
    "day_share_pct": null,
    "unique_locations": 52,
    "location_changes": 93,
    "speaking_characters": 26,
    "single_line_characters": 10,
    "dialogue_blocks": 1005,
    "dialogue_words": 8953,
    "dialogue_action_ratio": 1.67,
    "monologues": 13,
    "top_character_pct": 33.9,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 27,
    "words": 20275,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "023128331d31799983b6a0f8889fd8fa9ff73739286979bcf9c9ce62d5118476",
      "source_sha256": "6f4a852c52a4a73e3a4ab9b31ba7956302a8cd9c98f048a0b9054c362310140a",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/my-policeman-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6f4a852c52a4a73e3a4ab9b31ba7956302a8cd9c98f048a0b9054c362310140a",
      "measurement_sha256": "023128331d31799983b6a0f8889fd8fa9ff73739286979bcf9c9ce62d5118476",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/my-policeman-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.977Z.",
        "https://www.scriptslug.com/script/my-policeman-2022",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"my-policeman-2022\",\"My Policeman\",2022,\"Feature\",\"Romance\",[\"Ron Nyswaner\"],\"https://www.scriptslug.com/script/my-policeman-2022\",\"a6dbcbec51482ba4e7a4c1550cdd8c4768a80af90f22af9d7f5e1eac28520cc0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "83501021c607ca8b25319d2c09990bb127ab8a9ce0500b36bf1ebf7e71fd71b3",
    "source_locator_sha256": "d8563a970acd6154a65810e5fc4832f231180f7fc5d43b37dccd7999eae1eec8",
    "measurement_sha256": "bd41b3b04ac0dae499768652d162175e9da3ad54a33694bb92bdccb19f8f7d30",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "napoleon-2023",
    "title": "Napoleon",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "David Scarpa"
    ],
    "pages": 105,
    "scenes": 225,
    "mean_scene_eighths": 3.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 54.2,
    "day_share_pct": 70.4,
    "unique_locations": 130,
    "location_changes": 186,
    "speaking_characters": 91,
    "single_line_characters": 35,
    "dialogue_blocks": 734,
    "dialogue_words": 9736,
    "dialogue_action_ratio": 1.24,
    "monologues": 52,
    "top_character_pct": 42.3,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 35,
    "words": 23382,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/napoleon-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "83501021c607ca8b25319d2c09990bb127ab8a9ce0500b36bf1ebf7e71fd71b3",
      "measurement_sha256": "bd41b3b04ac0dae499768652d162175e9da3ad54a33694bb92bdccb19f8f7d30",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/napoleon-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.843Z.",
        "https://www.scriptslug.com/script/napoleon-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"napoleon-2023\",\"Napoleon\",2023,\"Feature\",\"Drama\",[\"David Scarpa\"],\"https://www.scriptslug.com/script/napoleon-2023\",\"d8563a970acd6154a65810e5fc4832f231180f7fc5d43b37dccd7999eae1eec8\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "78fab07ce710f9f36f405ba5bf04f5abca71b4b35f2e39fe699d3d2ce8624620",
    "source_locator_sha256": "0fcccd9f13a25a28b8518c25865ed1b3c2a77314d159c08e802d36b45db56e7c",
    "measurement_sha256": "8ded613d6f6b35d84ba71002f880869d322b9087fcbd46cf87fd4079f616ac7a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "napoleon-dynamite-2004",
    "title": "Napoleon Dynamite",
    "year": 2004,
    "primary_genre": "Comedy",
    "writers": [
      "Jerusha Hess",
      "Jared Hess"
    ],
    "pages": 91,
    "scenes": 190,
    "mean_scene_eighths": 3.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 14.5,
    "interior_share_pct": 62.1,
    "day_share_pct": 94.7,
    "unique_locations": 62,
    "location_changes": 180,
    "speaking_characters": 39,
    "single_line_characters": 12,
    "dialogue_blocks": 689,
    "dialogue_words": 5489,
    "dialogue_action_ratio": 1,
    "monologues": 5,
    "top_character_pct": 33.1,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 36,
    "words": 16890,
    "runtime_minutes": 94,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/napoleon-dynamite-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "78fab07ce710f9f36f405ba5bf04f5abca71b4b35f2e39fe699d3d2ce8624620",
      "measurement_sha256": "8ded613d6f6b35d84ba71002f880869d322b9087fcbd46cf87fd4079f616ac7a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/napoleon-dynamite-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.609Z.",
        "https://www.scriptslug.com/script/napoleon-dynamite-2004",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"napoleon-dynamite-2004\",\"Napoleon Dynamite\",2004,\"Feature\",\"Comedy\",[\"Jerusha Hess\",\"Jared Hess\"],\"https://www.scriptslug.com/script/napoleon-dynamite-2004\",\"0fcccd9f13a25a28b8518c25865ed1b3c2a77314d159c08e802d36b45db56e7c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "f1cba599f825d280622962732bec4affe6e55baebdcc7c9ba6e801428c7f643d",
    "source_locator_sha256": "a89f561a74a14450302f933ff2a18ce707f9c88a376d9e913349aacbc4a356b9",
    "measurement_sha256": "bb076c3c4f3505e83bf82ba67135247a90817e0d1c81f920f7effa5f12ebc402",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "never-rarely-sometimes-always-2020",
    "title": "Never Rarely Sometimes Always",
    "year": 2020,
    "primary_genre": "Drama",
    "writers": [
      "Eliza Hittman"
    ],
    "pages": 80,
    "scenes": 141,
    "mean_scene_eighths": 4.3,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 80.9,
    "day_share_pct": 50.8,
    "unique_locations": 49,
    "location_changes": 82,
    "speaking_characters": 37,
    "single_line_characters": 17,
    "dialogue_blocks": 658,
    "dialogue_words": 5150,
    "dialogue_action_ratio": 1.13,
    "monologues": 9,
    "top_character_pct": 20.1,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 34,
    "words": 14364,
    "runtime_minutes": 88,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/never-rarely-sometimes-always-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f1cba599f825d280622962732bec4affe6e55baebdcc7c9ba6e801428c7f643d",
      "measurement_sha256": "bb076c3c4f3505e83bf82ba67135247a90817e0d1c81f920f7effa5f12ebc402",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/never-rarely-sometimes-always-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.782Z.",
        "https://www.scriptslug.com/script/never-rarely-sometimes-always-2020",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"never-rarely-sometimes-always-2020\",\"Never Rarely Sometimes Always\",2020,\"Feature\",\"Drama\",[\"Eliza Hittman\"],\"https://www.scriptslug.com/script/never-rarely-sometimes-always-2020\",\"a89f561a74a14450302f933ff2a18ce707f9c88a376d9e913349aacbc4a356b9\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9ab0888eab29f6cff320541e91546b4c58e75dc1a3f43094204ab2d4bbaf2452",
    "source_locator_sha256": "caed8d019d759688490a64b3422d681431fd9e581df97f58b179c040cc737c07",
    "measurement_sha256": "4ec721ba992f34106741950a8656dc2e5a5e464a26e786212bdb4d7419e20a79",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "nickel-boys-2024",
    "title": "Nickel Boys",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "RaMell Ross",
      "Joslyn Barnes"
    ],
    "pages": 123,
    "scenes": 123,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 37,
    "interior_share_pct": 61,
    "day_share_pct": 100,
    "unique_locations": 39,
    "location_changes": 87,
    "speaking_characters": 62,
    "single_line_characters": 23,
    "dialogue_blocks": 611,
    "dialogue_words": 6977,
    "dialogue_action_ratio": 0.57,
    "monologues": 25,
    "top_character_pct": 23.2,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 51,
    "words": 29591,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.26,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nickel-boys-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9ab0888eab29f6cff320541e91546b4c58e75dc1a3f43094204ab2d4bbaf2452",
      "measurement_sha256": "4ec721ba992f34106741950a8656dc2e5a5e464a26e786212bdb4d7419e20a79",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/nickel-boys-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.861Z.",
        "https://www.scriptslug.com/script/nickel-boys-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nickel-boys-2024\",\"Nickel Boys\",2024,\"Feature\",\"Drama\",[\"RaMell Ross\",\"Joslyn Barnes\"],\"https://www.scriptslug.com/script/nickel-boys-2024\",\"caed8d019d759688490a64b3422d681431fd9e581df97f58b179c040cc737c07\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5e9fcbaafdb1e6b93641302f60b2b06645ef13c5980ddef01f3fecb06e3474e5",
    "source_locator_sha256": "66231fab532f5c1509544678d43aba7b10e32366182dd19a8bd146dbb29c794b",
    "measurement_sha256": "b82b1ac267f98586f4fda9644ab9cfded2ef2c2428d7d9c1d838d67a172e310b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "nightbitch-2024",
    "title": "Nightbitch",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Marielle Heller"
    ],
    "pages": 119,
    "scenes": 138,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 69.9,
    "day_share_pct": 50,
    "unique_locations": 45,
    "location_changes": 114,
    "speaking_characters": 26,
    "single_line_characters": 7,
    "dialogue_blocks": 726,
    "dialogue_words": 8777,
    "dialogue_action_ratio": 0.99,
    "monologues": 32,
    "top_character_pct": 58.3,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 39,
    "words": 24524,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nightbitch-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5e9fcbaafdb1e6b93641302f60b2b06645ef13c5980ddef01f3fecb06e3474e5",
      "measurement_sha256": "b82b1ac267f98586f4fda9644ab9cfded2ef2c2428d7d9c1d838d67a172e310b",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.searchlightpictures.com/nightbitch",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.343Z.",
        "https://www.scriptslug.com/script/nightbitch-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nightbitch-2024\",\"Nightbitch\",2024,\"Feature\",\"Comedy\",[\"Marielle Heller\"],\"https://www.scriptslug.com/script/nightbitch-2024\",\"66231fab532f5c1509544678d43aba7b10e32366182dd19a8bd146dbb29c794b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d8ec98a0531a40b655f57897bc31c0cb2e7b40cf95398d363263305e273939c9",
    "source_locator_sha256": "692e917edc8b94ebb289be37a7a2478a18671fafba532ca5933efce8d831fe66",
    "measurement_sha256": "42ab9206a6fa23fd1f209bf827d4a73bf40b1185c1b35deeb6d2693e2df42381",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "nightcrawler-2014",
    "title": "Nightcrawler",
    "year": 2014,
    "primary_genre": "Thriller",
    "writers": [
      "Dan Gilroy"
    ],
    "pages": 100,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 57,
    "single_line_characters": 22,
    "dialogue_blocks": 761,
    "dialogue_words": 10006,
    "dialogue_action_ratio": 1.71,
    "monologues": 54,
    "top_character_pct": 44.9,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 29,
    "words": 18525,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "42ab9206a6fa23fd1f209bf827d4a73bf40b1185c1b35deeb6d2693e2df42381",
      "source_sha256": "d8ec98a0531a40b655f57897bc31c0cb2e7b40cf95398d363263305e273939c9",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nightcrawler-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d8ec98a0531a40b655f57897bc31c0cb2e7b40cf95398d363263305e273939c9",
      "measurement_sha256": "42ab9206a6fa23fd1f209bf827d4a73bf40b1185c1b35deeb6d2693e2df42381",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/nightcrawler-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.221Z.",
        "https://www.scriptslug.com/script/nightcrawler-2014",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nightcrawler-2014\",\"Nightcrawler\",2014,\"Feature\",\"Thriller\",[\"Dan Gilroy\"],\"https://www.scriptslug.com/script/nightcrawler-2014\",\"692e917edc8b94ebb289be37a7a2478a18671fafba532ca5933efce8d831fe66\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "e2dc02d1c8b4210e9e5a41222184f1a61237b9d5048230cef1e134ba2c8cb163",
    "source_locator_sha256": "99031a0629638d80c6377c8c00dd81564b62d9f1398fa22305a48905795eddb1",
    "measurement_sha256": "8657a9453ec7fcc8ca46c55d2502707cb0c476c80fe05d83ebc28b1a9058fa43",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "nightmare-alley-2021",
    "title": "Nightmare Alley",
    "year": 2021,
    "primary_genre": "Thriller",
    "writers": [
      "Guillermo del Toro",
      "Kim Morgan"
    ],
    "pages": 115,
    "scenes": 161,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 61.2,
    "day_share_pct": 24.4,
    "unique_locations": 57,
    "location_changes": 125,
    "speaking_characters": 43,
    "single_line_characters": 19,
    "dialogue_blocks": 1032,
    "dialogue_words": 10348,
    "dialogue_action_ratio": 1.58,
    "monologues": 27,
    "top_character_pct": 40.6,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 29,
    "words": 21859,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nightmare-alley-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e2dc02d1c8b4210e9e5a41222184f1a61237b9d5048230cef1e134ba2c8cb163",
      "measurement_sha256": "8657a9453ec7fcc8ca46c55d2502707cb0c476c80fe05d83ebc28b1a9058fa43",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/nightmare-alley-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.192Z.",
        "https://www.scriptslug.com/script/nightmare-alley-2021",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nightmare-alley-2021\",\"Nightmare Alley\",2021,\"Feature\",\"Thriller\",[\"Guillermo del Toro\",\"Kim Morgan\"],\"https://www.scriptslug.com/script/nightmare-alley-2021\",\"99031a0629638d80c6377c8c00dd81564b62d9f1398fa22305a48905795eddb1\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5cf322da0e3b4f57c94a466887977222540eeba2dbc7cb5758e6232c27f577e4",
    "source_locator_sha256": "a81ce3da008a2d189884f6d31aeb3b407f5a02c0958fe9b6d6cf00c9d647fd33",
    "measurement_sha256": "6b5cd7fbb9bd5abcd9659853e610aa62d09a5280360994600af11dc3070973dd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "no-country-for-old-men-2007",
    "title": "No Country for Old Men",
    "year": 2007,
    "primary_genre": "Crime",
    "writers": [
      "Joel Coen",
      "Ethan Coen"
    ],
    "pages": 118,
    "scenes": 150,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 53.3,
    "day_share_pct": 58.8,
    "unique_locations": 107,
    "location_changes": 140,
    "speaking_characters": 34,
    "single_line_characters": 5,
    "dialogue_blocks": 833,
    "dialogue_words": 6972,
    "dialogue_action_ratio": 0.81,
    "monologues": 11,
    "top_character_pct": 20.7,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 42,
    "words": 22292,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "6b5cd7fbb9bd5abcd9659853e610aa62d09a5280360994600af11dc3070973dd",
      "source_sha256": "5cf322da0e3b4f57c94a466887977222540eeba2dbc7cb5758e6232c27f577e4",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/no-country-for-old-men-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5cf322da0e3b4f57c94a466887977222540eeba2dbc7cb5758e6232c27f577e4",
      "measurement_sha256": "6b5cd7fbb9bd5abcd9659853e610aa62d09a5280360994600af11dc3070973dd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/no-country-for-old-men-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.602Z.",
        "https://www.scriptslug.com/script/no-country-for-old-men-2007",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"no-country-for-old-men-2007\",\"No Country for Old Men\",2007,\"Feature\",\"Crime\",[\"Joel Coen\",\"Ethan Coen\"],\"https://www.scriptslug.com/script/no-country-for-old-men-2007\",\"a81ce3da008a2d189884f6d31aeb3b407f5a02c0958fe9b6d6cf00c9d647fd33\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "194139ac7d912582aa8b2a1c6cc2e5f4a7fea9eec574fdf483d317ce6a4dd11e",
    "source_locator_sha256": "19b344b9a45bf8acceebd07703e0e83d32e5afb298d22e2277c226f10b9959ec",
    "measurement_sha256": "7d5c93b927854a4d7ce360d79453823bd4cd570a16d0163679414b4347e5b51a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "no-hard-feelings-2023",
    "title": "No Hard Feelings",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Gene Stupnitsky",
      "John Phillips"
    ],
    "pages": 114,
    "scenes": 99,
    "mean_scene_eighths": 8.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 58.1,
    "day_share_pct": 77.8,
    "unique_locations": 49,
    "location_changes": 89,
    "speaking_characters": 45,
    "single_line_characters": 12,
    "dialogue_blocks": 1187,
    "dialogue_words": 8900,
    "dialogue_action_ratio": 1.84,
    "monologues": 7,
    "top_character_pct": 42.1,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 24,
    "words": 18262,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/no-hard-feelings-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "194139ac7d912582aa8b2a1c6cc2e5f4a7fea9eec574fdf483d317ce6a4dd11e",
      "measurement_sha256": "7d5c93b927854a4d7ce360d79453823bd4cd570a16d0163679414b4347e5b51a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/no-hard-feelings-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.905Z.",
        "https://www.scriptslug.com/script/no-hard-feelings-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"no-hard-feelings-2023\",\"No Hard Feelings\",2023,\"Feature\",\"Comedy\",[\"Gene Stupnitsky\",\"John Phillips\"],\"https://www.scriptslug.com/script/no-hard-feelings-2023\",\"19b344b9a45bf8acceebd07703e0e83d32e5afb298d22e2277c226f10b9959ec\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "73acd70387cdbc4a1d1d56f6841f117e3bd8aa79030e8ad88e81696947bdfd8a",
    "source_locator_sha256": "106619ea8c81db884c5a3337db865061f3c5b9eed8d415777a144664b60b49af",
    "measurement_sha256": "4c1a3d7504f27a5609b74f1d24efdf901eed22729928df5fc4a4e7589aa143aa",
    "cue_quality": {
      "dialogue_split_suspect": true,
      "character_reasons": [
        "prose-shaped leading cues"
      ]
    },
    "slug": "no-one-will-save-you-2023",
    "title": "No One Will Save You",
    "year": 2023,
    "primary_genre": "Horror",
    "writers": [
      "Brian Duffield"
    ],
    "pages": 90,
    "scenes": 128,
    "mean_scene_eighths": 2.1,
    "median_scene_eighths": 1,
    "median_scene_lines": 6,
    "interior_share_pct": 67.2,
    "day_share_pct": 56.6,
    "unique_locations": 55,
    "location_changes": 118,
    "speaking_characters": 16,
    "single_line_characters": 16,
    "dialogue_blocks": 16,
    "dialogue_words": 296,
    "dialogue_action_ratio": 0.04,
    "monologues": 2,
    "top_character_pct": 17.9,
    "dialogue_line_share_pct": 4,
    "action_line_share_pct": 86,
    "words": 12194,
    "runtime_minutes": 78,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "4c1a3d7504f27a5609b74f1d24efdf901eed22729928df5fc4a4e7589aa143aa",
      "source_sha256": "73acd70387cdbc4a1d1d56f6841f117e3bd8aa79030e8ad88e81696947bdfd8a",
      "pdf_pages": [
        41,
        40,
        67
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "Supposed leading speakers are action directions. Remove the old dialogue exemption; being nearly silent does not validate these extracted speech blocks.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/no-one-will-save-you-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "73acd70387cdbc4a1d1d56f6841f117e3bd8aa79030e8ad88e81696947bdfd8a",
      "measurement_sha256": "4c1a3d7504f27a5609b74f1d24efdf901eed22729928df5fc4a4e7589aa143aa",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/no-one-will-save-you-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.731Z.",
        "https://www.scriptslug.com/script/no-one-will-save-you-2023",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"no-one-will-save-you-2023\",\"No One Will Save You\",2023,\"Feature\",\"Horror\",[\"Brian Duffield\"],\"https://www.scriptslug.com/script/no-one-will-save-you-2023\",\"106619ea8c81db884c5a3337db865061f3c5b9eed8d415777a144664b60b49af\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "0fcb81555dbd1dd9363c377d1eb0148b587d4ecde7441f7d47d91c2db9f34564",
    "source_locator_sha256": "ad37217e31fe898b31c4bf7f49153ce3d08dbcf54cc6d9f2e70187d821f6575b",
    "measurement_sha256": "0a1fd830df7cbd77366fae80d9603121bc27ce8b9543af6ef9c86375a774b62b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "no-time-to-die-2021",
    "title": "No Time to Die",
    "year": 2021,
    "primary_genre": "Action",
    "writers": [
      "Neal Purvis",
      "Robert Wade",
      "Cary Joji Fukunaga",
      "Phoebe Waller-Bridge"
    ],
    "pages": 146,
    "scenes": 238,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 2,
    "median_scene_lines": 16.5,
    "interior_share_pct": 56.9,
    "day_share_pct": 79.7,
    "unique_locations": 127,
    "location_changes": 216,
    "speaking_characters": 42,
    "single_line_characters": 12,
    "dialogue_blocks": 1189,
    "dialogue_words": 8695,
    "dialogue_action_ratio": 1.05,
    "monologues": 13,
    "top_character_pct": 27.1,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 35,
    "words": 25086,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/no-time-to-die-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0fcb81555dbd1dd9363c377d1eb0148b587d4ecde7441f7d47d91c2db9f34564",
      "measurement_sha256": "0a1fd830df7cbd77366fae80d9603121bc27ce8b9543af6ef9c86375a774b62b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/no-time-to-die-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:54.520Z.",
        "https://www.scriptslug.com/script/no-time-to-die-2021",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"no-time-to-die-2021\",\"No Time to Die\",2021,\"Feature\",\"Action\",[\"Neal Purvis\",\"Robert Wade\",\"Cary Joji Fukunaga\",\"Phoebe Waller-Bridge\"],\"https://www.scriptslug.com/script/no-time-to-die-2021\",\"ad37217e31fe898b31c4bf7f49153ce3d08dbcf54cc6d9f2e70187d821f6575b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3e2b937c3a12d3a251952881ecc06f98510d495073e86b99cf54a3c0b80112a8",
    "source_locator_sha256": "f3c9cbdc68d2051338f7739089dc9bc118a4bd615d68b03381e6250b176a74ad",
    "measurement_sha256": "8387c334b6c2292070ad225baf1943f0434edda1e35b3904ff65a1ff282d0b38",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "nope-2022",
    "title": "Nope",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "Jordan Peele"
    ],
    "pages": 102,
    "scenes": 208,
    "mean_scene_eighths": 3.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 43.8,
    "day_share_pct": null,
    "unique_locations": 105,
    "location_changes": 205,
    "speaking_characters": 36,
    "single_line_characters": 14,
    "dialogue_blocks": 673,
    "dialogue_words": 6100,
    "dialogue_action_ratio": 0.9,
    "monologues": 18,
    "top_character_pct": 29.9,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 39,
    "words": 18527,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "8387c334b6c2292070ad225baf1943f0434edda1e35b3904ff65a1ff282d0b38",
      "source_sha256": "3e2b937c3a12d3a251952881ecc06f98510d495073e86b99cf54a3c0b80112a8",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nope-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3e2b937c3a12d3a251952881ecc06f98510d495073e86b99cf54a3c0b80112a8",
      "measurement_sha256": "8387c334b6c2292070ad225baf1943f0434edda1e35b3904ff65a1ff282d0b38",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/nope-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.014Z.",
        "https://www.scriptslug.com/script/nope-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nope-2022\",\"Nope\",2022,\"Feature\",\"Horror\",[\"Jordan Peele\"],\"https://www.scriptslug.com/script/nope-2022\",\"f3c9cbdc68d2051338f7739089dc9bc118a4bd615d68b03381e6250b176a74ad\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "79677203c84295c21d3859b2ac7f26fe51fa0253b37841e91820ef0e3d02cff0",
    "source_locator_sha256": "4c564edef1f67ae6337e0cb7314db0e7f61d607849c12b8cc88d383ef9e9e9f4",
    "measurement_sha256": "f11f51e25c788e68c0184d2b6470ec60b93dbce1902696fc6d41fb1e9e865b85",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "nosferatu-2024",
    "title": "Nosferatu",
    "year": 2024,
    "primary_genre": "Horror",
    "writers": [
      "Robert Eggers"
    ],
    "pages": 117,
    "scenes": 155,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 64.5,
    "day_share_pct": 41,
    "unique_locations": 117,
    "location_changes": 150,
    "speaking_characters": 31,
    "single_line_characters": 13,
    "dialogue_blocks": 838,
    "dialogue_words": 7561,
    "dialogue_action_ratio": 0.96,
    "monologues": 14,
    "top_character_pct": 19,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 38,
    "words": 22787,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/nosferatu-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "79677203c84295c21d3859b2ac7f26fe51fa0253b37841e91820ef0e3d02cff0",
      "measurement_sha256": "f11f51e25c788e68c0184d2b6470ec60b93dbce1902696fc6d41fb1e9e865b85",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/nosferatu-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.490Z.",
        "https://www.scriptslug.com/script/nosferatu-2024",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"nosferatu-2024\",\"Nosferatu\",2024,\"Feature\",\"Horror\",[\"Robert Eggers\"],\"https://www.scriptslug.com/script/nosferatu-2024\",\"4c564edef1f67ae6337e0cb7314db0e7f61d607849c12b8cc88d383ef9e9e9f4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "53820cb9f1907cfb13ad57afb02f1bfcd01e5d8f605c4ab24a29fc0d06fc38be",
    "source_locator_sha256": "2d4c15acd54bb6c5fd5bbd3bad53bc5f8a5562c365fca792f040a5b11da2d9dc",
    "measurement_sha256": "6513af6da9e64c94a2dcf918ab5d4d87ae8109d4bd9eb2148c33b8059cd5e982",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "obsession-2026",
    "title": "Obsession",
    "year": 2026,
    "primary_genre": "Horror",
    "writers": [
      "Curry Barker"
    ],
    "pages": 99,
    "scenes": 62,
    "mean_scene_eighths": 12.2,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 38,
    "interior_share_pct": 75.8,
    "day_share_pct": 42.9,
    "unique_locations": 25,
    "location_changes": 39,
    "speaking_characters": 17,
    "single_line_characters": 6,
    "dialogue_blocks": 955,
    "dialogue_words": 7408,
    "dialogue_action_ratio": 1.74,
    "monologues": 18,
    "top_character_pct": 35.7,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 24,
    "words": 16220,
    "runtime_minutes": 94,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/obsession-2026",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "53820cb9f1907cfb13ad57afb02f1bfcd01e5d8f605c4ab24a29fc0d06fc38be",
      "measurement_sha256": "6513af6da9e64c94a2dcf918ab5d4d87ae8109d4bd9eb2148c33b8059cd5e982",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/obsession-2026",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.284Z.",
        "https://www.scriptslug.com/script/obsession-2026",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"obsession-2026\",\"Obsession\",2026,\"Feature\",\"Horror\",[\"Curry Barker\"],\"https://www.scriptslug.com/script/obsession-2026\",\"2d4c15acd54bb6c5fd5bbd3bad53bc5f8a5562c365fca792f040a5b11da2d9dc\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "46bb355e3b78c7871f9d6917a09d0eb203dca2ef2db3ed495bcd2ba03c4aea5f",
    "source_locator_sha256": "dd02a779725f24244c1a74fa4b02bd167365b922c0f29b443a7d5b70267bf09b",
    "measurement_sha256": "ebdc26a56603e0d9f1ceb4c80b1230dbee387d9f457b26771025e3c4b450d1b4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "only-the-brave-2017",
    "title": "Only the Brave",
    "year": 2017,
    "primary_genre": "Drama",
    "writers": [
      "Ken Nolan"
    ],
    "pages": 145,
    "scenes": 296,
    "mean_scene_eighths": 3.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 28.2,
    "day_share_pct": 83.5,
    "unique_locations": 196,
    "location_changes": 271,
    "speaking_characters": 76,
    "single_line_characters": 24,
    "dialogue_blocks": 899,
    "dialogue_words": 8483,
    "dialogue_action_ratio": 0.7,
    "monologues": 16,
    "top_character_pct": 36.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 45,
    "words": 32028,
    "runtime_minutes": 136,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/only-the-brave-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "46bb355e3b78c7871f9d6917a09d0eb203dca2ef2db3ed495bcd2ba03c4aea5f",
      "measurement_sha256": "ebdc26a56603e0d9f1ceb4c80b1230dbee387d9f457b26771025e3c4b450d1b4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/only-the-brave-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.945Z.",
        "https://www.scriptslug.com/script/only-the-brave-2017",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"only-the-brave-2017\",\"Only the Brave\",2017,\"Feature\",\"Drama\",[\"Ken Nolan\"],\"https://www.scriptslug.com/script/only-the-brave-2017\",\"dd02a779725f24244c1a74fa4b02bd167365b922c0f29b443a7d5b70267bf09b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "96c24ec0bd7fe2b290fdb1bfa6112cdbf6c91d87509c0b2563d66ccbdbf3a314",
    "source_locator_sha256": "d9de083eafa2462baaf2cb1e523be333e6774fe536d1aa4ecbcf24e2af8112ce",
    "measurement_sha256": "7309b577150a82aab0720f9cb7f98ba43afd5cbd136fe179ef25622cbd9be7a8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "oppenheimer-2023",
    "title": "Oppenheimer",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Christopher Nolan"
    ],
    "pages": 198,
    "scenes": 279,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 71.7,
    "day_share_pct": 100,
    "unique_locations": 101,
    "location_changes": 266,
    "speaking_characters": 88,
    "single_line_characters": 23,
    "dialogue_blocks": 1851,
    "dialogue_words": 18623,
    "dialogue_action_ratio": 2.42,
    "monologues": 53,
    "top_character_pct": 28.9,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 21,
    "words": 33864,
    "runtime_minutes": 155,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/oppenheimer-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "96c24ec0bd7fe2b290fdb1bfa6112cdbf6c91d87509c0b2563d66ccbdbf3a314",
      "measurement_sha256": "7309b577150a82aab0720f9cb7f98ba43afd5cbd136fe179ef25622cbd9be7a8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/oppenheimer-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.723Z.",
        "https://www.scriptslug.com/script/oppenheimer-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"oppenheimer-2023\",\"Oppenheimer\",2023,\"Feature\",\"Drama\",[\"Christopher Nolan\"],\"https://www.scriptslug.com/script/oppenheimer-2023\",\"d9de083eafa2462baaf2cb1e523be333e6774fe536d1aa4ecbcf24e2af8112ce\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "76c98b35497144bade584d70663834d783460939a979eb69da8b8eda0ed57cc9",
    "source_locator_sha256": "d230876d9bb65f4c24218b429e074e96626fed6484ac7b0311095e377601e86d",
    "measurement_sha256": "d4bfd3e04cd6ed6a79e8abc9a995b5d01df56a28d718b4f6bfdff158ee3188c2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "origin-2023",
    "title": "Origin",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Ava DuVernay"
    ],
    "pages": 111,
    "scenes": 114,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 61,
    "day_share_pct": 77.8,
    "unique_locations": 84,
    "location_changes": 107,
    "speaking_characters": 63,
    "single_line_characters": 15,
    "dialogue_blocks": 795,
    "dialogue_words": 11843,
    "dialogue_action_ratio": 1.74,
    "monologues": 63,
    "top_character_pct": 43.1,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 29,
    "words": 25049,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/origin-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "76c98b35497144bade584d70663834d783460939a979eb69da8b8eda0ed57cc9",
      "measurement_sha256": "d4bfd3e04cd6ed6a79e8abc9a995b5d01df56a28d718b4f6bfdff158ee3188c2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/origin-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.294Z.",
        "https://www.scriptslug.com/script/origin-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"origin-2023\",\"Origin\",2023,\"Feature\",\"Drama\",[\"Ava DuVernay\"],\"https://www.scriptslug.com/script/origin-2023\",\"d230876d9bb65f4c24218b429e074e96626fed6484ac7b0311095e377601e86d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "69a1762e21bd976d9eb6682802b62e5421a3d9d2f561a4f8c89a060f7e77450a",
    "source_locator_sha256": "f1f3e828e4670a0780493f7e1f92ba66340399f2fe727a975e994eed37f9715d",
    "measurement_sha256": "ef4530fdcb463d52014e56f4091fe4cc7920dba9c171c9b3bbe8bd533bb82f38",
    "cue_quality": {
      "dialogue_split_suspect": true,
      "character_reasons": [
        "prose-shaped leading cues",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "orphan-2009",
    "title": "Orphan",
    "year": 2009,
    "primary_genre": "Horror",
    "writers": [
      "David Leslie Johnson-McGoldrick"
    ],
    "pages": 118,
    "scenes": 149,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 76.5,
    "day_share_pct": 62.5,
    "unique_locations": 88,
    "location_changes": 138,
    "speaking_characters": 186,
    "single_line_characters": 125,
    "dialogue_blocks": 891,
    "dialogue_words": 10143,
    "dialogue_action_ratio": 0.81,
    "monologues": 29,
    "top_character_pct": 16.7,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 45,
    "words": 30323,
    "runtime_minutes": 148,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "ef4530fdcb463d52014e56f4091fe4cc7920dba9c171c9b3bbe8bd533bb82f38",
      "source_sha256": "69a1762e21bd976d9eb6682802b62e5421a3d9d2f561a4f8c89a060f7e77450a",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/orphan-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "69a1762e21bd976d9eb6682802b62e5421a3d9d2f561a4f8c89a060f7e77450a",
      "measurement_sha256": "ef4530fdcb463d52014e56f4091fe4cc7920dba9c171c9b3bbe8bd533bb82f38",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/orphan-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.808Z.",
        "https://www.scriptslug.com/script/orphan-2009",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"orphan-2009\",\"Orphan\",2009,\"Feature\",\"Horror\",[\"David Leslie Johnson-McGoldrick\"],\"https://www.scriptslug.com/script/orphan-2009\",\"f1f3e828e4670a0780493f7e1f92ba66340399f2fe727a975e994eed37f9715d\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "a450866978bef4af42fa206d6a105dcfe645048ca6a7e5d7faf1aa57de16d825",
    "source_locator_sha256": "b9a035fe2381e98570cd04847c2938447628de9c38a08d626e2e2165600567d3",
    "measurement_sha256": "1f76352bee5ff259695ba25a9ce4858869c31567d52a71adcb5bc9ab96b076f9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "over-the-moon-2020",
    "title": "Over the Moon",
    "year": 2020,
    "primary_genre": "Animation/Family",
    "writers": [
      "Audrey Wells"
    ],
    "pages": 105,
    "scenes": 83,
    "mean_scene_eighths": 9.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 43.4,
    "day_share_pct": 40,
    "unique_locations": 60,
    "location_changes": 80,
    "speaking_characters": 45,
    "single_line_characters": 15,
    "dialogue_blocks": 854,
    "dialogue_words": 6506,
    "dialogue_action_ratio": 1.11,
    "monologues": 10,
    "top_character_pct": 29.4,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 35,
    "words": 19148,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/over-the-moon-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a450866978bef4af42fa206d6a105dcfe645048ca6a7e5d7faf1aa57de16d825",
      "measurement_sha256": "1f76352bee5ff259695ba25a9ce4858869c31567d52a71adcb5bc9ab96b076f9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/over-the-moon-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.355Z.",
        "https://www.scriptslug.com/script/over-the-moon-2020",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"over-the-moon-2020\",\"Over the Moon\",2020,\"Feature\",\"Animation/Family\",[\"Audrey Wells\"],\"https://www.scriptslug.com/script/over-the-moon-2020\",\"b9a035fe2381e98570cd04847c2938447628de9c38a08d626e2e2165600567d3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "79c2c2cb4093c05838670a39426821075f2e781bda41700c874f9ed1fdcaaa20",
    "source_locator_sha256": "569246ef8d02ed8bee9993d51bc1249dec6b639fc1e58f74278a9f1a884a9a18",
    "measurement_sha256": "0a2e81c1c831b3dfb13fe9cecf92436b4df68c8aebd58b0dc40bfbe3d4184b01",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "paranorman-2012",
    "title": "ParaNorman",
    "year": 2012,
    "primary_genre": "Animation/Family",
    "writers": [
      "Chris Butler"
    ],
    "pages": 95,
    "scenes": 114,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 49.1,
    "day_share_pct": 40,
    "unique_locations": 39,
    "location_changes": 91,
    "speaking_characters": 39,
    "single_line_characters": 17,
    "dialogue_blocks": 678,
    "dialogue_words": 6123,
    "dialogue_action_ratio": 0.74,
    "monologues": 8,
    "top_character_pct": 29.3,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 45,
    "words": 22356,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/paranorman-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "79c2c2cb4093c05838670a39426821075f2e781bda41700c874f9ed1fdcaaa20",
      "measurement_sha256": "0a2e81c1c831b3dfb13fe9cecf92436b4df68c8aebd58b0dc40bfbe3d4184b01",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/paranorman-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.211Z.",
        "https://www.scriptslug.com/script/paranorman-2012",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"paranorman-2012\",\"ParaNorman\",2012,\"Feature\",\"Animation/Family\",[\"Chris Butler\"],\"https://www.scriptslug.com/script/paranorman-2012\",\"569246ef8d02ed8bee9993d51bc1249dec6b639fc1e58f74278a9f1a884a9a18\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "42a260a82f9080c3a2692340e351ecc867b8c7a5a96fd45824e435cf140ee652",
    "source_locator_sha256": "e5125071482b9ba28014ed6caeb5dc23ac1dd9bb4b9e2dc133d0efb926a60440",
    "measurement_sha256": "b62f20ed6b525e1f9ac41976faf43b639c4d27d3a1306809e21f616bb996b7dd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "parasite-2019",
    "title": "Parasite",
    "year": 2019,
    "primary_genre": "Thriller",
    "writers": [
      "Han Jin-won",
      "Bong Joon-ho"
    ],
    "pages": 144,
    "scenes": 158,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 20.5,
    "interior_share_pct": 77.8,
    "day_share_pct": 45.8,
    "unique_locations": 32,
    "location_changes": 76,
    "speaking_characters": 18,
    "single_line_characters": 4,
    "dialogue_blocks": 975,
    "dialogue_words": 10878,
    "dialogue_action_ratio": 1.06,
    "monologues": 26,
    "top_character_pct": 20.7,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 37,
    "words": 29226,
    "runtime_minutes": 138,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/parasite-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "42a260a82f9080c3a2692340e351ecc867b8c7a5a96fd45824e435cf140ee652",
      "measurement_sha256": "b62f20ed6b525e1f9ac41976faf43b639c4d27d3a1306809e21f616bb996b7dd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/parasite-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.092Z.",
        "https://www.scriptslug.com/script/parasite-2019",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"parasite-2019\",\"Parasite\",2019,\"Feature\",\"Thriller\",[\"Han Jin-won\",\"Bong Joon-ho\"],\"https://www.scriptslug.com/script/parasite-2019\",\"e5125071482b9ba28014ed6caeb5dc23ac1dd9bb4b9e2dc133d0efb926a60440\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "045f4cac0fbf73be176049cb71ae0dde1fda4b26c3111e9e4570e3b6d2f41b94",
    "source_locator_sha256": "900112803558c29c5737e141eba8e42346971dc3187684a0148dd038e62befde",
    "measurement_sha256": "4e9320050a28186bc65d936fe2a8d35f618e31c0f72930525ce452d450c2aaf2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "pariah-2011",
    "title": "Pariah",
    "year": 2011,
    "primary_genre": "Drama",
    "writers": [
      "Dee Rees"
    ],
    "pages": 103,
    "scenes": 90,
    "mean_scene_eighths": 8.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 34.5,
    "interior_share_pct": 77.8,
    "day_share_pct": 60.3,
    "unique_locations": 43,
    "location_changes": 82,
    "speaking_characters": 29,
    "single_line_characters": 7,
    "dialogue_blocks": 987,
    "dialogue_words": 6980,
    "dialogue_action_ratio": 1.29,
    "monologues": 6,
    "top_character_pct": 24.6,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 31,
    "words": 19251,
    "runtime_minutes": 101,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/pariah-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "045f4cac0fbf73be176049cb71ae0dde1fda4b26c3111e9e4570e3b6d2f41b94",
      "measurement_sha256": "4e9320050a28186bc65d936fe2a8d35f618e31c0f72930525ce452d450c2aaf2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/pariah-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.247Z.",
        "https://www.scriptslug.com/script/pariah-2011",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"pariah-2011\",\"Pariah\",2011,\"Feature\",\"Drama\",[\"Dee Rees\"],\"https://www.scriptslug.com/script/pariah-2011\",\"900112803558c29c5737e141eba8e42346971dc3187684a0148dd038e62befde\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c240fc3986e0bab8f029ef3505fc171b49f2b7a404bbf23c1e3e20a231717c66",
    "source_locator_sha256": "b1ced3d1b6588958d3ebeed5f09393b4a52632d9ccfa8354323e3342690cccdf",
    "measurement_sha256": "a62ac60b79f303789c8f845392f80f357603dd3cf014a822561b1c67da4b043a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "passengers-2016",
    "title": "Passengers",
    "year": 2016,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Jon Spaihts"
    ],
    "pages": 126,
    "scenes": 32,
    "mean_scene_eighths": 31,
    "median_scene_eighths": 7.5,
    "median_scene_lines": 51,
    "interior_share_pct": 59.4,
    "day_share_pct": 100,
    "unique_locations": 17,
    "location_changes": 29,
    "speaking_characters": 24,
    "single_line_characters": 1,
    "dialogue_blocks": 901,
    "dialogue_words": 8094,
    "dialogue_action_ratio": 0.87,
    "monologues": 22,
    "top_character_pct": 34.9,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 42,
    "words": 24660,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/passengers-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c240fc3986e0bab8f029ef3505fc171b49f2b7a404bbf23c1e3e20a231717c66",
      "measurement_sha256": "a62ac60b79f303789c8f845392f80f357603dd3cf014a822561b1c67da4b043a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/passengers-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.110Z.",
        "https://www.scriptslug.com/script/passengers-2016",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"passengers-2016\",\"Passengers\",2016,\"Feature\",\"Sci-Fi\",[\"Jon Spaihts\"],\"https://www.scriptslug.com/script/passengers-2016\",\"b1ced3d1b6588958d3ebeed5f09393b4a52632d9ccfa8354323e3342690cccdf\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "117432c2713f3fd77efe11e4d360128dc72874b5bfc61768f74f2dd57f8a84fa",
    "source_locator_sha256": "ecd38474cdea2b5f69d518cbb3f3d92e6db22ca1a05e6e0a33c70d64a1e9ec6a",
    "measurement_sha256": "9252a4d1d81d91148a47f95b403c2b369ce6d14bbd1ff159192c2d9d9934dc8c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "passing-2021",
    "title": "Passing",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Rebecca Hall"
    ],
    "pages": 96,
    "scenes": 97,
    "mean_scene_eighths": 7.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 77.8,
    "day_share_pct": 0,
    "unique_locations": 71,
    "location_changes": 89,
    "speaking_characters": 28,
    "single_line_characters": 7,
    "dialogue_blocks": 785,
    "dialogue_words": 6899,
    "dialogue_action_ratio": 1.2,
    "monologues": 4,
    "top_character_pct": 35.8,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 34,
    "words": 17002,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/passing-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "117432c2713f3fd77efe11e4d360128dc72874b5bfc61768f74f2dd57f8a84fa",
      "measurement_sha256": "9252a4d1d81d91148a47f95b403c2b369ce6d14bbd1ff159192c2d9d9934dc8c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/passing-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.133Z.",
        "https://www.scriptslug.com/script/passing-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"passing-2021\",\"Passing\",2021,\"Feature\",\"Drama\",[\"Rebecca Hall\"],\"https://www.scriptslug.com/script/passing-2021\",\"ecd38474cdea2b5f69d518cbb3f3d92e6db22ca1a05e6e0a33c70d64a1e9ec6a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "978cea10bc3da9f432dc9ee2cea03fc67fb77ecb396c1e5d25487859f85241d3",
    "source_locator_sha256": "983312d63631e108aa6e36fd598e0e114f28fdd1872dd2f8291644afadc0a293",
    "measurement_sha256": "7a2c135c60d4f39f1563c5f6013ce0405c1778e7c7222f3444c479231d3a251b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "past-lives-2023",
    "title": "Past Lives",
    "year": 2023,
    "primary_genre": "Romance",
    "writers": [
      "Celine Song"
    ],
    "pages": 86,
    "scenes": 103,
    "mean_scene_eighths": 6,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 65.5,
    "day_share_pct": null,
    "unique_locations": 93,
    "location_changes": 98,
    "speaking_characters": 17,
    "single_line_characters": 2,
    "dialogue_blocks": 619,
    "dialogue_words": 6238,
    "dialogue_action_ratio": 1.08,
    "monologues": 11,
    "top_character_pct": 36.8,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 36,
    "words": 16436,
    "runtime_minutes": 94,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/past-lives-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "978cea10bc3da9f432dc9ee2cea03fc67fb77ecb396c1e5d25487859f85241d3",
      "measurement_sha256": "7a2c135c60d4f39f1563c5f6013ce0405c1778e7c7222f3444c479231d3a251b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/past-lives-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.584Z.",
        "https://www.scriptslug.com/script/past-lives-2023",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"past-lives-2023\",\"Past Lives\",2023,\"Feature\",\"Romance\",[\"Celine Song\"],\"https://www.scriptslug.com/script/past-lives-2023\",\"983312d63631e108aa6e36fd598e0e114f28fdd1872dd2f8291644afadc0a293\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "df56eaaabbe1f48779673dea0c366a329842b615c0e041b97506880e43f0e4de",
    "source_locator_sha256": "8baaa442e715cea688b92e2759e039c5facada8e3aaebd1328bfccd20ce77529",
    "measurement_sha256": "0ddf173d4f11cdc0d743f0fa4488549fde80599ad334a95f42ce4d0367ca074d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "pineapple-express-2008",
    "title": "Pineapple Express",
    "year": 2008,
    "primary_genre": "Comedy",
    "writers": [
      "Seth Rogen",
      "Evan Goldberg"
    ],
    "pages": 116,
    "scenes": 95,
    "mean_scene_eighths": 9.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 68.4,
    "day_share_pct": 42.9,
    "unique_locations": 49,
    "location_changes": 85,
    "speaking_characters": 46,
    "single_line_characters": 15,
    "dialogue_blocks": 1010,
    "dialogue_words": 10074,
    "dialogue_action_ratio": 1.61,
    "monologues": 24,
    "top_character_pct": 34.9,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 28,
    "words": 21951,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/pineapple-express-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "df56eaaabbe1f48779673dea0c366a329842b615c0e041b97506880e43f0e4de",
      "measurement_sha256": "0ddf173d4f11cdc0d743f0fa4488549fde80599ad334a95f42ce4d0367ca074d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/pineapple-express-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:02.154Z.",
        "https://www.scriptslug.com/script/pineapple-express-2008",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"pineapple-express-2008\",\"Pineapple Express\",2008,\"Feature\",\"Comedy\",[\"Seth Rogen\",\"Evan Goldberg\"],\"https://www.scriptslug.com/script/pineapple-express-2008\",\"8baaa442e715cea688b92e2759e039c5facada8e3aaebd1328bfccd20ce77529\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e39826de893b34dfe8bad6adc5fc0518d481b27fccd10f61a4f1fd1cbc8d4fef",
    "source_locator_sha256": "79ec6cf1f34cb26f2b5629e43a82f098d3580ae613f79b48ce13ea6e6858f744",
    "measurement_sha256": "1af3f315f066d18451e39c3f91c38a0ccd1a0e1a34b3f24c0d77d32ef10717b9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "pirates-of-the-caribbean-dead-mans-chest-2006",
    "title": "Pirates of the Caribbean: Dead Man's Chest",
    "year": 2006,
    "primary_genre": "Action",
    "writers": [
      "Ted Elliott",
      "Terry Rossio"
    ],
    "pages": 152,
    "scenes": 118,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 16.1,
    "day_share_pct": 62.5,
    "unique_locations": 24,
    "location_changes": 70,
    "speaking_characters": 52,
    "single_line_characters": 18,
    "dialogue_blocks": 1051,
    "dialogue_words": 9734,
    "dialogue_action_ratio": 1.11,
    "monologues": 16,
    "top_character_pct": 18.3,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 36,
    "words": 26740,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/pirates-of-the-caribbean-dead-mans-chest-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e39826de893b34dfe8bad6adc5fc0518d481b27fccd10f61a4f1fd1cbc8d4fef",
      "measurement_sha256": "1af3f315f066d18451e39c3f91c38a0ccd1a0e1a34b3f24c0d77d32ef10717b9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/pirates-of-the-caribbean-dead-mans-chest-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.624Z.",
        "https://www.scriptslug.com/script/pirates-of-the-caribbean-dead-mans-chest-2006",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"pirates-of-the-caribbean-dead-mans-chest-2006\",\"Pirates of the Caribbean: Dead Man's Chest\",2006,\"Feature\",\"Action\",[\"Ted Elliott\",\"Terry Rossio\"],\"https://www.scriptslug.com/script/pirates-of-the-caribbean-dead-mans-chest-2006\",\"79ec6cf1f34cb26f2b5629e43a82f098d3580ae613f79b48ce13ea6e6858f744\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "01626c55e1093ff2d548c41ca53da7faa4bf0e41f7eb5069d79591dd9b9f8309",
    "source_locator_sha256": "51818104ee5635054555cc0a1a3d7fdadf2740a399b7fd6d87f1b8591bbc9e76",
    "measurement_sha256": "adf2f84a22ccb82eb57c0c156dd1c889552f2b19c5855cfc8efbab7a42892296",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003",
    "title": "Pirates of the Caribbean: The Curse of the Black Pearl",
    "year": 2003,
    "primary_genre": "Action",
    "writers": [
      "Ted Elliott",
      "Terry Rossio"
    ],
    "pages": 125,
    "scenes": 136,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 3,
    "median_scene_lines": 23.5,
    "interior_share_pct": 35.3,
    "day_share_pct": 47,
    "unique_locations": 28,
    "location_changes": 93,
    "speaking_characters": 35,
    "single_line_characters": 11,
    "dialogue_blocks": 943,
    "dialogue_words": 9840,
    "dialogue_action_ratio": 1.14,
    "monologues": 19,
    "top_character_pct": 29,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 36,
    "words": 27006,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "01626c55e1093ff2d548c41ca53da7faa4bf0e41f7eb5069d79591dd9b9f8309",
      "measurement_sha256": "adf2f84a22ccb82eb57c0c156dd1c889552f2b19c5855cfc8efbab7a42892296",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.224Z.",
        "https://www.scriptslug.com/script/pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003\",\"Pirates of the Caribbean: The Curse of the Black Pearl\",2003,\"Feature\",\"Action\",[\"Ted Elliott\",\"Terry Rossio\"],\"https://www.scriptslug.com/script/pirates-of-the-caribbean-the-curse-of-the-black-pearl-2003\",\"51818104ee5635054555cc0a1a3d7fdadf2740a399b7fd6d87f1b8591bbc9e76\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a4e725f4b5e427f387aab04adc9d4fe7b5cb6a8fc945f2eeace77c3a39fc8792",
    "source_locator_sha256": "66d856fd89ac176a7cbf0bd28a85950c28053d85056db53be6f39a2e8e60e52e",
    "measurement_sha256": "90097f14aae6f58e586e26896b14dbe1639f3b4322783db1a0985a2cd18ff9f2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "poor-things-2023",
    "title": "Poor Things",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Tony McNamara"
    ],
    "pages": 98,
    "scenes": 140,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 75.4,
    "day_share_pct": 77.5,
    "unique_locations": 72,
    "location_changes": 132,
    "speaking_characters": 38,
    "single_line_characters": 11,
    "dialogue_blocks": 911,
    "dialogue_words": 9075,
    "dialogue_action_ratio": 1.82,
    "monologues": 27,
    "top_character_pct": 37.3,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 26,
    "words": 18568,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/poor-things-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a4e725f4b5e427f387aab04adc9d4fe7b5cb6a8fc945f2eeace77c3a39fc8792",
      "measurement_sha256": "90097f14aae6f58e586e26896b14dbe1639f3b4322783db1a0985a2cd18ff9f2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/poor-things-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.795Z.",
        "https://www.scriptslug.com/script/poor-things-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"poor-things-2023\",\"Poor Things\",2023,\"Feature\",\"Comedy\",[\"Tony McNamara\"],\"https://www.scriptslug.com/script/poor-things-2023\",\"66d856fd89ac176a7cbf0bd28a85950c28053d85056db53be6f39a2e8e60e52e\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "f53778923a4d94bca214127658ab861fc0675d8a81a62a2d504b1127419e8d2a",
    "source_locator_sha256": "704f156da2d15ae0fb193c154ee28e24aa4d90767c36e6c11e4eb394ac1b808f",
    "measurement_sha256": "677818ea0143e11958d71748779736997f03750ed233ce5c72fb1243f72ac44e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "popstar-never-stop-never-stopping-2016",
    "title": "Popstar: Never Stop Never Stopping",
    "year": 2016,
    "primary_genre": "Comedy",
    "writers": [
      "Akiva Schaffer",
      "Andy Samberg",
      "Jorma Taccone"
    ],
    "pages": 121,
    "scenes": 132,
    "mean_scene_eighths": 6.8,
    "median_scene_eighths": 4,
    "median_scene_lines": 29.5,
    "interior_share_pct": 68.9,
    "day_share_pct": 54.4,
    "unique_locations": 65,
    "location_changes": 92,
    "speaking_characters": 97,
    "single_line_characters": 52,
    "dialogue_blocks": 1051,
    "dialogue_words": 10976,
    "dialogue_action_ratio": 2.36,
    "monologues": 19,
    "top_character_pct": 34.4,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 21,
    "words": 20405,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/popstar-never-stop-never-stopping-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f53778923a4d94bca214127658ab861fc0675d8a81a62a2d504b1127419e8d2a",
      "measurement_sha256": "677818ea0143e11958d71748779736997f03750ed233ce5c72fb1243f72ac44e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/popstar-never-stop-never-stopping-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.137Z.",
        "https://www.scriptslug.com/script/popstar-never-stop-never-stopping-2016",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"popstar-never-stop-never-stopping-2016\",\"Popstar: Never Stop Never Stopping\",2016,\"Feature\",\"Comedy\",[\"Akiva Schaffer\",\"Andy Samberg\",\"Jorma Taccone\"],\"https://www.scriptslug.com/script/popstar-never-stop-never-stopping-2016\",\"704f156da2d15ae0fb193c154ee28e24aa4d90767c36e6c11e4eb394ac1b808f\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8a1bce2671ff0261624d73a1cf3816e29f5b3cdcbb513e67ab8de114c4aaa8f2",
    "source_locator_sha256": "2fedec03fbc1d3bc9645a19d01598d30f49c44e92105c82826fb369585568355",
    "measurement_sha256": "cdb14c268bedeeded4de34969eb9dda69a18c9a63c9f6e7f14e4425acbce8a4c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "predators-2010",
    "title": "Predators",
    "year": 2010,
    "primary_genre": "Action",
    "writers": [
      "Robert Rodriguez",
      "Michael Finch",
      "Alex Litvak"
    ],
    "pages": 94,
    "scenes": 148,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 15.5,
    "day_share_pct": 47.5,
    "unique_locations": 30,
    "location_changes": 117,
    "speaking_characters": 12,
    "single_line_characters": 1,
    "dialogue_blocks": 332,
    "dialogue_words": 2462,
    "dialogue_action_ratio": 0.29,
    "monologues": 3,
    "top_character_pct": 23,
    "dialogue_line_share_pct": 19,
    "action_line_share_pct": 63,
    "words": 16603,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/predators-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8a1bce2671ff0261624d73a1cf3816e29f5b3cdcbb513e67ab8de114c4aaa8f2",
      "measurement_sha256": "cdb14c268bedeeded4de34969eb9dda69a18c9a63c9f6e7f14e4425acbce8a4c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/predators-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.265Z.",
        "https://www.scriptslug.com/script/predators-2010",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"predators-2010\",\"Predators\",2010,\"Feature\",\"Action\",[\"Robert Rodriguez\",\"Michael Finch\",\"Alex Litvak\"],\"https://www.scriptslug.com/script/predators-2010\",\"2fedec03fbc1d3bc9645a19d01598d30f49c44e92105c82826fb369585568355\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4d915eba78a56265fc2a849613376048ef7b69e23a3fe02848fc1adef077c480",
    "source_locator_sha256": "0376a980c113009ba8e8117fda002620ced164b857c602a28a6e3fbb157b3dc5",
    "measurement_sha256": "0d309e8e5c6777f99ffdc95fa0a8935a396cf19a52ea552470d480b8a0aac898",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "prey-2022",
    "title": "Prey",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Patrick Aison"
    ],
    "pages": 98,
    "scenes": 109,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 7.3,
    "day_share_pct": 78.1,
    "unique_locations": 49,
    "location_changes": 84,
    "speaking_characters": 21,
    "single_line_characters": 4,
    "dialogue_blocks": 321,
    "dialogue_words": 2514,
    "dialogue_action_ratio": 0.24,
    "monologues": 0,
    "top_character_pct": 29.8,
    "dialogue_line_share_pct": 17,
    "action_line_share_pct": 69,
    "words": 21171,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/prey-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4d915eba78a56265fc2a849613376048ef7b69e23a3fe02848fc1adef077c480",
      "measurement_sha256": "0d309e8e5c6777f99ffdc95fa0a8935a396cf19a52ea552470d480b8a0aac898",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/prey-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.632Z.",
        "https://www.scriptslug.com/script/prey-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"prey-2022\",\"Prey\",2022,\"Feature\",\"Action\",[\"Patrick Aison\"],\"https://www.scriptslug.com/script/prey-2022\",\"0376a980c113009ba8e8117fda002620ced164b857c602a28a6e3fbb157b3dc5\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a982e3918677498abecc12477e22caa6a841f8e4c497234e14e7b409221c415f",
    "source_locator_sha256": "394662f5f4aa1266d2cac18bad6eac4f84a07d9565c622b3fca90232382544bf",
    "measurement_sha256": "636b395f7659996d4282ca5f5274664fdda7c04bd4545263c51f3123c6b88372",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "priscilla-2023",
    "title": "Priscilla",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Sofia Coppola"
    ],
    "pages": 80,
    "scenes": 162,
    "mean_scene_eighths": 3.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 71,
    "day_share_pct": 69.6,
    "unique_locations": 51,
    "location_changes": 90,
    "speaking_characters": 32,
    "single_line_characters": 16,
    "dialogue_blocks": 466,
    "dialogue_words": 4960,
    "dialogue_action_ratio": 0.99,
    "monologues": 10,
    "top_character_pct": 59.7,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 36,
    "words": 14445,
    "runtime_minutes": 87,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/priscilla-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a982e3918677498abecc12477e22caa6a841f8e4c497234e14e7b409221c415f",
      "measurement_sha256": "636b395f7659996d4282ca5f5274664fdda7c04bd4545263c51f3123c6b88372",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/priscilla-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.158Z.",
        "https://www.scriptslug.com/script/priscilla-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"priscilla-2023\",\"Priscilla\",2023,\"Feature\",\"Drama\",[\"Sofia Coppola\"],\"https://www.scriptslug.com/script/priscilla-2023\",\"394662f5f4aa1266d2cac18bad6eac4f84a07d9565c622b3fca90232382544bf\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2f65b177eb270130b9385713bd7d0b92446a83e9f21b520f7e2580075f7f0184",
    "source_locator_sha256": "d32223cae88a1df863cee3574902ddebeec3cd7776038d8a1bcd59eb40093aa4",
    "measurement_sha256": "39e98407569f2eaf2ca980008079439a69a2c16e0c9c9013f46b1f5fb150da13",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "prisoners-2013",
    "title": "Prisoners",
    "year": 2013,
    "primary_genre": "Thriller",
    "writers": [
      "Aaron Guzikowski"
    ],
    "pages": 139,
    "scenes": 246,
    "mean_scene_eighths": 3.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 14.5,
    "interior_share_pct": 65.9,
    "day_share_pct": 45.1,
    "unique_locations": 86,
    "location_changes": 240,
    "speaking_characters": 44,
    "single_line_characters": 16,
    "dialogue_blocks": 697,
    "dialogue_words": 7406,
    "dialogue_action_ratio": 0.76,
    "monologues": 16,
    "top_character_pct": 22.2,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 44,
    "words": 26404,
    "runtime_minutes": 121,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/prisoners-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2f65b177eb270130b9385713bd7d0b92446a83e9f21b520f7e2580075f7f0184",
      "measurement_sha256": "39e98407569f2eaf2ca980008079439a69a2c16e0c9c9013f46b1f5fb150da13",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/prisoners-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.606Z.",
        "https://www.scriptslug.com/script/prisoners-2013",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"prisoners-2013\",\"Prisoners\",2013,\"Feature\",\"Thriller\",[\"Aaron Guzikowski\"],\"https://www.scriptslug.com/script/prisoners-2013\",\"d32223cae88a1df863cee3574902ddebeec3cd7776038d8a1bcd59eb40093aa4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a4a5793f00a52438fb6f3af6a154666b4a644d670430088cfbd37b30d7228c83",
    "source_locator_sha256": "477c3d66d770172dad7ce90fe92e2ad71d4a5455dacb6cf6af09e1d4c1fb161e",
    "measurement_sha256": "f313abb5250931f638ee0547cd640b27e504764a9a1160b3748844d95dea64c2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "project-hail-mary-2026",
    "title": "Project Hail Mary",
    "year": 2026,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Drew Goddard"
    ],
    "pages": 141,
    "scenes": 170,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 80.6,
    "day_share_pct": null,
    "unique_locations": 31,
    "location_changes": 135,
    "speaking_characters": 31,
    "single_line_characters": 7,
    "dialogue_blocks": 1041,
    "dialogue_words": 8920,
    "dialogue_action_ratio": 0.96,
    "monologues": 16,
    "top_character_pct": 60.2,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 38,
    "words": 25926,
    "runtime_minutes": 131,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/project-hail-mary-2026",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a4a5793f00a52438fb6f3af6a154666b4a644d670430088cfbd37b30d7228c83",
      "measurement_sha256": "f313abb5250931f638ee0547cd640b27e504764a9a1160b3748844d95dea64c2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/project-hail-mary-2026",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.924Z.",
        "https://www.scriptslug.com/script/project-hail-mary-2026",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"project-hail-mary-2026\",\"Project Hail Mary\",2026,\"Feature\",\"Sci-Fi\",[\"Drew Goddard\"],\"https://www.scriptslug.com/script/project-hail-mary-2026\",\"477c3d66d770172dad7ce90fe92e2ad71d4a5455dacb6cf6af09e1d4c1fb161e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ee62080c204a035e36c37db1dcde2c8ba0523461e03a74a752106dcf1f6c2be2",
    "source_locator_sha256": "15e41e84ba9e4245598cb7366ab37ea00057b0e46d514ea1a99052b33755efc9",
    "measurement_sha256": "9061f571e7118b2961f9e2ca52d3a7fdb70c9d0ded7cb4d2b05b4ff624ba17c7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "prometheus-2012",
    "title": "Prometheus",
    "year": 2012,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Damon Lindelof"
    ],
    "pages": 161,
    "scenes": 219,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 71.2,
    "day_share_pct": 87.5,
    "unique_locations": 98,
    "location_changes": 218,
    "speaking_characters": 17,
    "single_line_characters": 2,
    "dialogue_blocks": 535,
    "dialogue_words": 5304,
    "dialogue_action_ratio": 0.41,
    "monologues": 16,
    "top_character_pct": 11.4,
    "dialogue_line_share_pct": 24,
    "action_line_share_pct": 58,
    "words": 28452,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/prometheus-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ee62080c204a035e36c37db1dcde2c8ba0523461e03a74a752106dcf1f6c2be2",
      "measurement_sha256": "9061f571e7118b2961f9e2ca52d3a7fdb70c9d0ded7cb4d2b05b4ff624ba17c7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/prometheus-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.195Z.",
        "https://www.scriptslug.com/script/prometheus-2012",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"prometheus-2012\",\"Prometheus\",2012,\"Feature\",\"Sci-Fi\",[\"Damon Lindelof\"],\"https://www.scriptslug.com/script/prometheus-2012\",\"15e41e84ba9e4245598cb7366ab37ea00057b0e46d514ea1a99052b33755efc9\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "35caad124bf4668db13f6112f7f8e670d6411bd81eb1275eb7d095fd0dce5cf3",
    "source_locator_sha256": "68942eafaf66a8f920b83d1112dc7d476974bda082863747368321cc55cebc57",
    "measurement_sha256": "c1c2fab1920f8db96cde62edb7e6477126dbfa83e3a48cffbd79680626685aba",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "promising-young-woman-2020",
    "title": "Promising Young Woman",
    "year": 2020,
    "primary_genre": "Thriller",
    "writers": [
      "Emerald Fennell"
    ],
    "pages": 140,
    "scenes": 84,
    "mean_scene_eighths": 10.1,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 37.5,
    "interior_share_pct": 77.4,
    "day_share_pct": 64.9,
    "unique_locations": 29,
    "location_changes": 61,
    "speaking_characters": 30,
    "single_line_characters": 2,
    "dialogue_blocks": 1057,
    "dialogue_words": 9031,
    "dialogue_action_ratio": 1.82,
    "monologues": 19,
    "top_character_pct": 38.7,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 25,
    "words": 18495,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/promising-young-woman-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "35caad124bf4668db13f6112f7f8e670d6411bd81eb1275eb7d095fd0dce5cf3",
      "measurement_sha256": "c1c2fab1920f8db96cde62edb7e6477126dbfa83e3a48cffbd79680626685aba",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/promising-young-woman-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.563Z.",
        "https://www.scriptslug.com/script/promising-young-woman-2020",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"promising-young-woman-2020\",\"Promising Young Woman\",2020,\"Feature\",\"Thriller\",[\"Emerald Fennell\"],\"https://www.scriptslug.com/script/promising-young-woman-2020\",\"68942eafaf66a8f920b83d1112dc7d476974bda082863747368321cc55cebc57\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "116238b19a78b4a87d2c6a2843025c7876a128de4deee161fbb959a44c935de7",
    "source_locator_sha256": "f0f99fcc348f70fbd49013bd4588672db17e2528e3ab203160096c9556bc560c",
    "measurement_sha256": "94ea89934725f5e567dd0c7111b4ccb18575c75eeb9a5701e57c9a53e6d71d69",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "rango-2011",
    "title": "Rango",
    "year": 2011,
    "primary_genre": "Animation/Family",
    "writers": [
      "John Logan"
    ],
    "pages": 109,
    "scenes": 80,
    "mean_scene_eighths": 10,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 27.5,
    "day_share_pct": 88.4,
    "unique_locations": 43,
    "location_changes": 73,
    "speaking_characters": 70,
    "single_line_characters": 26,
    "dialogue_blocks": 934,
    "dialogue_words": 8550,
    "dialogue_action_ratio": 1.58,
    "monologues": 15,
    "top_character_pct": 38.8,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 28,
    "words": 18309,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/rango-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "116238b19a78b4a87d2c6a2843025c7876a128de4deee161fbb959a44c935de7",
      "measurement_sha256": "94ea89934725f5e567dd0c7111b4ccb18575c75eeb9a5701e57c9a53e6d71d69",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/rango-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:54.516Z.",
        "https://www.scriptslug.com/script/rango-2011",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"rango-2011\",\"Rango\",2011,\"Feature\",\"Animation/Family\",[\"John Logan\"],\"https://www.scriptslug.com/script/rango-2011\",\"f0f99fcc348f70fbd49013bd4588672db17e2528e3ab203160096c9556bc560c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a5d25caca60070b9e06a48b502316dcdaae8104fe3c11208ff4c5af122d3b19d",
    "source_locator_sha256": "f4d889bd05e8a15a7c962cb85674fb5014159e31eb5f08eb0cf27cf7f6fee724",
    "measurement_sha256": "09877a523ab55874654a417c7a3f6702cfe6ab4636a14c26573d76201a18b264",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "ratatouille-2007",
    "title": "Ratatouille",
    "year": 2007,
    "primary_genre": "Animation/Family",
    "writers": [
      "Brad Bird"
    ],
    "pages": 118,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 35,
    "single_line_characters": 9,
    "dialogue_blocks": 823,
    "dialogue_words": 8388,
    "dialogue_action_ratio": 0.93,
    "monologues": 20,
    "top_character_pct": 21.1,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 41,
    "words": 24268,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "09877a523ab55874654a417c7a3f6702cfe6ab4636a14c26573d76201a18b264",
      "source_sha256": "a5d25caca60070b9e06a48b502316dcdaae8104fe3c11208ff4c5af122d3b19d",
      "pdf_pages": [
        3
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ratatouille-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a5d25caca60070b9e06a48b502316dcdaae8104fe3c11208ff4c5af122d3b19d",
      "measurement_sha256": "09877a523ab55874654a417c7a3f6702cfe6ab4636a14c26573d76201a18b264",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ratatouille-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:50.624Z.",
        "https://www.scriptslug.com/script/ratatouille-2007",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ratatouille-2007\",\"Ratatouille\",2007,\"Feature\",\"Animation/Family\",[\"Brad Bird\"],\"https://www.scriptslug.com/script/ratatouille-2007\",\"f4d889bd05e8a15a7c962cb85674fb5014159e31eb5f08eb0cf27cf7f6fee724\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "afacd0a348b8a4af2ccba7af7e6750e8754715c382bfbac19134c548e06460ba",
    "source_locator_sha256": "2f1b18060fb8935c5dbcfc3d71e0f45abc39989b385a69fdc024d01561aac541",
    "measurement_sha256": "ca219183568fb40dde8b35f73559d8edc2108bf66ee60b04772ff2a6ea3d4cd1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "raya-and-the-last-dragon-2021",
    "title": "Raya and the Last Dragon",
    "year": 2021,
    "primary_genre": "Animation/Family",
    "writers": [
      "Adele Lim",
      "Qui Nguyen"
    ],
    "pages": 96,
    "scenes": 79,
    "mean_scene_eighths": 9.7,
    "median_scene_eighths": 8,
    "median_scene_lines": 54,
    "interior_share_pct": 30.4,
    "day_share_pct": 56.6,
    "unique_locations": 53,
    "location_changes": 76,
    "speaking_characters": 29,
    "single_line_characters": 10,
    "dialogue_blocks": 725,
    "dialogue_words": 6632,
    "dialogue_action_ratio": 1.02,
    "monologues": 6,
    "top_character_pct": 29.8,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 37,
    "words": 18974,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/raya-and-the-last-dragon-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "afacd0a348b8a4af2ccba7af7e6750e8754715c382bfbac19134c548e06460ba",
      "measurement_sha256": "ca219183568fb40dde8b35f73559d8edc2108bf66ee60b04772ff2a6ea3d4cd1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/raya-and-the-last-dragon-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.149Z.",
        "https://www.scriptslug.com/script/raya-and-the-last-dragon-2021",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"raya-and-the-last-dragon-2021\",\"Raya and the Last Dragon\",2021,\"Feature\",\"Animation/Family\",[\"Adele Lim\",\"Qui Nguyen\"],\"https://www.scriptslug.com/script/raya-and-the-last-dragon-2021\",\"2f1b18060fb8935c5dbcfc3d71e0f45abc39989b385a69fdc024d01561aac541\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "dd547a27a29c732f27b400a5b8db40b8b5884e0d11a98309288e4a37cc55d106",
    "source_locator_sha256": "48c557da1f818aa3ae148af4f4cc5c44e36c25275125899467da3a75b574defb",
    "measurement_sha256": "3215bea1df01de1ca9dfe0ded34bfbc83c1f4460b3033ada5540e89bffd5e4c2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "red-one-2024",
    "title": "Red One",
    "year": 2024,
    "primary_genre": "Action",
    "writers": [
      "Chris Morgan",
      "Jake Kasdan"
    ],
    "pages": 160,
    "scenes": 82,
    "mean_scene_eighths": 15,
    "median_scene_eighths": 8,
    "median_scene_lines": 52,
    "interior_share_pct": 54.9,
    "day_share_pct": 35,
    "unique_locations": 60,
    "location_changes": 71,
    "speaking_characters": 75,
    "single_line_characters": 36,
    "dialogue_blocks": 1295,
    "dialogue_words": 10722,
    "dialogue_action_ratio": 1.02,
    "monologues": 16,
    "top_character_pct": 29.1,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 38,
    "words": 31154,
    "runtime_minutes": 144,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/red-one-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "dd547a27a29c732f27b400a5b8db40b8b5884e0d11a98309288e4a37cc55d106",
      "measurement_sha256": "3215bea1df01de1ca9dfe0ded34bfbc83c1f4460b3033ada5540e89bffd5e4c2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/red-one-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.632Z.",
        "https://www.scriptslug.com/script/red-one-2024",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"red-one-2024\",\"Red One\",2024,\"Feature\",\"Action\",[\"Chris Morgan\",\"Jake Kasdan\"],\"https://www.scriptslug.com/script/red-one-2024\",\"48c557da1f818aa3ae148af4f4cc5c44e36c25275125899467da3a75b574defb\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5645a881046b37037fe2b1c5e0f3771adc4a2f859303edbe3012314adaede558",
    "source_locator_sha256": "e2ce317d50abe710a340c268de21cd346582b77e68f81a43865caddb785e05a3",
    "measurement_sha256": "a0b7f663cad49c43209c5ad87e75fb3511fdb26ecc9b2a0b7cb5e47967ca4cc8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "red-rocket-2021",
    "title": "Red Rocket",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Sean Baker",
      "Chris Bergoch"
    ],
    "pages": 104,
    "scenes": 176,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 47.2,
    "day_share_pct": 71.9,
    "unique_locations": 41,
    "location_changes": 110,
    "speaking_characters": 29,
    "single_line_characters": 7,
    "dialogue_blocks": 896,
    "dialogue_words": 9990,
    "dialogue_action_ratio": 2.14,
    "monologues": 50,
    "top_character_pct": 59.5,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 23,
    "words": 19331,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/red-rocket-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5645a881046b37037fe2b1c5e0f3771adc4a2f859303edbe3012314adaede558",
      "measurement_sha256": "a0b7f663cad49c43209c5ad87e75fb3511fdb26ecc9b2a0b7cb5e47967ca4cc8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/red-rocket-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.130Z.",
        "https://www.scriptslug.com/script/red-rocket-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"red-rocket-2021\",\"Red Rocket\",2021,\"Feature\",\"Drama\",[\"Sean Baker\",\"Chris Bergoch\"],\"https://www.scriptslug.com/script/red-rocket-2021\",\"e2ce317d50abe710a340c268de21cd346582b77e68f81a43865caddb785e05a3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fc20eee7a6030d452b32ffea89afb6ab998d29963ee3db3c79f6da967dfb039f",
    "source_locator_sha256": "1506928fc945cede4fbae54de266d4fefacef42519d8218a15ae79e6bf2ca592",
    "measurement_sha256": "7ab752e343ca7ce6e57aa1a6173fa0a67eb145df896dbf772d01432d76f89374",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "respect-2021",
    "title": "Respect",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Tracey Scott Wilson"
    ],
    "pages": 104,
    "scenes": 134,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 18.5,
    "interior_share_pct": 74.6,
    "day_share_pct": 42.6,
    "unique_locations": 58,
    "location_changes": 87,
    "speaking_characters": 52,
    "single_line_characters": 18,
    "dialogue_blocks": 1016,
    "dialogue_words": 8301,
    "dialogue_action_ratio": 1.57,
    "monologues": 18,
    "top_character_pct": 26.3,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 27,
    "words": 18646,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "7ab752e343ca7ce6e57aa1a6173fa0a67eb145df896dbf772d01432d76f89374",
      "source_sha256": "fc20eee7a6030d452b32ffea89afb6ab998d29963ee3db3c79f6da967dfb039f",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "C.L. is a legitimate speaker in the source, not a prose sentence. The shared punctuation check now recognises initials. Other independent checks still apply.",
      "selection": "false-positive control"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/respect-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fc20eee7a6030d452b32ffea89afb6ab998d29963ee3db3c79f6da967dfb039f",
      "measurement_sha256": "7ab752e343ca7ce6e57aa1a6173fa0a67eb145df896dbf772d01432d76f89374",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/respect-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.435Z.",
        "https://www.scriptslug.com/script/respect-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"respect-2021\",\"Respect\",2021,\"Feature\",\"Drama\",[\"Tracey Scott Wilson\"],\"https://www.scriptslug.com/script/respect-2021\",\"1506928fc945cede4fbae54de266d4fefacef42519d8218a15ae79e6bf2ca592\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ada01c2cabb905d282a1ec5d2135d8485e71c52605b1c13663ce0fa9d20f16c1",
    "source_locator_sha256": "64e562e5657668d51303adc464b09860f082e19cf7ffa05007a88b210b0e778c",
    "measurement_sha256": "fdb9192df7dc449442c576ecb09e224e706a29f3d419896770b370edbcb58ad4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "ricky-stanicky-2024",
    "title": "Ricky Stanicky",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Jeff Bushell"
    ],
    "pages": 111,
    "scenes": 97,
    "mean_scene_eighths": 8.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 61.9,
    "day_share_pct": 85.1,
    "unique_locations": 56,
    "location_changes": 83,
    "speaking_characters": 40,
    "single_line_characters": 16,
    "dialogue_blocks": 1030,
    "dialogue_words": 11369,
    "dialogue_action_ratio": 2.81,
    "monologues": 28,
    "top_character_pct": 31.7,
    "dialogue_line_share_pct": 53,
    "action_line_share_pct": 19,
    "words": 19536,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/ricky-stanicky-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ada01c2cabb905d282a1ec5d2135d8485e71c52605b1c13663ce0fa9d20f16c1",
      "measurement_sha256": "fdb9192df7dc449442c576ecb09e224e706a29f3d419896770b370edbcb58ad4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/ricky-stanicky-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.439Z.",
        "https://www.scriptslug.com/script/ricky-stanicky-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"ricky-stanicky-2024\",\"Ricky Stanicky\",2024,\"Feature\",\"Comedy\",[\"Jeff Bushell\"],\"https://www.scriptslug.com/script/ricky-stanicky-2024\",\"64e562e5657668d51303adc464b09860f082e19cf7ffa05007a88b210b0e778c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5e8ac9214faab6b13cbca262812cef9ff62c2e8c6b2b623fdc4bde6df2b3e653",
    "source_locator_sha256": "435542a8ad0e62aeef6f2b61dde6e9fe22457eddd6ef8284ad5558deb404dba3",
    "measurement_sha256": "2a176a0de9d8804e5d875dc17dca9e4504ed9f07dd0f314e87a3acbcf371c417",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "rise-of-the-planet-of-the-apes-2011",
    "title": "Rise of the Planet of the Apes",
    "year": 2011,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Rick Jaffa",
      "Amanda Silver",
      "Jamie Moss"
    ],
    "pages": 115,
    "scenes": 235,
    "mean_scene_eighths": 3.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 55.1,
    "day_share_pct": 69.8,
    "unique_locations": 135,
    "location_changes": 224,
    "speaking_characters": 55,
    "single_line_characters": 24,
    "dialogue_blocks": 625,
    "dialogue_words": 4646,
    "dialogue_action_ratio": 0.45,
    "monologues": 1,
    "top_character_pct": 36.6,
    "dialogue_line_share_pct": 24,
    "action_line_share_pct": 54,
    "words": 22830,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/rise-of-the-planet-of-the-apes-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5e8ac9214faab6b13cbca262812cef9ff62c2e8c6b2b623fdc4bde6df2b3e653",
      "measurement_sha256": "2a176a0de9d8804e5d875dc17dca9e4504ed9f07dd0f314e87a3acbcf371c417",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/rise-of-the-planet-of-the-apes-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.830Z.",
        "https://www.scriptslug.com/script/rise-of-the-planet-of-the-apes-2011",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"rise-of-the-planet-of-the-apes-2011\",\"Rise of the Planet of the Apes\",2011,\"Feature\",\"Sci-Fi\",[\"Rick Jaffa\",\"Amanda Silver\",\"Jamie Moss\"],\"https://www.scriptslug.com/script/rise-of-the-planet-of-the-apes-2011\",\"435542a8ad0e62aeef6f2b61dde6e9fe22457eddd6ef8284ad5558deb404dba3\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "896f92d456479522c16d246c0366f8d0fb62e88fd2dfbaf0f25f4005179d2b93",
    "source_locator_sha256": "67c1910b5230e891269377359f9104b1607f9d552826b4440cd66415785e55bc",
    "measurement_sha256": "5c1355544dc73c98611ec7c0e984c8485e4446a4cd7c053439b6c9023e017d98",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "road-to-perdition-2002",
    "title": "Road to Perdition",
    "year": 2002,
    "primary_genre": "Crime",
    "writers": [
      "David Self"
    ],
    "pages": 97,
    "scenes": 205,
    "mean_scene_eighths": 3.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 11,
    "interior_share_pct": 67.3,
    "day_share_pct": 54.8,
    "unique_locations": 80,
    "location_changes": 153,
    "speaking_characters": 28,
    "single_line_characters": 6,
    "dialogue_blocks": 588,
    "dialogue_words": 4513,
    "dialogue_action_ratio": 0.68,
    "monologues": 5,
    "top_character_pct": 28.3,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 43,
    "words": 17145,
    "runtime_minutes": 98,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/road-to-perdition-2002",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "896f92d456479522c16d246c0366f8d0fb62e88fd2dfbaf0f25f4005179d2b93",
      "measurement_sha256": "5c1355544dc73c98611ec7c0e984c8485e4446a4cd7c053439b6c9023e017d98",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/road-to-perdition-2002",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.759Z.",
        "https://www.scriptslug.com/script/road-to-perdition-2002",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"road-to-perdition-2002\",\"Road to Perdition\",2002,\"Feature\",\"Crime\",[\"David Self\"],\"https://www.scriptslug.com/script/road-to-perdition-2002\",\"67c1910b5230e891269377359f9104b1607f9d552826b4440cd66415785e55bc\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "197737b7644c5460c8c9ef7dee4d9b4ffc98f67ba9733eb8266ad8b69081134b",
    "source_locator_sha256": "6aebc4b4a48fc0fedaf4dffefdbdae520e4a2f5379c9afd1693540969dd10928",
    "measurement_sha256": "3cddcf78d7489a507f7de6df48b3f4a5b24065bd5d42277c377e71f032233c15",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "rocky-balboa-2006",
    "title": "Rocky Balboa",
    "year": 2006,
    "primary_genre": "Drama",
    "writers": [
      "Sylvester Stallone"
    ],
    "pages": 111,
    "scenes": 107,
    "mean_scene_eighths": 7.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 59.3,
    "day_share_pct": 18.6,
    "unique_locations": 77,
    "location_changes": 97,
    "speaking_characters": 65,
    "single_line_characters": 26,
    "dialogue_blocks": 938,
    "dialogue_words": 9676,
    "dialogue_action_ratio": 1.94,
    "monologues": 33,
    "top_character_pct": 30.4,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 24,
    "words": 19254,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/rocky-balboa-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "197737b7644c5460c8c9ef7dee4d9b4ffc98f67ba9733eb8266ad8b69081134b",
      "measurement_sha256": "3cddcf78d7489a507f7de6df48b3f4a5b24065bd5d42277c377e71f032233c15",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/rocky-balboa-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.158Z.",
        "https://www.scriptslug.com/script/rocky-balboa-2006",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"rocky-balboa-2006\",\"Rocky Balboa\",2006,\"Feature\",\"Drama\",[\"Sylvester Stallone\"],\"https://www.scriptslug.com/script/rocky-balboa-2006\",\"6aebc4b4a48fc0fedaf4dffefdbdae520e4a2f5379c9afd1693540969dd10928\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "68d9ed317e5314baac6fe1be546f8ab8581d1fc6b5b5510624fe3168c0b93126",
    "source_locator_sha256": "39614f03aa32afec5c445d3480104fc13593fb699af27e1e801ec288a12fc8b9",
    "measurement_sha256": "21510f6559f579ab8718a0c9b34fb40cac5e72b43387d55388acb7ee8ba1f7b9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "rustin-2023",
    "title": "Rustin",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Julian Breece",
      "Dustin Lance Black"
    ],
    "pages": 115,
    "scenes": 112,
    "mean_scene_eighths": 7.9,
    "median_scene_eighths": 5,
    "median_scene_lines": 34.5,
    "interior_share_pct": 64.3,
    "day_share_pct": 72.2,
    "unique_locations": 82,
    "location_changes": 106,
    "speaking_characters": 76,
    "single_line_characters": 38,
    "dialogue_blocks": 946,
    "dialogue_words": 12114,
    "dialogue_action_ratio": 2.41,
    "monologues": 55,
    "top_character_pct": 40.6,
    "dialogue_line_share_pct": 53,
    "action_line_share_pct": 22,
    "words": 21343,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/rustin-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "68d9ed317e5314baac6fe1be546f8ab8581d1fc6b5b5510624fe3168c0b93126",
      "measurement_sha256": "21510f6559f579ab8718a0c9b34fb40cac5e72b43387d55388acb7ee8ba1f7b9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/rustin-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.653Z.",
        "https://www.scriptslug.com/script/rustin-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"rustin-2023\",\"Rustin\",2023,\"Feature\",\"Drama\",[\"Julian Breece\",\"Dustin Lance Black\"],\"https://www.scriptslug.com/script/rustin-2023\",\"39614f03aa32afec5c445d3480104fc13593fb699af27e1e801ec288a12fc8b9\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ff72c45dc95e956e89a7a31b3fc976959fa65979c42e4b72611779108cad22e8",
    "source_locator_sha256": "bc5d312369600c234f5d8212af0984c342d326f31df54421b7b993ede9c40b48",
    "measurement_sha256": "2ca59aad8761ee32fe4d1b241548d269cc2ba4674424908e6c638a72bc00e7fc",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "saltburn-2023",
    "title": "Saltburn",
    "year": 2023,
    "primary_genre": "Thriller",
    "writers": [
      "Emerald Fennell"
    ],
    "pages": 125,
    "scenes": 197,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 11,
    "interior_share_pct": 63.5,
    "day_share_pct": 55,
    "unique_locations": 56,
    "location_changes": 113,
    "speaking_characters": 40,
    "single_line_characters": 16,
    "dialogue_blocks": 1071,
    "dialogue_words": 8938,
    "dialogue_action_ratio": 1.45,
    "monologues": 14,
    "top_character_pct": 23,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 29,
    "words": 21041,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/saltburn-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ff72c45dc95e956e89a7a31b3fc976959fa65979c42e4b72611779108cad22e8",
      "measurement_sha256": "2ca59aad8761ee32fe4d1b241548d269cc2ba4674424908e6c638a72bc00e7fc",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/saltburn-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.594Z.",
        "https://www.scriptslug.com/script/saltburn-2023",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"saltburn-2023\",\"Saltburn\",2023,\"Feature\",\"Thriller\",[\"Emerald Fennell\"],\"https://www.scriptslug.com/script/saltburn-2023\",\"bc5d312369600c234f5d8212af0984c342d326f31df54421b7b993ede9c40b48\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7c871012ac56d0ef15c4e22ee157d7df9fd049063e87121e40c705e68e9b4b9f",
    "source_locator_sha256": "af641986466b61c72960c498a08f10cc28ea3abc06cb77bcd757dd10142dfd43",
    "measurement_sha256": "f5d4172230116169bbf6d33d68bcf1c03eb71dd2bc405fe39fdd0248808a4eae",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "saturday-night-2024",
    "title": "Saturday Night",
    "year": 2024,
    "primary_genre": "Comedy",
    "writers": [
      "Jason Reitman",
      "Gil Kenan"
    ],
    "pages": 125,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 88,
    "single_line_characters": 23,
    "dialogue_blocks": 1174,
    "dialogue_words": 10728,
    "dialogue_action_ratio": 1.69,
    "monologues": 20,
    "top_character_pct": 23,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 26,
    "words": 23314,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "f5d4172230116169bbf6d33d68bcf1c03eb71dd2bc405fe39fdd0248808a4eae",
      "source_sha256": "7c871012ac56d0ef15c4e22ee157d7df9fd049063e87121e40c705e68e9b4b9f",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/saturday-night-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7c871012ac56d0ef15c4e22ee157d7df9fd049063e87121e40c705e68e9b4b9f",
      "measurement_sha256": "f5d4172230116169bbf6d33d68bcf1c03eb71dd2bc405fe39fdd0248808a4eae",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/saturday-night-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.931Z.",
        "https://www.scriptslug.com/script/saturday-night-2024",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"saturday-night-2024\",\"Saturday Night\",2024,\"Feature\",\"Comedy\",[\"Jason Reitman\",\"Gil Kenan\"],\"https://www.scriptslug.com/script/saturday-night-2024\",\"af641986466b61c72960c498a08f10cc28ea3abc06cb77bcd757dd10142dfd43\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "6cdb6d135120fe80b8ca126babdcdb3ea326c92ebb1450cc35e710c77540b319",
    "source_locator_sha256": "c58b867856d1d525b1f3beca19d05d1f83125a8dbcb7958d58680656a26d2ae6",
    "measurement_sha256": "0fd0ae792162f43ceb038c7687b68f4962841691ef78a582a65cf01a63f970c6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "saw-2004",
    "title": "Saw",
    "year": 2004,
    "primary_genre": "Horror",
    "writers": [
      "James Wan",
      "Leigh Whannell"
    ],
    "pages": 95,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 6,
    "single_line_characters": 5,
    "dialogue_blocks": 155,
    "dialogue_words": 290,
    "dialogue_action_ratio": 0.05,
    "monologues": 0,
    "top_character_pct": 1.7,
    "dialogue_line_share_pct": 4,
    "action_line_share_pct": 92,
    "words": 16265,
    "runtime_minutes": 131,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "0fd0ae792162f43ceb038c7687b68f4962841691ef78a582a65cf01a63f970c6",
      "source_sha256": "6cdb6d135120fe80b8ca126babdcdb3ea326c92ebb1450cc35e710c77540b319",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/saw-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6cdb6d135120fe80b8ca126babdcdb3ea326c92ebb1450cc35e710c77540b319",
      "measurement_sha256": "0fd0ae792162f43ceb038c7687b68f4962841691ef78a582a65cf01a63f970c6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/saw-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.825Z.",
        "https://www.scriptslug.com/script/saw-2004",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"saw-2004\",\"Saw\",2004,\"Feature\",\"Horror\",[\"James Wan\",\"Leigh Whannell\"],\"https://www.scriptslug.com/script/saw-2004\",\"c58b867856d1d525b1f3beca19d05d1f83125a8dbcb7958d58680656a26d2ae6\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "0061c4f3ab015d4df575bb43cec70a1c558cd4e054430ebf9ae28454c689284d",
    "source_locator_sha256": "e9cb5f3e012f49ab2deae805ab61450703228fb8eeaed7add282d8b85569a648",
    "measurement_sha256": "bcfb153b9085790f18a9f16fef6c5f1069a897b57f81147031536d18bb464df0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "scream-2022",
    "title": "Scream",
    "year": 2022,
    "primary_genre": "Horror",
    "writers": [
      "James Vanderbilt",
      "Guy Busick"
    ],
    "pages": 124,
    "scenes": 97,
    "mean_scene_eighths": 10.2,
    "median_scene_eighths": 7,
    "median_scene_lines": 48,
    "interior_share_pct": 71.6,
    "day_share_pct": 26.3,
    "unique_locations": 34,
    "location_changes": 62,
    "speaking_characters": 39,
    "single_line_characters": 14,
    "dialogue_blocks": 1087,
    "dialogue_words": 10104,
    "dialogue_action_ratio": 1.35,
    "monologues": 20,
    "top_character_pct": 17.5,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 31,
    "words": 24146,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/scream-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0061c4f3ab015d4df575bb43cec70a1c558cd4e054430ebf9ae28454c689284d",
      "measurement_sha256": "bcfb153b9085790f18a9f16fef6c5f1069a897b57f81147031536d18bb464df0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/scream-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.074Z.",
        "https://www.scriptslug.com/script/scream-2022",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"scream-2022\",\"Scream\",2022,\"Feature\",\"Horror\",[\"James Vanderbilt\",\"Guy Busick\"],\"https://www.scriptslug.com/script/scream-2022\",\"e9cb5f3e012f49ab2deae805ab61450703228fb8eeaed7add282d8b85569a648\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b886cdc02a04f2049411fc7a538b93eb3be58c7da6ccff1958252eb6297a9a71",
    "source_locator_sha256": "4f5d454c2ffd9bcd96bbe7bd2829cfd74b689f51b513f00f4d2ac273fc788316",
    "measurement_sha256": "395de2153f2e279e7bb260b9208b2cc26cf6ad4d84c507478d17d4db2ad5028e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "scream-vi-2023",
    "title": "Scream VI",
    "year": 2023,
    "primary_genre": "Horror",
    "writers": [
      "Guy Busick",
      "James Vanderbilt"
    ],
    "pages": 155,
    "scenes": 95,
    "mean_scene_eighths": 9.9,
    "median_scene_eighths": 7,
    "median_scene_lines": 48,
    "interior_share_pct": 74.7,
    "day_share_pct": 21.3,
    "unique_locations": 39,
    "location_changes": 64,
    "speaking_characters": 41,
    "single_line_characters": 13,
    "dialogue_blocks": 1054,
    "dialogue_words": 9377,
    "dialogue_action_ratio": 1.35,
    "monologues": 16,
    "top_character_pct": 15.8,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 31,
    "words": 22785,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/scream-vi-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b886cdc02a04f2049411fc7a538b93eb3be58c7da6ccff1958252eb6297a9a71",
      "measurement_sha256": "395de2153f2e279e7bb260b9208b2cc26cf6ad4d84c507478d17d4db2ad5028e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/scream-vi-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.034Z.",
        "https://www.scriptslug.com/script/scream-vi-2023",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"scream-vi-2023\",\"Scream VI\",2023,\"Feature\",\"Horror\",[\"Guy Busick\",\"James Vanderbilt\"],\"https://www.scriptslug.com/script/scream-vi-2023\",\"4f5d454c2ffd9bcd96bbe7bd2829cfd74b689f51b513f00f4d2ac273fc788316\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9ee7e58316a748e9eb939eab9cd6eb1bc64540aa0112c277a04dce16e1e8ff58",
    "source_locator_sha256": "ee4e175da6423317ddf7a688d43b81ccedefd29d689aeb3c81a26d5e569ddc61",
    "measurement_sha256": "aa62c549b51808278c3bbc5d1fdc52292a277ef193a6922b160c843c79c77f8e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "sentimental-value-2025",
    "title": "Sentimental Value",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Eskil Vogt",
      "Joachim Trier"
    ],
    "pages": 138,
    "scenes": 193,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 74.9,
    "day_share_pct": 59.4,
    "unique_locations": 103,
    "location_changes": 144,
    "speaking_characters": 46,
    "single_line_characters": 13,
    "dialogue_blocks": 1032,
    "dialogue_words": 10926,
    "dialogue_action_ratio": 1.01,
    "monologues": 17,
    "top_character_pct": 28.5,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 37,
    "words": 31605,
    "runtime_minutes": 140,
    "parenthetical_rate": 0.26,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sentimental-value-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9ee7e58316a748e9eb939eab9cd6eb1bc64540aa0112c277a04dce16e1e8ff58",
      "measurement_sha256": "aa62c549b51808278c3bbc5d1fdc52292a277ef193a6922b160c843c79c77f8e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sentimental-value-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.971Z.",
        "https://www.scriptslug.com/script/sentimental-value-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sentimental-value-2025\",\"Sentimental Value\",2025,\"Feature\",\"Drama\",[\"Eskil Vogt\",\"Joachim Trier\"],\"https://www.scriptslug.com/script/sentimental-value-2025\",\"ee4e175da6423317ddf7a688d43b81ccedefd29d689aeb3c81a26d5e569ddc61\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9770e15f8451af0d4a604e841e9e47f0da89b6878d59911d81ecad08e3b80848",
    "source_locator_sha256": "0d87a4939ea852858021ec489c9e7a4ec7abdc8f34c26cf1ab163156422e0d33",
    "measurement_sha256": "34236a8fb63b1eba89351ed6c29fc06ef9320626f778ab6ceb533553fcce0f26",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "september-5-2024",
    "title": "September 5",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Moritz Binder",
      "Tim Fehlbaum",
      "Alex David"
    ],
    "pages": 108,
    "scenes": 112,
    "mean_scene_eighths": 8.1,
    "median_scene_eighths": 5,
    "median_scene_lines": 32.5,
    "interior_share_pct": 94.6,
    "day_share_pct": 56.2,
    "unique_locations": 22,
    "location_changes": 107,
    "speaking_characters": 65,
    "single_line_characters": 27,
    "dialogue_blocks": 931,
    "dialogue_words": 8888,
    "dialogue_action_ratio": 1.4,
    "monologues": 18,
    "top_character_pct": 20.3,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 30,
    "words": 20172,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/september-5-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9770e15f8451af0d4a604e841e9e47f0da89b6878d59911d81ecad08e3b80848",
      "measurement_sha256": "34236a8fb63b1eba89351ed6c29fc06ef9320626f778ab6ceb533553fcce0f26",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/september-5-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.787Z.",
        "https://www.scriptslug.com/script/september-5-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"september-5-2024\",\"September 5\",2024,\"Feature\",\"Drama\",[\"Moritz Binder\",\"Tim Fehlbaum\",\"Alex David\"],\"https://www.scriptslug.com/script/september-5-2024\",\"0d87a4939ea852858021ec489c9e7a4ec7abdc8f34c26cf1ab163156422e0d33\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "57d072020428701c2e10a1584acbeec5da421b3418247585d57b1e563616e701",
    "source_locator_sha256": "4d15ea62c285e74eec43f1ac333ade32a3bc86036a6d98634db0498f74fd8ca8",
    "measurement_sha256": "e3ac2733cbda6e05a6aac0d9ac8ff35307c5ef1c35f8c5a767b0061487d3a74b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "sex-drive-2008",
    "title": "Sex Drive",
    "year": 2008,
    "primary_genre": "Comedy",
    "writers": [
      "John Morris",
      "Sean Anders"
    ],
    "pages": 120,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 58,
    "single_line_characters": 16,
    "dialogue_blocks": 1054,
    "dialogue_words": 9894,
    "dialogue_action_ratio": 1.12,
    "monologues": 12,
    "top_character_pct": 33,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 36,
    "words": 25846,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "e3ac2733cbda6e05a6aac0d9ac8ff35307c5ef1c35f8c5a767b0061487d3a74b",
      "source_sha256": "57d072020428701c2e10a1584acbeec5da421b3418247585d57b1e563616e701",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sex-drive-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "57d072020428701c2e10a1584acbeec5da421b3418247585d57b1e563616e701",
      "measurement_sha256": "e3ac2733cbda6e05a6aac0d9ac8ff35307c5ef1c35f8c5a767b0061487d3a74b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sex-drive-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.279Z.",
        "https://www.scriptslug.com/script/sex-drive-2008",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sex-drive-2008\",\"Sex Drive\",2008,\"Feature\",\"Comedy\",[\"John Morris\",\"Sean Anders\"],\"https://www.scriptslug.com/script/sex-drive-2008\",\"4d15ea62c285e74eec43f1ac333ade32a3bc86036a6d98634db0498f74fd8ca8\"]"
    },
    "measurement_flags": [
      "scene"
    ]
  },
  {
    "source_sha256": "833a6b46f2dfb30991fff7e420a25cc8b93fca6a0905f452c98a0c47988ed016",
    "source_locator_sha256": "a7ac6b77552eed1a5da2ba916108bfd239478b181d7f7fc75d6a9739d56b13e1",
    "measurement_sha256": "c3575d5ca3ed8b89f6587f77911eefb678cdfb98800387e8eefef6d059fe9abc",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "shaun-of-the-dead-2004",
    "title": "Shaun of the Dead",
    "year": 2004,
    "primary_genre": "Comedy",
    "writers": [
      "Edgar Wright",
      "Simon Pegg"
    ],
    "pages": 132,
    "scenes": 82,
    "mean_scene_eighths": 12.3,
    "median_scene_eighths": 6,
    "median_scene_lines": 40.5,
    "interior_share_pct": 61.6,
    "day_share_pct": null,
    "unique_locations": 69,
    "location_changes": 79,
    "speaking_characters": 41,
    "single_line_characters": 16,
    "dialogue_blocks": 1435,
    "dialogue_words": 9179,
    "dialogue_action_ratio": 1.89,
    "monologues": 16,
    "top_character_pct": 35.5,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 23,
    "words": 21189,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/shaun-of-the-dead-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "833a6b46f2dfb30991fff7e420a25cc8b93fca6a0905f452c98a0c47988ed016",
      "measurement_sha256": "c3575d5ca3ed8b89f6587f77911eefb678cdfb98800387e8eefef6d059fe9abc",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/shaun-of-the-dead-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.375Z.",
        "https://www.scriptslug.com/script/shaun-of-the-dead-2004",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"shaun-of-the-dead-2004\",\"Shaun of the Dead\",2004,\"Feature\",\"Comedy\",[\"Edgar Wright\",\"Simon Pegg\"],\"https://www.scriptslug.com/script/shaun-of-the-dead-2004\",\"a7ac6b77552eed1a5da2ba916108bfd239478b181d7f7fc75d6a9739d56b13e1\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e6b6cca83648ca6dc6788a54c118efeae51f4f281b124c92f776411c67b963bf",
    "source_locator_sha256": "69b5d397978b19020cb332e49026754af312b3086993ec9d8613e72ae45b91df",
    "measurement_sha256": "bf1480796bedf5c45c09d6d0b5bd03c88b8023bfb6c1465ccc6358a2efdd92fe",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "shayda-2023",
    "title": "Shayda",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Noora Niasari"
    ],
    "pages": 109,
    "scenes": 98,
    "mean_scene_eighths": 9.6,
    "median_scene_eighths": 7,
    "median_scene_lines": 46,
    "interior_share_pct": 82.1,
    "day_share_pct": 58.6,
    "unique_locations": 26,
    "location_changes": 41,
    "speaking_characters": 35,
    "single_line_characters": 11,
    "dialogue_blocks": 914,
    "dialogue_words": 5270,
    "dialogue_action_ratio": 0.65,
    "monologues": 3,
    "top_character_pct": 25.2,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 45,
    "words": 22165,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/shayda-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e6b6cca83648ca6dc6788a54c118efeae51f4f281b124c92f776411c67b963bf",
      "measurement_sha256": "bf1480796bedf5c45c09d6d0b5bd03c88b8023bfb6c1465ccc6358a2efdd92fe",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/shayda-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.665Z.",
        "https://www.scriptslug.com/script/shayda-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"shayda-2023\",\"Shayda\",2023,\"Feature\",\"Drama\",[\"Noora Niasari\"],\"https://www.scriptslug.com/script/shayda-2023\",\"69b5d397978b19020cb332e49026754af312b3086993ec9d8613e72ae45b91df\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6120a7445915a529abe22ef9820e5fd16a6e6eae820a261a4d0bfd4579c4b11e",
    "source_locator_sha256": "5946bf1f00dcc3dbcc18f789ffcd8987b231c4dfaeb4bc6531338940854a5700",
    "measurement_sha256": "a06bee631a682e92c3cc033b3105b99cc7fda8ec2ff8af3955f690420b67b1d5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "shortcomings-2023",
    "title": "Shortcomings",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Adrian Tomine"
    ],
    "pages": 106,
    "scenes": 116,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 39,
    "interior_share_pct": 67.7,
    "day_share_pct": 52.9,
    "unique_locations": 50,
    "location_changes": 88,
    "speaking_characters": 30,
    "single_line_characters": 7,
    "dialogue_blocks": 1000,
    "dialogue_words": 9421,
    "dialogue_action_ratio": 2.21,
    "monologues": 13,
    "top_character_pct": 38.6,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 22,
    "words": 18135,
    "runtime_minutes": 101,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/shortcomings-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6120a7445915a529abe22ef9820e5fd16a6e6eae820a261a4d0bfd4579c4b11e",
      "measurement_sha256": "a06bee631a682e92c3cc033b3105b99cc7fda8ec2ff8af3955f690420b67b1d5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/shortcomings-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.950Z.",
        "https://www.scriptslug.com/script/shortcomings-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"shortcomings-2023\",\"Shortcomings\",2023,\"Feature\",\"Comedy\",[\"Adrian Tomine\"],\"https://www.scriptslug.com/script/shortcomings-2023\",\"5946bf1f00dcc3dbcc18f789ffcd8987b231c4dfaeb4bc6531338940854a5700\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "cc6a16c0f6a6bf47efaf6e2e1c391cd32bc299b039110485721e33a46832892d",
    "source_locator_sha256": "894861828d133d097ae4c1100bae44f35e483a3f734c81e75d31029e13e6e65a",
    "measurement_sha256": "0493225ba0948adf4dc0d65baa0ead8274d41ad1690e79be7bd29d62d4a443f3",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "shutter-island-2010",
    "title": "Shutter Island",
    "year": 2010,
    "primary_genre": "Thriller",
    "writers": [
      "Laeta Kalogridis"
    ],
    "pages": 136,
    "scenes": 24,
    "mean_scene_eighths": 46.4,
    "median_scene_eighths": 36.5,
    "median_scene_lines": 251,
    "interior_share_pct": 41.7,
    "day_share_pct": 100,
    "unique_locations": 23,
    "location_changes": 23,
    "speaking_characters": 1,
    "single_line_characters": 0,
    "dialogue_blocks": 683,
    "dialogue_words": 1177,
    "dialogue_action_ratio": 0.17,
    "monologues": 0,
    "top_character_pct": 0.7,
    "dialogue_line_share_pct": 15,
    "action_line_share_pct": 84,
    "words": 22528,
    "runtime_minutes": 160,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "0493225ba0948adf4dc0d65baa0ead8274d41ad1690e79be7bd29d62d4a443f3",
      "source_sha256": "cc6a16c0f6a6bf47efaf6e2e1c391cd32bc299b039110485721e33a46832892d",
      "pdf_pages": [
        3
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/shutter-island-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "cc6a16c0f6a6bf47efaf6e2e1c391cd32bc299b039110485721e33a46832892d",
      "measurement_sha256": "0493225ba0948adf4dc0d65baa0ead8274d41ad1690e79be7bd29d62d4a443f3",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/shutter-island-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.608Z.",
        "https://www.scriptslug.com/script/shutter-island-2010",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"shutter-island-2010\",\"Shutter Island\",2010,\"Feature\",\"Thriller\",[\"Laeta Kalogridis\"],\"https://www.scriptslug.com/script/shutter-island-2010\",\"894861828d133d097ae4c1100bae44f35e483a3f734c81e75d31029e13e6e65a\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "569f46a13df4f41c2cc7674263f812265faf52c136f0a3f8c210f62f331e9926",
    "source_locator_sha256": "8c09cc7b42ffea7e00996f77ae8d7d2a18abbe6272704c4dca95419225b4b16d",
    "measurement_sha256": "cc5a4191deea48f069c0cdb9757d45b73739af3daa679931abc1cdf09f04ccdd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "sicario-2015",
    "title": "Sicario",
    "year": 2015,
    "primary_genre": "Thriller",
    "writers": [
      "Taylor Sheridan"
    ],
    "pages": 105,
    "scenes": 84,
    "mean_scene_eighths": 9.3,
    "median_scene_eighths": 7.5,
    "median_scene_lines": 51.5,
    "interior_share_pct": 56,
    "day_share_pct": null,
    "unique_locations": 78,
    "location_changes": 81,
    "speaking_characters": 45,
    "single_line_characters": 8,
    "dialogue_blocks": 824,
    "dialogue_words": 7559,
    "dialogue_action_ratio": 1.14,
    "monologues": 18,
    "top_character_pct": 22.7,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 35,
    "words": 20161,
    "runtime_minutes": 107,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "cc5a4191deea48f069c0cdb9757d45b73739af3daa679931abc1cdf09f04ccdd",
      "source_sha256": "569f46a13df4f41c2cc7674263f812265faf52c136f0a3f8c210f62f331e9926",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sicario-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "569f46a13df4f41c2cc7674263f812265faf52c136f0a3f8c210f62f331e9926",
      "measurement_sha256": "cc5a4191deea48f069c0cdb9757d45b73739af3daa679931abc1cdf09f04ccdd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sicario-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.017Z.",
        "https://www.scriptslug.com/script/sicario-2015",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sicario-2015\",\"Sicario\",2015,\"Feature\",\"Thriller\",[\"Taylor Sheridan\"],\"https://www.scriptslug.com/script/sicario-2015\",\"8c09cc7b42ffea7e00996f77ae8d7d2a18abbe6272704c4dca95419225b4b16d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c8a44b5f846f58f2511d6f133da972f0ac920ec609f926ed27e8498115c84e43",
    "source_locator_sha256": "232a31450b9d9acbd6b0c348dd0beae5832047692e9fe3290e6eac09213d341b",
    "measurement_sha256": "bc09cd2b102b0e46031138444888c174ea607524d3930401f21d0a3ae07014ed",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "sicario-day-of-the-soldado-2018",
    "title": "Sicario: Day of the Soldado",
    "year": 2018,
    "primary_genre": "Thriller",
    "writers": [
      "Taylor Sheridan"
    ],
    "pages": 129,
    "scenes": 125,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 36,
    "interior_share_pct": 46.4,
    "day_share_pct": null,
    "unique_locations": 107,
    "location_changes": 120,
    "speaking_characters": 70,
    "single_line_characters": 18,
    "dialogue_blocks": 886,
    "dialogue_words": 8969,
    "dialogue_action_ratio": 0.87,
    "monologues": 22,
    "top_character_pct": 28.6,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 42,
    "words": 28049,
    "runtime_minutes": 131,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sicario-day-of-the-soldado-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c8a44b5f846f58f2511d6f133da972f0ac920ec609f926ed27e8498115c84e43",
      "measurement_sha256": "bc09cd2b102b0e46031138444888c174ea607524d3930401f21d0a3ae07014ed",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sicario-day-of-the-soldado-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.843Z.",
        "https://www.scriptslug.com/script/sicario-day-of-the-soldado-2018",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sicario-day-of-the-soldado-2018\",\"Sicario: Day of the Soldado\",2018,\"Feature\",\"Thriller\",[\"Taylor Sheridan\"],\"https://www.scriptslug.com/script/sicario-day-of-the-soldado-2018\",\"232a31450b9d9acbd6b0c348dd0beae5832047692e9fe3290e6eac09213d341b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "19ac9089fc27465c3be40233a290103691792baa4b51bfef45e676b477da8cf7",
    "source_locator_sha256": "f03346e59e267fbe88154e9591e4cd2c006c496f2d5bc49d6af61d6d13d9475a",
    "measurement_sha256": "6adae26ce3d1f6971befa14b0dff77c18f435cf454ec43db0669a238f370e0f1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "sinister-2012",
    "title": "Sinister",
    "year": 2012,
    "primary_genre": "Horror",
    "writers": [
      "C. Robert Cargill",
      "Scott Derrickson"
    ],
    "pages": 105,
    "scenes": 93,
    "mean_scene_eighths": 8.7,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 81.7,
    "day_share_pct": 41.7,
    "unique_locations": 27,
    "location_changes": 82,
    "speaking_characters": 20,
    "single_line_characters": 7,
    "dialogue_blocks": 690,
    "dialogue_words": 7241,
    "dialogue_action_ratio": 0.85,
    "monologues": 27,
    "top_character_pct": 38.6,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 43,
    "words": 22873,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sinister-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "19ac9089fc27465c3be40233a290103691792baa4b51bfef45e676b477da8cf7",
      "measurement_sha256": "6adae26ce3d1f6971befa14b0dff77c18f435cf454ec43db0669a238f370e0f1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sinister-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.563Z.",
        "https://www.scriptslug.com/script/sinister-2012",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sinister-2012\",\"Sinister\",2012,\"Feature\",\"Horror\",[\"C. Robert Cargill\",\"Scott Derrickson\"],\"https://www.scriptslug.com/script/sinister-2012\",\"f03346e59e267fbe88154e9591e4cd2c006c496f2d5bc49d6af61d6d13d9475a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6d59873234500884a2f5d23961e1b9261c48f675a41019bcc78bf8fd6523e059",
    "source_locator_sha256": "6210dc3ec26ffc510a355d63e1cd6f164787b4473ea455a410b8bfcaed3c02f8",
    "measurement_sha256": "924412d2522eebcd215c88afc4e9d493639845fb820064662393e2833db2c0d2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "sinners-2025",
    "title": "Sinners",
    "year": 2025,
    "primary_genre": "Horror",
    "writers": [
      "Ryan Coogler"
    ],
    "pages": 127,
    "scenes": 110,
    "mean_scene_eighths": 8.9,
    "median_scene_eighths": 6,
    "median_scene_lines": 39.5,
    "interior_share_pct": 58.2,
    "day_share_pct": 39.3,
    "unique_locations": 35,
    "location_changes": 84,
    "speaking_characters": 58,
    "single_line_characters": 22,
    "dialogue_blocks": 1052,
    "dialogue_words": 10640,
    "dialogue_action_ratio": 1.37,
    "monologues": 23,
    "top_character_pct": 16.9,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 32,
    "words": 23627,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sinners-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6d59873234500884a2f5d23961e1b9261c48f675a41019bcc78bf8fd6523e059",
      "measurement_sha256": "924412d2522eebcd215c88afc4e9d493639845fb820064662393e2833db2c0d2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sinners-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.813Z.",
        "https://www.scriptslug.com/script/sinners-2025",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sinners-2025\",\"Sinners\",2025,\"Feature\",\"Horror\",[\"Ryan Coogler\"],\"https://www.scriptslug.com/script/sinners-2025\",\"6210dc3ec26ffc510a355d63e1cd6f164787b4473ea455a410b8bfcaed3c02f8\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "88321d77deee3a80b35dc91d98b1fc42f8bf527d95e6172021201befa10d3c5a",
    "source_locator_sha256": "82d7ceabd214407eef4a048d5a31698e908a7d6672b66170d21f566c12eff402",
    "measurement_sha256": "93bcf3ea19edcda133d9e9a2db85c67f04083a1d1973e7b3b42e5747376396bb",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "skyfall-2012",
    "title": "Skyfall",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "John Logan",
      "Neal Purvis",
      "Robert Wade"
    ],
    "pages": 139,
    "scenes": 203,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 61.6,
    "day_share_pct": 63.8,
    "unique_locations": 83,
    "location_changes": 156,
    "speaking_characters": 20,
    "single_line_characters": 4,
    "dialogue_blocks": 714,
    "dialogue_words": 6491,
    "dialogue_action_ratio": 0.59,
    "monologues": 20,
    "top_character_pct": 20.7,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 50,
    "words": 23804,
    "runtime_minutes": 129,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/skyfall-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "88321d77deee3a80b35dc91d98b1fc42f8bf527d95e6172021201befa10d3c5a",
      "measurement_sha256": "93bcf3ea19edcda133d9e9a2db85c67f04083a1d1973e7b3b42e5747376396bb",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/skyfall-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.972Z.",
        "https://www.scriptslug.com/script/skyfall-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"skyfall-2012\",\"Skyfall\",2012,\"Feature\",\"Action\",[\"John Logan\",\"Neal Purvis\",\"Robert Wade\"],\"https://www.scriptslug.com/script/skyfall-2012\",\"82d7ceabd214407eef4a048d5a31698e908a7d6672b66170d21f566c12eff402\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f860dc2941756327670d462f2ec710a8190d87fdd490a170a1410533d0788f7c",
    "source_locator_sha256": "23b355e351ffbf22135abab8a9bc722aec341a3de95c5b337df77cc1acbe4d05",
    "measurement_sha256": "3568a8440efaa19efb476f82fda21f73c8facf256917b7f8d103397846df8f84",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "snow-white-and-the-huntsman-2012",
    "title": "Snow White and the Huntsman",
    "year": 2012,
    "primary_genre": "Fantasy",
    "writers": [
      "Evan Daugherty",
      "Hossein Amini",
      "John Lee Hancock"
    ],
    "pages": 147,
    "scenes": 142,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 34.5,
    "day_share_pct": 73.3,
    "unique_locations": 86,
    "location_changes": 137,
    "speaking_characters": 41,
    "single_line_characters": 8,
    "dialogue_blocks": 758,
    "dialogue_words": 6364,
    "dialogue_action_ratio": 0.59,
    "monologues": 5,
    "top_character_pct": 22.9,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 50,
    "words": 25900,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/snow-white-and-the-huntsman-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f860dc2941756327670d462f2ec710a8190d87fdd490a170a1410533d0788f7c",
      "measurement_sha256": "3568a8440efaa19efb476f82fda21f73c8facf256917b7f8d103397846df8f84",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/snow-white-and-the-huntsman-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.215Z.",
        "https://www.scriptslug.com/script/snow-white-and-the-huntsman-2012",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"snow-white-and-the-huntsman-2012\",\"Snow White and the Huntsman\",2012,\"Feature\",\"Fantasy\",[\"Evan Daugherty\",\"Hossein Amini\",\"John Lee Hancock\"],\"https://www.scriptslug.com/script/snow-white-and-the-huntsman-2012\",\"23b355e351ffbf22135abab8a9bc722aec341a3de95c5b337df77cc1acbe4d05\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c18ba5fe26e081c842ecf45b01e847695744ad71f0f1821e9b71b4ec6312a5b1",
    "source_locator_sha256": "be474b6c4a7baa613927ad473828252108a5bece76c1478b9bf514153734c108",
    "measurement_sha256": "54c0b349a659b66447e70f44007b11a51424c43c262749ad6effb1e49f6a777a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "sorry-baby-2025",
    "title": "Sorry, Baby",
    "year": 2025,
    "primary_genre": "Comedy",
    "writers": [
      "Eva Victor"
    ],
    "pages": 117,
    "scenes": 88,
    "mean_scene_eighths": 10.4,
    "median_scene_eighths": 5,
    "median_scene_lines": 35.5,
    "interior_share_pct": 68.2,
    "day_share_pct": 50.7,
    "unique_locations": 37,
    "location_changes": 69,
    "speaking_characters": 48,
    "single_line_characters": 14,
    "dialogue_blocks": 1389,
    "dialogue_words": 10329,
    "dialogue_action_ratio": 3.66,
    "monologues": 19,
    "top_character_pct": 36.9,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 14,
    "words": 16418,
    "runtime_minutes": 97,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sorry-baby-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c18ba5fe26e081c842ecf45b01e847695744ad71f0f1821e9b71b4ec6312a5b1",
      "measurement_sha256": "54c0b349a659b66447e70f44007b11a51424c43c262749ad6effb1e49f6a777a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sorry-baby-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.803Z.",
        "https://www.scriptslug.com/script/sorry-baby-2025",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sorry-baby-2025\",\"Sorry, Baby\",2025,\"Feature\",\"Comedy\",[\"Eva Victor\"],\"https://www.scriptslug.com/script/sorry-baby-2025\",\"be474b6c4a7baa613927ad473828252108a5bece76c1478b9bf514153734c108\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c25e38a0dedfe6767923cc7bc4feebe43325f6bb362d4326ed435ec265a03878",
    "source_locator_sha256": "1297abc6a4408ac8a43f7ee3d13f46b23ee5ee0378a1d4b41a1deafc27242f0a",
    "measurement_sha256": "2f5f44c6cb3960659141714b8f7f90d7bf481d3459e0b98a36c7a20accc9ffaf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "soul-2020",
    "title": "Soul",
    "year": 2020,
    "primary_genre": "Animation/Family",
    "writers": [
      "Pete Docter",
      "Mike Jones",
      "Kemp Powers"
    ],
    "pages": 127,
    "scenes": 89,
    "mean_scene_eighths": 12.3,
    "median_scene_eighths": 9,
    "median_scene_lines": 63,
    "interior_share_pct": 48.3,
    "day_share_pct": null,
    "unique_locations": 68,
    "location_changes": 87,
    "speaking_characters": 84,
    "single_line_characters": 41,
    "dialogue_blocks": 1078,
    "dialogue_words": 9385,
    "dialogue_action_ratio": 0.96,
    "monologues": 8,
    "top_character_pct": 35.1,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 40,
    "words": 23951,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/soul-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c25e38a0dedfe6767923cc7bc4feebe43325f6bb362d4326ed435ec265a03878",
      "measurement_sha256": "2f5f44c6cb3960659141714b8f7f90d7bf481d3459e0b98a36c7a20accc9ffaf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/soul-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.399Z.",
        "https://www.scriptslug.com/script/soul-2020",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"soul-2020\",\"Soul\",2020,\"Feature\",\"Animation/Family\",[\"Pete Docter\",\"Mike Jones\",\"Kemp Powers\"],\"https://www.scriptslug.com/script/soul-2020\",\"1297abc6a4408ac8a43f7ee3d13f46b23ee5ee0378a1d4b41a1deafc27242f0a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "2df1c8c750644f1b2cd514837cdda8f729b99f7e20f5ae3ddb0210578c0aa8e9",
    "source_locator_sha256": "6267d9ea07a7beef0b194b39ff70f86349d9f7e899b04ac823e501987ca7706d",
    "measurement_sha256": "e776a8b17615145b6ee79770323424b2e1f7fab4fc8f9d80bdff1ec9f6ee4ff9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "spectre-2015",
    "title": "Spectre",
    "year": 2015,
    "primary_genre": "Action",
    "writers": [
      "John Logan",
      "Neal Purvis",
      "Robert Wade"
    ],
    "pages": 142,
    "scenes": 163,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 55.8,
    "day_share_pct": 68.3,
    "unique_locations": 111,
    "location_changes": 145,
    "speaking_characters": 78,
    "single_line_characters": 49,
    "dialogue_blocks": 1086,
    "dialogue_words": 8115,
    "dialogue_action_ratio": 0.83,
    "monologues": 15,
    "top_character_pct": 17.3,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 44,
    "words": 24321,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/spectre-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2df1c8c750644f1b2cd514837cdda8f729b99f7e20f5ae3ddb0210578c0aa8e9",
      "measurement_sha256": "e776a8b17615145b6ee79770323424b2e1f7fab4fc8f9d80bdff1ec9f6ee4ff9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/spectre-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.940Z.",
        "https://www.scriptslug.com/script/spectre-2015",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"spectre-2015\",\"Spectre\",2015,\"Feature\",\"Action\",[\"John Logan\",\"Neal Purvis\",\"Robert Wade\"],\"https://www.scriptslug.com/script/spectre-2015\",\"6267d9ea07a7beef0b194b39ff70f86349d9f7e899b04ac823e501987ca7706d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3bb989a6571357d30d8ed5df5cf1b6e52738f1f693f62db19f62c0f67c114266",
    "source_locator_sha256": "5fef19c4f65d2bbba81a25e4b0c97bb1a90c86c033cf3ef43b49436503179271",
    "measurement_sha256": "1340dad0a3e52347754d4ed10069bc9a8e2abda9492bf0afb07a85aca3fc5f54",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "speed-racer-2008",
    "title": "Speed Racer",
    "year": 2008,
    "primary_genre": "Action",
    "writers": [
      "Lana Wachowski",
      "Lilly Wachowski"
    ],
    "pages": 163,
    "scenes": 272,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 15.5,
    "interior_share_pct": 61.4,
    "day_share_pct": 33.3,
    "unique_locations": 166,
    "location_changes": 264,
    "speaking_characters": 141,
    "single_line_characters": 83,
    "dialogue_blocks": 1107,
    "dialogue_words": 15478,
    "dialogue_action_ratio": 1.22,
    "monologues": 46,
    "top_character_pct": 15,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 35,
    "words": 36298,
    "runtime_minutes": 156,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/speed-racer-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3bb989a6571357d30d8ed5df5cf1b6e52738f1f693f62db19f62c0f67c114266",
      "measurement_sha256": "1340dad0a3e52347754d4ed10069bc9a8e2abda9492bf0afb07a85aca3fc5f54",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/speed-racer-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:48.283Z.",
        "https://www.scriptslug.com/script/speed-racer-2008",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"speed-racer-2008\",\"Speed Racer\",2008,\"Feature\",\"Action\",[\"Lana Wachowski\",\"Lilly Wachowski\"],\"https://www.scriptslug.com/script/speed-racer-2008\",\"5fef19c4f65d2bbba81a25e4b0c97bb1a90c86c033cf3ef43b49436503179271\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9c5205efb9d02cd4d36466aca2ebd31689d5530a0f0861293800b74e3a72f075",
    "source_locator_sha256": "ded0dbbc151ec95cfad423d759dc4e7a0c01bab1702b3d5743b04cf172eda820",
    "measurement_sha256": "53b6f9bae7e6d23f157d6f3c4619c1db48e92b9075efd5018b087b60c79d535f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "spider-man-across-the-spider-verse-2023",
    "title": "Spider-Man: Across the Spider-Verse",
    "year": 2023,
    "primary_genre": "Animation/Family",
    "writers": [
      "Phil Lord",
      "Christopher Miller",
      "Dave Callaham"
    ],
    "pages": 160,
    "scenes": 49,
    "mean_scene_eighths": 25.9,
    "median_scene_eighths": 11,
    "median_scene_lines": 76,
    "interior_share_pct": 37.8,
    "day_share_pct": 52.2,
    "unique_locations": 41,
    "location_changes": 45,
    "speaking_characters": 89,
    "single_line_characters": 43,
    "dialogue_blocks": 1628,
    "dialogue_words": 12208,
    "dialogue_action_ratio": 1.52,
    "monologues": 7,
    "top_character_pct": 22.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 26331,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/spider-man-across-the-spider-verse-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9c5205efb9d02cd4d36466aca2ebd31689d5530a0f0861293800b74e3a72f075",
      "measurement_sha256": "53b6f9bae7e6d23f157d6f3c4619c1db48e92b9075efd5018b087b60c79d535f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/spider-man-across-the-spider-verse-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.321Z.",
        "https://www.scriptslug.com/script/spider-man-across-the-spider-verse-2023",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"spider-man-across-the-spider-verse-2023\",\"Spider-Man: Across the Spider-Verse\",2023,\"Feature\",\"Animation/Family\",[\"Phil Lord\",\"Christopher Miller\",\"Dave Callaham\"],\"https://www.scriptslug.com/script/spider-man-across-the-spider-verse-2023\",\"ded0dbbc151ec95cfad423d759dc4e7a0c01bab1702b3d5743b04cf172eda820\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1e1fdea0397ef56158c78618b5d7ceb94e505c60490d2bdb8ef4c60ad406dac1",
    "source_locator_sha256": "8d718060e84920958896cbea17520b9bd9cb45a2f26f06a6ac63091e97ee9ec9",
    "measurement_sha256": "94048ad0e1da6c6772cb21b075ba8f7f1ac118b6c0e3eee24eb0b66d2a430eb2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "spider-man-into-the-spider-verse-2018",
    "title": "Spider-Man: Into the Spider-Verse",
    "year": 2018,
    "primary_genre": "Animation/Family",
    "writers": [
      "Phil Lord",
      "Rodney Rothman"
    ],
    "pages": 132,
    "scenes": 112,
    "mean_scene_eighths": 8.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 36.5,
    "interior_share_pct": 61.2,
    "day_share_pct": 48.9,
    "unique_locations": 68,
    "location_changes": 97,
    "speaking_characters": 83,
    "single_line_characters": 44,
    "dialogue_blocks": 1100,
    "dialogue_words": 8814,
    "dialogue_action_ratio": 1.15,
    "monologues": 6,
    "top_character_pct": 25.1,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 33,
    "words": 23961,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "94048ad0e1da6c6772cb21b075ba8f7f1ac118b6c0e3eee24eb0b66d2a430eb2",
      "source_sha256": "1e1fdea0397ef56158c78618b5d7ceb94e505c60490d2bdb8ef4c60ad406dac1",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/spider-man-into-the-spider-verse-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1e1fdea0397ef56158c78618b5d7ceb94e505c60490d2bdb8ef4c60ad406dac1",
      "measurement_sha256": "94048ad0e1da6c6772cb21b075ba8f7f1ac118b6c0e3eee24eb0b66d2a430eb2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/spider-man-into-the-spider-verse-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.937Z.",
        "https://www.scriptslug.com/script/spider-man-into-the-spider-verse-2018",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"spider-man-into-the-spider-verse-2018\",\"Spider-Man: Into the Spider-Verse\",2018,\"Feature\",\"Animation/Family\",[\"Phil Lord\",\"Rodney Rothman\"],\"https://www.scriptslug.com/script/spider-man-into-the-spider-verse-2018\",\"8d718060e84920958896cbea17520b9bd9cb45a2f26f06a6ac63091e97ee9ec9\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7605b000595fd643c3bd3eba7879ae00d24b7b162485e484ba9d663cb9f90b9d",
    "source_locator_sha256": "7d8a3edd6fe98a308e6a0a8d1b764c3b4fb11b3bd410e469111dadbc50746044",
    "measurement_sha256": "553094a3bbe638702f71bdfe0cf468f8e033890be8c1b4896e72375f263ddcdd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "spider-man-no-way-home-2021",
    "title": "Spider-Man: No Way Home",
    "year": 2021,
    "primary_genre": "Action",
    "writers": [
      "Chris McKenna",
      "Erik Sommers"
    ],
    "pages": 182,
    "scenes": 196,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 43.9,
    "day_share_pct": 44.4,
    "unique_locations": 44,
    "location_changes": 119,
    "speaking_characters": 81,
    "single_line_characters": 31,
    "dialogue_blocks": 1698,
    "dialogue_words": 12588,
    "dialogue_action_ratio": 1.45,
    "monologues": 22,
    "top_character_pct": 26.3,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 28,
    "words": 30816,
    "runtime_minutes": 142,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "553094a3bbe638702f71bdfe0cf468f8e033890be8c1b4896e72375f263ddcdd",
      "source_sha256": "7605b000595fd643c3bd3eba7879ae00d24b7b162485e484ba9d663cb9f90b9d",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/spider-man-no-way-home-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7605b000595fd643c3bd3eba7879ae00d24b7b162485e484ba9d663cb9f90b9d",
      "measurement_sha256": "553094a3bbe638702f71bdfe0cf468f8e033890be8c1b4896e72375f263ddcdd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/spider-man-no-way-home-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.198Z.",
        "https://www.scriptslug.com/script/spider-man-no-way-home-2021",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"spider-man-no-way-home-2021\",\"Spider-Man: No Way Home\",2021,\"Feature\",\"Action\",[\"Chris McKenna\",\"Erik Sommers\"],\"https://www.scriptslug.com/script/spider-man-no-way-home-2021\",\"7d8a3edd6fe98a308e6a0a8d1b764c3b4fb11b3bd410e469111dadbc50746044\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "fbe7985bb302fd44643b21094df4de4e1bfe493dcf23560284146d4ca4d56959",
    "source_locator_sha256": "1c1be66a1013f9fa5c218ca80d8b224ef5e46bbd8cec9773bff9ae7943b12cb4",
    "measurement_sha256": "8eb18909c5f4cbb65aa2b9c94d367f4a8de1671c737e3be4002cbc767b1983ff",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "spy-kids-2001",
    "title": "Spy Kids",
    "year": 2001,
    "primary_genre": "Animation/Family",
    "writers": [
      "Robert Rodriguez"
    ],
    "pages": 109,
    "scenes": 31,
    "mean_scene_eighths": 28.8,
    "median_scene_eighths": 19,
    "median_scene_lines": 133,
    "interior_share_pct": 74.2,
    "day_share_pct": 85,
    "unique_locations": 3,
    "location_changes": 11,
    "speaking_characters": 69,
    "single_line_characters": 36,
    "dialogue_blocks": 1058,
    "dialogue_words": 8859,
    "dialogue_action_ratio": 1.47,
    "monologues": 13,
    "top_character_pct": 17.6,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 30,
    "words": 20961,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/spy-kids-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fbe7985bb302fd44643b21094df4de4e1bfe493dcf23560284146d4ca4d56959",
      "measurement_sha256": "8eb18909c5f4cbb65aa2b9c94d367f4a8de1671c737e3be4002cbc767b1983ff",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/spy-kids-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.307Z.",
        "https://www.scriptslug.com/script/spy-kids-2001",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"spy-kids-2001\",\"Spy Kids\",2001,\"Feature\",\"Animation/Family\",[\"Robert Rodriguez\"],\"https://www.scriptslug.com/script/spy-kids-2001\",\"1c1be66a1013f9fa5c218ca80d8b224ef5e46bbd8cec9773bff9ae7943b12cb4\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "b95c2053034d99c2d50f3bc36b1b08a1e777ef8953ca18e68c9e57b4a4bfe6e0",
    "source_locator_sha256": "621f50872b1541d8cadd336efc3d916b1685111bba0b35ac2ffbaae193f89a4a",
    "measurement_sha256": "fdde390634e9a9266d332d63f2c0ee24846875fd22ccb1d7af99964ebdee7ed7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "stardust-2007",
    "title": "Stardust",
    "year": 2007,
    "primary_genre": "Fantasy",
    "writers": [
      "Jane Goldman",
      "Matthew Vaughn"
    ],
    "pages": 110,
    "scenes": 70,
    "mean_scene_eighths": 9.9,
    "median_scene_eighths": 5,
    "median_scene_lines": 35,
    "interior_share_pct": 40.7,
    "day_share_pct": 80,
    "unique_locations": 40,
    "location_changes": 57,
    "speaking_characters": 49,
    "single_line_characters": 13,
    "dialogue_blocks": 451,
    "dialogue_words": 6194,
    "dialogue_action_ratio": 0.52,
    "monologues": 20,
    "top_character_pct": 23.3,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 55,
    "words": 25710,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/stardust-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b95c2053034d99c2d50f3bc36b1b08a1e777ef8953ca18e68c9e57b4a4bfe6e0",
      "measurement_sha256": "fdde390634e9a9266d332d63f2c0ee24846875fd22ccb1d7af99964ebdee7ed7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/stardust-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.939Z.",
        "https://www.scriptslug.com/script/stardust-2007",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"stardust-2007\",\"Stardust\",2007,\"Feature\",\"Fantasy\",[\"Jane Goldman\",\"Matthew Vaughn\"],\"https://www.scriptslug.com/script/stardust-2007\",\"621f50872b1541d8cadd336efc3d916b1685111bba0b35ac2ffbaae193f89a4a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "401884677efcbb2566e963808510cebf7234f96136e1148119861964778543f4",
    "source_locator_sha256": "dea74773c11ff035ab4d58cc24838c6ba14f54889944ee15910f441ded223adf",
    "measurement_sha256": "0ab3cb3017e3abf163c8c704f1a60d7b075253602a22902b4704822613f712d4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "step-back-doors-closing-2026",
    "title": "Step Back, Doors Closing",
    "year": 2026,
    "primary_genre": "Drama",
    "writers": [
      "Carter Ward"
    ],
    "pages": 98,
    "scenes": 64,
    "mean_scene_eighths": 12,
    "median_scene_eighths": 6,
    "median_scene_lines": 44,
    "interior_share_pct": 56.3,
    "day_share_pct": 37.5,
    "unique_locations": 32,
    "location_changes": 40,
    "speaking_characters": 27,
    "single_line_characters": 13,
    "dialogue_blocks": 973,
    "dialogue_words": 10885,
    "dialogue_action_ratio": 3.15,
    "monologues": 41,
    "top_character_pct": 47.6,
    "dialogue_line_share_pct": 56,
    "action_line_share_pct": 18,
    "words": 17314,
    "runtime_minutes": 101,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "0ab3cb3017e3abf163c8c704f1a60d7b075253602a22902b4704822613f712d4",
      "source_sha256": "401884677efcbb2566e963808510cebf7234f96136e1148119861964778543f4",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/step-back-doors-closing-2026",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "401884677efcbb2566e963808510cebf7234f96136e1148119861964778543f4",
      "measurement_sha256": "0ab3cb3017e3abf163c8c704f1a60d7b075253602a22902b4704822613f712d4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/step-back-doors-closing-2026",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.547Z.",
        "https://www.scriptslug.com/script/step-back-doors-closing-2026",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"step-back-doors-closing-2026\",\"Step Back, Doors Closing\",2026,\"Feature\",\"Drama\",[\"Carter Ward\"],\"https://www.scriptslug.com/script/step-back-doors-closing-2026\",\"dea74773c11ff035ab4d58cc24838c6ba14f54889944ee15910f441ded223adf\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e89107818861acfd3d0e4bcb5f43422cc1e578490c9e39c66a8fc88cc6ebb931",
    "source_locator_sha256": "3826cbd7ea79905505d450d1d2541597253bc14cda0d30a13dbd1185b0d032a2",
    "measurement_sha256": "07751904c3623e668012301497b6f5d933b23771cc7247dfd461b42ae3b47d98",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "step-brothers-2008",
    "title": "Step Brothers",
    "year": 2008,
    "primary_genre": "Comedy",
    "writers": [
      "Will Ferrell",
      "Adam McKay"
    ],
    "pages": 128,
    "scenes": 120,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 30.5,
    "interior_share_pct": 69.2,
    "day_share_pct": 33.3,
    "unique_locations": 80,
    "location_changes": 113,
    "speaking_characters": 55,
    "single_line_characters": 21,
    "dialogue_blocks": 1045,
    "dialogue_words": 14056,
    "dialogue_action_ratio": 3.48,
    "monologues": 55,
    "top_character_pct": 24.5,
    "dialogue_line_share_pct": 57,
    "action_line_share_pct": 16,
    "words": 22666,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "07751904c3623e668012301497b6f5d933b23771cc7247dfd461b42ae3b47d98",
      "source_sha256": "e89107818861acfd3d0e4bcb5f43422cc1e578490c9e39c66a8fc88cc6ebb931",
      "pdf_pages": [
        42,
        43
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A camera direction is classified as a speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/step-brothers-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e89107818861acfd3d0e4bcb5f43422cc1e578490c9e39c66a8fc88cc6ebb931",
      "measurement_sha256": "07751904c3623e668012301497b6f5d933b23771cc7247dfd461b42ae3b47d98",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/step-brothers-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.126Z.",
        "https://www.scriptslug.com/script/step-brothers-2008",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"step-brothers-2008\",\"Step Brothers\",2008,\"Feature\",\"Comedy\",[\"Will Ferrell\",\"Adam McKay\"],\"https://www.scriptslug.com/script/step-brothers-2008\",\"3826cbd7ea79905505d450d1d2541597253bc14cda0d30a13dbd1185b0d032a2\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "78dcf6167f3f79635cf7bcdb637dfd0c37d891deaa43291dd30dbbc83e3ceaf6",
    "source_locator_sha256": "88a5c1893c38e3d3eb2dbe30f6e9ddeada9c7274f23da063aa0232c458ed02d5",
    "measurement_sha256": "d1cccab48a2b228e435d7137d9b788dcd748753f7beabab8556ce03c00c30e0b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "suicide-squad-2016",
    "title": "Suicide Squad",
    "year": 2016,
    "primary_genre": "Action",
    "writers": [
      "David Ayer"
    ],
    "pages": 130,
    "scenes": 159,
    "mean_scene_eighths": 6.5,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 63.2,
    "day_share_pct": 24.8,
    "unique_locations": 60,
    "location_changes": 110,
    "speaking_characters": 54,
    "single_line_characters": 21,
    "dialogue_blocks": 856,
    "dialogue_words": 8446,
    "dialogue_action_ratio": 0.69,
    "monologues": 18,
    "top_character_pct": 22.2,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 47,
    "words": 30654,
    "runtime_minutes": 140,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/suicide-squad-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "78dcf6167f3f79635cf7bcdb637dfd0c37d891deaa43291dd30dbbc83e3ceaf6",
      "measurement_sha256": "d1cccab48a2b228e435d7137d9b788dcd748753f7beabab8556ce03c00c30e0b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/suicide-squad-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.361Z.",
        "https://www.scriptslug.com/script/suicide-squad-2016",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"suicide-squad-2016\",\"Suicide Squad\",2016,\"Feature\",\"Action\",[\"David Ayer\"],\"https://www.scriptslug.com/script/suicide-squad-2016\",\"88a5c1893c38e3d3eb2dbe30f6e9ddeada9c7274f23da063aa0232c458ed02d5\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "14615450b0ddbe35f9b96fe89a407d21b6333eddcd0b999f355e5ee5431f275a",
    "source_locator_sha256": "8f5ae013023af7b2a00035f03a813af4c988d36694456eff8e2cc349a31d642b",
    "measurement_sha256": "f6c543be652f68d5a21d605aec85072772d4a2dfbabb89e87f62c6c1d0926435",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "sunshine-2007",
    "title": "Sunshine",
    "year": 2007,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Alex Garland"
    ],
    "pages": 92,
    "scenes": 111,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 76.6,
    "day_share_pct": 100,
    "unique_locations": 66,
    "location_changes": 107,
    "speaking_characters": 29,
    "single_line_characters": 18,
    "dialogue_blocks": 478,
    "dialogue_words": 5354,
    "dialogue_action_ratio": 1.15,
    "monologues": 22,
    "top_character_pct": 17.5,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 35,
    "words": 14849,
    "runtime_minutes": 88,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/sunshine-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "14615450b0ddbe35f9b96fe89a407d21b6333eddcd0b999f355e5ee5431f275a",
      "measurement_sha256": "f6c543be652f68d5a21d605aec85072772d4a2dfbabb89e87f62c6c1d0926435",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/sunshine-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.807Z.",
        "https://www.scriptslug.com/script/sunshine-2007",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"sunshine-2007\",\"Sunshine\",2007,\"Feature\",\"Sci-Fi\",[\"Alex Garland\"],\"https://www.scriptslug.com/script/sunshine-2007\",\"8f5ae013023af7b2a00035f03a813af4c988d36694456eff8e2cc349a31d642b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1040f233e44ad9c64ec92dde00b8d71a4f0fe925f5ff26670043971612157351",
    "source_locator_sha256": "0dad96f5ddd516b3568f47fdb1a1560f4eeb7e9b853ab0c4cc68fb1f35da6af4",
    "measurement_sha256": "119bd53c7aac95cb3491ed3be3560c689ce4fa8d47e4ae2f00ebfbf59a2f3f0a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "super-8-2011",
    "title": "Super 8",
    "year": 2011,
    "primary_genre": "Sci-Fi",
    "writers": [
      "J. J. Abrams"
    ],
    "pages": 121,
    "scenes": 162,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 52.5,
    "day_share_pct": 39.1,
    "unique_locations": 71,
    "location_changes": 133,
    "speaking_characters": 60,
    "single_line_characters": 19,
    "dialogue_blocks": 984,
    "dialogue_words": 8381,
    "dialogue_action_ratio": 1.03,
    "monologues": 10,
    "top_character_pct": 19.6,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 36,
    "words": 26324,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "119bd53c7aac95cb3491ed3be3560c689ce4fa8d47e4ae2f00ebfbf59a2f3f0a",
      "source_sha256": "1040f233e44ad9c64ec92dde00b8d71a4f0fe925f5ff26670043971612157351",
      "pdf_pages": [
        95
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "The continuation of one side of simultaneous dialogue is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/super-8-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1040f233e44ad9c64ec92dde00b8d71a4f0fe925f5ff26670043971612157351",
      "measurement_sha256": "119bd53c7aac95cb3491ed3be3560c689ce4fa8d47e4ae2f00ebfbf59a2f3f0a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/super-8-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.131Z.",
        "https://www.scriptslug.com/script/super-8-2011",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"super-8-2011\",\"Super 8\",2011,\"Feature\",\"Sci-Fi\",[\"J. J. Abrams\"],\"https://www.scriptslug.com/script/super-8-2011\",\"0dad96f5ddd516b3568f47fdb1a1560f4eeb7e9b853ab0c4cc68fb1f35da6af4\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "5b230babdbd8814ac4bf890c9d7b8d20611c760dc307695ab9e4703d9038ece9",
    "source_locator_sha256": "aa73dd0612ac96edce8be9947df29bcc5d12770c61811e41becfd0cc7c3d4964",
    "measurement_sha256": "fb863b7bc9a511dbf78f529f1dbe9f6338f65583ebc0c17e8e8d8e7dcb672e74",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "superbad-2007",
    "title": "Superbad",
    "year": 2007,
    "primary_genre": "Comedy",
    "writers": [
      "Seth Rogen",
      "Evan Goldberg"
    ],
    "pages": 116,
    "scenes": 152,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 30,
    "interior_share_pct": 64.1,
    "day_share_pct": 41.2,
    "unique_locations": 79,
    "location_changes": 125,
    "speaking_characters": 49,
    "single_line_characters": 13,
    "dialogue_blocks": 1065,
    "dialogue_words": 10642,
    "dialogue_action_ratio": 1.97,
    "monologues": 19,
    "top_character_pct": 35.6,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 24,
    "words": 22057,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/superbad-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5b230babdbd8814ac4bf890c9d7b8d20611c760dc307695ab9e4703d9038ece9",
      "measurement_sha256": "fb863b7bc9a511dbf78f529f1dbe9f6338f65583ebc0c17e8e8d8e7dcb672e74",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/superbad-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.110Z.",
        "https://www.scriptslug.com/script/superbad-2007",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"superbad-2007\",\"Superbad\",2007,\"Feature\",\"Comedy\",[\"Seth Rogen\",\"Evan Goldberg\"],\"https://www.scriptslug.com/script/superbad-2007\",\"aa73dd0612ac96edce8be9947df29bcc5d12770c61811e41becfd0cc7c3d4964\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "ae6aa341f89e90ae7ddee6b0ce3ba276751c6db72e12be421f1a89b7fc95bcd6",
    "source_locator_sha256": "e8b50e71d30d4374e3c848d0970a64b69c75a7c7c44ec593055533060fd79411",
    "measurement_sha256": "97b65d6c4d4692535414b3dd41dddc121619549fecb0554cc5aef4f79b4a71d1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "superman-2025",
    "title": "Superman",
    "year": 2025,
    "primary_genre": "Action",
    "writers": [
      "James Gunn"
    ],
    "pages": 133,
    "scenes": 245,
    "mean_scene_eighths": 3.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 62.4,
    "day_share_pct": 78,
    "unique_locations": 59,
    "location_changes": 198,
    "speaking_characters": 67,
    "single_line_characters": 25,
    "dialogue_blocks": 941,
    "dialogue_words": 8424,
    "dialogue_action_ratio": 1.09,
    "monologues": 8,
    "top_character_pct": 16.8,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 35,
    "words": 23843,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/superman-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ae6aa341f89e90ae7ddee6b0ce3ba276751c6db72e12be421f1a89b7fc95bcd6",
      "measurement_sha256": "97b65d6c4d4692535414b3dd41dddc121619549fecb0554cc5aef4f79b4a71d1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/superman-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.826Z.",
        "https://www.scriptslug.com/script/superman-2025",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"superman-2025\",\"Superman\",2025,\"Feature\",\"Action\",[\"James Gunn\"],\"https://www.scriptslug.com/script/superman-2025\",\"e8b50e71d30d4374e3c848d0970a64b69c75a7c7c44ec593055533060fd79411\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f91b6cdd235c690354f1f2bcdb49a0127211e1b3d993d96de7297c8c8dfb0409",
    "source_locator_sha256": "6ea8773ba81220d85f58f4f577cb3ce3f53797ef7f3cd0b49755520e33b3fe87",
    "measurement_sha256": "a483aecfeadbd2fc23b5873236f5b502fbb982fa83940d1a515c58c7d3b2b66f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "surrogates-2009",
    "title": "Surrogates",
    "year": 2009,
    "primary_genre": "Sci-Fi",
    "writers": [
      "John Brancato",
      "Michael Ferris"
    ],
    "pages": 118,
    "scenes": 75,
    "mean_scene_eighths": 10.9,
    "median_scene_eighths": 11,
    "median_scene_lines": 75,
    "interior_share_pct": 64,
    "day_share_pct": 64.8,
    "unique_locations": 54,
    "location_changes": 72,
    "speaking_characters": 59,
    "single_line_characters": 25,
    "dialogue_blocks": 385,
    "dialogue_words": 3454,
    "dialogue_action_ratio": 0.29,
    "monologues": 3,
    "top_character_pct": 29.9,
    "dialogue_line_share_pct": 19,
    "action_line_share_pct": 66,
    "words": 23906,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/surrogates-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f91b6cdd235c690354f1f2bcdb49a0127211e1b3d993d96de7297c8c8dfb0409",
      "measurement_sha256": "a483aecfeadbd2fc23b5873236f5b502fbb982fa83940d1a515c58c7d3b2b66f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/surrogates-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.506Z.",
        "https://www.scriptslug.com/script/surrogates-2009",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"surrogates-2009\",\"Surrogates\",2009,\"Feature\",\"Sci-Fi\",[\"John Brancato\",\"Michael Ferris\"],\"https://www.scriptslug.com/script/surrogates-2009\",\"6ea8773ba81220d85f58f4f577cb3ce3f53797ef7f3cd0b49755520e33b3fe87\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1a18a8ebe1fa399bfe35bc5b5ece8525fe1e373f0a94c6c5100f9c3df614d435",
    "source_locator_sha256": "c7f977a0a490d9d7f7966736d53273f68c70f928260ed595a07ab13a921cfff0",
    "measurement_sha256": "311cb251ecdf179c2ae208419edef8ea7aa14e4179ac084250dd8a1e03092f99",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "t-r-2022",
    "title": "Tár",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Todd Field"
    ],
    "pages": 94,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 57,
    "single_line_characters": 25,
    "dialogue_blocks": 808,
    "dialogue_words": 10386,
    "dialogue_action_ratio": 1.58,
    "monologues": 43,
    "top_character_pct": 52,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 31,
    "words": 21223,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "311cb251ecdf179c2ae208419edef8ea7aa14e4179ac084250dd8a1e03092f99",
      "source_sha256": "1a18a8ebe1fa399bfe35bc5b5ece8525fe1e373f0a94c6c5100f9c3df614d435",
      "pdf_pages": [
        2,
        3
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/tar-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1a18a8ebe1fa399bfe35bc5b5ece8525fe1e373f0a94c6c5100f9c3df614d435",
      "measurement_sha256": "311cb251ecdf179c2ae208419edef8ea7aa14e4179ac084250dd8a1e03092f99",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/tar-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.725Z.",
        "https://www.scriptslug.com/script/tar-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"t-r-2022\",\"Tár\",2022,\"Feature\",\"Drama\",[\"Todd Field\"],\"https://www.scriptslug.com/script/tar-2022\",\"c7f977a0a490d9d7f7966736d53273f68c70f928260ed595a07ab13a921cfff0\"]"
    },
    "measurement_flags": [
      "scene"
    ]
  },
  {
    "source_sha256": "149e876f1ad493b856b19b69e7c88aae455baf55563280296ecb7a11cf840ee5",
    "source_locator_sha256": "340c1f2d024684a2f8988c3c3b6db007ab9f50c36d8892400beddae6277ad527",
    "measurement_sha256": "427a88e59d9a9f9f34f2cf8263e282fac8056df6a23da1789e696af5716a5b45",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "talladega-nights-the-ballad-of-ricky-bobby-2006",
    "title": "Talladega Nights: The Ballad of Ricky Bobby",
    "year": 2006,
    "primary_genre": "Comedy",
    "writers": [
      "Adam McKay",
      "Will Ferrell"
    ],
    "pages": 114,
    "scenes": 157,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 40.1,
    "day_share_pct": 93.8,
    "unique_locations": 131,
    "location_changes": 153,
    "speaking_characters": 260,
    "single_line_characters": 204,
    "dialogue_blocks": 973,
    "dialogue_words": 12223,
    "dialogue_action_ratio": 1.92,
    "monologues": 40,
    "top_character_pct": 18,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 26,
    "words": 23446,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "427a88e59d9a9f9f34f2cf8263e282fac8056df6a23da1789e696af5716a5b45",
      "source_sha256": "149e876f1ad493b856b19b69e7c88aae455baf55563280296ecb7a11cf840ee5",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/talladega-nights-the-ballad-of-ricky-bobby-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "149e876f1ad493b856b19b69e7c88aae455baf55563280296ecb7a11cf840ee5",
      "measurement_sha256": "427a88e59d9a9f9f34f2cf8263e282fac8056df6a23da1789e696af5716a5b45",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/talladega-nights-the-ballad-of-ricky-bobby-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.284Z.",
        "https://www.scriptslug.com/script/talladega-nights-the-ballad-of-ricky-bobby-2006",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"talladega-nights-the-ballad-of-ricky-bobby-2006\",\"Talladega Nights: The Ballad of Ricky Bobby\",2006,\"Feature\",\"Comedy\",[\"Adam McKay\",\"Will Ferrell\"],\"https://www.scriptslug.com/script/talladega-nights-the-ballad-of-ricky-bobby-2006\",\"340c1f2d024684a2f8988c3c3b6db007ab9f50c36d8892400beddae6277ad527\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "724f8c98f5ab179a27151dd50f5a10e06fc05e159d671a78b99cc6dadf632282",
    "source_locator_sha256": "13190fa6c33999c05de0b59b6682176e6cd5d84980d9b818fdc5f2c5b0a4d617",
    "measurement_sha256": "088d883bc06b5c2e0144360f3457d9329d73c3180835eeb701c3edba1d0112f9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "teenage-mutant-ninja-turtles-mutant-mayhem-2023",
    "title": "Teenage Mutant Ninja Turtles: Mutant Mayhem",
    "year": 2023,
    "primary_genre": "Animation/Family",
    "writers": [
      "Seth Rogen",
      "Evan Goldberg",
      "Jeff Rowe",
      "Dan Hernandez",
      "Benji Samit"
    ],
    "pages": 115,
    "scenes": 77,
    "mean_scene_eighths": 11.6,
    "median_scene_eighths": 7,
    "median_scene_lines": 48,
    "interior_share_pct": 51.9,
    "day_share_pct": 11.1,
    "unique_locations": 41,
    "location_changes": 68,
    "speaking_characters": 85,
    "single_line_characters": 39,
    "dialogue_blocks": 1125,
    "dialogue_words": 10173,
    "dialogue_action_ratio": 2.14,
    "monologues": 21,
    "top_character_pct": 15.1,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 23,
    "words": 19017,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/teenage-mutant-ninja-turtles-mutant-mayhem-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "724f8c98f5ab179a27151dd50f5a10e06fc05e159d671a78b99cc6dadf632282",
      "measurement_sha256": "088d883bc06b5c2e0144360f3457d9329d73c3180835eeb701c3edba1d0112f9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/teenage-mutant-ninja-turtles-mutant-mayhem-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.419Z.",
        "https://www.scriptslug.com/script/teenage-mutant-ninja-turtles-mutant-mayhem-2023",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"teenage-mutant-ninja-turtles-mutant-mayhem-2023\",\"Teenage Mutant Ninja Turtles: Mutant Mayhem\",2023,\"Feature\",\"Animation/Family\",[\"Seth Rogen\",\"Evan Goldberg\",\"Jeff Rowe\",\"Dan Hernandez\",\"Benji Samit\"],\"https://www.scriptslug.com/script/teenage-mutant-ninja-turtles-mutant-mayhem-2023\",\"13190fa6c33999c05de0b59b6682176e6cd5d84980d9b818fdc5f2c5b0a4d617\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3fb37cfe1a4aaa60d2dae5315ad578de1887d18eabcee07b982fb5667950dfd2",
    "source_locator_sha256": "db390fea34ebfe82b8739cf9a9a9ac269381fbf0fa9a5882749c548dbbf6ab1a",
    "measurement_sha256": "84313009d224118c01476bd569c65a06e46fb43f7df7300b8ec87b92d8679204",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "tenet-2020",
    "title": "Tenet",
    "year": 2020,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Christopher Nolan"
    ],
    "pages": 148,
    "scenes": 275,
    "mean_scene_eighths": 4.3,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 50.7,
    "day_share_pct": null,
    "unique_locations": 149,
    "location_changes": 263,
    "speaking_characters": 43,
    "single_line_characters": 12,
    "dialogue_blocks": 1296,
    "dialogue_words": 11346,
    "dialogue_action_ratio": 1.34,
    "monologues": 22,
    "top_character_pct": 30.4,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 30,
    "words": 29603,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/tenet-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3fb37cfe1a4aaa60d2dae5315ad578de1887d18eabcee07b982fb5667950dfd2",
      "measurement_sha256": "84313009d224118c01476bd569c65a06e46fb43f7df7300b8ec87b92d8679204",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/tenet-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.651Z.",
        "https://www.scriptslug.com/script/tenet-2020",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"tenet-2020\",\"Tenet\",2020,\"Feature\",\"Sci-Fi\",[\"Christopher Nolan\"],\"https://www.scriptslug.com/script/tenet-2020\",\"db390fea34ebfe82b8739cf9a9a9ac269381fbf0fa9a5882749c548dbbf6ab1a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "368da92ae4eddf03d9f32bca4039a24401e39f062d12f435ce7dfd70bfda0fab",
    "source_locator_sha256": "ef94c2317a8ca02ea846781d61db2fba9052d02b49dc2a2b9f95a7195dcf0bcd",
    "measurement_sha256": "02e97b5abb028d025596fd3d9e795a481eeb93e7c19bf38da6eee671b196e282",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "terminator-genisys-2015",
    "title": "Terminator Genisys",
    "year": 2015,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Laeta Kalogridis",
      "Patrick Lussier"
    ],
    "pages": 130,
    "scenes": 121,
    "mean_scene_eighths": 8.3,
    "median_scene_eighths": 5,
    "median_scene_lines": 36,
    "interior_share_pct": 55.4,
    "day_share_pct": 31,
    "unique_locations": 64,
    "location_changes": 89,
    "speaking_characters": 75,
    "single_line_characters": 31,
    "dialogue_blocks": 808,
    "dialogue_words": 8500,
    "dialogue_action_ratio": 0.72,
    "monologues": 23,
    "top_character_pct": 21.5,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 46,
    "words": 29753,
    "runtime_minutes": 136,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/terminator-genisys-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "368da92ae4eddf03d9f32bca4039a24401e39f062d12f435ce7dfd70bfda0fab",
      "measurement_sha256": "02e97b5abb028d025596fd3d9e795a481eeb93e7c19bf38da6eee671b196e282",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.paramountpictures.com/movies/terminator-genisys",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.461Z.",
        "https://www.scriptslug.com/script/terminator-genisys-2015",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"terminator-genisys-2015\",\"Terminator Genisys\",2015,\"Feature\",\"Sci-Fi\",[\"Laeta Kalogridis\",\"Patrick Lussier\"],\"https://www.scriptslug.com/script/terminator-genisys-2015\",\"ef94c2317a8ca02ea846781d61db2fba9052d02b49dc2a2b9f95a7195dcf0bcd\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "fe37bdaaa6187b5a3a325de6e4a85c7c9126961d8e92f1603e4ddf39c00f344a",
    "source_locator_sha256": "fa25635f4b59ef9ebeffca36648affbc474e9c7be2503cfb6acbd9b7d3a764c7",
    "measurement_sha256": "ff26eb670af8dce47ac4ac69adab503211697d28d743a3e47c3940f040911407",
    "cue_quality": {
      "dialogue_split_suspect": true,
      "character_reasons": [
        "prose-shaped leading cues",
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "the-a-team-2010",
    "title": "The A-Team",
    "year": 2010,
    "primary_genre": "Action",
    "writers": [
      "Lawrence Konner",
      "Mark Rosenthal",
      "Michael Brandt",
      "Derek Haas"
    ],
    "pages": 118,
    "scenes": 3,
    "mean_scene_eighths": 204,
    "median_scene_eighths": 191,
    "median_scene_lines": 1310,
    "interior_share_pct": 0,
    "day_share_pct": null,
    "unique_locations": 2,
    "location_changes": 1,
    "speaking_characters": 6,
    "single_line_characters": 4,
    "dialogue_blocks": 378,
    "dialogue_words": 516,
    "dialogue_action_ratio": 0.13,
    "monologues": 0,
    "top_character_pct": 0.8,
    "dialogue_line_share_pct": 11,
    "action_line_share_pct": 88,
    "words": 18757,
    "runtime_minutes": 127,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "ff26eb670af8dce47ac4ac69adab503211697d28d743a3e47c3940f040911407",
      "source_sha256": "fe37bdaaa6187b5a3a325de6e4a85c7c9126961d8e92f1603e4ddf39c00f344a",
      "pdf_pages": [
        3
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-a-team-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "fe37bdaaa6187b5a3a325de6e4a85c7c9126961d8e92f1603e4ddf39c00f344a",
      "measurement_sha256": "ff26eb670af8dce47ac4ac69adab503211697d28d743a3e47c3940f040911407",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-a-team-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.435Z.",
        "https://www.scriptslug.com/script/the-a-team-2010",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-a-team-2010\",\"The A-Team\",2010,\"Feature\",\"Action\",[\"Lawrence Konner\",\"Mark Rosenthal\",\"Michael Brandt\",\"Derek Haas\"],\"https://www.scriptslug.com/script/the-a-team-2010\",\"fa25635f4b59ef9ebeffca36648affbc474e9c7be2503cfb6acbd9b7d3a764c7\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "039923c094ed826a957cf0f272511876236b1dba9077bf849c9f3c169a53a63b",
    "source_locator_sha256": "22adc986fa1325ce4d9c0269fda5c5373d46dbdd8bdaee0d57b395040ecf7223",
    "measurement_sha256": "3e66355296c46c4ca35538dbab13e72c68026e620e287a325d4dcabf6d16a51c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-apprentice-2024",
    "title": "The Apprentice",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Gabriel Sherman"
    ],
    "pages": 124,
    "scenes": 117,
    "mean_scene_eighths": 8.3,
    "median_scene_eighths": 6,
    "median_scene_lines": 44,
    "interior_share_pct": 76.5,
    "day_share_pct": 72.7,
    "unique_locations": 72,
    "location_changes": 89,
    "speaking_characters": 91,
    "single_line_characters": 36,
    "dialogue_blocks": 1036,
    "dialogue_words": 9706,
    "dialogue_action_ratio": 1.35,
    "monologues": 10,
    "top_character_pct": 34.9,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 31,
    "words": 22807,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-apprentice-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "039923c094ed826a957cf0f272511876236b1dba9077bf849c9f3c169a53a63b",
      "measurement_sha256": "3e66355296c46c4ca35538dbab13e72c68026e620e287a325d4dcabf6d16a51c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-apprentice-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.026Z.",
        "https://www.scriptslug.com/script/the-apprentice-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-apprentice-2024\",\"The Apprentice\",2024,\"Feature\",\"Drama\",[\"Gabriel Sherman\"],\"https://www.scriptslug.com/script/the-apprentice-2024\",\"22adc986fa1325ce4d9c0269fda5c5373d46dbdd8bdaee0d57b395040ecf7223\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e492f8f36eb1d7327d5bc6a8221619cce26b7af1ec107f4fc507403b8e1b4794",
    "source_locator_sha256": "feaf6ea2005ef346a6c8365f3d23f26b4e8238d90445c6fc624db6bcb7a7538c",
    "measurement_sha256": "573707332faf505406b9bdceb09bbe07b44d443b6896fa8203aeb92d1fb2a8b5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-avengers-2012",
    "title": "The Avengers",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "Joss Whedon"
    ],
    "pages": 132,
    "scenes": 220,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 55.5,
    "day_share_pct": 73,
    "unique_locations": 87,
    "location_changes": 216,
    "speaking_characters": 58,
    "single_line_characters": 25,
    "dialogue_blocks": 1102,
    "dialogue_words": 10233,
    "dialogue_action_ratio": 1.55,
    "monologues": 18,
    "top_character_pct": 14.7,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 24428,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-avengers-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e492f8f36eb1d7327d5bc6a8221619cce26b7af1ec107f4fc507403b8e1b4794",
      "measurement_sha256": "573707332faf505406b9bdceb09bbe07b44d443b6896fa8203aeb92d1fb2a8b5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-avengers-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.842Z.",
        "https://www.scriptslug.com/script/the-avengers-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-avengers-2012\",\"The Avengers\",2012,\"Feature\",\"Action\",[\"Joss Whedon\"],\"https://www.scriptslug.com/script/the-avengers-2012\",\"feaf6ea2005ef346a6c8365f3d23f26b4e8238d90445c6fc624db6bcb7a7538c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "593ca0eed3fc67b590df8d11f8213562a9c838367380f4f73c74654e55d73f5b",
    "source_locator_sha256": "e88ef1f5e3d873a0ca1bef1283a3efa25865ef7f9308fddc35423c0de0535167",
    "measurement_sha256": "e284089a1cc9cf45bfafe1973d8f199b47674ba70ad4f7659fceb18ed8d8e2b0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-babadook-2014",
    "title": "The Babadook",
    "year": 2014,
    "primary_genre": "Horror",
    "writers": [
      "Jennifer Kent"
    ],
    "pages": 100,
    "scenes": 119,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 5,
    "median_scene_lines": 36,
    "interior_share_pct": 87,
    "day_share_pct": 55.6,
    "unique_locations": 64,
    "location_changes": 111,
    "speaking_characters": 31,
    "single_line_characters": 8,
    "dialogue_blocks": 658,
    "dialogue_words": 6110,
    "dialogue_action_ratio": 0.72,
    "monologues": 2,
    "top_character_pct": 50.5,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 46,
    "words": 23093,
    "runtime_minutes": 112,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-babadook-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "593ca0eed3fc67b590df8d11f8213562a9c838367380f4f73c74654e55d73f5b",
      "measurement_sha256": "e284089a1cc9cf45bfafe1973d8f199b47674ba70ad4f7659fceb18ed8d8e2b0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-babadook-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.534Z.",
        "https://www.scriptslug.com/script/the-babadook-2014",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-babadook-2014\",\"The Babadook\",2014,\"Feature\",\"Horror\",[\"Jennifer Kent\"],\"https://www.scriptslug.com/script/the-babadook-2014\",\"e88ef1f5e3d873a0ca1bef1283a3efa25865ef7f9308fddc35423c0de0535167\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f983e97f44cb64e28758ada97383fe7338270751282f3936d50332f6627cafea",
    "source_locator_sha256": "b96fc5758021a10eddba84bbe4c28479458e56625921cae8bdf45d26bcc543e4",
    "measurement_sha256": "ae7da2403bae80b3fdf916623a984a78c4ee59c1c926bb02b16d7c1fd33a8fcd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-banshees-of-inisherin-2022",
    "title": "The Banshees of Inisherin",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "Martin McDonagh"
    ],
    "pages": 95,
    "scenes": 172,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 2,
    "median_scene_lines": 11.5,
    "interior_share_pct": 33.7,
    "day_share_pct": 82.1,
    "unique_locations": 36,
    "location_changes": 124,
    "speaking_characters": 17,
    "single_line_characters": 2,
    "dialogue_blocks": 877,
    "dialogue_words": 8740,
    "dialogue_action_ratio": 1.46,
    "monologues": 14,
    "top_character_pct": 39.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 29,
    "words": 20433,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-banshees-of-inisherin-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f983e97f44cb64e28758ada97383fe7338270751282f3936d50332f6627cafea",
      "measurement_sha256": "ae7da2403bae80b3fdf916623a984a78c4ee59c1c926bb02b16d7c1fd33a8fcd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-banshees-of-inisherin-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.481Z.",
        "https://www.scriptslug.com/script/the-banshees-of-inisherin-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-banshees-of-inisherin-2022\",\"The Banshees of Inisherin\",2022,\"Feature\",\"Comedy\",[\"Martin McDonagh\"],\"https://www.scriptslug.com/script/the-banshees-of-inisherin-2022\",\"b96fc5758021a10eddba84bbe4c28479458e56625921cae8bdf45d26bcc543e4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0cc4f0f7622bd2d6b7d13437a0049feca143db6265aba26651990cdf23242515",
    "source_locator_sha256": "a295ded3033d747eb1d4e536dbe39b13df6453ea1a398ad0d02898d996677301",
    "measurement_sha256": "6ee0970aee58c9518b524769c1b1e32e8caf047c70d11c12fbe8114179302fdf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-batman-2022",
    "title": "The Batman",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Matt Reeves",
      "Peter Craig",
      "Mattson Tomlin"
    ],
    "pages": 131,
    "scenes": 90,
    "mean_scene_eighths": 11.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 36.5,
    "interior_share_pct": 57.2,
    "day_share_pct": 12.8,
    "unique_locations": 67,
    "location_changes": 86,
    "speaking_characters": 91,
    "single_line_characters": 42,
    "dialogue_blocks": 924,
    "dialogue_words": 10107,
    "dialogue_action_ratio": 0.89,
    "monologues": 26,
    "top_character_pct": 12.8,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 41,
    "words": 32900,
    "runtime_minutes": 138,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "6ee0970aee58c9518b524769c1b1e32e8caf047c70d11c12fbe8114179302fdf",
      "source_sha256": "0cc4f0f7622bd2d6b7d13437a0049feca143db6265aba26651990cdf23242515",
      "pdf_pages": [
        115
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "Emphatic dialogue is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-batman-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0cc4f0f7622bd2d6b7d13437a0049feca143db6265aba26651990cdf23242515",
      "measurement_sha256": "6ee0970aee58c9518b524769c1b1e32e8caf047c70d11c12fbe8114179302fdf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-batman-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.842Z.",
        "https://www.scriptslug.com/script/the-batman-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-batman-2022\",\"The Batman\",2022,\"Feature\",\"Action\",[\"Matt Reeves\",\"Peter Craig\",\"Mattson Tomlin\"],\"https://www.scriptslug.com/script/the-batman-2022\",\"a295ded3033d747eb1d4e536dbe39b13df6453ea1a398ad0d02898d996677301\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "87a21f5296264e146a476e6fbf972b747f53e953e71397cfbc3f54c147ff7e3d",
    "source_locator_sha256": "71ca9168b2aa28a5a22229af7bc394e4db75ef68c5052fe28763676d63da4389",
    "measurement_sha256": "fb9fe7c29a4f35a07bc6e0f38aa05192bb69887557541bba901902e5a246b240",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-beekeeper-2024",
    "title": "The Beekeeper",
    "year": 2024,
    "primary_genre": "Action",
    "writers": [
      "Kurt Wimmer"
    ],
    "pages": 107,
    "scenes": 108,
    "mean_scene_eighths": 7.7,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 37.5,
    "interior_share_pct": 63,
    "day_share_pct": 56.1,
    "unique_locations": 58,
    "location_changes": 100,
    "speaking_characters": 61,
    "single_line_characters": 19,
    "dialogue_blocks": 838,
    "dialogue_words": 9980,
    "dialogue_action_ratio": 1.48,
    "monologues": 34,
    "top_character_pct": 16.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 30,
    "words": 22211,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-beekeeper-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "87a21f5296264e146a476e6fbf972b747f53e953e71397cfbc3f54c147ff7e3d",
      "measurement_sha256": "fb9fe7c29a4f35a07bc6e0f38aa05192bb69887557541bba901902e5a246b240",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-beekeeper-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.500Z.",
        "https://www.scriptslug.com/script/the-beekeeper-2024",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-beekeeper-2024\",\"The Beekeeper\",2024,\"Feature\",\"Action\",[\"Kurt Wimmer\"],\"https://www.scriptslug.com/script/the-beekeeper-2024\",\"71ca9168b2aa28a5a22229af7bc394e4db75ef68c5052fe28763676d63da4389\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4e7b274a5cddc6b077dc116f3171c7e0f81e1a5a1d49f9dce1238b10906e80f1",
    "source_locator_sha256": "7f12bb7d4be0ec869172f98dcc9ebd37c35e27261cc048234c7deaa83b1e8e3c",
    "measurement_sha256": "9cd6dc92e37882abdd2625c6a880aa9f73929afd5ea3806a7d1a5037691e9ca4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-bfg-2016",
    "title": "The BFG",
    "year": 2016,
    "primary_genre": "Animation/Family",
    "writers": [
      "Melissa Mathison"
    ],
    "pages": 91,
    "scenes": 134,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 15.5,
    "interior_share_pct": 36.6,
    "day_share_pct": 52.4,
    "unique_locations": 60,
    "location_changes": 125,
    "speaking_characters": 26,
    "single_line_characters": 8,
    "dialogue_blocks": 610,
    "dialogue_words": 5712,
    "dialogue_action_ratio": 0.9,
    "monologues": 17,
    "top_character_pct": 43,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 40,
    "words": 17087,
    "runtime_minutes": 99,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-bfg-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4e7b274a5cddc6b077dc116f3171c7e0f81e1a5a1d49f9dce1238b10906e80f1",
      "measurement_sha256": "9cd6dc92e37882abdd2625c6a880aa9f73929afd5ea3806a7d1a5037691e9ca4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-bfg-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.700Z.",
        "https://www.scriptslug.com/script/the-bfg-2016",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-bfg-2016\",\"The BFG\",2016,\"Feature\",\"Animation/Family\",[\"Melissa Mathison\"],\"https://www.scriptslug.com/script/the-bfg-2016\",\"7f12bb7d4be0ec869172f98dcc9ebd37c35e27261cc048234c7deaa83b1e8e3c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "4fb30b56272d64c95cfa46d656534f06553d368f623eca0fb8eebf125e4caeb3",
    "source_locator_sha256": "3aedc85381804f7ff631236ae0cfc7384aa1bf94e33c52d981d24b7b3d221d41",
    "measurement_sha256": "9f69940ee2834572682db429d19b8f7d01084a4cad410d9f17fa383e7b68c71e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-big-short-2015",
    "title": "The Big Short",
    "year": 2015,
    "primary_genre": "Drama",
    "writers": [
      "Charles Randolph",
      "Adam McKay"
    ],
    "pages": 171,
    "scenes": 153,
    "mean_scene_eighths": 6.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 74.5,
    "day_share_pct": 87.8,
    "unique_locations": 109,
    "location_changes": 146,
    "speaking_characters": 115,
    "single_line_characters": 44,
    "dialogue_blocks": 1099,
    "dialogue_words": 15287,
    "dialogue_action_ratio": 3.14,
    "monologues": 59,
    "top_character_pct": 13,
    "dialogue_line_share_pct": 57,
    "action_line_share_pct": 18,
    "words": 25653,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-big-short-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4fb30b56272d64c95cfa46d656534f06553d368f623eca0fb8eebf125e4caeb3",
      "measurement_sha256": "9f69940ee2834572682db429d19b8f7d01084a4cad410d9f17fa383e7b68c71e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-big-short-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:32.537Z.",
        "https://www.scriptslug.com/script/the-big-short-2015",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-big-short-2015\",\"The Big Short\",2015,\"Feature\",\"Drama\",[\"Charles Randolph\",\"Adam McKay\"],\"https://www.scriptslug.com/script/the-big-short-2015\",\"3aedc85381804f7ff631236ae0cfc7384aa1bf94e33c52d981d24b7b3d221d41\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "275b0947460f093e552fedcae13414e87bf0ee408bd9bea8bf126e67989e09f6",
    "source_locator_sha256": "615ccf2cb9961049f4b2647eb082cd7793f79cfa0dcba99a7323396502fe7780",
    "measurement_sha256": "6ea8b3473cc6a5ac60846cb4e832c82045e62ff2958137de33e1212cfb82f15f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-big-sick-2017",
    "title": "The Big Sick",
    "year": 2017,
    "primary_genre": "Romance",
    "writers": [
      "Emily V. Gordon",
      "Kumail Nanjiani"
    ],
    "pages": 114,
    "scenes": 118,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 6.5,
    "median_scene_lines": 45,
    "interior_share_pct": 90.3,
    "day_share_pct": 26.1,
    "unique_locations": 72,
    "location_changes": 112,
    "speaking_characters": 40,
    "single_line_characters": 9,
    "dialogue_blocks": 1134,
    "dialogue_words": 13475,
    "dialogue_action_ratio": 4.82,
    "monologues": 50,
    "top_character_pct": 38.7,
    "dialogue_line_share_pct": 59,
    "action_line_share_pct": 12,
    "words": 19502,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-big-sick-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "275b0947460f093e552fedcae13414e87bf0ee408bd9bea8bf126e67989e09f6",
      "measurement_sha256": "6ea8b3473cc6a5ac60846cb4e832c82045e62ff2958137de33e1212cfb82f15f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-big-sick-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.621Z.",
        "https://www.scriptslug.com/script/the-big-sick-2017",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-big-sick-2017\",\"The Big Sick\",2017,\"Feature\",\"Romance\",[\"Emily V. Gordon\",\"Kumail Nanjiani\"],\"https://www.scriptslug.com/script/the-big-sick-2017\",\"615ccf2cb9961049f4b2647eb082cd7793f79cfa0dcba99a7323396502fe7780\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c354ee75740483f85cb758ffc04d9a888e42560ad631cba556a9fc2219fb020d",
    "source_locator_sha256": "427b4a66f74a2ff7ca382b26726726c930f98dbfeb3674de2103f57a6e39ab52",
    "measurement_sha256": "62df8e2c86eee721cc937b75e16d3cb8e84bc398b609c69d6b8b0aaa7e13472e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-boss-baby-family-business-2021",
    "title": "The Boss Baby: Family Business",
    "year": 2021,
    "primary_genre": "Animation/Family",
    "writers": [
      "Michael McCullers"
    ],
    "pages": 172,
    "scenes": 11,
    "mean_scene_eighths": 118.8,
    "median_scene_eighths": 50,
    "median_scene_lines": 342,
    "interior_share_pct": 63.6,
    "day_share_pct": 50,
    "unique_locations": 10,
    "location_changes": 10,
    "speaking_characters": 98,
    "single_line_characters": 49,
    "dialogue_blocks": 1739,
    "dialogue_words": 11233,
    "dialogue_action_ratio": 1.44,
    "monologues": 6,
    "top_character_pct": 21.8,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 29,
    "words": 26383,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "62df8e2c86eee721cc937b75e16d3cb8e84bc398b609c69d6b8b0aaa7e13472e",
      "source_sha256": "c354ee75740483f85cb758ffc04d9a888e42560ad631cba556a9fc2219fb020d",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-boss-baby-family-business-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c354ee75740483f85cb758ffc04d9a888e42560ad631cba556a9fc2219fb020d",
      "measurement_sha256": "62df8e2c86eee721cc937b75e16d3cb8e84bc398b609c69d6b8b0aaa7e13472e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-boss-baby-family-business-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.218Z.",
        "https://www.scriptslug.com/script/the-boss-baby-family-business-2021",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-boss-baby-family-business-2021\",\"The Boss Baby: Family Business\",2021,\"Feature\",\"Animation/Family\",[\"Michael McCullers\"],\"https://www.scriptslug.com/script/the-boss-baby-family-business-2021\",\"427b4a66f74a2ff7ca382b26726726c930f98dbfeb3674de2103f57a6e39ab52\"]"
    },
    "measurement_flags": [
      "scene",
      "character"
    ]
  },
  {
    "source_sha256": "13261454cc8dcbfa7aec29da099313bed9463116cca4ade0b70152f653d067a4",
    "source_locator_sha256": "707982033a53f4a367083cecf32739532363de01570c2dcdf4377565a102552c",
    "measurement_sha256": "a883701c094dd0b4cc963385c5563e04a4f020d707bb315214862689ad83e627",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-bourne-identity-2002",
    "title": "The Bourne Identity",
    "year": 2002,
    "primary_genre": "Action",
    "writers": [
      "William Blake Herron",
      "Tony Gilroy"
    ],
    "pages": 108,
    "scenes": 158,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 64.9,
    "day_share_pct": null,
    "unique_locations": 136,
    "location_changes": 155,
    "speaking_characters": 58,
    "single_line_characters": 25,
    "dialogue_blocks": 746,
    "dialogue_words": 7289,
    "dialogue_action_ratio": 0.94,
    "monologues": 19,
    "top_character_pct": 22.3,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 37,
    "words": 22836,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.36,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-bourne-identity-2002",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "13261454cc8dcbfa7aec29da099313bed9463116cca4ade0b70152f653d067a4",
      "measurement_sha256": "a883701c094dd0b4cc963385c5563e04a4f020d707bb315214862689ad83e627",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-bourne-identity-2002",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.066Z.",
        "https://www.scriptslug.com/script/the-bourne-identity-2002",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-bourne-identity-2002\",\"The Bourne Identity\",2002,\"Feature\",\"Action\",[\"William Blake Herron\",\"Tony Gilroy\"],\"https://www.scriptslug.com/script/the-bourne-identity-2002\",\"707982033a53f4a367083cecf32739532363de01570c2dcdf4377565a102552c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b501bd8648e2258c580d0a7038dd908d5f79af47b5db8c67152766f39e58f4ec",
    "source_locator_sha256": "1af27b6b27f48e5751b7f067e9859cce6bd6bcc25e96c587925278fcc599556a",
    "measurement_sha256": "8c6d4b293b1d4b3b73683e3009818c4a90f0b105b1addde82311bd2dcac17753",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-brutalist-2024",
    "title": "The Brutalist",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Mona Fastvold",
      "Brady Corbet"
    ],
    "pages": 131,
    "scenes": 164,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 64.3,
    "day_share_pct": 61.7,
    "unique_locations": 70,
    "location_changes": 106,
    "speaking_characters": 49,
    "single_line_characters": 14,
    "dialogue_blocks": 1117,
    "dialogue_words": 13571,
    "dialogue_action_ratio": 1.7,
    "monologues": 52,
    "top_character_pct": 23.5,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 28,
    "words": 26783,
    "runtime_minutes": 135,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-brutalist-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b501bd8648e2258c580d0a7038dd908d5f79af47b5db8c67152766f39e58f4ec",
      "measurement_sha256": "8c6d4b293b1d4b3b73683e3009818c4a90f0b105b1addde82311bd2dcac17753",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-brutalist-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.392Z.",
        "https://www.scriptslug.com/script/the-brutalist-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-brutalist-2024\",\"The Brutalist\",2024,\"Feature\",\"Drama\",[\"Mona Fastvold\",\"Brady Corbet\"],\"https://www.scriptslug.com/script/the-brutalist-2024\",\"1af27b6b27f48e5751b7f067e9859cce6bd6bcc25e96c587925278fcc599556a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "66085d7ba8dc2143fff25a4c18ca6cec083b0eba39487c36af7a0b6548bd741d",
    "source_locator_sha256": "6a670844bcad239e8e5a1e77232b58a26aa3bd72a0e487451f6117fe751ba487",
    "measurement_sha256": "281f8eb5f81f136f136dfbaf860373c80593a8c56a1fce6509df99e366854b5c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-burial-2023",
    "title": "The Burial",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Maggie Betts",
      "Doug Wright"
    ],
    "pages": 139,
    "scenes": 146,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 70.5,
    "day_share_pct": 83.5,
    "unique_locations": 114,
    "location_changes": 142,
    "speaking_characters": 77,
    "single_line_characters": 32,
    "dialogue_blocks": 1087,
    "dialogue_words": 19315,
    "dialogue_action_ratio": 3.02,
    "monologues": 78,
    "top_character_pct": 26.2,
    "dialogue_line_share_pct": 58,
    "action_line_share_pct": 19,
    "words": 31408,
    "runtime_minutes": 144,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-burial-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "66085d7ba8dc2143fff25a4c18ca6cec083b0eba39487c36af7a0b6548bd741d",
      "measurement_sha256": "281f8eb5f81f136f136dfbaf860373c80593a8c56a1fce6509df99e366854b5c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-burial-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.477Z.",
        "https://www.scriptslug.com/script/the-burial-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-burial-2023\",\"The Burial\",2023,\"Feature\",\"Drama\",[\"Maggie Betts\",\"Doug Wright\"],\"https://www.scriptslug.com/script/the-burial-2023\",\"6a670844bcad239e8e5a1e77232b58a26aa3bd72a0e487451f6117fe751ba487\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9a4e6f0d9f25355652f7e0edb1187f14bad50fc0c750d91fb2c666520c69adbb",
    "source_locator_sha256": "6b38ec26cbbb1b16efb0d80ca1805c95891bf1c187168c56f602db87478a8ace",
    "measurement_sha256": "11f230e54e442f7776b57e780d8906bc9dba0dfdb426b9bff4db9c2163443077",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-cabin-in-the-woods-2012",
    "title": "The Cabin in the Woods",
    "year": 2012,
    "primary_genre": "Horror",
    "writers": [
      "Drew Goddard",
      "Joss Whedon"
    ],
    "pages": 106,
    "scenes": 93,
    "mean_scene_eighths": 9.1,
    "median_scene_eighths": 5,
    "median_scene_lines": 34,
    "interior_share_pct": 69.4,
    "day_share_pct": 20,
    "unique_locations": 49,
    "location_changes": 88,
    "speaking_characters": 50,
    "single_line_characters": 21,
    "dialogue_blocks": 844,
    "dialogue_words": 6745,
    "dialogue_action_ratio": 0.86,
    "monologues": 9,
    "top_character_pct": 14.5,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 40,
    "words": 21967,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.27,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-cabin-in-the-woods-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9a4e6f0d9f25355652f7e0edb1187f14bad50fc0c750d91fb2c666520c69adbb",
      "measurement_sha256": "11f230e54e442f7776b57e780d8906bc9dba0dfdb426b9bff4db9c2163443077",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-cabin-in-the-woods-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.586Z.",
        "https://www.scriptslug.com/script/the-cabin-in-the-woods-2012",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-cabin-in-the-woods-2012\",\"The Cabin in the Woods\",2012,\"Feature\",\"Horror\",[\"Drew Goddard\",\"Joss Whedon\"],\"https://www.scriptslug.com/script/the-cabin-in-the-woods-2012\",\"6b38ec26cbbb1b16efb0d80ca1805c95891bf1c187168c56f602db87478a8ace\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "aeddfc0283c9d31562a0cafc3833cab5ad14cc3738cde99fbc272b5651a3b980",
    "source_locator_sha256": "a0bed124ad6b11a860b855a5c063424f6730de742dd4bcb4192312e8d7a22f8f",
    "measurement_sha256": "978864a13896c1cc5800985b2c105afd0e031d7fcd0907ca336f09d966d95f2c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-card-counter-2021",
    "title": "The Card Counter",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Paul Schrader"
    ],
    "pages": 91,
    "scenes": 86,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 4,
    "median_scene_lines": 29,
    "interior_share_pct": 76.2,
    "day_share_pct": 53.2,
    "unique_locations": 60,
    "location_changes": 78,
    "speaking_characters": 29,
    "single_line_characters": 10,
    "dialogue_blocks": 679,
    "dialogue_words": 7060,
    "dialogue_action_ratio": 1.63,
    "monologues": 29,
    "top_character_pct": 39.2,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 28,
    "words": 15288,
    "runtime_minutes": 92,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "978864a13896c1cc5800985b2c105afd0e031d7fcd0907ca336f09d966d95f2c",
      "source_sha256": "aeddfc0283c9d31562a0cafc3833cab5ad14cc3738cde99fbc272b5651a3b980",
      "pdf_pages": [
        2,
        4
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "The source has legitimate voice-over cues, but extraction produces doubled names and splits voice-over from the same character. Withhold speech/character families until duplicate text and cue identity are resolved.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-card-counter-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "aeddfc0283c9d31562a0cafc3833cab5ad14cc3738cde99fbc272b5651a3b980",
      "measurement_sha256": "978864a13896c1cc5800985b2c105afd0e031d7fcd0907ca336f09d966d95f2c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-card-counter-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:33.116Z.",
        "https://www.scriptslug.com/script/the-card-counter-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-card-counter-2021\",\"The Card Counter\",2021,\"Feature\",\"Drama\",[\"Paul Schrader\"],\"https://www.scriptslug.com/script/the-card-counter-2021\",\"a0bed124ad6b11a860b855a5c063424f6730de742dd4bcb4192312e8d7a22f8f\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "d65a6a7632b51e5c2e09b4349b14833b9c1ad75100148698e6ef6742995e3f1b",
    "source_locator_sha256": "eb552a7993317a4799f83975daa865b1cbb2872bfb7684a97e6d0b14aa2e92e1",
    "measurement_sha256": "dac63c41cab45b880ce421a69ffed980af6af95f08159abe26e2251851ab379b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-color-purple-2023",
    "title": "The Color Purple",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Marcus Gardley"
    ],
    "pages": 118,
    "scenes": 180,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 46.9,
    "day_share_pct": 65.8,
    "unique_locations": 63,
    "location_changes": 132,
    "speaking_characters": 86,
    "single_line_characters": 48,
    "dialogue_blocks": 807,
    "dialogue_words": 9395,
    "dialogue_action_ratio": 1.03,
    "monologues": 21,
    "top_character_pct": 20.8,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 38,
    "words": 25699,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-color-purple-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d65a6a7632b51e5c2e09b4349b14833b9c1ad75100148698e6ef6742995e3f1b",
      "measurement_sha256": "dac63c41cab45b880ce421a69ffed980af6af95f08159abe26e2251851ab379b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-color-purple-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.495Z.",
        "https://www.scriptslug.com/script/the-color-purple-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-color-purple-2023\",\"The Color Purple\",2023,\"Feature\",\"Drama\",[\"Marcus Gardley\"],\"https://www.scriptslug.com/script/the-color-purple-2023\",\"eb552a7993317a4799f83975daa865b1cbb2872bfb7684a97e6d0b14aa2e92e1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "0f80abbc8f4c4f985b6036bb2aae6f04aaa4ede3e1f943a067ccead24d2875f4",
    "source_locator_sha256": "12999c25fc4bfe9259dbcab96a2b71c0988e9d62611669610861d806f359e9ae",
    "measurement_sha256": "fd37428f00a378c5be8cbd6d2bf85de84144c5ceb7c95fd3f4b66ab58e646266",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "the-conjuring-2013",
    "title": "The Conjuring",
    "year": 2013,
    "primary_genre": "Horror",
    "writers": [
      "Chad Hayes",
      "Carey Hayes"
    ],
    "pages": 114,
    "scenes": 189,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 74.1,
    "day_share_pct": 35.6,
    "unique_locations": 65,
    "location_changes": 167,
    "speaking_characters": 36,
    "single_line_characters": 10,
    "dialogue_blocks": 768,
    "dialogue_words": 6811,
    "dialogue_action_ratio": 0.64,
    "monologues": 10,
    "top_character_pct": 21.5,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 47,
    "words": 26858,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-conjuring-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0f80abbc8f4c4f985b6036bb2aae6f04aaa4ede3e1f943a067ccead24d2875f4",
      "measurement_sha256": "fd37428f00a378c5be8cbd6d2bf85de84144c5ceb7c95fd3f4b66ab58e646266",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-conjuring-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.826Z.",
        "https://www.scriptslug.com/script/the-conjuring-2013",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-conjuring-2013\",\"The Conjuring\",2013,\"Feature\",\"Horror\",[\"Chad Hayes\",\"Carey Hayes\"],\"https://www.scriptslug.com/script/the-conjuring-2013\",\"12999c25fc4bfe9259dbcab96a2b71c0988e9d62611669610861d806f359e9ae\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8fa43c259d3ce8b187d5464607212f80fb60592346f2b342866e0aaa5fe95f5f",
    "source_locator_sha256": "c0de3402ee1db19a416b61668e65a0f7a877aaa233c2c4900da5e707c1a4a08d",
    "measurement_sha256": "9469e2c54b48c37a5740923ad9b60d2873770fa5e24319ba2d0419875e2ce668",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-curious-case-of-benjamin-button-2008",
    "title": "The Curious Case of Benjamin Button",
    "year": 2008,
    "primary_genre": "Drama",
    "writers": [
      "Eric Roth"
    ],
    "pages": 199,
    "scenes": 305,
    "mean_scene_eighths": 4.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 66.2,
    "day_share_pct": 42.9,
    "unique_locations": 149,
    "location_changes": 282,
    "speaking_characters": 69,
    "single_line_characters": 23,
    "dialogue_blocks": 1309,
    "dialogue_words": 14369,
    "dialogue_action_ratio": 1.24,
    "monologues": 37,
    "top_character_pct": 17.3,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 33,
    "words": 38592,
    "runtime_minutes": 159,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-curious-case-of-benjamin-button-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8fa43c259d3ce8b187d5464607212f80fb60592346f2b342866e0aaa5fe95f5f",
      "measurement_sha256": "9469e2c54b48c37a5740923ad9b60d2873770fa5e24319ba2d0419875e2ce668",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-curious-case-of-benjamin-button-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.729Z.",
        "https://www.scriptslug.com/script/the-curious-case-of-benjamin-button-2008",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-curious-case-of-benjamin-button-2008\",\"The Curious Case of Benjamin Button\",2008,\"Feature\",\"Drama\",[\"Eric Roth\"],\"https://www.scriptslug.com/script/the-curious-case-of-benjamin-button-2008\",\"c0de3402ee1db19a416b61668e65a0f7a877aaa233c2c4900da5e707c1a4a08d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "16d6b994365d430fe90d1cfcd273d49fc2e7b64ab5f0246d74fea1fef408bac6",
    "source_locator_sha256": "9d2edd6de7ffb06809183c1f601ac5b145879835c43cdf8a9be1592efa9cd28b",
    "measurement_sha256": "dbab9eeb2fcb7245cdc2cdb1fcd9df0d645c5b35e7f9e71ec2f3d00ec0af99e7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-dark-knight-2008",
    "title": "The Dark Knight",
    "year": 2008,
    "primary_genre": "Action",
    "writers": [
      "Jonathan Nolan",
      "Christopher Nolan"
    ],
    "pages": 141,
    "scenes": 388,
    "mean_scene_eighths": 3,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 61.3,
    "day_share_pct": null,
    "unique_locations": 200,
    "location_changes": 368,
    "speaking_characters": 96,
    "single_line_characters": 38,
    "dialogue_blocks": 1180,
    "dialogue_words": 12248,
    "dialogue_action_ratio": 1.44,
    "monologues": 24,
    "top_character_pct": 16.2,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 29,
    "words": 29955,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-dark-knight-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "16d6b994365d430fe90d1cfcd273d49fc2e7b64ab5f0246d74fea1fef408bac6",
      "measurement_sha256": "dbab9eeb2fcb7245cdc2cdb1fcd9df0d645c5b35e7f9e71ec2f3d00ec0af99e7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-dark-knight-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.484Z.",
        "https://www.scriptslug.com/script/the-dark-knight-2008",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-dark-knight-2008\",\"The Dark Knight\",2008,\"Feature\",\"Action\",[\"Jonathan Nolan\",\"Christopher Nolan\"],\"https://www.scriptslug.com/script/the-dark-knight-2008\",\"9d2edd6de7ffb06809183c1f601ac5b145879835c43cdf8a9be1592efa9cd28b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "b03b0a83b91026b8619d5f111b2b7bef017a15953398632d4e436ea731d7665a",
    "source_locator_sha256": "fb5b7226e7da6675a5e0e9e6283845cf70b4eafbeb0b616a74797f5c566801fb",
    "measurement_sha256": "9736a3f225fab473ba188817081fe440de52ac36749f465c10cbe4604cb44ec2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-dark-knight-rises-2012",
    "title": "The Dark Knight Rises",
    "year": 2012,
    "primary_genre": "Action",
    "writers": [
      "Jonathan Nolan",
      "Christopher Nolan"
    ],
    "pages": 165,
    "scenes": 322,
    "mean_scene_eighths": 3.7,
    "median_scene_eighths": 2,
    "median_scene_lines": 11.5,
    "interior_share_pct": 55.3,
    "day_share_pct": 77.6,
    "unique_locations": 134,
    "location_changes": 308,
    "speaking_characters": 104,
    "single_line_characters": 44,
    "dialogue_blocks": 1276,
    "dialogue_words": 13020,
    "dialogue_action_ratio": 1.69,
    "monologues": 28,
    "top_character_pct": 11.5,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 27,
    "words": 29463,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-dark-knight-rises-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b03b0a83b91026b8619d5f111b2b7bef017a15953398632d4e436ea731d7665a",
      "measurement_sha256": "9736a3f225fab473ba188817081fe440de52ac36749f465c10cbe4604cb44ec2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-dark-knight-rises-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.381Z.",
        "https://www.scriptslug.com/script/the-dark-knight-rises-2012",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-dark-knight-rises-2012\",\"The Dark Knight Rises\",2012,\"Feature\",\"Action\",[\"Jonathan Nolan\",\"Christopher Nolan\"],\"https://www.scriptslug.com/script/the-dark-knight-rises-2012\",\"fb5b7226e7da6675a5e0e9e6283845cf70b4eafbeb0b616a74797f5c566801fb\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "871975268a64cc0eacda984aae0d716b1e7a99372bc3825e37668f42ac877e93",
    "source_locator_sha256": "2ee8232d8a01f75dd584f9e8d5bd895552149aacca5247a4e8f8863307ad1138",
    "measurement_sha256": "0cb26f2f02abbcd065ecce48595950042654cecc8414d08d0d5d4bdf36cb8164",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-departed-2006",
    "title": "The Departed",
    "year": 2006,
    "primary_genre": "Crime",
    "writers": [
      "William Monahan"
    ],
    "pages": 153,
    "scenes": 208,
    "mean_scene_eighths": 5.5,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 64.9,
    "day_share_pct": 42.9,
    "unique_locations": 171,
    "location_changes": 206,
    "speaking_characters": 65,
    "single_line_characters": 26,
    "dialogue_blocks": 1249,
    "dialogue_words": 13464,
    "dialogue_action_ratio": 1.83,
    "monologues": 44,
    "top_character_pct": 20.4,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 25,
    "words": 28081,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-departed-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "871975268a64cc0eacda984aae0d716b1e7a99372bc3825e37668f42ac877e93",
      "measurement_sha256": "0cb26f2f02abbcd065ecce48595950042654cecc8414d08d0d5d4bdf36cb8164",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-departed-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:37.537Z.",
        "https://www.scriptslug.com/script/the-departed-2006",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-departed-2006\",\"The Departed\",2006,\"Feature\",\"Crime\",[\"William Monahan\"],\"https://www.scriptslug.com/script/the-departed-2006\",\"2ee8232d8a01f75dd584f9e8d5bd895552149aacca5247a4e8f8863307ad1138\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "79d3aaaf623dfad6a81b2310f9e64ce3f2bf0e06e3983299f452a921c1b4b7d8",
    "source_locator_sha256": "a40300450b163c16fbedb2d5c8cbe382a3a79c78f516abf1a8799b5d9de696c1",
    "measurement_sha256": "b3cf816e7cbda6e996cae87cc4767e83aa0e16ae9917095f1997ca7787ed5099",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-descent-2005",
    "title": "The Descent",
    "year": 2005,
    "primary_genre": "Horror",
    "writers": [
      "Neil Marshall"
    ],
    "pages": 95,
    "scenes": 162,
    "mean_scene_eighths": 4.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 14.5,
    "interior_share_pct": 78.4,
    "day_share_pct": 81.3,
    "unique_locations": 59,
    "location_changes": 97,
    "speaking_characters": 10,
    "single_line_characters": 1,
    "dialogue_blocks": 501,
    "dialogue_words": 3585,
    "dialogue_action_ratio": 0.45,
    "monologues": 1,
    "top_character_pct": 24.4,
    "dialogue_line_share_pct": 23,
    "action_line_share_pct": 52,
    "words": 20308,
    "runtime_minutes": 104,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-descent-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "79d3aaaf623dfad6a81b2310f9e64ce3f2bf0e06e3983299f452a921c1b4b7d8",
      "measurement_sha256": "b3cf816e7cbda6e996cae87cc4767e83aa0e16ae9917095f1997ca7787ed5099",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-descent-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.165Z.",
        "https://www.scriptslug.com/script/the-descent-2005",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-descent-2005\",\"The Descent\",2005,\"Feature\",\"Horror\",[\"Neil Marshall\"],\"https://www.scriptslug.com/script/the-descent-2005\",\"a40300450b163c16fbedb2d5c8cbe382a3a79c78f516abf1a8799b5d9de696c1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ce1ca6d67d0a399e6061fce10a0e32ebbce080cb265a13f10447313b2abb6892",
    "source_locator_sha256": "ba2c22dafd6c3cc8d383c5488bda9d09c79a75a4f278626df1112ca269bea5dc",
    "measurement_sha256": "93440dda9859122265ae0101113bb7eab59399ee5182295be76cd6875fcfaa80",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "the-devil-wears-prada-2006",
    "title": "The Devil Wears Prada",
    "year": 2006,
    "primary_genre": "Comedy",
    "writers": [
      "Peter Hedges",
      "Howard Michael Gould",
      "Paul Rudnick",
      "Don Roos",
      "Aline Brosh McKenna"
    ],
    "pages": 117,
    "scenes": 166,
    "mean_scene_eighths": 5.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 80.1,
    "day_share_pct": 100,
    "unique_locations": 128,
    "location_changes": 156,
    "speaking_characters": 57,
    "single_line_characters": 30,
    "dialogue_blocks": 883,
    "dialogue_words": 10099,
    "dialogue_action_ratio": 1.27,
    "monologues": 19,
    "top_character_pct": 27,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 35,
    "words": 21664,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-devil-wears-prada-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ce1ca6d67d0a399e6061fce10a0e32ebbce080cb265a13f10447313b2abb6892",
      "measurement_sha256": "93440dda9859122265ae0101113bb7eab59399ee5182295be76cd6875fcfaa80",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-devil-wears-prada-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.934Z.",
        "https://www.scriptslug.com/script/the-devil-wears-prada-2006",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-devil-wears-prada-2006\",\"The Devil Wears Prada\",2006,\"Feature\",\"Comedy\",[\"Peter Hedges\",\"Howard Michael Gould\",\"Paul Rudnick\",\"Don Roos\",\"Aline Brosh McKenna\"],\"https://www.scriptslug.com/script/the-devil-wears-prada-2006\",\"ba2c22dafd6c3cc8d383c5488bda9d09c79a75a4f278626df1112ca269bea5dc\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8ca690fa51259d9db63c1f59b8c79c732a1ab89a7a0f7dfb07ed5d0f9d8b86c8",
    "source_locator_sha256": "66ddb28fc5d46e3f6bc036b73d1f1b1fbc0d284b35dfdd4f19da4ca3f0d6f507",
    "measurement_sha256": "defd6dcb4afdaa91c4b6a7746089138a86bce1225cfe0c560aff4b3313174791",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-fabelmans-2022",
    "title": "The Fabelmans",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Tony Kushner",
      "Steven Spielberg"
    ],
    "pages": 145,
    "scenes": 87,
    "mean_scene_eighths": 13.4,
    "median_scene_eighths": 8,
    "median_scene_lines": 55,
    "interior_share_pct": 69,
    "day_share_pct": 52.4,
    "unique_locations": 63,
    "location_changes": 84,
    "speaking_characters": 61,
    "single_line_characters": 26,
    "dialogue_blocks": 1124,
    "dialogue_words": 10399,
    "dialogue_action_ratio": 0.95,
    "monologues": 30,
    "top_character_pct": 21.2,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 38,
    "words": 31433,
    "runtime_minutes": 142,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "defd6dcb4afdaa91c4b6a7746089138a86bce1225cfe0c560aff4b3313174791",
      "source_sha256": "8ca690fa51259d9db63c1f59b8c79c732a1ab89a7a0f7dfb07ed5d0f9d8b86c8",
      "pdf_pages": [
        37
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A wrapped line of simultaneous dialogue is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-fabelmans-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8ca690fa51259d9db63c1f59b8c79c732a1ab89a7a0f7dfb07ed5d0f9d8b86c8",
      "measurement_sha256": "defd6dcb4afdaa91c4b6a7746089138a86bce1225cfe0c560aff4b3313174791",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-fabelmans-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.373Z.",
        "https://www.scriptslug.com/script/the-fabelmans-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-fabelmans-2022\",\"The Fabelmans\",2022,\"Feature\",\"Drama\",[\"Tony Kushner\",\"Steven Spielberg\"],\"https://www.scriptslug.com/script/the-fabelmans-2022\",\"66ddb28fc5d46e3f6bc036b73d1f1b1fbc0d284b35dfdd4f19da4ca3f0d6f507\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "cd85a7b0acd0f53a86ae29ae5a3c61ddbd14194bd2869cfb583fdee14dea858a",
    "source_locator_sha256": "f81ef7275aa984225c2e886868f140641e2eeffc035335bf7d30ff7cca13e6e6",
    "measurement_sha256": "fc6261c125ca8ddc4fd896cbb4ce33ce69fd3cb8b1f065550b41995a1ec457f5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-fault-in-our-stars-2014",
    "title": "The Fault in Our Stars",
    "year": 2014,
    "primary_genre": "Romance",
    "writers": [
      "Michael H. Weber",
      "Scott Neustadter"
    ],
    "pages": 139,
    "scenes": 163,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 72.7,
    "day_share_pct": 67.7,
    "unique_locations": 69,
    "location_changes": 143,
    "speaking_characters": 38,
    "single_line_characters": 15,
    "dialogue_blocks": 1201,
    "dialogue_words": 10460,
    "dialogue_action_ratio": 1.56,
    "monologues": 28,
    "top_character_pct": 39.6,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 24832,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-fault-in-our-stars-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "cd85a7b0acd0f53a86ae29ae5a3c61ddbd14194bd2869cfb583fdee14dea858a",
      "measurement_sha256": "fc6261c125ca8ddc4fd896cbb4ce33ce69fd3cb8b1f065550b41995a1ec457f5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-fault-in-our-stars-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.505Z.",
        "https://www.scriptslug.com/script/the-fault-in-our-stars-2014",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-fault-in-our-stars-2014\",\"The Fault in Our Stars\",2014,\"Feature\",\"Romance\",[\"Michael H. Weber\",\"Scott Neustadter\"],\"https://www.scriptslug.com/script/the-fault-in-our-stars-2014\",\"f81ef7275aa984225c2e886868f140641e2eeffc035335bf7d30ff7cca13e6e6\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1d63bd91c729fca58d28e8420bced674a82d117f707c16a64a21555915cd0b06",
    "source_locator_sha256": "2961f9ca75d726a7a52874873e2c16a69fbbe92f83befee49c0167e72eac4192",
    "measurement_sha256": "4a8c8bfc431f54e9dea9ff54662a65697e1b81a5f1dcfc41c15ccc075e0cecfa",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-french-dispatch-2021",
    "title": "The French Dispatch",
    "year": 2021,
    "primary_genre": "Comedy",
    "writers": [
      "Wes Anderson"
    ],
    "pages": 136,
    "scenes": 57,
    "mean_scene_eighths": 19.1,
    "median_scene_eighths": 12,
    "median_scene_lines": 83,
    "interior_share_pct": 67.5,
    "day_share_pct": null,
    "unique_locations": 50,
    "location_changes": 54,
    "speaking_characters": 56,
    "single_line_characters": 12,
    "dialogue_blocks": 808,
    "dialogue_words": 9509,
    "dialogue_action_ratio": 0.8,
    "monologues": 63,
    "top_character_pct": 16.1,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 45,
    "words": 30555,
    "runtime_minutes": 148,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "4a8c8bfc431f54e9dea9ff54662a65697e1b81a5f1dcfc41c15ccc075e0cecfa",
      "source_sha256": "1d63bd91c729fca58d28e8420bced674a82d117f707c16a64a21555915cd0b06",
      "pdf_pages": [
        3
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-french-dispatch-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1d63bd91c729fca58d28e8420bced674a82d117f707c16a64a21555915cd0b06",
      "measurement_sha256": "4a8c8bfc431f54e9dea9ff54662a65697e1b81a5f1dcfc41c15ccc075e0cecfa",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-french-dispatch-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.012Z.",
        "https://www.scriptslug.com/script/the-french-dispatch-2021",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-french-dispatch-2021\",\"The French Dispatch\",2021,\"Feature\",\"Comedy\",[\"Wes Anderson\"],\"https://www.scriptslug.com/script/the-french-dispatch-2021\",\"2961f9ca75d726a7a52874873e2c16a69fbbe92f83befee49c0167e72eac4192\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e689848cb312bd16383a68c5a75a33ef44529ccd51163ffbe01389fd21ef4fa8",
    "source_locator_sha256": "be9d13a893bdaca124ef55b4b567ad157e8dbe9082284dec28c87cefc27693a1",
    "measurement_sha256": "01c7c2b7ecd07d8c863986cd0d30c1735db39053785ce1b258ae69f8e38ac548",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-girl-with-the-dragon-tattoo-2011",
    "title": "The Girl with the Dragon Tattoo",
    "year": 2011,
    "primary_genre": "Thriller",
    "writers": [
      "Steven Zaillian"
    ],
    "pages": 167,
    "scenes": 150,
    "mean_scene_eighths": 8.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 20,
    "interior_share_pct": 63,
    "day_share_pct": 63.1,
    "unique_locations": 64,
    "location_changes": 116,
    "speaking_characters": 56,
    "single_line_characters": 16,
    "dialogue_blocks": 681,
    "dialogue_words": 6975,
    "dialogue_action_ratio": 0.4,
    "monologues": 24,
    "top_character_pct": 24.7,
    "dialogue_line_share_pct": 24,
    "action_line_share_pct": 61,
    "words": 37361,
    "runtime_minutes": 166,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-girl-with-the-dragon-tattoo-2011",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e689848cb312bd16383a68c5a75a33ef44529ccd51163ffbe01389fd21ef4fa8",
      "measurement_sha256": "01c7c2b7ecd07d8c863986cd0d30c1735db39053785ce1b258ae69f8e38ac548",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-girl-with-the-dragon-tattoo-2011",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.055Z.",
        "https://www.scriptslug.com/script/the-girl-with-the-dragon-tattoo-2011",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-girl-with-the-dragon-tattoo-2011\",\"The Girl with the Dragon Tattoo\",2011,\"Feature\",\"Thriller\",[\"Steven Zaillian\"],\"https://www.scriptslug.com/script/the-girl-with-the-dragon-tattoo-2011\",\"be9d13a893bdaca124ef55b4b567ad157e8dbe9082284dec28c87cefc27693a1\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "30c5bf63fd9aa74b772a17b48ec8f1d76dae479a28c827111c4327611983c3e5",
    "source_locator_sha256": "0b644793e0021ad9eea4584db5b9751c9fb0fda5a43ee86695ebcb7dbb6c0541",
    "measurement_sha256": "bf292b8348008e60c18b799b8a306d5e168558056e5860e3c4146f682827ceb2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-good-nurse-2022",
    "title": "The Good Nurse",
    "year": 2022,
    "primary_genre": "Thriller",
    "writers": [
      "Krysty Wilson-Cairns"
    ],
    "pages": 100,
    "scenes": 92,
    "mean_scene_eighths": 8.4,
    "median_scene_eighths": 5.5,
    "median_scene_lines": 37,
    "interior_share_pct": 87.5,
    "day_share_pct": 63.8,
    "unique_locations": 23,
    "location_changes": 53,
    "speaking_characters": 43,
    "single_line_characters": 11,
    "dialogue_blocks": 854,
    "dialogue_words": 7568,
    "dialogue_action_ratio": 1.31,
    "monologues": 14,
    "top_character_pct": 28.4,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 32,
    "words": 18153,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-good-nurse-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "30c5bf63fd9aa74b772a17b48ec8f1d76dae479a28c827111c4327611983c3e5",
      "measurement_sha256": "bf292b8348008e60c18b799b8a306d5e168558056e5860e3c4146f682827ceb2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-good-nurse-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.816Z.",
        "https://www.scriptslug.com/script/the-good-nurse-2022",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-good-nurse-2022\",\"The Good Nurse\",2022,\"Feature\",\"Thriller\",[\"Krysty Wilson-Cairns\"],\"https://www.scriptslug.com/script/the-good-nurse-2022\",\"0b644793e0021ad9eea4584db5b9751c9fb0fda5a43ee86695ebcb7dbb6c0541\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5c4c7b99a3e5ccf8e775ee247bbd326ef5cf1b6c3cceccaf1c68ee36d20ff442",
    "source_locator_sha256": "92651e899ed695be1399e93b57d94947bb273c763a3321df0740da4d323994cb",
    "measurement_sha256": "9793d821e7ce42a98e4f3b439191ca798b0e8399364430c33daf52ba70c6ee45",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-grand-budapest-hotel-2014",
    "title": "The Grand Budapest Hotel",
    "year": 2014,
    "primary_genre": "Comedy",
    "writers": [
      "Wes Anderson"
    ],
    "pages": 122,
    "scenes": 92,
    "mean_scene_eighths": 9.4,
    "median_scene_eighths": 6,
    "median_scene_lines": 39.5,
    "interior_share_pct": 73.9,
    "day_share_pct": null,
    "unique_locations": 75,
    "location_changes": 91,
    "speaking_characters": 49,
    "single_line_characters": 20,
    "dialogue_blocks": 675,
    "dialogue_words": 5981,
    "dialogue_action_ratio": 0.58,
    "monologues": 18,
    "top_character_pct": 43.4,
    "dialogue_line_share_pct": 28,
    "action_line_share_pct": 49,
    "words": 28953,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.35,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "9793d821e7ce42a98e4f3b439191ca798b0e8399364430c33daf52ba70c6ee45",
      "source_sha256": "5c4c7b99a3e5ccf8e775ee247bbd326ef5cf1b6c3cceccaf1c68ee36d20ff442",
      "pdf_pages": [
        1,
        3,
        5,
        6
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "FYC title-page text is classified as a speaker. Physical page count includes four front-matter pages; no claim of numbered screenplay pages.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-grand-budapest-hotel-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5c4c7b99a3e5ccf8e775ee247bbd326ef5cf1b6c3cceccaf1c68ee36d20ff442",
      "measurement_sha256": "9793d821e7ce42a98e4f3b439191ca798b0e8399364430c33daf52ba70c6ee45",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-grand-budapest-hotel-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.148Z.",
        "https://www.scriptslug.com/script/the-grand-budapest-hotel-2014",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-grand-budapest-hotel-2014\",\"The Grand Budapest Hotel\",2014,\"Feature\",\"Comedy\",[\"Wes Anderson\"],\"https://www.scriptslug.com/script/the-grand-budapest-hotel-2014\",\"92651e899ed695be1399e93b57d94947bb273c763a3321df0740da4d323994cb\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "8f80abfeba7926cb60b8bbebd748461ddcd62ab402dfa87cb8c7ce732b24b609",
    "source_locator_sha256": "0e4ba2503005bcadec157b20bd47b914f92bb9bc195287ca4996e5aef501f46b",
    "measurement_sha256": "7dffa435d611536374a808d94c4489562eb620d83920d4d79fd8879801001447",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-hangover-2009",
    "title": "The Hangover",
    "year": 2009,
    "primary_genre": "Comedy",
    "writers": [
      "Jon Lucas",
      "Scott Moore"
    ],
    "pages": 112,
    "scenes": 83,
    "mean_scene_eighths": 10.3,
    "median_scene_eighths": 4,
    "median_scene_lines": 29,
    "interior_share_pct": 65.1,
    "day_share_pct": null,
    "unique_locations": 69,
    "location_changes": 78,
    "speaking_characters": 47,
    "single_line_characters": 26,
    "dialogue_blocks": 1010,
    "dialogue_words": 9095,
    "dialogue_action_ratio": 1.58,
    "monologues": 14,
    "top_character_pct": 34.1,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 20447,
    "runtime_minutes": 107,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-hangover-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8f80abfeba7926cb60b8bbebd748461ddcd62ab402dfa87cb8c7ce732b24b609",
      "measurement_sha256": "7dffa435d611536374a808d94c4489562eb620d83920d4d79fd8879801001447",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-hangover-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.171Z.",
        "https://www.scriptslug.com/script/the-hangover-2009",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-hangover-2009\",\"The Hangover\",2009,\"Feature\",\"Comedy\",[\"Jon Lucas\",\"Scott Moore\"],\"https://www.scriptslug.com/script/the-hangover-2009\",\"0e4ba2503005bcadec157b20bd47b914f92bb9bc195287ca4996e5aef501f46b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9d86963a835920c820a632df4685713a371e2f8875f2194bfe260c31eab94e7e",
    "source_locator_sha256": "b81b907aa266eb6c8b43c8b5443d23f39f63f0f62a737b4a96f2452dc12fee17",
    "measurement_sha256": "7f0f956d6a6f91058cf9dd0b97f38efea85658e147b72bd619e626762dad99ea",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers"
      ]
    },
    "slug": "the-haunted-mansion-2003",
    "title": "The Haunted Mansion",
    "year": 2003,
    "primary_genre": "Animation/Family",
    "writers": [
      "David Berenbaum"
    ],
    "pages": 109,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 0,
    "single_line_characters": 0,
    "dialogue_blocks": 303,
    "dialogue_words": 765,
    "dialogue_action_ratio": 0.11,
    "monologues": 0,
    "top_character_pct": null,
    "dialogue_line_share_pct": 10,
    "action_line_share_pct": 90,
    "words": 18579,
    "runtime_minutes": 123,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "7f0f956d6a6f91058cf9dd0b97f38efea85658e147b72bd619e626762dad99ea",
      "source_sha256": "9d86963a835920c820a632df4685713a371e2f8875f2194bfe260c31eab94e7e",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-haunted-mansion-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9d86963a835920c820a632df4685713a371e2f8875f2194bfe260c31eab94e7e",
      "measurement_sha256": "7f0f956d6a6f91058cf9dd0b97f38efea85658e147b72bd619e626762dad99ea",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-haunted-mansion-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.924Z.",
        "https://www.scriptslug.com/script/the-haunted-mansion-2003",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-haunted-mansion-2003\",\"The Haunted Mansion\",2003,\"Feature\",\"Animation/Family\",[\"David Berenbaum\"],\"https://www.scriptslug.com/script/the-haunted-mansion-2003\",\"b81b907aa266eb6c8b43c8b5443d23f39f63f0f62a737b4a96f2452dc12fee17\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "b3a6b40fd48c940b8178d103b0937c97b43427a2844fcce8759afe64b1097426",
    "source_locator_sha256": "9e429bdbafcaea60c92d4f984bdcf96d85b20b45cd4a8fa1af539e50035dc99c",
    "measurement_sha256": "2347af806e51e632cec5396fd16c5409fe0b26a3d13b2c06bd185376503ccf82",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-hobbit-the-desolation-of-smaug-2013",
    "title": "The Hobbit: The Desolation of Smaug",
    "year": 2013,
    "primary_genre": "Fantasy",
    "writers": [
      "Fran Walsh",
      "Philippa Boyens",
      "Peter Jackson"
    ],
    "pages": 108,
    "scenes": 128,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 48.4,
    "day_share_pct": 46.5,
    "unique_locations": 84,
    "location_changes": 112,
    "speaking_characters": 50,
    "single_line_characters": 7,
    "dialogue_blocks": 778,
    "dialogue_words": 8207,
    "dialogue_action_ratio": 0.87,
    "monologues": 14,
    "top_character_pct": 14,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 40,
    "words": 25359,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.31,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "2347af806e51e632cec5396fd16c5409fe0b26a3d13b2c06bd185376503ccf82",
      "source_sha256": "b3a6b40fd48c940b8178d103b0937c97b43427a2844fcce8759afe64b1097426",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-hobbit-the-desolation-of-smaug-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b3a6b40fd48c940b8178d103b0937c97b43427a2844fcce8759afe64b1097426",
      "measurement_sha256": "2347af806e51e632cec5396fd16c5409fe0b26a3d13b2c06bd185376503ccf82",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-hobbit-the-desolation-of-smaug-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.511Z.",
        "https://www.scriptslug.com/script/the-hobbit-the-desolation-of-smaug-2013",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-hobbit-the-desolation-of-smaug-2013\",\"The Hobbit: The Desolation of Smaug\",2013,\"Feature\",\"Fantasy\",[\"Fran Walsh\",\"Philippa Boyens\",\"Peter Jackson\"],\"https://www.scriptslug.com/script/the-hobbit-the-desolation-of-smaug-2013\",\"9e429bdbafcaea60c92d4f984bdcf96d85b20b45cd4a8fa1af539e50035dc99c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e59f8ed75d8ef73f28ec50cb4e5a9941dfbf3995b54d7aebf8d4acfd520b36be",
    "source_locator_sha256": "51e4e810e0ab8421a6538b905fd82676651d98f66d3855e0b004fd34b5bc1092",
    "measurement_sha256": "f337e2278db60e96d9437159f97d8fd939aa1369bf0549d61165965c2f481a13",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-holdovers-2023",
    "title": "The Holdovers",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "David Hemingson"
    ],
    "pages": 108,
    "scenes": 140,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 14.5,
    "interior_share_pct": 67.9,
    "day_share_pct": 73,
    "unique_locations": 71,
    "location_changes": 121,
    "speaking_characters": 54,
    "single_line_characters": 19,
    "dialogue_blocks": 958,
    "dialogue_words": 10685,
    "dialogue_action_ratio": 2.71,
    "monologues": 37,
    "top_character_pct": 35.8,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 19,
    "words": 18860,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-holdovers-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e59f8ed75d8ef73f28ec50cb4e5a9941dfbf3995b54d7aebf8d4acfd520b36be",
      "measurement_sha256": "f337e2278db60e96d9437159f97d8fd939aa1369bf0549d61165965c2f481a13",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-holdovers-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.717Z.",
        "https://www.scriptslug.com/script/the-holdovers-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-holdovers-2023\",\"The Holdovers\",2023,\"Feature\",\"Comedy\",[\"David Hemingson\"],\"https://www.scriptslug.com/script/the-holdovers-2023\",\"51e4e810e0ab8421a6538b905fd82676651d98f66d3855e0b004fd34b5bc1092\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "e4690f42b24f54aed495964a1f065449f58b6b3c664e2ee968080321f199e7a0",
    "source_locator_sha256": "93bebb27515c17d06f3ec0c2b19fc86290408d9a524339cc1b3e6ead1721f145",
    "measurement_sha256": "2b0be3daec13a320ab15cc2d0b2ddef0eceb1cb48a69eb246e4dd182d65dff39",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-holiday-2006",
    "title": "The Holiday",
    "year": 2006,
    "primary_genre": "Romance",
    "writers": [
      "Nancy Meyers"
    ],
    "pages": 130,
    "scenes": 90,
    "mean_scene_eighths": 11.2,
    "median_scene_eighths": 5,
    "median_scene_lines": 36.5,
    "interior_share_pct": 75.6,
    "day_share_pct": 56.5,
    "unique_locations": 74,
    "location_changes": 89,
    "speaking_characters": 52,
    "single_line_characters": 25,
    "dialogue_blocks": 1172,
    "dialogue_words": 14306,
    "dialogue_action_ratio": 2.36,
    "monologues": 54,
    "top_character_pct": 26.1,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 21,
    "words": 26284,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.24,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-holiday-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e4690f42b24f54aed495964a1f065449f58b6b3c664e2ee968080321f199e7a0",
      "measurement_sha256": "2b0be3daec13a320ab15cc2d0b2ddef0eceb1cb48a69eb246e4dd182d65dff39",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-holiday-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.239Z.",
        "https://www.scriptslug.com/script/the-holiday-2006",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-holiday-2006\",\"The Holiday\",2006,\"Feature\",\"Romance\",[\"Nancy Meyers\"],\"https://www.scriptslug.com/script/the-holiday-2006\",\"93bebb27515c17d06f3ec0c2b19fc86290408d9a524339cc1b3e6ead1721f145\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9b31bb21192e8ae4a8d3009e11f06fcba321ba222629e1374560ad342d5b3dc1",
    "source_locator_sha256": "2aa04f3148699920d88de767af9652cd02c66526383e01efb33730e05df9162e",
    "measurement_sha256": "30045d722cdcf8ae22f3a0da642ee9e4d78cd51a2152833a6a65a45d324441f5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-hunger-games-catching-fire-2013",
    "title": "The Hunger Games: Catching Fire",
    "year": 2013,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Simon Beaufoy",
      "Michael Arndt"
    ],
    "pages": 138,
    "scenes": 185,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 45.4,
    "day_share_pct": 69.4,
    "unique_locations": 107,
    "location_changes": 173,
    "speaking_characters": 79,
    "single_line_characters": 40,
    "dialogue_blocks": 1108,
    "dialogue_words": 10164,
    "dialogue_action_ratio": 1,
    "monologues": 9,
    "top_character_pct": 20.9,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 37,
    "words": 31097,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-hunger-games-catching-fire-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9b31bb21192e8ae4a8d3009e11f06fcba321ba222629e1374560ad342d5b3dc1",
      "measurement_sha256": "30045d722cdcf8ae22f3a0da642ee9e4d78cd51a2152833a6a65a45d324441f5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-hunger-games-catching-fire-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.284Z.",
        "https://www.scriptslug.com/script/the-hunger-games-catching-fire-2013",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-hunger-games-catching-fire-2013\",\"The Hunger Games: Catching Fire\",2013,\"Feature\",\"Sci-Fi\",[\"Simon Beaufoy\",\"Michael Arndt\"],\"https://www.scriptslug.com/script/the-hunger-games-catching-fire-2013\",\"2aa04f3148699920d88de767af9652cd02c66526383e01efb33730e05df9162e\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c757a27ead237eeeea0d94c5292755e603394d39e7baf750663fa6a32ec5b042",
    "source_locator_sha256": "b0837c4a83ab08f721c7ae9b7e1a564058fb42b1c8364332e5987262ab1f7298",
    "measurement_sha256": "ea22d2e11815638298fe9eb3ebe7cd95f4dc6ac738bc9f5d0ef65f314db25107",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-incredible-burt-wonderstone-2013",
    "title": "The Incredible Burt Wonderstone",
    "year": 2013,
    "primary_genre": "Comedy",
    "writers": [
      "Chad Kultgen",
      "Jonathan Goldstein",
      "John Francis Daley",
      "Jake Kasdan"
    ],
    "pages": 115,
    "scenes": 119,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 73.9,
    "day_share_pct": 51.2,
    "unique_locations": 78,
    "location_changes": 106,
    "speaking_characters": 38,
    "single_line_characters": 11,
    "dialogue_blocks": 987,
    "dialogue_words": 9495,
    "dialogue_action_ratio": 1.53,
    "monologues": 14,
    "top_character_pct": 40.3,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 28,
    "words": 22012,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-incredible-burt-wonderstone-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c757a27ead237eeeea0d94c5292755e603394d39e7baf750663fa6a32ec5b042",
      "measurement_sha256": "ea22d2e11815638298fe9eb3ebe7cd95f4dc6ac738bc9f5d0ef65f314db25107",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-incredible-burt-wonderstone-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.684Z.",
        "https://www.scriptslug.com/script/the-incredible-burt-wonderstone-2013",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-incredible-burt-wonderstone-2013\",\"The Incredible Burt Wonderstone\",2013,\"Feature\",\"Comedy\",[\"Chad Kultgen\",\"Jonathan Goldstein\",\"John Francis Daley\",\"Jake Kasdan\"],\"https://www.scriptslug.com/script/the-incredible-burt-wonderstone-2013\",\"b0837c4a83ab08f721c7ae9b7e1a564058fb42b1c8364332e5987262ab1f7298\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4b8f07bb760239f5b350a0c8bd8143f05eaeb1476641344a25d388199bc793e7",
    "source_locator_sha256": "aaabf769f1327bc93c4e387cdec4e7d0632d4478de9af7fe6cecfb8f1ff1a50a",
    "measurement_sha256": "98a793c9a3974c323bc4d44dc0ee6a9d717f0c3d0147180316456c6cc2fbd6db",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-incredible-hulk-2008",
    "title": "The Incredible Hulk",
    "year": 2008,
    "primary_genre": "Action",
    "writers": [
      "Edward Norton"
    ],
    "pages": 117,
    "scenes": 201,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 47.3,
    "day_share_pct": 53,
    "unique_locations": 124,
    "location_changes": 188,
    "speaking_characters": 43,
    "single_line_characters": 14,
    "dialogue_blocks": 586,
    "dialogue_words": 7389,
    "dialogue_action_ratio": 0.61,
    "monologues": 31,
    "top_character_pct": 21.2,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 51,
    "words": 28874,
    "runtime_minutes": 134,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-incredible-hulk-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4b8f07bb760239f5b350a0c8bd8143f05eaeb1476641344a25d388199bc793e7",
      "measurement_sha256": "98a793c9a3974c323bc4d44dc0ee6a9d717f0c3d0147180316456c6cc2fbd6db",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-incredible-hulk-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.107Z.",
        "https://www.scriptslug.com/script/the-incredible-hulk-2008",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-incredible-hulk-2008\",\"The Incredible Hulk\",2008,\"Feature\",\"Action\",[\"Edward Norton\"],\"https://www.scriptslug.com/script/the-incredible-hulk-2008\",\"aaabf769f1327bc93c4e387cdec4e7d0632d4478de9af7fe6cecfb8f1ff1a50a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "91f79250624e7773a4bdb239958e4f08718843fc18ef596b4386495ec952723d",
    "source_locator_sha256": "d7c4c555e4c7567e8e32f1ffaf8d0844bd969d9c7cec77eb484375d2a3c3d805",
    "measurement_sha256": "e21e3275d94dbecf5567dd525f47cfa4a6d4a7fe475dcb360cc42783e65f10dd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "the-incredibles-2004",
    "title": "The Incredibles",
    "year": 2004,
    "primary_genre": "Animation/Family",
    "writers": [
      "Brad Bird"
    ],
    "pages": 130,
    "scenes": 31,
    "mean_scene_eighths": 31.1,
    "median_scene_eighths": 8,
    "median_scene_lines": 54,
    "interior_share_pct": 56.5,
    "day_share_pct": 100,
    "unique_locations": 19,
    "location_changes": 21,
    "speaking_characters": 51,
    "single_line_characters": 21,
    "dialogue_blocks": 881,
    "dialogue_words": 8000,
    "dialogue_action_ratio": 0.63,
    "monologues": 19,
    "top_character_pct": 9,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 54,
    "words": 27259,
    "runtime_minutes": 146,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-incredibles-2004",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "91f79250624e7773a4bdb239958e4f08718843fc18ef596b4386495ec952723d",
      "measurement_sha256": "e21e3275d94dbecf5567dd525f47cfa4a6d4a7fe475dcb360cc42783e65f10dd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-incredibles-2004",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:46.399Z.",
        "https://www.scriptslug.com/script/the-incredibles-2004",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-incredibles-2004\",\"The Incredibles\",2004,\"Feature\",\"Animation/Family\",[\"Brad Bird\"],\"https://www.scriptslug.com/script/the-incredibles-2004\",\"d7c4c555e4c7567e8e32f1ffaf8d0844bd969d9c7cec77eb484375d2a3c3d805\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ff1f18744c0357f00ab1bc95e5069527fa59627f2b81e732525343366e8a7d9c",
    "source_locator_sha256": "3eeff07a5a68f3d88656225249f6b620efd3b2d8b64ad4756be797e6b24c3bb8",
    "measurement_sha256": "87fb14a5ee61ecc5563d8b92e6b97d2f21635a5482f399a9291bf0b738f57310",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-internship-2013",
    "title": "The Internship",
    "year": 2013,
    "primary_genre": "Comedy",
    "writers": [
      "Jared Stern",
      "Vince Vaughn"
    ],
    "pages": 115,
    "scenes": 70,
    "mean_scene_eighths": 12.7,
    "median_scene_eighths": 10,
    "median_scene_lines": 68.5,
    "interior_share_pct": 69.3,
    "day_share_pct": 58.3,
    "unique_locations": 47,
    "location_changes": 69,
    "speaking_characters": 67,
    "single_line_characters": 25,
    "dialogue_blocks": 1018,
    "dialogue_words": 11236,
    "dialogue_action_ratio": 2.16,
    "monologues": 35,
    "top_character_pct": 36.4,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 23,
    "words": 21859,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.23,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-internship-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ff1f18744c0357f00ab1bc95e5069527fa59627f2b81e732525343366e8a7d9c",
      "measurement_sha256": "87fb14a5ee61ecc5563d8b92e6b97d2f21635a5482f399a9291bf0b738f57310",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-internship-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.674Z.",
        "https://www.scriptslug.com/script/the-internship-2013",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-internship-2013\",\"The Internship\",2013,\"Feature\",\"Comedy\",[\"Jared Stern\",\"Vince Vaughn\"],\"https://www.scriptslug.com/script/the-internship-2013\",\"3eeff07a5a68f3d88656225249f6b620efd3b2d8b64ad4756be797e6b24c3bb8\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b79d1935d311cf264bac630306a7521c090a5a103abd0e942332a189afa839dc",
    "source_locator_sha256": "c58952a5591112f7b05e99f3f7f6a96c2e353025af5500b09ff4b105ed98d4aa",
    "measurement_sha256": "41a5322d41824fe29a00ab0b6aa31f368de6ebd24a7e2701c4010316620c637d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-interview-2014",
    "title": "The Interview",
    "year": 2014,
    "primary_genre": "Comedy",
    "writers": [
      "Dan Sterling"
    ],
    "pages": 120,
    "scenes": 133,
    "mean_scene_eighths": 7,
    "median_scene_eighths": 5,
    "median_scene_lines": 31,
    "interior_share_pct": 82,
    "day_share_pct": 65.8,
    "unique_locations": 82,
    "location_changes": 128,
    "speaking_characters": 54,
    "single_line_characters": 17,
    "dialogue_blocks": 1042,
    "dialogue_words": 12747,
    "dialogue_action_ratio": 2.54,
    "monologues": 42,
    "top_character_pct": 32.8,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 21,
    "words": 22275,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-interview-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b79d1935d311cf264bac630306a7521c090a5a103abd0e942332a189afa839dc",
      "measurement_sha256": "41a5322d41824fe29a00ab0b6aa31f368de6ebd24a7e2701c4010316620c637d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-interview-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.978Z.",
        "https://www.scriptslug.com/script/the-interview-2014",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-interview-2014\",\"The Interview\",2014,\"Feature\",\"Comedy\",[\"Dan Sterling\"],\"https://www.scriptslug.com/script/the-interview-2014\",\"c58952a5591112f7b05e99f3f7f6a96c2e353025af5500b09ff4b105ed98d4aa\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "f69e5ddbf204189abe0efca325a6f8a43b5ede256c81f49910b773431c249945",
    "source_locator_sha256": "f0ebb81a49110af330f422333a3b3d3259393bb64c665739334e8937eec81650",
    "measurement_sha256": "74edff37533c95fdd75e6b3c4333c7409ba7440d99b5b6ff84c938b0eb4c8a45",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-irishman-2019",
    "title": "The Irishman",
    "year": 2019,
    "primary_genre": "Crime",
    "writers": [
      "Steven Zaillian"
    ],
    "pages": 136,
    "scenes": 274,
    "mean_scene_eighths": 3.5,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 61.1,
    "day_share_pct": 63.5,
    "unique_locations": 132,
    "location_changes": 229,
    "speaking_characters": 44,
    "single_line_characters": 15,
    "dialogue_blocks": 1003,
    "dialogue_words": 13204,
    "dialogue_action_ratio": 2.03,
    "monologues": 47,
    "top_character_pct": 53,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 25,
    "words": 26599,
    "runtime_minutes": 124,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "74edff37533c95fdd75e6b3c4333c7409ba7440d99b5b6ff84c938b0eb4c8a45",
      "source_sha256": "f69e5ddbf204189abe0efca325a6f8a43b5ede256c81f49910b773431c249945",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "The sampled opening page contains the expected action, headings or speech. No additional publication exclusion follows from this limited page check. This is not a whole-script count validation.",
      "selection": "two approximately equally spaced eligible titles per primary genre, sorted by slug; after guard screening"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-irishman-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f69e5ddbf204189abe0efca325a6f8a43b5ede256c81f49910b773431c249945",
      "measurement_sha256": "74edff37533c95fdd75e6b3c4333c7409ba7440d99b5b6ff84c938b0eb4c8a45",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-irishman-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.079Z.",
        "https://www.scriptslug.com/script/the-irishman-2019",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-irishman-2019\",\"The Irishman\",2019,\"Feature\",\"Crime\",[\"Steven Zaillian\"],\"https://www.scriptslug.com/script/the-irishman-2019\",\"f0ebb81a49110af330f422333a3b3d3259393bb64c665739334e8937eec81650\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e1e3f42e578f89bfbaf03aaf2cf3a0ca59573f2570f08713a0a12e6ec72f28c0",
    "source_locator_sha256": "cc4ac14d760630ea4d624726899f4b5d2073659d10aee4a4e6833e3fd8cbb137",
    "measurement_sha256": "64c2b28c439d5d4c2cb7f18440c36242220674b15a37116a8a9a600c62a650c7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-iron-claw-2023",
    "title": "The Iron Claw",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Sean Durkin"
    ],
    "pages": 87,
    "scenes": 137,
    "mean_scene_eighths": 4.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 69,
    "day_share_pct": 50.5,
    "unique_locations": 49,
    "location_changes": 93,
    "speaking_characters": 26,
    "single_line_characters": 5,
    "dialogue_blocks": 533,
    "dialogue_words": 6871,
    "dialogue_action_ratio": 1.29,
    "monologues": 31,
    "top_character_pct": 25.2,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 34,
    "words": 17270,
    "runtime_minutes": 94,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-iron-claw-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e1e3f42e578f89bfbaf03aaf2cf3a0ca59573f2570f08713a0a12e6ec72f28c0",
      "measurement_sha256": "64c2b28c439d5d4c2cb7f18440c36242220674b15a37116a8a9a600c62a650c7",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://a24films.com/films/the-iron-claw",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.787Z.",
        "https://www.scriptslug.com/script/the-iron-claw-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-iron-claw-2023\",\"The Iron Claw\",2023,\"Feature\",\"Drama\",[\"Sean Durkin\"],\"https://www.scriptslug.com/script/the-iron-claw-2023\",\"cc4ac14d760630ea4d624726899f4b5d2073659d10aee4a4e6833e3fd8cbb137\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "9d60e7aefbcb462795da79b59e6bfa1680f32da1bbe9e9be0b5245ed341d3c91",
    "source_locator_sha256": "1bddf95d7f9085ed447fb5eb82806f1ecb7120a7355d8103e7fde7acede9b5fa",
    "measurement_sha256": "8d67a918d9a3eb298e02c11b5890f9a8e4528a5a42316d2688ae4134ba303249",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-killer-2023",
    "title": "The Killer",
    "year": 2023,
    "primary_genre": "Thriller",
    "writers": [
      "Andrew Kevin Walker"
    ],
    "pages": 124,
    "scenes": 333,
    "mean_scene_eighths": 2.8,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 60.1,
    "day_share_pct": 43.1,
    "unique_locations": 130,
    "location_changes": 227,
    "speaking_characters": 37,
    "single_line_characters": 22,
    "dialogue_blocks": 398,
    "dialogue_words": 5206,
    "dialogue_action_ratio": 0.39,
    "monologues": 15,
    "top_character_pct": 37.6,
    "dialogue_line_share_pct": 23,
    "action_line_share_pct": 58,
    "words": 29490,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-killer-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9d60e7aefbcb462795da79b59e6bfa1680f32da1bbe9e9be0b5245ed341d3c91",
      "measurement_sha256": "8d67a918d9a3eb298e02c11b5890f9a8e4528a5a42316d2688ae4134ba303249",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-killer-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.164Z.",
        "https://www.scriptslug.com/script/the-killer-2023",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-killer-2023\",\"The Killer\",2023,\"Feature\",\"Thriller\",[\"Andrew Kevin Walker\"],\"https://www.scriptslug.com/script/the-killer-2023\",\"1bddf95d7f9085ed447fb5eb82806f1ecb7120a7355d8103e7fde7acede9b5fa\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "7a166a92c95b7044c8edf76c2bfc2ca035e522f80220e127814ec41b4fbc142c",
    "source_locator_sha256": "c4072329768e1d94af73a6a63b410f77592d461de2b3830c87e6a7969c6a70b1",
    "measurement_sha256": "27742d88d00f785b222cd04f484b6ac4dd6bfe5f04c24140f6b752f1cc1b182b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-lego-movie-2014",
    "title": "The Lego Movie",
    "year": 2014,
    "primary_genre": "Animation/Family",
    "writers": [
      "Christopher Miller",
      "Phil Lord"
    ],
    "pages": 111,
    "scenes": 124,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 49.2,
    "day_share_pct": 74.2,
    "unique_locations": 61,
    "location_changes": 103,
    "speaking_characters": 64,
    "single_line_characters": 24,
    "dialogue_blocks": 976,
    "dialogue_words": 9431,
    "dialogue_action_ratio": 1.84,
    "monologues": 33,
    "top_character_pct": 27.7,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 25,
    "words": 20163,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lego-movie-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7a166a92c95b7044c8edf76c2bfc2ca035e522f80220e127814ec41b4fbc142c",
      "measurement_sha256": "27742d88d00f785b222cd04f484b6ac4dd6bfe5f04c24140f6b752f1cc1b182b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lego-movie-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.324Z.",
        "https://www.scriptslug.com/script/the-lego-movie-2014",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lego-movie-2014\",\"The Lego Movie\",2014,\"Feature\",\"Animation/Family\",[\"Christopher Miller\",\"Phil Lord\"],\"https://www.scriptslug.com/script/the-lego-movie-2014\",\"c4072329768e1d94af73a6a63b410f77592d461de2b3830c87e6a7969c6a70b1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "c358b019ac2f1171afea65d8f85d81bac3fd7eb47c9edccfe89979dc7a2b1909",
    "source_locator_sha256": "42f50793698c5e70eb456fab1873ccbbce2c8b24fed30fc10c4154286b36466c",
    "measurement_sha256": "a6e9720f763b3fe6fa1bba92801c0b724f4aa0659d7a4111412591ca0d3a2686",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers"
      ]
    },
    "slug": "the-lone-ranger-2013",
    "title": "The Lone Ranger",
    "year": 2013,
    "primary_genre": "Action",
    "writers": [
      "Ted Elliott",
      "Terry Rossio"
    ],
    "pages": 126,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 0,
    "single_line_characters": 0,
    "dialogue_blocks": 528,
    "dialogue_words": 1405,
    "dialogue_action_ratio": 0.17,
    "monologues": 0,
    "top_character_pct": null,
    "dialogue_line_share_pct": 15,
    "action_line_share_pct": 85,
    "words": 20787,
    "runtime_minutes": 135,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "a6e9720f763b3fe6fa1bba92801c0b724f4aa0659d7a4111412591ca0d3a2686",
      "source_sha256": "c358b019ac2f1171afea65d8f85d81bac3fd7eb47c9edccfe89979dc7a2b1909",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lone-ranger-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c358b019ac2f1171afea65d8f85d81bac3fd7eb47c9edccfe89979dc7a2b1909",
      "measurement_sha256": "a6e9720f763b3fe6fa1bba92801c0b724f4aa0659d7a4111412591ca0d3a2686",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lone-ranger-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.050Z.",
        "https://www.scriptslug.com/script/the-lone-ranger-2013",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lone-ranger-2013\",\"The Lone Ranger\",2013,\"Feature\",\"Action\",[\"Ted Elliott\",\"Terry Rossio\"],\"https://www.scriptslug.com/script/the-lone-ranger-2013\",\"42f50793698c5e70eb456fab1873ccbbce2c8b24fed30fc10c4154286b36466c\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "c54f7a1589dfefeda3b044309cb612c17d6696218062ea7af6852c8288fd52c1",
    "source_locator_sha256": "8daf84563082750944c4f87a2ce3d1b5f23ae1d0011ad898c2f10829f8f279ea",
    "measurement_sha256": "99e8cb33751c7fbd2240ad77ecc291a90d99165ada970b4b8a886aadd88c0eb9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-long-walk",
    "title": "The Long Walk",
    "year": 2025,
    "primary_genre": "Thriller",
    "writers": [
      "JT Mollner"
    ],
    "pages": 166,
    "scenes": 37,
    "mean_scene_eighths": 28.6,
    "median_scene_eighths": 18,
    "median_scene_lines": 123,
    "interior_share_pct": 8.1,
    "day_share_pct": 55.6,
    "unique_locations": 5,
    "location_changes": 7,
    "speaking_characters": 41,
    "single_line_characters": 19,
    "dialogue_blocks": 1115,
    "dialogue_words": 11713,
    "dialogue_action_ratio": 1.29,
    "monologues": 26,
    "top_character_pct": 28.1,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 34,
    "words": 28169,
    "runtime_minutes": 133,
    "parenthetical_rate": 0.06,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-long-walk",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c54f7a1589dfefeda3b044309cb612c17d6696218062ea7af6852c8288fd52c1",
      "measurement_sha256": "99e8cb33751c7fbd2240ad77ecc291a90d99165ada970b4b8a886aadd88c0eb9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-long-walk",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.678Z.",
        "https://www.scriptslug.com/script/the-long-walk",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-long-walk\",\"The Long Walk\",2025,\"Feature\",\"Thriller\",[\"JT Mollner\"],\"https://www.scriptslug.com/script/the-long-walk\",\"8daf84563082750944c4f87a2ce3d1b5f23ae1d0011ad898c2f10829f8f279ea\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "4760026562d943fde02133e681e5884ee85c7a5f466b7f3ff36d67122c60d656",
    "source_locator_sha256": "c16f7c9b74c015a14c8ccee23cddeca18bd098afafbbe421910372db0b0df597",
    "measurement_sha256": "02e42b670526c66f361b0585ba8086d5b79cfba9f24a53989a8016be889774df",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-lord-of-the-rings-the-fellowship-of-the-ring-2001",
    "title": "The Lord of the Rings: The Fellowship of the Ring",
    "year": 2001,
    "primary_genre": "Fantasy",
    "writers": [
      "Peter Jackson",
      "Fran Walsh",
      "Philippa Boyens"
    ],
    "pages": 173,
    "scenes": 170,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 37.1,
    "day_share_pct": 52.9,
    "unique_locations": 100,
    "location_changes": 153,
    "speaking_characters": 40,
    "single_line_characters": 11,
    "dialogue_blocks": 1091,
    "dialogue_words": 12105,
    "dialogue_action_ratio": 1.04,
    "monologues": 37,
    "top_character_pct": 19.6,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 37,
    "words": 32718,
    "runtime_minutes": 149,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lord-of-the-rings-the-fellowship-of-the-ring-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4760026562d943fde02133e681e5884ee85c7a5f466b7f3ff36d67122c60d656",
      "measurement_sha256": "02e42b670526c66f361b0585ba8086d5b79cfba9f24a53989a8016be889774df",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lord-of-the-rings-the-fellowship-of-the-ring-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.090Z.",
        "https://www.scriptslug.com/script/the-lord-of-the-rings-the-fellowship-of-the-ring-2001",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lord-of-the-rings-the-fellowship-of-the-ring-2001\",\"The Lord of the Rings: The Fellowship of the Ring\",2001,\"Feature\",\"Fantasy\",[\"Peter Jackson\",\"Fran Walsh\",\"Philippa Boyens\"],\"https://www.scriptslug.com/script/the-lord-of-the-rings-the-fellowship-of-the-ring-2001\",\"c16f7c9b74c015a14c8ccee23cddeca18bd098afafbbe421910372db0b0df597\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8c1c780cb94b7862cc5f15e7b451ee9a4eda1d170c503390bf75cfcd210d4e7e",
    "source_locator_sha256": "f37c348238b80173f8f3bd46b3c02d7a4a285d2be3c2d5e813259a99f2ea0eae",
    "measurement_sha256": "a71fdea1d44c12166bba8991a47f1f280b904ef0cbfc412afcb09c25ab17ff01",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-lord-of-the-rings-the-two-towers-2002",
    "title": "The Lord of the Rings: The Two Towers",
    "year": 2002,
    "primary_genre": "Fantasy",
    "writers": [
      "Stephen Sinclair",
      "Peter Jackson",
      "Fran Walsh",
      "Philippa Boyens"
    ],
    "pages": 222,
    "scenes": 189,
    "mean_scene_eighths": 8,
    "median_scene_eighths": 6,
    "median_scene_lines": 38,
    "interior_share_pct": 22.8,
    "day_share_pct": 70.7,
    "unique_locations": 64,
    "location_changes": 146,
    "speaking_characters": 50,
    "single_line_characters": 10,
    "dialogue_blocks": 1341,
    "dialogue_words": 11321,
    "dialogue_action_ratio": 0.77,
    "monologues": 12,
    "top_character_pct": 9.2,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 43,
    "words": 37924,
    "runtime_minutes": 169,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lord-of-the-rings-the-two-towers-2002",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8c1c780cb94b7862cc5f15e7b451ee9a4eda1d170c503390bf75cfcd210d4e7e",
      "measurement_sha256": "a71fdea1d44c12166bba8991a47f1f280b904ef0cbfc412afcb09c25ab17ff01",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lord-of-the-rings-the-two-towers-2002",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.793Z.",
        "https://www.scriptslug.com/script/the-lord-of-the-rings-the-two-towers-2002",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lord-of-the-rings-the-two-towers-2002\",\"The Lord of the Rings: The Two Towers\",2002,\"Feature\",\"Fantasy\",[\"Stephen Sinclair\",\"Peter Jackson\",\"Fran Walsh\",\"Philippa Boyens\"],\"https://www.scriptslug.com/script/the-lord-of-the-rings-the-two-towers-2002\",\"f37c348238b80173f8f3bd46b3c02d7a4a285d2be3c2d5e813259a99f2ea0eae\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "08cf24edfcfc99ac3adba68fce5b66b5ae133d027df98d800cde6fdd33ba0edc",
    "source_locator_sha256": "a00aac7ff3e5d5bb6a7affa420a53b1397f619ec7b56c1db06b3ebff64e4135e",
    "measurement_sha256": "20370b69809fb48579310827a7755bc23f3bc19c56ae66e904e9994023be024c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-lost-daughter-2021",
    "title": "The Lost Daughter",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Maggie Gyllenhaal"
    ],
    "pages": 114,
    "scenes": 139,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 23,
    "interior_share_pct": 48.6,
    "day_share_pct": 65.6,
    "unique_locations": 39,
    "location_changes": 99,
    "speaking_characters": 34,
    "single_line_characters": 11,
    "dialogue_blocks": 841,
    "dialogue_words": 6882,
    "dialogue_action_ratio": 0.97,
    "monologues": 20,
    "top_character_pct": 28.6,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 37,
    "words": 20425,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lost-daughter-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "08cf24edfcfc99ac3adba68fce5b66b5ae133d027df98d800cde6fdd33ba0edc",
      "measurement_sha256": "20370b69809fb48579310827a7755bc23f3bc19c56ae66e904e9994023be024c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lost-daughter-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.193Z.",
        "https://www.scriptslug.com/script/the-lost-daughter-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lost-daughter-2021\",\"The Lost Daughter\",2021,\"Feature\",\"Drama\",[\"Maggie Gyllenhaal\"],\"https://www.scriptslug.com/script/the-lost-daughter-2021\",\"a00aac7ff3e5d5bb6a7affa420a53b1397f619ec7b56c1db06b3ebff64e4135e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "611096c6072884fb8392ba43be952fa4c00696346ca8fa4dcab643f42ae90786",
    "source_locator_sha256": "86b1814e7f02d8c70d156a5b0a590d4331c30b256093656e1e98c8f3e87aa069",
    "measurement_sha256": "ea20f6241d13c8220fd197df2252fd2fd7170fb1a4eb24fb4e29ed037350e22d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-lunchbox-2013",
    "title": "The Lunchbox",
    "year": 2013,
    "primary_genre": "Romance",
    "writers": [
      "Ritesh Batra"
    ],
    "pages": 86,
    "scenes": 165,
    "mean_scene_eighths": 3.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 81.2,
    "day_share_pct": 69.4,
    "unique_locations": 56,
    "location_changes": 160,
    "speaking_characters": 27,
    "single_line_characters": 7,
    "dialogue_blocks": 523,
    "dialogue_words": 5377,
    "dialogue_action_ratio": 0.91,
    "monologues": 20,
    "top_character_pct": 27.3,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 40,
    "words": 17155,
    "runtime_minutes": 95,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-lunchbox-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "611096c6072884fb8392ba43be952fa4c00696346ca8fa4dcab643f42ae90786",
      "measurement_sha256": "ea20f6241d13c8220fd197df2252fd2fd7170fb1a4eb24fb4e29ed037350e22d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-lunchbox-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:44.246Z.",
        "https://www.scriptslug.com/script/the-lunchbox-2013",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-lunchbox-2013\",\"The Lunchbox\",2013,\"Feature\",\"Romance\",[\"Ritesh Batra\"],\"https://www.scriptslug.com/script/the-lunchbox-2013\",\"86b1814e7f02d8c70d156a5b0a590d4331c30b256093656e1e98c8f3e87aa069\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7117577606dbd70d7c11bab0c26fba1eac7b62efeaa5c50b16f20ab07a4b1f59",
    "source_locator_sha256": "c7143acf6b778dc5c8573b595ddca0a88ece29109e234d6b6c3eff979ce13112",
    "measurement_sha256": "c5ff3b254e06f7bdb8c5646058bc546c5cb71a99a402de0b40470ffce48c709a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-martian-2015",
    "title": "The Martian",
    "year": 2015,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Drew Goddard"
    ],
    "pages": 121,
    "scenes": 300,
    "mean_scene_eighths": 3.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 11,
    "interior_share_pct": 66.8,
    "day_share_pct": 80.9,
    "unique_locations": 49,
    "location_changes": 202,
    "speaking_characters": 48,
    "single_line_characters": 16,
    "dialogue_blocks": 922,
    "dialogue_words": 10477,
    "dialogue_action_ratio": 1.6,
    "monologues": 43,
    "top_character_pct": 27.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 28,
    "words": 23929,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-martian-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7117577606dbd70d7c11bab0c26fba1eac7b62efeaa5c50b16f20ab07a4b1f59",
      "measurement_sha256": "c5ff3b254e06f7bdb8c5646058bc546c5cb71a99a402de0b40470ffce48c709a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-martian-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:56.883Z.",
        "https://www.scriptslug.com/script/the-martian-2015",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-martian-2015\",\"The Martian\",2015,\"Feature\",\"Sci-Fi\",[\"Drew Goddard\"],\"https://www.scriptslug.com/script/the-martian-2015\",\"c7143acf6b778dc5c8573b595ddca0a88ece29109e234d6b6c3eff979ce13112\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "113fcccf2e717fad16e6f6ef5bbeb7ed9f5a20df5cc7d892152f983fac3f7f0b",
    "source_locator_sha256": "16b803821ad3dd2e3a57e0bde00daed224cb45a3210b1a37321e510de05abc31",
    "measurement_sha256": "ee9e811139f9fe7ea34392568a61a6590de273412d18e1ff66139d2ff0e77509",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-maze-runner-2014",
    "title": "The Maze Runner",
    "year": 2014,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Noah Oppenheim"
    ],
    "pages": 109,
    "scenes": 154,
    "mean_scene_eighths": 5.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 22.5,
    "interior_share_pct": 33.1,
    "day_share_pct": 57.1,
    "unique_locations": 60,
    "location_changes": 141,
    "speaking_characters": 29,
    "single_line_characters": 8,
    "dialogue_blocks": 754,
    "dialogue_words": 6699,
    "dialogue_action_ratio": 0.69,
    "monologues": 2,
    "top_character_pct": 27,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 46,
    "words": 23762,
    "runtime_minutes": 122,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-maze-runner-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "113fcccf2e717fad16e6f6ef5bbeb7ed9f5a20df5cc7d892152f983fac3f7f0b",
      "measurement_sha256": "ee9e811139f9fe7ea34392568a61a6590de273412d18e1ff66139d2ff0e77509",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-maze-runner-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:33.407Z.",
        "https://www.scriptslug.com/script/the-maze-runner-2014",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-maze-runner-2014\",\"The Maze Runner\",2014,\"Feature\",\"Sci-Fi\",[\"Noah Oppenheim\"],\"https://www.scriptslug.com/script/the-maze-runner-2014\",\"16b803821ad3dd2e3a57e0bde00daed224cb45a3210b1a37321e510de05abc31\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "879b061c13415ad41069dd8529f456c2fec7303d09aaf2c518752ac336c3c3d9",
    "source_locator_sha256": "1d01a76b4e253c0925c4460de744982ad7215df6b927c75e1d97abf1b54b013b",
    "measurement_sha256": "69de1f8e1efb3093d86656d341233f1436c7f945424d2b7e3bbe5b737f88c067",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-menu-2022",
    "title": "The Menu",
    "year": 2022,
    "primary_genre": "Thriller",
    "writers": [
      "Will Tracy",
      "Seth Reiss"
    ],
    "pages": 114,
    "scenes": 58,
    "mean_scene_eighths": 15.7,
    "median_scene_eighths": 7,
    "median_scene_lines": 47,
    "interior_share_pct": 58.6,
    "day_share_pct": 4.5,
    "unique_locations": 35,
    "location_changes": 55,
    "speaking_characters": 36,
    "single_line_characters": 12,
    "dialogue_blocks": 1042,
    "dialogue_words": 10200,
    "dialogue_action_ratio": 1.52,
    "monologues": 34,
    "top_character_pct": 32,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 29,
    "words": 22281,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-menu-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "879b061c13415ad41069dd8529f456c2fec7303d09aaf2c518752ac336c3c3d9",
      "measurement_sha256": "69de1f8e1efb3093d86656d341233f1436c7f945424d2b7e3bbe5b737f88c067",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-menu-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.324Z.",
        "https://www.scriptslug.com/script/the-menu-2022",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-menu-2022\",\"The Menu\",2022,\"Feature\",\"Thriller\",[\"Will Tracy\",\"Seth Reiss\"],\"https://www.scriptslug.com/script/the-menu-2022\",\"1d01a76b4e253c0925c4460de744982ad7215df6b927c75e1d97abf1b54b013b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c7b772470e61bc2ec289a8769b66ecd0fc08d92196eeb8fb84a217ccbd9d58d3",
    "source_locator_sha256": "3efd9a9b417167966724d686116237ac62cd3f1cb92dcd6d1647e22bc8048e4d",
    "measurement_sha256": "902d7d2d0fe0f4f0efa307faa315ec9d6c6a003c4467161bf9b69178fd202615",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-miracle-club-2023",
    "title": "The Miracle Club",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Joshua D Maurer",
      "Jimmy Smallhorne",
      "Timothy Prager"
    ],
    "pages": 85,
    "scenes": 95,
    "mean_scene_eighths": 6.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 29,
    "interior_share_pct": 58.9,
    "day_share_pct": 66.7,
    "unique_locations": 47,
    "location_changes": 80,
    "speaking_characters": 29,
    "single_line_characters": 10,
    "dialogue_blocks": 704,
    "dialogue_words": 6117,
    "dialogue_action_ratio": 1.17,
    "monologues": 5,
    "top_character_pct": 28.2,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 33,
    "words": 15417,
    "runtime_minutes": 93,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-miracle-club-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c7b772470e61bc2ec289a8769b66ecd0fc08d92196eeb8fb84a217ccbd9d58d3",
      "measurement_sha256": "902d7d2d0fe0f4f0efa307faa315ec9d6c6a003c4467161bf9b69178fd202615",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-miracle-club-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:43.283Z.",
        "https://www.scriptslug.com/script/the-miracle-club-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-miracle-club-2023\",\"The Miracle Club\",2023,\"Feature\",\"Drama\",[\"Joshua D Maurer\",\"Jimmy Smallhorne\",\"Timothy Prager\"],\"https://www.scriptslug.com/script/the-miracle-club-2023\",\"3efd9a9b417167966724d686116237ac62cd3f1cb92dcd6d1647e22bc8048e4d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ca66c33ba38622de2cef543dff8c5de7333ab62654301711ca6fcbd31393e3c5",
    "source_locator_sha256": "e51e122250d98c43eaa4f5102f1db533b34fa30892dbbc77dbb9e52e4df69f3c",
    "measurement_sha256": "00d0f86e0958c72839f5d3a597c0c20799e736c9d79351de791a071a086be92e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-mitchells-vs-the-machines-2021",
    "title": "The Mitchells vs. the Machines",
    "year": 2021,
    "primary_genre": "Animation/Family",
    "writers": [
      "Mike Rianda",
      "Jeff Rowe"
    ],
    "pages": 154,
    "scenes": 107,
    "mean_scene_eighths": 11.6,
    "median_scene_eighths": 6,
    "median_scene_lines": 39,
    "interior_share_pct": 50.9,
    "day_share_pct": 70.4,
    "unique_locations": 62,
    "location_changes": 99,
    "speaking_characters": 72,
    "single_line_characters": 30,
    "dialogue_blocks": 1178,
    "dialogue_words": 10461,
    "dialogue_action_ratio": 0.98,
    "monologues": 11,
    "top_character_pct": 24.9,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 39,
    "words": 30381,
    "runtime_minutes": 142,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-mitchells-vs-the-machines-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ca66c33ba38622de2cef543dff8c5de7333ab62654301711ca6fcbd31393e3c5",
      "measurement_sha256": "00d0f86e0958c72839f5d3a597c0c20799e736c9d79351de791a071a086be92e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-mitchells-vs-the-machines-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.829Z.",
        "https://www.scriptslug.com/script/the-mitchells-vs-the-machines-2021",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-mitchells-vs-the-machines-2021\",\"The Mitchells vs. the Machines\",2021,\"Feature\",\"Animation/Family\",[\"Mike Rianda\",\"Jeff Rowe\"],\"https://www.scriptslug.com/script/the-mitchells-vs-the-machines-2021\",\"e51e122250d98c43eaa4f5102f1db533b34fa30892dbbc77dbb9e52e4df69f3c\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5ba61e04b4bc67ffd15d65c2171dbb9be5677654af8257426075dad09e2022ac",
    "source_locator_sha256": "efc91e1e23d3e77a795fd55713d1c69a54a5b0d283175135577e65109f01d8d1",
    "measurement_sha256": "78bad1427f9e18929e78c4b91a87b194b5ab54dd77de47adf971da7893e17453",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "the-mother-2023",
    "title": "The Mother",
    "year": 2023,
    "primary_genre": "Action",
    "writers": [
      "Misha Green"
    ],
    "pages": 116,
    "scenes": 156,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 48.1,
    "day_share_pct": 81,
    "unique_locations": 68,
    "location_changes": 147,
    "speaking_characters": 33,
    "single_line_characters": 8,
    "dialogue_blocks": 539,
    "dialogue_words": 4624,
    "dialogue_action_ratio": 0.52,
    "monologues": 0,
    "top_character_pct": 20.4,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 55,
    "words": 19958,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-mother-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5ba61e04b4bc67ffd15d65c2171dbb9be5677654af8257426075dad09e2022ac",
      "measurement_sha256": "78bad1427f9e18929e78c4b91a87b194b5ab54dd77de47adf971da7893e17453",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-mother-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.955Z.",
        "https://www.scriptslug.com/script/the-mother-2023",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-mother-2023\",\"The Mother\",2023,\"Feature\",\"Action\",[\"Misha Green\"],\"https://www.scriptslug.com/script/the-mother-2023\",\"efc91e1e23d3e77a795fd55713d1c69a54a5b0d283175135577e65109f01d8d1\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "722319a8a0eb65de00bfb7df7d82fd34d3a901c64f5648e0b7d0c62349c6e69f",
    "source_locator_sha256": "4c13c7e6ebf9e4d118cf2a6e6e642fc86272b2c75b24068f2b0d75acf917d762",
    "measurement_sha256": "ca73e7a8d7709ad3e333f72dcb59d0970d38e64010a923a7c2c7bf9795a2040a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-northman-2022",
    "title": "The Northman",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Robert Eggers",
      "Sjón"
    ],
    "pages": 127,
    "scenes": 118,
    "mean_scene_eighths": 8.3,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 30.9,
    "day_share_pct": null,
    "unique_locations": 87,
    "location_changes": 106,
    "speaking_characters": 45,
    "single_line_characters": 17,
    "dialogue_blocks": 620,
    "dialogue_words": 6441,
    "dialogue_action_ratio": 0.45,
    "monologues": 7,
    "top_character_pct": 19.4,
    "dialogue_line_share_pct": 26,
    "action_line_share_pct": 58,
    "words": 31044,
    "runtime_minutes": 143,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-northman-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "722319a8a0eb65de00bfb7df7d82fd34d3a901c64f5648e0b7d0c62349c6e69f",
      "measurement_sha256": "ca73e7a8d7709ad3e333f72dcb59d0970d38e64010a923a7c2c7bf9795a2040a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-northman-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.982Z.",
        "https://www.scriptslug.com/script/the-northman-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-northman-2022\",\"The Northman\",2022,\"Feature\",\"Action\",[\"Robert Eggers\",\"Sjón\"],\"https://www.scriptslug.com/script/the-northman-2022\",\"4c13c7e6ebf9e4d118cf2a6e6e642fc86272b2c75b24068f2b0d75acf917d762\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7a5b8af2c6451528379b00b0f56735866ccb86c76d7b01edb2ee2097a9ec23a9",
    "source_locator_sha256": "5e186fb351ee60f3046a4a3dd7b9434f7f85f317be031fe80bb6c5488e69023f",
    "measurement_sha256": "470813caab07488a85e8fb13ced23a59cf8b8609a34af962b8bfccae2a434cab",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-nun-2018",
    "title": "The Nun",
    "year": 2018,
    "primary_genre": "Horror",
    "writers": [
      "Gary Dauberman"
    ],
    "pages": 98,
    "scenes": 41,
    "mean_scene_eighths": 16.4,
    "median_scene_eighths": 11,
    "median_scene_lines": 77,
    "interior_share_pct": 62.2,
    "day_share_pct": 60,
    "unique_locations": 21,
    "location_changes": 35,
    "speaking_characters": 24,
    "single_line_characters": 10,
    "dialogue_blocks": 478,
    "dialogue_words": 5847,
    "dialogue_action_ratio": 0.66,
    "monologues": 31,
    "top_character_pct": 34,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 51,
    "words": 19022,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.02,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-nun-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7a5b8af2c6451528379b00b0f56735866ccb86c76d7b01edb2ee2097a9ec23a9",
      "measurement_sha256": "470813caab07488a85e8fb13ced23a59cf8b8609a34af962b8bfccae2a434cab",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-nun-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.415Z.",
        "https://www.scriptslug.com/script/the-nun-2018",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-nun-2018\",\"The Nun\",2018,\"Feature\",\"Horror\",[\"Gary Dauberman\"],\"https://www.scriptslug.com/script/the-nun-2018\",\"5e186fb351ee60f3046a4a3dd7b9434f7f85f317be031fe80bb6c5488e69023f\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e42e2e1c911b8897fbcc3591997375ae55d09ec0e07a15b1dfcc6ebb19992cce",
    "source_locator_sha256": "47c5b3a6bb4fc38c6fee5bd1d810177562d186fcc2de2347a048dcbeaa5eb2f7",
    "measurement_sha256": "f09bddbb81ff12949743a71668f08a4b13bca27d0eff5557f2a6340c4107e085",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-other-guys-2010",
    "title": "The Other Guys",
    "year": 2010,
    "primary_genre": "Comedy",
    "writers": [
      "Chris Henchy",
      "Adam McKay"
    ],
    "pages": 126,
    "scenes": 159,
    "mean_scene_eighths": 6,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 57.2,
    "day_share_pct": 65.4,
    "unique_locations": 98,
    "location_changes": 141,
    "speaking_characters": 105,
    "single_line_characters": 52,
    "dialogue_blocks": 1017,
    "dialogue_words": 12304,
    "dialogue_action_ratio": 2.12,
    "monologues": 34,
    "top_character_pct": 27.2,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 24,
    "words": 23588,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-other-guys-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e42e2e1c911b8897fbcc3591997375ae55d09ec0e07a15b1dfcc6ebb19992cce",
      "measurement_sha256": "f09bddbb81ff12949743a71668f08a4b13bca27d0eff5557f2a6340c4107e085",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-other-guys-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.793Z.",
        "https://www.scriptslug.com/script/the-other-guys-2010",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-other-guys-2010\",\"The Other Guys\",2010,\"Feature\",\"Comedy\",[\"Chris Henchy\",\"Adam McKay\"],\"https://www.scriptslug.com/script/the-other-guys-2010\",\"47c5b3a6bb4fc38c6fee5bd1d810177562d186fcc2de2347a048dcbeaa5eb2f7\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "29d5b150e862d384cfa305155a957526470a2d77167cc634ce3dfd6187fc7f55",
    "source_locator_sha256": "1947951347e1efbeeeb4de875a267c366f30fe04bec0d0e4ba13b1adb9a80209",
    "measurement_sha256": "06213d9f8a012bb994a57abc5c80ef7f81d5386cbb56c5838aacdd31a56f620c",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers"
      ]
    },
    "slug": "the-others-2001",
    "title": "The Others",
    "year": 2001,
    "primary_genre": "Horror",
    "writers": [
      "Alejandro Amenábar"
    ],
    "pages": 116,
    "scenes": 37,
    "mean_scene_eighths": 20.7,
    "median_scene_eighths": 13,
    "median_scene_lines": 87,
    "interior_share_pct": 89.2,
    "day_share_pct": null,
    "unique_locations": 37,
    "location_changes": 36,
    "speaking_characters": 0,
    "single_line_characters": 0,
    "dialogue_blocks": 291,
    "dialogue_words": 766,
    "dialogue_action_ratio": 0.11,
    "monologues": 0,
    "top_character_pct": null,
    "dialogue_line_share_pct": 10,
    "action_line_share_pct": 89,
    "words": 16353,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "06213d9f8a012bb994a57abc5c80ef7f81d5386cbb56c5838aacdd31a56f620c",
      "source_sha256": "29d5b150e862d384cfa305155a957526470a2d77167cc634ce3dfd6187fc7f55",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-others-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "29d5b150e862d384cfa305155a957526470a2d77167cc634ce3dfd6187fc7f55",
      "measurement_sha256": "06213d9f8a012bb994a57abc5c80ef7f81d5386cbb56c5838aacdd31a56f620c",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-others-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.637Z.",
        "https://www.scriptslug.com/script/the-others-2001",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-others-2001\",\"The Others\",2001,\"Feature\",\"Horror\",[\"Alejandro Amenábar\"],\"https://www.scriptslug.com/script/the-others-2001\",\"1947951347e1efbeeeb4de875a267c366f30fe04bec0d0e4ba13b1adb9a80209\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "4119dc6147f988d044ccdd0fd4ff03d07bac070aac0fb3072ccd664a46a01ab5",
    "source_locator_sha256": "a0557dee1d4a87d33a3bfca32d87201ee77271041cc03def1bfb8845fabd6a98",
    "measurement_sha256": "1b210a0044b43bce09ffa1f31273f3519feec7fd6d2affda125ed12df25ebfd9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-outrun-2024",
    "title": "The Outrun",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Nora Fingscheidt",
      "Amy Liptrot"
    ],
    "pages": 92,
    "scenes": 173,
    "mean_scene_eighths": 4.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 47.4,
    "day_share_pct": 64.2,
    "unique_locations": 105,
    "location_changes": 153,
    "speaking_characters": 42,
    "single_line_characters": 16,
    "dialogue_blocks": 496,
    "dialogue_words": 7153,
    "dialogue_action_ratio": 0.81,
    "monologues": 40,
    "top_character_pct": 52.4,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 45,
    "words": 23529,
    "runtime_minutes": 116,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-outrun-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4119dc6147f988d044ccdd0fd4ff03d07bac070aac0fb3072ccd664a46a01ab5",
      "measurement_sha256": "1b210a0044b43bce09ffa1f31273f3519feec7fd6d2affda125ed12df25ebfd9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-outrun-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.964Z.",
        "https://www.scriptslug.com/script/the-outrun-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-outrun-2024\",\"The Outrun\",2024,\"Feature\",\"Drama\",[\"Nora Fingscheidt\",\"Amy Liptrot\"],\"https://www.scriptslug.com/script/the-outrun-2024\",\"a0557dee1d4a87d33a3bfca32d87201ee77271041cc03def1bfb8845fabd6a98\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "a706918577ae3aa4048bd10474501649847822d25aea380344ae5cb4913c188f",
    "source_locator_sha256": "15ccff289c7af3761b56d3e7e6ef990ed405cf3ee2237f6c6b6f401a614af40a",
    "measurement_sha256": "ca0c1a489d74c3ab4a82cf2ca7a1d3be1e37f416984740bb970bdc9d088b9037",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-persian-version-2023",
    "title": "The Persian Version",
    "year": 2023,
    "primary_genre": "Comedy",
    "writers": [
      "Maryam Keshavarz"
    ],
    "pages": 107,
    "scenes": 194,
    "mean_scene_eighths": 4.2,
    "median_scene_eighths": 2,
    "median_scene_lines": 15.5,
    "interior_share_pct": 71.4,
    "day_share_pct": 65.1,
    "unique_locations": 64,
    "location_changes": 155,
    "speaking_characters": 70,
    "single_line_characters": 28,
    "dialogue_blocks": 865,
    "dialogue_words": 7838,
    "dialogue_action_ratio": 1.48,
    "monologues": 11,
    "top_character_pct": 29.7,
    "dialogue_line_share_pct": 41,
    "action_line_share_pct": 28,
    "words": 19198,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-persian-version-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a706918577ae3aa4048bd10474501649847822d25aea380344ae5cb4913c188f",
      "measurement_sha256": "ca0c1a489d74c3ab4a82cf2ca7a1d3be1e37f416984740bb970bdc9d088b9037",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-persian-version-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.137Z.",
        "https://www.scriptslug.com/script/the-persian-version-2023",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-persian-version-2023\",\"The Persian Version\",2023,\"Feature\",\"Comedy\",[\"Maryam Keshavarz\"],\"https://www.scriptslug.com/script/the-persian-version-2023\",\"15ccff289c7af3761b56d3e7e6ef990ed405cf3ee2237f6c6b6f401a614af40a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e3035a9a195246b33d7d1c483aa13b9a1bae2b8ce0cd0ef9c423baf61eaa8122",
    "source_locator_sha256": "04c953b19581b650af97984fa9396a4ca26f5dd4bcf7e8d2c85a3effefb0f504",
    "measurement_sha256": "f322e52d80232ead83cd1bc52d5de872607c330673dede9ab2104ea025418892",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-power-of-the-dog-2021",
    "title": "The Power of the Dog",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Jane Campion"
    ],
    "pages": 107,
    "scenes": 137,
    "mean_scene_eighths": 6,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 56.6,
    "day_share_pct": 75.8,
    "unique_locations": 5,
    "location_changes": 76,
    "speaking_characters": 28,
    "single_line_characters": 5,
    "dialogue_blocks": 693,
    "dialogue_words": 6621,
    "dialogue_action_ratio": 0.65,
    "monologues": 10,
    "top_character_pct": 33.8,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 49,
    "words": 26123,
    "runtime_minutes": 122,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-power-of-the-dog-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e3035a9a195246b33d7d1c483aa13b9a1bae2b8ce0cd0ef9c423baf61eaa8122",
      "measurement_sha256": "f322e52d80232ead83cd1bc52d5de872607c330673dede9ab2104ea025418892",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-power-of-the-dog-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.699Z.",
        "https://www.scriptslug.com/script/the-power-of-the-dog-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-power-of-the-dog-2021\",\"The Power of the Dog\",2021,\"Feature\",\"Drama\",[\"Jane Campion\"],\"https://www.scriptslug.com/script/the-power-of-the-dog-2021\",\"04c953b19581b650af97984fa9396a4ca26f5dd4bcf7e8d2c85a3effefb0f504\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3e45135f606d3823e449f5649361431811f05467035d05cca54527f9924c94ad",
    "source_locator_sha256": "66fe2c340e395898162451c21fdb0e034a759636b675ac5674c671c6868d3536",
    "measurement_sha256": "a0847bed7df18e228c0be8bd649e108429ee768d0125e18b61a0a6cf27e10c1a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-prestige-2006",
    "title": "The Prestige",
    "year": 2006,
    "primary_genre": "Thriller",
    "writers": [
      "Christopher Nolan",
      "Jonathan Nolan"
    ],
    "pages": 128,
    "scenes": 219,
    "mean_scene_eighths": 4.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 79,
    "day_share_pct": null,
    "unique_locations": 129,
    "location_changes": 214,
    "speaking_characters": 42,
    "single_line_characters": 15,
    "dialogue_blocks": 1105,
    "dialogue_words": 10375,
    "dialogue_action_ratio": 1.25,
    "monologues": 10,
    "top_character_pct": 25.6,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 32,
    "words": 27131,
    "runtime_minutes": 127,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-prestige-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3e45135f606d3823e449f5649361431811f05467035d05cca54527f9924c94ad",
      "measurement_sha256": "a0847bed7df18e228c0be8bd649e108429ee768d0125e18b61a0a6cf27e10c1a",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.scriptslug.com/script/the-prestige-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.638Z.",
        "https://www.scriptslug.com/script/the-prestige-2006",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-prestige-2006\",\"The Prestige\",2006,\"Feature\",\"Thriller\",[\"Christopher Nolan\",\"Jonathan Nolan\"],\"https://www.scriptslug.com/script/the-prestige-2006\",\"66fe2c340e395898162451c21fdb0e034a759636b675ac5674c671c6868d3536\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d0e958fdff0592d1cfeeeea25d919bb2fcd2b97112eec42313cfed1320850e7d",
    "source_locator_sha256": "f89fddd6d7c8a49f30d0c4d6814c4315d355c703245faf5a2bcc544e6e49f832",
    "measurement_sha256": "475e9640f1739a22353f3c0cba1d02686e4f430051490f8b0186bde664647911",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "the-proposal-2009",
    "title": "The Proposal",
    "year": 2009,
    "primary_genre": "Romance",
    "writers": [
      "Pete Chiarelli"
    ],
    "pages": 117,
    "scenes": 102,
    "mean_scene_eighths": 9.9,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 30.5,
    "interior_share_pct": 61.8,
    "day_share_pct": 100,
    "unique_locations": 47,
    "location_changes": 93,
    "speaking_characters": 38,
    "single_line_characters": 17,
    "dialogue_blocks": 1241,
    "dialogue_words": 11372,
    "dialogue_action_ratio": 1.82,
    "monologues": 18,
    "top_character_pct": 28.5,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 26,
    "words": 23405,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-proposal-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d0e958fdff0592d1cfeeeea25d919bb2fcd2b97112eec42313cfed1320850e7d",
      "measurement_sha256": "475e9640f1739a22353f3c0cba1d02686e4f430051490f8b0186bde664647911",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-proposal-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.370Z.",
        "https://www.scriptslug.com/script/the-proposal-2009",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-proposal-2009\",\"The Proposal\",2009,\"Feature\",\"Romance\",[\"Pete Chiarelli\"],\"https://www.scriptslug.com/script/the-proposal-2009\",\"f89fddd6d7c8a49f30d0c4d6814c4315d355c703245faf5a2bcc544e6e49f832\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "069572cbef3bc449e106e354000dc628773222a8b6980cb1e2a988f9a61b13a6",
    "source_locator_sha256": "1c3e7daf9a8f96d2c838eb6996e75641e0d2b220b2b60d220bfada0d713b597a",
    "measurement_sha256": "549e50a943b2d7ba97e672e6253c02aa412970b97acfb96f3fd0ac53b571c9ad",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-pursuit-of-happyness-2006",
    "title": "The Pursuit of Happyness",
    "year": 2006,
    "primary_genre": "Drama",
    "writers": [
      "Steven Conrad"
    ],
    "pages": 128,
    "scenes": 249,
    "mean_scene_eighths": 3.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 45.4,
    "day_share_pct": 91.7,
    "unique_locations": 126,
    "location_changes": 236,
    "speaking_characters": 57,
    "single_line_characters": 16,
    "dialogue_blocks": 1089,
    "dialogue_words": 6964,
    "dialogue_action_ratio": 1.08,
    "monologues": 7,
    "top_character_pct": 61.3,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 32,
    "words": 22738,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-pursuit-of-happyness-2006",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "069572cbef3bc449e106e354000dc628773222a8b6980cb1e2a988f9a61b13a6",
      "measurement_sha256": "549e50a943b2d7ba97e672e6253c02aa412970b97acfb96f3fd0ac53b571c9ad",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-pursuit-of-happyness-2006",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.436Z.",
        "https://www.scriptslug.com/script/the-pursuit-of-happyness-2006",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-pursuit-of-happyness-2006\",\"The Pursuit of Happyness\",2006,\"Feature\",\"Drama\",[\"Steven Conrad\"],\"https://www.scriptslug.com/script/the-pursuit-of-happyness-2006\",\"1c3e7daf9a8f96d2c838eb6996e75641e0d2b220b2b60d220bfada0d713b597a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4553648dde79df37f0032b60c6f9e5ceb0e794ec3e766f889df77c473c3f407b",
    "source_locator_sha256": "917ac3bc46472510c39f8e6cc8c3438b6e172bf8c4db75318c7f17d99aa27fdc",
    "measurement_sha256": "0635904bcacb8f2065c5918fff1f40dbb45bf63d681fdb3584e66f43b291f3ae",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "the-revenant-2015",
    "title": "The Revenant",
    "year": 2015,
    "primary_genre": "Drama",
    "writers": [
      "Mark L. Smith"
    ],
    "pages": 102,
    "scenes": 146,
    "mean_scene_eighths": 5.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 17.8,
    "day_share_pct": 46.4,
    "unique_locations": 37,
    "location_changes": 115,
    "speaking_characters": 23,
    "single_line_characters": 6,
    "dialogue_blocks": 511,
    "dialogue_words": 4519,
    "dialogue_action_ratio": 0.43,
    "monologues": 2,
    "top_character_pct": 26.9,
    "dialogue_line_share_pct": 25,
    "action_line_share_pct": 58,
    "words": 22965,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-revenant-2015",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4553648dde79df37f0032b60c6f9e5ceb0e794ec3e766f889df77c473c3f407b",
      "measurement_sha256": "0635904bcacb8f2065c5918fff1f40dbb45bf63d681fdb3584e66f43b291f3ae",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-revenant-2015",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.464Z.",
        "https://www.scriptslug.com/script/the-revenant-2015",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-revenant-2015\",\"The Revenant\",2015,\"Feature\",\"Drama\",[\"Mark L. Smith\"],\"https://www.scriptslug.com/script/the-revenant-2015\",\"917ac3bc46472510c39f8e6cc8c3438b6e172bf8c4db75318c7f17d99aa27fdc\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "9c78956ad75861de6fc8db4d9d2642ac0447235cbb6e4a7ba06aef947ccaf8a6",
    "source_locator_sha256": "b903791fff3f24b236b2cdfe3de6cc0c9053def671bf10dbaa88c7f152d0fc67",
    "measurement_sha256": "7c37945582a2b36b5a71f302a2f8e957dda84856aaece0b819a6039ef646b06d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-room-next-door-2024",
    "title": "The Room Next Door",
    "year": 2024,
    "primary_genre": "Drama",
    "writers": [
      "Pedro Almodóvar"
    ],
    "pages": 132,
    "scenes": 1,
    "mean_scene_eighths": 655,
    "median_scene_eighths": 655,
    "median_scene_lines": 4503,
    "interior_share_pct": 100,
    "day_share_pct": null,
    "unique_locations": 1,
    "location_changes": 0,
    "speaking_characters": 25,
    "single_line_characters": 5,
    "dialogue_blocks": 729,
    "dialogue_words": 9887,
    "dialogue_action_ratio": 1.42,
    "monologues": 45,
    "top_character_pct": 38.6,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 34,
    "words": 22012,
    "runtime_minutes": 115,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "7c37945582a2b36b5a71f302a2f8e957dda84856aaece0b819a6039ef646b06d",
      "source_sha256": "9c78956ad75861de6fc8db4d9d2642ac0447235cbb6e4a7ba06aef947ccaf8a6",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-room-next-door-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "9c78956ad75861de6fc8db4d9d2642ac0447235cbb6e4a7ba06aef947ccaf8a6",
      "measurement_sha256": "7c37945582a2b36b5a71f302a2f8e957dda84856aaece0b819a6039ef646b06d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-room-next-door-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:50.118Z.",
        "https://www.scriptslug.com/script/the-room-next-door-2024",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-room-next-door-2024\",\"The Room Next Door\",2024,\"Feature\",\"Drama\",[\"Pedro Almodóvar\"],\"https://www.scriptslug.com/script/the-room-next-door-2024\",\"b903791fff3f24b236b2cdfe3de6cc0c9053def671bf10dbaa88c7f152d0fc67\"]"
    },
    "measurement_flags": [
      "scene"
    ]
  },
  {
    "source_sha256": "a74a8499342366dee5514c51b0100d053336a1f6529a2af650f013470c0ee374",
    "source_locator_sha256": "54564929e7d39662eb5ab66781b43982095468ae628a2c49ed20ce08065d55c6",
    "measurement_sha256": "67d2d48c2178584c3b6c6abf66b160cf5c448f5d11fa1162b17afcb79a236b97",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-royal-tenenbaums-2001",
    "title": "The Royal Tenenbaums",
    "year": 2001,
    "primary_genre": "Comedy",
    "writers": [
      "Wes Anderson",
      "Owen Wilson"
    ],
    "pages": 125,
    "scenes": 111,
    "mean_scene_eighths": 8.5,
    "median_scene_eighths": 6,
    "median_scene_lines": 41,
    "interior_share_pct": 67.6,
    "day_share_pct": null,
    "unique_locations": 73,
    "location_changes": 108,
    "speaking_characters": 45,
    "single_line_characters": 16,
    "dialogue_blocks": 1073,
    "dialogue_words": 7612,
    "dialogue_action_ratio": 0.94,
    "monologues": 3,
    "top_character_pct": 29.7,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 38,
    "words": 23809,
    "runtime_minutes": 119,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-royal-tenenbaums-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a74a8499342366dee5514c51b0100d053336a1f6529a2af650f013470c0ee374",
      "measurement_sha256": "67d2d48c2178584c3b6c6abf66b160cf5c448f5d11fa1162b17afcb79a236b97",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-royal-tenenbaums-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.473Z.",
        "https://www.scriptslug.com/script/the-royal-tenenbaums-2001",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-royal-tenenbaums-2001\",\"The Royal Tenenbaums\",2001,\"Feature\",\"Comedy\",[\"Wes Anderson\",\"Owen Wilson\"],\"https://www.scriptslug.com/script/the-royal-tenenbaums-2001\",\"54564929e7d39662eb5ab66781b43982095468ae628a2c49ed20ce08065d55c6\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "72b6bedd49c839f1c620ffb5355782434da658c47d1543060283baba8e10e877",
    "source_locator_sha256": "8495ef393b8a76575e18b4ffb9c0eb517ae0f793e5265c5410a9793e2f98a244",
    "measurement_sha256": "c973caa07dc09f85021a6bf3ad8c75a7802133116f8d5ebca4722e77a41ca6c6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-sessions-2012",
    "title": "The Sessions",
    "year": 2012,
    "primary_genre": "Drama",
    "writers": [
      "Ben Lewin"
    ],
    "pages": 116,
    "scenes": 152,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 69.7,
    "day_share_pct": null,
    "unique_locations": 47,
    "location_changes": 136,
    "speaking_characters": 26,
    "single_line_characters": 5,
    "dialogue_blocks": 817,
    "dialogue_words": 9042,
    "dialogue_action_ratio": 2.31,
    "monologues": 27,
    "top_character_pct": 40.8,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 22,
    "words": 16847,
    "runtime_minutes": 96,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-sessions-2012",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "72b6bedd49c839f1c620ffb5355782434da658c47d1543060283baba8e10e877",
      "measurement_sha256": "c973caa07dc09f85021a6bf3ad8c75a7802133116f8d5ebca4722e77a41ca6c6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-sessions-2012",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.712Z.",
        "https://www.scriptslug.com/script/the-sessions-2012",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-sessions-2012\",\"The Sessions\",2012,\"Feature\",\"Drama\",[\"Ben Lewin\"],\"https://www.scriptslug.com/script/the-sessions-2012\",\"8495ef393b8a76575e18b4ffb9c0eb517ae0f793e5265c5410a9793e2f98a244\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "0cff440b623f0ba771c823c2cdea3c1c81143c2f37842f3367d30050725c3724",
    "source_locator_sha256": "54f24548e3dc2b26f982b8617e1e0f7aa9a93f01e368d5a26cf6c741e8e92999",
    "measurement_sha256": "55399edc05e4998d3fe6050986efd73b8a5c31f4efe5414a7849daf62c19e167",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-social-network-2010",
    "title": "The Social Network",
    "year": 2010,
    "primary_genre": "Drama",
    "writers": [
      "Aaron Sorkin"
    ],
    "pages": 164,
    "scenes": 189,
    "mean_scene_eighths": 7.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 86.2,
    "day_share_pct": 43.3,
    "unique_locations": 74,
    "location_changes": 175,
    "speaking_characters": 78,
    "single_line_characters": 20,
    "dialogue_blocks": 1791,
    "dialogue_words": 16721,
    "dialogue_action_ratio": 3.5,
    "monologues": 61,
    "top_character_pct": 26.5,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 15,
    "words": 29037,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-social-network-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0cff440b623f0ba771c823c2cdea3c1c81143c2f37842f3367d30050725c3724",
      "measurement_sha256": "55399edc05e4998d3fe6050986efd73b8a5c31f4efe5414a7849daf62c19e167",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-social-network-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:59.446Z.",
        "https://www.scriptslug.com/script/the-social-network-2010",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-social-network-2010\",\"The Social Network\",2010,\"Feature\",\"Drama\",[\"Aaron Sorkin\"],\"https://www.scriptslug.com/script/the-social-network-2010\",\"54f24548e3dc2b26f982b8617e1e0f7aa9a93f01e368d5a26cf6c741e8e92999\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "db896ca476f6569b633cd33efd68c7d4d96412349362d40211afce37e513f1ae",
    "source_locator_sha256": "dbbb445220a76cfce0ea58c35a454f040e0845c09115b5c1fb4bbb9811a36806",
    "measurement_sha256": "d019cc598985855d8d4df867004417f004479d9b7401d5f11a9dea82c156bae1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-son-2022",
    "title": "The Son",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Florian Zeller",
      "Christopher Hampton"
    ],
    "pages": 121,
    "scenes": 108,
    "mean_scene_eighths": 9.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 21.5,
    "interior_share_pct": 82.4,
    "day_share_pct": 0,
    "unique_locations": 32,
    "location_changes": 68,
    "speaking_characters": 31,
    "single_line_characters": 7,
    "dialogue_blocks": 1321,
    "dialogue_words": 11320,
    "dialogue_action_ratio": 2.45,
    "monologues": 34,
    "top_character_pct": 38,
    "dialogue_line_share_pct": 50,
    "action_line_share_pct": 20,
    "words": 20859,
    "runtime_minutes": 111,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-son-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "db896ca476f6569b633cd33efd68c7d4d96412349362d40211afce37e513f1ae",
      "measurement_sha256": "d019cc598985855d8d4df867004417f004479d9b7401d5f11a9dea82c156bae1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-son-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.455Z.",
        "https://www.scriptslug.com/script/the-son-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-son-2022\",\"The Son\",2022,\"Feature\",\"Drama\",[\"Florian Zeller\",\"Christopher Hampton\"],\"https://www.scriptslug.com/script/the-son-2022\",\"dbbb445220a76cfce0ea58c35a454f040e0845c09115b5c1fb4bbb9811a36806\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "bcb07cb0546381e87d6b51aadb53bddcf9272ece77e1fa45fab39c8f68f58cdb",
    "source_locator_sha256": "b8d58cdb56f9278c50b064e4e70e477bae0b2803ec3b51e158db160935be757a",
    "measurement_sha256": "a7320fc78f41396749a68548244cfc15375dfbc08b9dc16436170f99d832c3ad",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-substance-2024",
    "title": "The Substance",
    "year": 2024,
    "primary_genre": "Horror",
    "writers": [
      "Coralie Fargeat"
    ],
    "pages": 146,
    "scenes": 247,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 15,
    "interior_share_pct": 85,
    "day_share_pct": 61.5,
    "unique_locations": 114,
    "location_changes": 242,
    "speaking_characters": 49,
    "single_line_characters": 22,
    "dialogue_blocks": 450,
    "dialogue_words": 3860,
    "dialogue_action_ratio": 0.21,
    "monologues": 9,
    "top_character_pct": 20.2,
    "dialogue_line_share_pct": 15,
    "action_line_share_pct": 70,
    "words": 35324,
    "runtime_minutes": 165,
    "parenthetical_rate": 0.21,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-substance-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "bcb07cb0546381e87d6b51aadb53bddcf9272ece77e1fa45fab39c8f68f58cdb",
      "measurement_sha256": "a7320fc78f41396749a68548244cfc15375dfbc08b9dc16436170f99d832c3ad",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-substance-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.536Z.",
        "https://www.scriptslug.com/script/the-substance-2024",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-substance-2024\",\"The Substance\",2024,\"Feature\",\"Horror\",[\"Coralie Fargeat\"],\"https://www.scriptslug.com/script/the-substance-2024\",\"b8d58cdb56f9278c50b064e4e70e477bae0b2803ec3b51e158db160935be757a\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "d92d78456afcc50ffc59fe48a764854c270a019f49e4aaa5899ca2c13648ca02",
    "source_locator_sha256": "96e581d3ae8254c9564aed6fe34c4243143f9c89a2bde91966dc25fb2632f03c",
    "measurement_sha256": "5e9c8e8c686ec624c2456f29ba8418311e7cbed80edc83fb98a166df22f0c186",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-teachers-lounge-2023",
    "title": "The Teachers' Lounge",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Ilker Çatak",
      "Johannes Duncker"
    ],
    "pages": 89,
    "scenes": 64,
    "mean_scene_eighths": 11.6,
    "median_scene_eighths": 7.5,
    "median_scene_lines": 52,
    "interior_share_pct": 96.9,
    "day_share_pct": 95.2,
    "unique_locations": 24,
    "location_changes": 56,
    "speaking_characters": 46,
    "single_line_characters": 10,
    "dialogue_blocks": 948,
    "dialogue_words": 7462,
    "dialogue_action_ratio": 1.87,
    "monologues": 14,
    "top_character_pct": 41.1,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 24,
    "words": 15692,
    "runtime_minutes": 93,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-teachers-lounge-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d92d78456afcc50ffc59fe48a764854c270a019f49e4aaa5899ca2c13648ca02",
      "measurement_sha256": "5e9c8e8c686ec624c2456f29ba8418311e7cbed80edc83fb98a166df22f0c186",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-teachers-lounge-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.169Z.",
        "https://www.scriptslug.com/script/the-teachers-lounge-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-teachers-lounge-2023\",\"The Teachers' Lounge\",2023,\"Feature\",\"Drama\",[\"Ilker Çatak\",\"Johannes Duncker\"],\"https://www.scriptslug.com/script/the-teachers-lounge-2023\",\"96e581d3ae8254c9564aed6fe34c4243143f9c89a2bde91966dc25fb2632f03c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "1165a2730ad539b11345db729f627951f5d9aad35fed47415de0fc4bde884f2a",
    "source_locator_sha256": "0e5a11e3eecf89a4bbc924ba1a9fa871b3f3f25248cd8f6ad2ac48a076543e0b",
    "measurement_sha256": "f227df84a1b54295cd4f1fbdf97baa8faa756da3921e45f4a6aaeb96b5ee25f8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-tomorrow-war-2021",
    "title": "The Tomorrow War",
    "year": 2021,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Zach Dean"
    ],
    "pages": 153,
    "scenes": 103,
    "mean_scene_eighths": 11.3,
    "median_scene_eighths": 6,
    "median_scene_lines": 40,
    "interior_share_pct": 57.8,
    "day_share_pct": 79.3,
    "unique_locations": 55,
    "location_changes": 70,
    "speaking_characters": 60,
    "single_line_characters": 18,
    "dialogue_blocks": 1160,
    "dialogue_words": 11520,
    "dialogue_action_ratio": 1.15,
    "monologues": 29,
    "top_character_pct": 29.4,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 35,
    "words": 30314,
    "runtime_minutes": 139,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-tomorrow-war-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1165a2730ad539b11345db729f627951f5d9aad35fed47415de0fc4bde884f2a",
      "measurement_sha256": "f227df84a1b54295cd4f1fbdf97baa8faa756da3921e45f4a6aaeb96b5ee25f8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-tomorrow-war-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:01.405Z.",
        "https://www.scriptslug.com/script/the-tomorrow-war-2021",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-tomorrow-war-2021\",\"The Tomorrow War\",2021,\"Feature\",\"Sci-Fi\",[\"Zach Dean\"],\"https://www.scriptslug.com/script/the-tomorrow-war-2021\",\"0e5a11e3eecf89a4bbc924ba1a9fa871b3f3f25248cd8f6ad2ac48a076543e0b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e8d9eaa4a44e7f2c37702ec7a3013a33395db72e209a590fb55dd348d5dee459",
    "source_locator_sha256": "3b49a15cb58b5b8077588e4bcdbc1eaba6ea9708f386dc6f6fbc096120835c65",
    "measurement_sha256": "7a43dbd40f12b75782236b95fdfcc4b720d25089778b634518cb3a9cd33edcb2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-town-2010",
    "title": "The Town",
    "year": 2010,
    "primary_genre": "Crime",
    "writers": [
      "Peter Craig",
      "Chuck Hogan",
      "Ben Affleck",
      "Aaron Stockard"
    ],
    "pages": 123,
    "scenes": 154,
    "mean_scene_eighths": 6.1,
    "median_scene_eighths": 3,
    "median_scene_lines": 21.5,
    "interior_share_pct": 60.1,
    "day_share_pct": 72.3,
    "unique_locations": 111,
    "location_changes": 142,
    "speaking_characters": 35,
    "single_line_characters": 12,
    "dialogue_blocks": 1020,
    "dialogue_words": 10304,
    "dialogue_action_ratio": 1.52,
    "monologues": 33,
    "top_character_pct": 31.4,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 29,
    "words": 23364,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-town-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e8d9eaa4a44e7f2c37702ec7a3013a33395db72e209a590fb55dd348d5dee459",
      "measurement_sha256": "7a43dbd40f12b75782236b95fdfcc4b720d25089778b634518cb3a9cd33edcb2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-town-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:58.206Z.",
        "https://www.scriptslug.com/script/the-town-2010",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-town-2010\",\"The Town\",2010,\"Feature\",\"Crime\",[\"Peter Craig\",\"Chuck Hogan\",\"Ben Affleck\",\"Aaron Stockard\"],\"https://www.scriptslug.com/script/the-town-2010\",\"3b49a15cb58b5b8077588e4bcdbc1eaba6ea9708f386dc6f6fbc096120835c65\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "031a53b1191076e435277b444a967df2b559d9a9b4773e3e52db860915ac5b48",
    "source_locator_sha256": "3880525f6233f3ae6902b631c64e5df058cd9cb4e8f949450881a4ac1fe8a960",
    "measurement_sha256": "64e6606efbd86fcf20e3410acbb4da7722057d762421603e309ad2bbc84271c0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-tragedy-of-macbeth-2021",
    "title": "The Tragedy of Macbeth",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Joel Coen"
    ],
    "pages": 103,
    "scenes": 78,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 6,
    "median_scene_lines": 39.5,
    "interior_share_pct": 57.1,
    "day_share_pct": 100,
    "unique_locations": 38,
    "location_changes": 53,
    "speaking_characters": 1,
    "single_line_characters": 1,
    "dialogue_blocks": 1,
    "dialogue_words": 4,
    "dialogue_action_ratio": 0,
    "monologues": 0,
    "top_character_pct": 100,
    "dialogue_line_share_pct": 0,
    "action_line_share_pct": 75,
    "words": 19842,
    "runtime_minutes": 104,
    "parenthetical_rate": 19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "64e6606efbd86fcf20e3410acbb4da7722057d762421603e309ad2bbc84271c0",
      "source_sha256": "031a53b1191076e435277b444a967df2b559d9a9b4773e3e52db860915ac5b48",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain dialogue withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-tragedy-of-macbeth-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "031a53b1191076e435277b444a967df2b559d9a9b4773e3e52db860915ac5b48",
      "measurement_sha256": "64e6606efbd86fcf20e3410acbb4da7722057d762421603e309ad2bbc84271c0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-tragedy-of-macbeth-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:53.542Z.",
        "https://www.scriptslug.com/script/the-tragedy-of-macbeth-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-tragedy-of-macbeth-2021\",\"The Tragedy of Macbeth\",2021,\"Feature\",\"Drama\",[\"Joel Coen\"],\"https://www.scriptslug.com/script/the-tragedy-of-macbeth-2021\",\"3880525f6233f3ae6902b631c64e5df058cd9cb4e8f949450881a4ac1fe8a960\"]"
    },
    "measurement_flags": [
      "dialogue"
    ]
  },
  {
    "source_sha256": "381fe63177d27d28f07e6821ab5c54ae3eb1bf351c460fe9d38b51bba285fc37",
    "source_locator_sha256": "f3a46e5a6726b32b904ae78b3f909e5f5b0c76bfd3b2b35f83e6e38fd97bc021",
    "measurement_sha256": "873afae9871090e2ad32468bd4ca3adb066fb4268a0ab0269ef81392d1cde8bb",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-trial-of-the-chicago-7-2020",
    "title": "The Trial of the Chicago 7",
    "year": 2020,
    "primary_genre": "Drama",
    "writers": [
      "Aaron Sorkin"
    ],
    "pages": 161,
    "scenes": 187,
    "mean_scene_eighths": 6.6,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 71.4,
    "day_share_pct": 53.2,
    "unique_locations": 62,
    "location_changes": 184,
    "speaking_characters": 87,
    "single_line_characters": 38,
    "dialogue_blocks": 1597,
    "dialogue_words": 15258,
    "dialogue_action_ratio": 3.36,
    "monologues": 41,
    "top_character_pct": 15.7,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 16,
    "words": 24844,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-trial-of-the-chicago-7-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "381fe63177d27d28f07e6821ab5c54ae3eb1bf351c460fe9d38b51bba285fc37",
      "measurement_sha256": "873afae9871090e2ad32468bd4ca3adb066fb4268a0ab0269ef81392d1cde8bb",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-trial-of-the-chicago-7-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.759Z.",
        "https://www.scriptslug.com/script/the-trial-of-the-chicago-7-2020",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-trial-of-the-chicago-7-2020\",\"The Trial of the Chicago 7\",2020,\"Feature\",\"Drama\",[\"Aaron Sorkin\"],\"https://www.scriptslug.com/script/the-trial-of-the-chicago-7-2020\",\"f3a46e5a6726b32b904ae78b3f909e5f5b0c76bfd3b2b35f83e6e38fd97bc021\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "3f6b97d9dcfe828c1374ed115e42f62d7a6ec14fa09d276520d0884965bf15ca",
    "source_locator_sha256": "1169cc89adba87640b3840868160da7b92ae47e3fa708ec51fb4b3e447c60541",
    "measurement_sha256": "6d4ed4d90f23737cfbb9b44fa76754b80a43a1111f0ba370dfd4d80bb94d5195",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-whale-2022",
    "title": "The Whale",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Samuel D. Hunter"
    ],
    "pages": 109,
    "scenes": 56,
    "mean_scene_eighths": 14.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 91.1,
    "day_share_pct": 100,
    "unique_locations": 8,
    "location_changes": 33,
    "speaking_characters": 8,
    "single_line_characters": 2,
    "dialogue_blocks": 899,
    "dialogue_words": 8346,
    "dialogue_action_ratio": 1.23,
    "monologues": 24,
    "top_character_pct": 37.7,
    "dialogue_line_share_pct": 42,
    "action_line_share_pct": 34,
    "words": 21159,
    "runtime_minutes": 111,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-whale-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3f6b97d9dcfe828c1374ed115e42f62d7a6ec14fa09d276520d0884965bf15ca",
      "measurement_sha256": "6d4ed4d90f23737cfbb9b44fa76754b80a43a1111f0ba370dfd4d80bb94d5195",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://shop.a24films.com/products/the-whale-screenplay-book",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.387Z.",
        "https://www.scriptslug.com/script/the-whale-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-whale-2022\",\"The Whale\",2022,\"Feature\",\"Drama\",[\"Samuel D. Hunter\"],\"https://www.scriptslug.com/script/the-whale-2022\",\"1169cc89adba87640b3840868160da7b92ae47e3fa708ec51fb4b3e447c60541\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b5cc87a3daaefd6de576e046cd5102442ef8db8004edc6aee0ab360e60713135",
    "source_locator_sha256": "1291f721c52f4046bb2abc226edfe4ce3e3cd45798da00becd90a83fd52b5f45",
    "measurement_sha256": "3906a08409a1c1bf88a19f193a397ed5741f24685dda949a93396c85957497e7",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-wild-robot-2024",
    "title": "The Wild Robot",
    "year": 2024,
    "primary_genre": "Animation/Family",
    "writers": [
      "Chris Sanders"
    ],
    "pages": 101,
    "scenes": 104,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 20.5,
    "interior_share_pct": 27.9,
    "day_share_pct": 60,
    "unique_locations": 59,
    "location_changes": 95,
    "speaking_characters": 58,
    "single_line_characters": 14,
    "dialogue_blocks": 853,
    "dialogue_words": 6323,
    "dialogue_action_ratio": 1.13,
    "monologues": 5,
    "top_character_pct": 25.6,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 34,
    "words": 17015,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-wild-robot-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b5cc87a3daaefd6de576e046cd5102442ef8db8004edc6aee0ab360e60713135",
      "measurement_sha256": "3906a08409a1c1bf88a19f193a397ed5741f24685dda949a93396c85957497e7",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-wild-robot-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.990Z.",
        "https://www.scriptslug.com/script/the-wild-robot-2024",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-wild-robot-2024\",\"The Wild Robot\",2024,\"Feature\",\"Animation/Family\",[\"Chris Sanders\"],\"https://www.scriptslug.com/script/the-wild-robot-2024\",\"1291f721c52f4046bb2abc226edfe4ce3e3cd45798da00becd90a83fd52b5f45\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c6f90a38ea90557d2183b0385c97bf8c264db66d5fb2de8c7b18d3e433200be9",
    "source_locator_sha256": "616db038804636a91c4a319df406fddda09130de288fa80a11e55c9a1c2aba91",
    "measurement_sha256": "a042fc436e8f047863438c5bdb64a3fb5bf4cf0c3e1884279004a4793a1b1cd2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-witch-2016",
    "title": "The Witch",
    "year": 2016,
    "primary_genre": "Horror",
    "writers": [
      "Robert Eggers"
    ],
    "pages": 107,
    "scenes": 82,
    "mean_scene_eighths": 9.6,
    "median_scene_eighths": 4,
    "median_scene_lines": 27.5,
    "interior_share_pct": 36.6,
    "day_share_pct": null,
    "unique_locations": 56,
    "location_changes": 77,
    "speaking_characters": 18,
    "single_line_characters": 8,
    "dialogue_blocks": 785,
    "dialogue_words": 5445,
    "dialogue_action_ratio": 0.83,
    "monologues": 6,
    "top_character_pct": 34.4,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 40,
    "words": 17023,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.16,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-witch-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c6f90a38ea90557d2183b0385c97bf8c264db66d5fb2de8c7b18d3e433200be9",
      "measurement_sha256": "a042fc436e8f047863438c5bdb64a3fb5bf4cf0c3e1884279004a4793a1b1cd2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-witch-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.609Z.",
        "https://www.scriptslug.com/script/the-witch-2016",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-witch-2016\",\"The Witch\",2016,\"Feature\",\"Horror\",[\"Robert Eggers\"],\"https://www.scriptslug.com/script/the-witch-2016\",\"616db038804636a91c4a319df406fddda09130de288fa80a11e55c9a1c2aba91\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "5d5cf278ffb867f4042427549b0fd97ff20d3c32ad66b1af73d7cb3738fbb45e",
    "source_locator_sha256": "9111ca43b51d9c709b58996c45d125f7e01baf589f7df1c3e24bf683976e8a3d",
    "measurement_sha256": "af95ae99699ad5a034cc4dcde6679d829b6ed02d3d1e61f008380c338d0f1a94",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-wolf-of-wall-street-2013",
    "title": "The Wolf of Wall Street",
    "year": 2013,
    "primary_genre": "Crime",
    "writers": [
      "Terence Winter"
    ],
    "pages": 138,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 74,
    "single_line_characters": 30,
    "dialogue_blocks": 1100,
    "dialogue_words": 14922,
    "dialogue_action_ratio": 1.56,
    "monologues": 60,
    "top_character_pct": 60.3,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 31,
    "words": 31141,
    "runtime_minutes": 147,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "af95ae99699ad5a034cc4dcde6679d829b6ed02d3d1e61f008380c338d0f1a94",
      "source_sha256": "5d5cf278ffb867f4042427549b0fd97ff20d3c32ad66b1af73d7cb3738fbb45e",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-wolf-of-wall-street-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "5d5cf278ffb867f4042427549b0fd97ff20d3c32ad66b1af73d7cb3738fbb45e",
      "measurement_sha256": "af95ae99699ad5a034cc4dcde6679d829b6ed02d3d1e61f008380c338d0f1a94",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-wolf-of-wall-street-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.789Z.",
        "https://www.scriptslug.com/script/the-wolf-of-wall-street-2013",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-wolf-of-wall-street-2013\",\"The Wolf of Wall Street\",2013,\"Feature\",\"Crime\",[\"Terence Winter\"],\"https://www.scriptslug.com/script/the-wolf-of-wall-street-2013\",\"9111ca43b51d9c709b58996c45d125f7e01baf589f7df1c3e24bf683976e8a3d\"]"
    },
    "measurement_flags": [
      "scene"
    ]
  },
  {
    "source_sha256": "b24bf640c0048ab593412496873eeef7cf0d59fdd5ba7be7dc322e3d7a30b57e",
    "source_locator_sha256": "0cbbb479f2d50db8da5c5a2e80d1b81829b0b40ea89538def1f45cb3d8ddd8b9",
    "measurement_sha256": "5ed4db13fa4263392dbd96ed7686938af40209fbef838a0e83d08a38f991a1ae",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-wolverine-2013",
    "title": "The Wolverine",
    "year": 2013,
    "primary_genre": "Action",
    "writers": [
      "Christopher McQuarrie"
    ],
    "pages": 128,
    "scenes": 132,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 52.7,
    "day_share_pct": 35.1,
    "unique_locations": 62,
    "location_changes": 100,
    "speaking_characters": 30,
    "single_line_characters": 10,
    "dialogue_blocks": 868,
    "dialogue_words": 8484,
    "dialogue_action_ratio": 0.77,
    "monologues": 20,
    "top_character_pct": 34.1,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 44,
    "words": 28576,
    "runtime_minutes": 132,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-wolverine-2013",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b24bf640c0048ab593412496873eeef7cf0d59fdd5ba7be7dc322e3d7a30b57e",
      "measurement_sha256": "5ed4db13fa4263392dbd96ed7686938af40209fbef838a0e83d08a38f991a1ae",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-wolverine-2013",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.717Z.",
        "https://www.scriptslug.com/script/the-wolverine-2013",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-wolverine-2013\",\"The Wolverine\",2013,\"Feature\",\"Action\",[\"Christopher McQuarrie\"],\"https://www.scriptslug.com/script/the-wolverine-2013\",\"0cbbb479f2d50db8da5c5a2e80d1b81829b0b40ea89538def1f45cb3d8ddd8b9\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "8955124d6e570c0bd195761ce800af5df487bb4c66c7fcd49d5161c968380bc2",
    "source_locator_sha256": "99db108991950d438ad33e28f2c8a126ed2e7edd0fcfff8a5bd720b904adba26",
    "measurement_sha256": "af01643d0b870bd99e346299eed4ccc7836bf1bbe2a0867845abcd53c01254f6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "the-woman-king-2022",
    "title": "The Woman King",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Dana Stevens"
    ],
    "pages": 110,
    "scenes": 128,
    "mean_scene_eighths": 6.7,
    "median_scene_eighths": 4.5,
    "median_scene_lines": 29.5,
    "interior_share_pct": 20.3,
    "day_share_pct": 62.2,
    "unique_locations": 54,
    "location_changes": 83,
    "speaking_characters": 49,
    "single_line_characters": 20,
    "dialogue_blocks": 684,
    "dialogue_words": 7051,
    "dialogue_action_ratio": 0.65,
    "monologues": 11,
    "top_character_pct": 24.6,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 49,
    "words": 26315,
    "runtime_minutes": 125,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-woman-king-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8955124d6e570c0bd195761ce800af5df487bb4c66c7fcd49d5161c968380bc2",
      "measurement_sha256": "af01643d0b870bd99e346299eed4ccc7836bf1bbe2a0867845abcd53c01254f6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-woman-king-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.660Z.",
        "https://www.scriptslug.com/script/the-woman-king-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-woman-king-2022\",\"The Woman King\",2022,\"Feature\",\"Action\",[\"Dana Stevens\"],\"https://www.scriptslug.com/script/the-woman-king-2022\",\"99db108991950d438ad33e28f2c8a126ed2e7edd0fcfff8a5bd720b904adba26\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "25c8d928defdd76eb3220336c65dd8d91a4036c81a6374acf35c752fbc8b4ba9",
    "source_locator_sha256": "48942b16dd362d943a48a1267b16fb0e6196b2a5a072149cfae257a97c0a7873",
    "measurement_sha256": "7284f1212834abc91645754b652f11fc1856c11374eafa45f17651d4f2724b2e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "the-zone-of-interest-2023",
    "title": "The Zone of Interest",
    "year": 2023,
    "primary_genre": "Drama",
    "writers": [
      "Jonathan Glazer"
    ],
    "pages": 76,
    "scenes": 146,
    "mean_scene_eighths": 3.8,
    "median_scene_eighths": 2,
    "median_scene_lines": 16.5,
    "interior_share_pct": 65.1,
    "day_share_pct": 80,
    "unique_locations": 83,
    "location_changes": 142,
    "speaking_characters": 46,
    "single_line_characters": 19,
    "dialogue_blocks": 431,
    "dialogue_words": 3857,
    "dialogue_action_ratio": 0.71,
    "monologues": 17,
    "top_character_pct": 26.3,
    "dialogue_line_share_pct": 31,
    "action_line_share_pct": 44,
    "words": 14933,
    "runtime_minutes": 89,
    "parenthetical_rate": 0.31,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/the-zone-of-interest-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "25c8d928defdd76eb3220336c65dd8d91a4036c81a6374acf35c752fbc8b4ba9",
      "measurement_sha256": "7284f1212834abc91645754b652f11fc1856c11374eafa45f17651d4f2724b2e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/the-zone-of-interest-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1, 2; file bytes verified against production storage on 2026-09-20T19:51:44.289Z.",
        "https://www.scriptslug.com/script/the-zone-of-interest-2023",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"the-zone-of-interest-2023\",\"The Zone of Interest\",2023,\"Feature\",\"Drama\",[\"Jonathan Glazer\"],\"https://www.scriptslug.com/script/the-zone-of-interest-2023\",\"48942b16dd362d943a48a1267b16fb0e6196b2a5a072149cfae257a97c0a7873\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "57744bc294e62f8c04fb71211d1d4f39654b8e9d7dc3e43c4fa6e2f71e87c32a",
    "source_locator_sha256": "c665461f7107a72239d83fb6177b54cd329fc2b3e6c6599a83604a9d85f13a50",
    "measurement_sha256": "736efaec268496aa29431665b430e7057100b15252c6ec588675dea57735bfc5",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "there-will-be-blood-2007",
    "title": "There Will Be Blood",
    "year": 2007,
    "primary_genre": "Drama",
    "writers": [
      "Paul Thomas Anderson"
    ],
    "pages": 130,
    "scenes": 98,
    "mean_scene_eighths": 9.5,
    "median_scene_eighths": 5,
    "median_scene_lines": 32,
    "interior_share_pct": 48,
    "day_share_pct": 100,
    "unique_locations": 92,
    "location_changes": 96,
    "speaking_characters": 37,
    "single_line_characters": 10,
    "dialogue_blocks": 966,
    "dialogue_words": 10501,
    "dialogue_action_ratio": 1.4,
    "monologues": 32,
    "top_character_pct": 45.4,
    "dialogue_line_share_pct": 45,
    "action_line_share_pct": 32,
    "words": 22299,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/there-will-be-blood-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "57744bc294e62f8c04fb71211d1d4f39654b8e9d7dc3e43c4fa6e2f71e87c32a",
      "measurement_sha256": "736efaec268496aa29431665b430e7057100b15252c6ec588675dea57735bfc5",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/there-will-be-blood-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.276Z.",
        "https://www.scriptslug.com/script/there-will-be-blood-2007",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"there-will-be-blood-2007\",\"There Will Be Blood\",2007,\"Feature\",\"Drama\",[\"Paul Thomas Anderson\"],\"https://www.scriptslug.com/script/there-will-be-blood-2007\",\"c665461f7107a72239d83fb6177b54cd329fc2b3e6c6599a83604a9d85f13a50\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "d59d3cdd2ba99c0ee8c30a37d6321e409760aac89387b997f222ad65010759e0",
    "source_locator_sha256": "170c69c38ca395ab8ed005827453831bcd1752884f9b026da32027fa448fd3d9",
    "measurement_sha256": "9418267c31360f08b8a9676ef1bc9c98116a29a7b60ddadc209964c3441f4971",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "thir13en-ghosts-2001",
    "title": "Thir13en Ghosts",
    "year": 2001,
    "primary_genre": "Horror",
    "writers": [
      "Neal Marshall Stevens",
      "Todd Alcott",
      "Richard D'Ovidio",
      "James Gunn"
    ],
    "pages": 110,
    "scenes": 103,
    "mean_scene_eighths": 7.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 77.7,
    "day_share_pct": 25,
    "unique_locations": 38,
    "location_changes": 93,
    "speaking_characters": 16,
    "single_line_characters": 7,
    "dialogue_blocks": 721,
    "dialogue_words": 6049,
    "dialogue_action_ratio": 0.81,
    "monologues": 14,
    "top_character_pct": 25.8,
    "dialogue_line_share_pct": 34,
    "action_line_share_pct": 42,
    "words": 20683,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.18,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/thir13en-ghosts-2001",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d59d3cdd2ba99c0ee8c30a37d6321e409760aac89387b997f222ad65010759e0",
      "measurement_sha256": "9418267c31360f08b8a9676ef1bc9c98116a29a7b60ddadc209964c3441f4971",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/thir13en-ghosts-2001",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:38.408Z.",
        "https://www.scriptslug.com/script/thir13en-ghosts-2001",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"thir13en-ghosts-2001\",\"Thir13en Ghosts\",2001,\"Feature\",\"Horror\",[\"Neal Marshall Stevens\",\"Todd Alcott\",\"Richard D'Ovidio\",\"James Gunn\"],\"https://www.scriptslug.com/script/thir13en-ghosts-2001\",\"170c69c38ca395ab8ed005827453831bcd1752884f9b026da32027fa448fd3d9\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "4eacfc332fa30e61095570cb924832f97a2f08dc8d58a32524681554da6f5914",
    "source_locator_sha256": "911d1a7aa479727b7d6cede07ee836b1b515f5488624ed2f636edef413fc7d43",
    "measurement_sha256": "42db8d9dd5893312183199d647c6b45c0cf466e27614e66134c7fb1b145ee3b4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "thirteen-lives-2022",
    "title": "Thirteen Lives",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "William Nicholson"
    ],
    "pages": 128,
    "scenes": 212,
    "mean_scene_eighths": 4.7,
    "median_scene_eighths": 3,
    "median_scene_lines": 18.5,
    "interior_share_pct": 56.8,
    "day_share_pct": 68.6,
    "unique_locations": 50,
    "location_changes": 198,
    "speaking_characters": 55,
    "single_line_characters": 10,
    "dialogue_blocks": 941,
    "dialogue_words": 7775,
    "dialogue_action_ratio": 0.75,
    "monologues": 12,
    "top_character_pct": 17.8,
    "dialogue_line_share_pct": 33,
    "action_line_share_pct": 43,
    "words": 29092,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/thirteen-lives-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "4eacfc332fa30e61095570cb924832f97a2f08dc8d58a32524681554da6f5914",
      "measurement_sha256": "42db8d9dd5893312183199d647c6b45c0cf466e27614e66134c7fb1b145ee3b4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/thirteen-lives-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.323Z.",
        "https://www.scriptslug.com/script/thirteen-lives-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"thirteen-lives-2022\",\"Thirteen Lives\",2022,\"Feature\",\"Drama\",[\"William Nicholson\"],\"https://www.scriptslug.com/script/thirteen-lives-2022\",\"911d1a7aa479727b7d6cede07ee836b1b515f5488624ed2f636edef413fc7d43\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b92a1cbb5a320789565820f0ea2496cb1303596e0918ca633d785def3899e7d2",
    "source_locator_sha256": "e8279311c32996eea16942d2f87cb9f9b612c11d7c59c5a33b3c24774c807dda",
    "measurement_sha256": "50a575f4f87b3a9d739d27059c556b99a95fe03783b3cb759c3d811c2b2533b8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "three-thousand-years-of-longing-2022",
    "title": "Three Thousand Years of Longing",
    "year": 2022,
    "primary_genre": "Fantasy",
    "writers": [
      "George Miller",
      "Augusta Gore"
    ],
    "pages": 93,
    "scenes": 180,
    "mean_scene_eighths": 4.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 16,
    "interior_share_pct": 98.3,
    "day_share_pct": 50,
    "unique_locations": 150,
    "location_changes": 179,
    "speaking_characters": 11,
    "single_line_characters": 6,
    "dialogue_blocks": 354,
    "dialogue_words": 2325,
    "dialogue_action_ratio": 0.19,
    "monologues": 0,
    "top_character_pct": 20.9,
    "dialogue_line_share_pct": 12,
    "action_line_share_pct": 64,
    "words": 20371,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.58,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/three-thousand-years-of-longing-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b92a1cbb5a320789565820f0ea2496cb1303596e0918ca633d785def3899e7d2",
      "measurement_sha256": "50a575f4f87b3a9d739d27059c556b99a95fe03783b3cb759c3d811c2b2533b8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/three-thousand-years-of-longing-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.949Z.",
        "https://www.scriptslug.com/script/three-thousand-years-of-longing-2022",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"three-thousand-years-of-longing-2022\",\"Three Thousand Years of Longing\",2022,\"Feature\",\"Fantasy\",[\"George Miller\",\"Augusta Gore\"],\"https://www.scriptslug.com/script/three-thousand-years-of-longing-2022\",\"e8279311c32996eea16942d2f87cb9f9b612c11d7c59c5a33b3c24774c807dda\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a44d63593b3482384d9f128fb2baee2894e82dbd93263e931779e5e8933b3289",
    "source_locator_sha256": "4e22cfe740e1c9e956a6cf4e70e8e9691dc04e2fc8cf9aae7bdedffb5aeaf18d",
    "measurement_sha256": "f362ed460105917e573993ec7b542c5e55f2ab046bd7346a5aadcf5ba4f02ff6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "tick-tick-boom-2021",
    "title": "tick, tick... BOOM!",
    "year": 2021,
    "primary_genre": "Drama",
    "writers": [
      "Steven Levenson"
    ],
    "pages": 104,
    "scenes": 190,
    "mean_scene_eighths": 4.3,
    "median_scene_eighths": 2,
    "median_scene_lines": 14,
    "interior_share_pct": 86.1,
    "day_share_pct": 100,
    "unique_locations": 40,
    "location_changes": 168,
    "speaking_characters": 64,
    "single_line_characters": 27,
    "dialogue_blocks": 916,
    "dialogue_words": 9903,
    "dialogue_action_ratio": 2.03,
    "monologues": 29,
    "top_character_pct": 50.4,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 23,
    "words": 19769,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.09,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/tick-tick-boom-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a44d63593b3482384d9f128fb2baee2894e82dbd93263e931779e5e8933b3289",
      "measurement_sha256": "f362ed460105917e573993ec7b542c5e55f2ab046bd7346a5aadcf5ba4f02ff6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/tick-tick-boom-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.941Z.",
        "https://www.scriptslug.com/script/tick-tick-boom-2021",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"tick-tick-boom-2021\",\"tick, tick... BOOM!\",2021,\"Feature\",\"Drama\",[\"Steven Levenson\"],\"https://www.scriptslug.com/script/tick-tick-boom-2021\",\"4e22cfe740e1c9e956a6cf4e70e8e9691dc04e2fc8cf9aae7bdedffb5aeaf18d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "59552f231dfe8eac11f575740cf30efde29d1f63f90491d85248675970d6ac22",
    "source_locator_sha256": "6fe4aec910fcb8f8442c1287eaf15c86d4487211051307c11a4cc17075a99b9a",
    "measurement_sha256": "eb2f10dae7843b054fb44aa5eb4d11b3245449c724ef1e02b8328d967336ac4a",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "to-all-the-boys-ive-loved-before-2018",
    "title": "To All the Boys I've Loved Before",
    "year": 2018,
    "primary_genre": "Romance",
    "writers": [
      "Sofia Alvarez"
    ],
    "pages": 114,
    "scenes": 102,
    "mean_scene_eighths": 8.4,
    "median_scene_eighths": 6,
    "median_scene_lines": 41,
    "interior_share_pct": 67.6,
    "day_share_pct": 51.5,
    "unique_locations": 46,
    "location_changes": 83,
    "speaking_characters": 20,
    "single_line_characters": 7,
    "dialogue_blocks": 1114,
    "dialogue_words": 11715,
    "dialogue_action_ratio": 2.98,
    "monologues": 20,
    "top_character_pct": 43.3,
    "dialogue_line_share_pct": 52,
    "action_line_share_pct": 17,
    "words": 20822,
    "runtime_minutes": 106,
    "parenthetical_rate": 0.15,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/to-all-the-boys-ive-loved-before-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "59552f231dfe8eac11f575740cf30efde29d1f63f90491d85248675970d6ac22",
      "measurement_sha256": "eb2f10dae7843b054fb44aa5eb4d11b3245449c724ef1e02b8328d967336ac4a",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/to-all-the-boys-ive-loved-before-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.615Z.",
        "https://www.scriptslug.com/script/to-all-the-boys-ive-loved-before-2018",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"to-all-the-boys-ive-loved-before-2018\",\"To All the Boys I've Loved Before\",2018,\"Feature\",\"Romance\",[\"Sofia Alvarez\"],\"https://www.scriptslug.com/script/to-all-the-boys-ive-loved-before-2018\",\"6fe4aec910fcb8f8442c1287eaf15c86d4487211051307c11a4cc17075a99b9a\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "943401dfadb1042d81e2d82f6d627abdde0702b56c0174baaea5740b3e2ba434",
    "source_locator_sha256": "c18cef8cee9dc5b0b303b9afef970835f09c4556fdd167ba70962206261040ab",
    "measurement_sha256": "2456e7a8cce9789084411df124d3f89a593cafc07a26d1451389dd7e236f1dc4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "to-catch-a-killer-2023",
    "title": "To Catch a Killer",
    "year": 2023,
    "primary_genre": "Thriller",
    "writers": [
      "Damián Szifron",
      "Jonathan Wakeham"
    ],
    "pages": 120,
    "scenes": 66,
    "mean_scene_eighths": 13.6,
    "median_scene_eighths": 10,
    "median_scene_lines": 66.5,
    "interior_share_pct": 60.6,
    "day_share_pct": 58,
    "unique_locations": 44,
    "location_changes": 47,
    "speaking_characters": 77,
    "single_line_characters": 31,
    "dialogue_blocks": 815,
    "dialogue_words": 11218,
    "dialogue_action_ratio": 1.48,
    "monologues": 55,
    "top_character_pct": 25.5,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 31,
    "words": 24476,
    "runtime_minutes": 123,
    "parenthetical_rate": 0.2,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/to-catch-a-killer-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "943401dfadb1042d81e2d82f6d627abdde0702b56c0174baaea5740b3e2ba434",
      "measurement_sha256": "2456e7a8cce9789084411df124d3f89a593cafc07a26d1451389dd7e236f1dc4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/to-catch-a-killer-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.981Z.",
        "https://www.scriptslug.com/script/to-catch-a-killer-2023",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"to-catch-a-killer-2023\",\"To Catch a Killer\",2023,\"Feature\",\"Thriller\",[\"Damián Szifron\",\"Jonathan Wakeham\"],\"https://www.scriptslug.com/script/to-catch-a-killer-2023\",\"c18cef8cee9dc5b0b303b9afef970835f09c4556fdd167ba70962206261040ab\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "1ffc4978baeefede314fa6ff8ef7a521965d8cb8a8db0edbbb7bc315cd371d0a",
    "source_locator_sha256": "bb84b1c5d72ec6c4f6df93efde35c0e86bd73738095b12c3fe5a3b288723cd05",
    "measurement_sha256": "d2d4dfc6015e3a5692bf7760e28f39b6c3e17ff4e9ed25ee7341fbc4a6e9b16f",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "top-gun-maverick-2022",
    "title": "Top Gun: Maverick",
    "year": 2022,
    "primary_genre": "Action",
    "writers": [
      "Ehren Kruger",
      "Eric Warren Singer",
      "Christopher McQuarrie"
    ],
    "pages": 170,
    "scenes": 319,
    "mean_scene_eighths": 3.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 12,
    "interior_share_pct": 61.9,
    "day_share_pct": 74.5,
    "unique_locations": 139,
    "location_changes": 294,
    "speaking_characters": 47,
    "single_line_characters": 14,
    "dialogue_blocks": 1381,
    "dialogue_words": 10944,
    "dialogue_action_ratio": 1.28,
    "monologues": 19,
    "top_character_pct": 35,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 31,
    "words": 29034,
    "runtime_minutes": 134,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/top-gun-maverick-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "1ffc4978baeefede314fa6ff8ef7a521965d8cb8a8db0edbbb7bc315cd371d0a",
      "measurement_sha256": "d2d4dfc6015e3a5692bf7760e28f39b6c3e17ff4e9ed25ee7341fbc4a6e9b16f",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/top-gun-maverick-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.242Z.",
        "https://www.scriptslug.com/script/top-gun-maverick-2022",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"top-gun-maverick-2022\",\"Top Gun: Maverick\",2022,\"Feature\",\"Action\",[\"Ehren Kruger\",\"Eric Warren Singer\",\"Christopher McQuarrie\"],\"https://www.scriptslug.com/script/top-gun-maverick-2022\",\"bb84b1c5d72ec6c4f6df93efde35c0e86bd73738095b12c3fe5a3b288723cd05\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "53e9c0fb2a002878a051718beef4530cb3a8cc60f56c07b81d9b9e5b77a4c251",
    "source_locator_sha256": "85fe48b868767f39ab613ddb2571ca07be6cd57d81e9c0f04016a3ffeea04e4d",
    "measurement_sha256": "cf0eeb1ea88f061abcf3a3f2e89e0bc5500fb4d2c0519780161ab09d0622fff1",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "toy-story-3-2010",
    "title": "Toy Story 3",
    "year": 2010,
    "primary_genre": "Animation/Family",
    "writers": [
      "Michael Arndt"
    ],
    "pages": 131,
    "scenes": 132,
    "mean_scene_eighths": 7.8,
    "median_scene_eighths": 3,
    "median_scene_lines": 19,
    "interior_share_pct": 68.6,
    "day_share_pct": 34.3,
    "unique_locations": 63,
    "location_changes": 122,
    "speaking_characters": 60,
    "single_line_characters": 19,
    "dialogue_blocks": 1155,
    "dialogue_words": 7696,
    "dialogue_action_ratio": 1.08,
    "monologues": 7,
    "top_character_pct": 18.4,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 34,
    "words": 24111,
    "runtime_minutes": 115,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/toy-story-3-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "53e9c0fb2a002878a051718beef4530cb3a8cc60f56c07b81d9b9e5b77a4c251",
      "measurement_sha256": "cf0eeb1ea88f061abcf3a3f2e89e0bc5500fb4d2c0519780161ab09d0622fff1",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/toy-story-3-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.873Z.",
        "https://www.scriptslug.com/script/toy-story-3-2010",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"toy-story-3-2010\",\"Toy Story 3\",2010,\"Feature\",\"Animation/Family\",[\"Michael Arndt\"],\"https://www.scriptslug.com/script/toy-story-3-2010\",\"85fe48b868767f39ab613ddb2571ca07be6cd57d81e9c0f04016a3ffeea04e4d\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "421d062d93377cffd94b4e21aaf978f07dc528036f3b951412d4eb7f29c58329",
    "source_locator_sha256": "6a2c6a9a12afc0a78a8c38cb52b5d21c96157edaac952de23093438896f17a0b",
    "measurement_sha256": "53b9e8f856775db78274f53805ac1494eac3cd394bdbbd946bda8e4a523e8530",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "toy-story-4-2019",
    "title": "Toy Story 4",
    "year": 2019,
    "primary_genre": "Animation/Family",
    "writers": [
      "Andrew Stanton",
      "Stephany Folsom"
    ],
    "pages": 123,
    "scenes": 38,
    "mean_scene_eighths": 21.9,
    "median_scene_eighths": 15.5,
    "median_scene_lines": 107,
    "interior_share_pct": 42.1,
    "day_share_pct": 62.5,
    "unique_locations": 25,
    "location_changes": 34,
    "speaking_characters": 78,
    "single_line_characters": 29,
    "dialogue_blocks": 1163,
    "dialogue_words": 7722,
    "dialogue_action_ratio": 1.25,
    "monologues": 3,
    "top_character_pct": 25,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 32,
    "words": 20670,
    "runtime_minutes": 109,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/toy-story-4-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "421d062d93377cffd94b4e21aaf978f07dc528036f3b951412d4eb7f29c58329",
      "measurement_sha256": "53b9e8f856775db78274f53805ac1494eac3cd394bdbbd946bda8e4a523e8530",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/toy-story-4-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:45.912Z.",
        "https://www.scriptslug.com/script/toy-story-4-2019",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"toy-story-4-2019\",\"Toy Story 4\",2019,\"Feature\",\"Animation/Family\",[\"Andrew Stanton\",\"Stephany Folsom\"],\"https://www.scriptslug.com/script/toy-story-4-2019\",\"6a2c6a9a12afc0a78a8c38cb52b5d21c96157edaac952de23093438896f17a0b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "ea4b829f1ade60ae68c6ce3a5c8b6849ab41a378069adedb9665fcf37b55a3f9",
    "source_locator_sha256": "c9d1e7dc9ba707dea0ecdcda5d769c65da2cb0862e81e1f8620556c7059ef3c0",
    "measurement_sha256": "ec47beac6d1ca2aa517b512c077814e1bf8a58a19c96c0aba6cf22e97ee6f9bf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "train-dreams-2025",
    "title": "Train Dreams",
    "year": 2025,
    "primary_genre": "Drama",
    "writers": [
      "Clint Bentley",
      "Greg Kwedar"
    ],
    "pages": 99,
    "scenes": 121,
    "mean_scene_eighths": 6.2,
    "median_scene_eighths": 4,
    "median_scene_lines": 29,
    "interior_share_pct": 30.6,
    "day_share_pct": 60.6,
    "unique_locations": 53,
    "location_changes": 100,
    "speaking_characters": 50,
    "single_line_characters": 26,
    "dialogue_blocks": 555,
    "dialogue_words": 6801,
    "dialogue_action_ratio": 0.77,
    "monologues": 24,
    "top_character_pct": 24.8,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 46,
    "words": 21430,
    "runtime_minutes": 113,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/train-dreams-2025",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "ea4b829f1ade60ae68c6ce3a5c8b6849ab41a378069adedb9665fcf37b55a3f9",
      "measurement_sha256": "ec47beac6d1ca2aa517b512c077814e1bf8a58a19c96c0aba6cf22e97ee6f9bf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/train-dreams-2025",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:42.422Z.",
        "https://www.scriptslug.com/script/train-dreams-2025",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"train-dreams-2025\",\"Train Dreams\",2025,\"Feature\",\"Drama\",[\"Clint Bentley\",\"Greg Kwedar\"],\"https://www.scriptslug.com/script/train-dreams-2025\",\"c9d1e7dc9ba707dea0ecdcda5d769c65da2cb0862e81e1f8620556c7059ef3c0\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "f7fdc816bf0d77e08284b4278f81c6a5e2e259e516f301555fb8978f03bc8a02",
    "source_locator_sha256": "f950baad577ced733214c6663cb3306001433274b16a098446f3cb257ff040c7",
    "measurement_sha256": "75a6451e8c78627af2ed8eb0331b13bd0eb52ffc5e6cce52e4aa96c3add46cf6",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "triangle-of-sadness-2022",
    "title": "Triangle of Sadness",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "Ruben Östlund"
    ],
    "pages": 99,
    "scenes": 90,
    "mean_scene_eighths": 8.5,
    "median_scene_eighths": 6,
    "median_scene_lines": 41,
    "interior_share_pct": 55,
    "day_share_pct": 51.3,
    "unique_locations": 52,
    "location_changes": 83,
    "speaking_characters": 43,
    "single_line_characters": 12,
    "dialogue_blocks": 879,
    "dialogue_words": 8046,
    "dialogue_action_ratio": 1.42,
    "monologues": 20,
    "top_character_pct": 20.8,
    "dialogue_line_share_pct": 44,
    "action_line_share_pct": 31,
    "words": 19487,
    "runtime_minutes": 104,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/triangle-of-sadness-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "f7fdc816bf0d77e08284b4278f81c6a5e2e259e516f301555fb8978f03bc8a02",
      "measurement_sha256": "75a6451e8c78627af2ed8eb0331b13bd0eb52ffc5e6cce52e4aa96c3add46cf6",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/triangle-of-sadness-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.104Z.",
        "https://www.scriptslug.com/script/triangle-of-sadness-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"triangle-of-sadness-2022\",\"Triangle of Sadness\",2022,\"Feature\",\"Comedy\",[\"Ruben Östlund\"],\"https://www.scriptslug.com/script/triangle-of-sadness-2022\",\"f950baad577ced733214c6663cb3306001433274b16a098446f3cb257ff040c7\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "6161b174c34930fb4ca807847ba859c3ad5778e265dba1eecf1a8f9f0065e114",
    "source_locator_sha256": "ff5c93d787c6943e1b000dfeb1bcbc6135e78bb1f2e1102d8094d9f61028b8fd",
    "measurement_sha256": "b1372be5acf797b980facd8c66370405d21d51e52cb9b9f2e6652422180aaf61",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "tucker-and-dale-vs-evil-2010",
    "title": "Tucker and Dale vs. Evil",
    "year": 2010,
    "primary_genre": "Comedy",
    "writers": [
      "Eli Craig",
      "Morgan Jurgenson"
    ],
    "pages": 106,
    "scenes": 106,
    "mean_scene_eighths": 7.5,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 42.5,
    "day_share_pct": 44.6,
    "unique_locations": 27,
    "location_changes": 71,
    "speaking_characters": 21,
    "single_line_characters": 3,
    "dialogue_blocks": 885,
    "dialogue_words": 7070,
    "dialogue_action_ratio": 1.17,
    "monologues": 7,
    "top_character_pct": 30.5,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 33,
    "words": 19770,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/tucker-and-dale-vs-evil-2010",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "6161b174c34930fb4ca807847ba859c3ad5778e265dba1eecf1a8f9f0065e114",
      "measurement_sha256": "b1372be5acf797b980facd8c66370405d21d51e52cb9b9f2e6652422180aaf61",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/tucker-and-dale-vs-evil-2010",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:55.841Z.",
        "https://www.scriptslug.com/script/tucker-and-dale-vs-evil-2010",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"tucker-and-dale-vs-evil-2010\",\"Tucker and Dale vs. Evil\",2010,\"Feature\",\"Comedy\",[\"Eli Craig\",\"Morgan Jurgenson\"],\"https://www.scriptslug.com/script/tucker-and-dale-vs-evil-2010\",\"ff5c93d787c6943e1b000dfeb1bcbc6135e78bb1f2e1102d8094d9f61028b8fd\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "129dc783d1915d2c1d8fad8fff6c4106ee92e009a629485a72b6d0e3cde814a2",
    "source_locator_sha256": "9fee90de420000937acf46773ec4ac0ed12e30cc6f03655865bd747001522319",
    "measurement_sha256": "3a47ed5252504d069c045955ef06e5ec1933b18db7fd418f2a9a7fbef56a2639",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "uncut-gems-2019",
    "title": "Uncut Gems",
    "year": 2019,
    "primary_genre": "Thriller",
    "writers": [
      "Ronald Bronstein",
      "Josh Safdie",
      "Benny Safdie"
    ],
    "pages": 119,
    "scenes": 119,
    "mean_scene_eighths": 7.3,
    "median_scene_eighths": 3,
    "median_scene_lines": 24,
    "interior_share_pct": 77.3,
    "day_share_pct": 60,
    "unique_locations": 61,
    "location_changes": 89,
    "speaking_characters": 66,
    "single_line_characters": 12,
    "dialogue_blocks": 973,
    "dialogue_words": 11407,
    "dialogue_action_ratio": 1.8,
    "monologues": 31,
    "top_character_pct": 13.7,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 27,
    "words": 23111,
    "runtime_minutes": 117,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/uncut-gems-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "129dc783d1915d2c1d8fad8fff6c4106ee92e009a629485a72b6d0e3cde814a2",
      "measurement_sha256": "3a47ed5252504d069c045955ef06e5ec1933b18db7fd418f2a9a7fbef56a2639",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/uncut-gems-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.557Z.",
        "https://www.scriptslug.com/script/uncut-gems-2019",
        "Primary genre Thriller retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"uncut-gems-2019\",\"Uncut Gems\",2019,\"Feature\",\"Thriller\",[\"Ronald Bronstein\",\"Josh Safdie\",\"Benny Safdie\"],\"https://www.scriptslug.com/script/uncut-gems-2019\",\"9fee90de420000937acf46773ec4ac0ed12e30cc6f03655865bd747001522319\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "b61b5b682c769cdb188807be838e788f7cd3196b84caf6f625f5339a685d6369",
    "source_locator_sha256": "3513f487b02415d5c7b416bdc6b551d0462aceb04971138d5ea71ed6d78fdb00",
    "measurement_sha256": "31265ee8ad18fd46cf58c422e91b45a13181da6a40ccaafe2fbac732f05177ee",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "underwater-2020",
    "title": "Underwater",
    "year": 2020,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Brian Duffield"
    ],
    "pages": 88,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 7,
    "single_line_characters": 0,
    "dialogue_blocks": 741,
    "dialogue_words": 5177,
    "dialogue_action_ratio": 1.09,
    "monologues": 5,
    "top_character_pct": 41.2,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 36,
    "words": 12357,
    "runtime_minutes": 89,
    "parenthetical_rate": 0.03,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "31265ee8ad18fd46cf58c422e91b45a13181da6a40ccaafe2fbac732f05177ee",
      "source_sha256": "b61b5b682c769cdb188807be838e788f7cd3196b84caf6f625f5339a685d6369",
      "pdf_pages": [
        2
      ],
      "withheld_families": [],
      "reason": "Source layout checked against the flagged engine 1.5 result. Retain scene withholding: the source has non-standard or unreadable structure that these measurements do not represent reliably.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/underwater-2020",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b61b5b682c769cdb188807be838e788f7cd3196b84caf6f625f5339a685d6369",
      "measurement_sha256": "31265ee8ad18fd46cf58c422e91b45a13181da6a40ccaafe2fbac732f05177ee",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/underwater-2020",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.748Z.",
        "https://www.scriptslug.com/script/underwater-2020",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"underwater-2020\",\"Underwater\",2020,\"Feature\",\"Sci-Fi\",[\"Brian Duffield\"],\"https://www.scriptslug.com/script/underwater-2020\",\"3513f487b02415d5c7b416bdc6b551d0462aceb04971138d5ea71ed6d78fdb00\"]"
    },
    "measurement_flags": [
      "scene"
    ]
  },
  {
    "source_sha256": "eda6e4e0f288603cc5c33bf2d23baf59480444cad9956430f21e4f90de27d399",
    "source_locator_sha256": "4cedb64f254c52002607d08ff16937012756964ab92fa90e60f4ed0caeed8280",
    "measurement_sha256": "298142e4adb92a2155cd694e0e3da79823daba8352371f84b12deccff4169847",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "underworld-2003",
    "title": "Underworld",
    "year": 2003,
    "primary_genre": "Fantasy",
    "writers": [
      "Danny McBride"
    ],
    "pages": 105,
    "scenes": 223,
    "mean_scene_eighths": 3.3,
    "median_scene_eighths": 2,
    "median_scene_lines": 13,
    "interior_share_pct": 82.1,
    "day_share_pct": 20,
    "unique_locations": 105,
    "location_changes": 215,
    "speaking_characters": 29,
    "single_line_characters": 15,
    "dialogue_blocks": 453,
    "dialogue_words": 5203,
    "dialogue_action_ratio": 0.49,
    "monologues": 11,
    "top_character_pct": 24.4,
    "dialogue_line_share_pct": 26,
    "action_line_share_pct": 53,
    "words": 25498,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "298142e4adb92a2155cd694e0e3da79823daba8352371f84b12deccff4169847",
      "source_sha256": "eda6e4e0f288603cc5c33bf2d23baf59480444cad9956430f21e4f90de27d399",
      "pdf_pages": [
        105
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "A camera movement direction is classified as a speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/underworld-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "eda6e4e0f288603cc5c33bf2d23baf59480444cad9956430f21e4f90de27d399",
      "measurement_sha256": "298142e4adb92a2155cd694e0e3da79823daba8352371f84b12deccff4169847",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/underworld-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.300Z.",
        "https://www.scriptslug.com/script/underworld-2003",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"underworld-2003\",\"Underworld\",2003,\"Feature\",\"Fantasy\",[\"Danny McBride\"],\"https://www.scriptslug.com/script/underworld-2003\",\"4cedb64f254c52002607d08ff16937012756964ab92fa90e60f4ed0caeed8280\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "2d8dc15a7a8db91d642a8de1db0e81b9c83902adc28d147785adde32a7e6f38b",
    "source_locator_sha256": "ccd8235b95317b61e5a913fc70c7458a99f4383bdbcd7d4fca7a0179fc3d77b4",
    "measurement_sha256": "00e5797652ddc24a4d3d182262e6a482d2a77d96404fb98491c5740a67bb6563",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "up-2009",
    "title": "Up",
    "year": 2009,
    "primary_genre": "Animation/Family",
    "writers": [
      "Bob Peterson",
      "Pete Docter"
    ],
    "pages": 101,
    "scenes": 171,
    "mean_scene_eighths": 4.6,
    "median_scene_eighths": 1,
    "median_scene_lines": 9,
    "interior_share_pct": 48,
    "day_share_pct": 93.8,
    "unique_locations": 56,
    "location_changes": 106,
    "speaking_characters": 30,
    "single_line_characters": 12,
    "dialogue_blocks": 734,
    "dialogue_words": 5671,
    "dialogue_action_ratio": 0.82,
    "monologues": 2,
    "top_character_pct": 20.6,
    "dialogue_line_share_pct": 35,
    "action_line_share_pct": 42,
    "words": 17048,
    "runtime_minutes": 103,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/up-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "2d8dc15a7a8db91d642a8de1db0e81b9c83902adc28d147785adde32a7e6f38b",
      "measurement_sha256": "00e5797652ddc24a4d3d182262e6a482d2a77d96404fb98491c5740a67bb6563",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/up-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.619Z.",
        "https://www.scriptslug.com/script/up-2009",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"up-2009\",\"Up\",2009,\"Feature\",\"Animation/Family\",[\"Bob Peterson\",\"Pete Docter\"],\"https://www.scriptslug.com/script/up-2009\",\"ccd8235b95317b61e5a913fc70c7458a99f4383bdbcd7d4fca7a0179fc3d77b4\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "3ee3b16065e3201c42f4df73465a93db639980157c552239d37c541b00d71d02",
    "source_locator_sha256": "99133bdfcb10071c7f2b9f4b4874cb7c1fe807eccd6efe4c689b8fdca7823365",
    "measurement_sha256": "87a93b785c684ff5c6027157ab1d27c93c2f2c20cbef03b90feebaeaa2035d16",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "upgrade-2018",
    "title": "Upgrade",
    "year": 2018,
    "primary_genre": "Sci-Fi",
    "writers": [
      "Leigh Whannell"
    ],
    "pages": 109,
    "scenes": 146,
    "mean_scene_eighths": 5.6,
    "median_scene_eighths": 3,
    "median_scene_lines": 18,
    "interior_share_pct": 72.6,
    "day_share_pct": 50,
    "unique_locations": 65,
    "location_changes": 133,
    "speaking_characters": 32,
    "single_line_characters": 7,
    "dialogue_blocks": 779,
    "dialogue_words": 8031,
    "dialogue_action_ratio": 1.06,
    "monologues": 21,
    "top_character_pct": 30.6,
    "dialogue_line_share_pct": 39,
    "action_line_share_pct": 37,
    "words": 22983,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/upgrade-2018",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "3ee3b16065e3201c42f4df73465a93db639980157c552239d37c541b00d71d02",
      "measurement_sha256": "87a93b785c684ff5c6027157ab1d27c93c2f2c20cbef03b90feebaeaa2035d16",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/upgrade-2018",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.393Z.",
        "https://www.scriptslug.com/script/upgrade-2018",
        "Primary genre Sci-Fi retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"upgrade-2018\",\"Upgrade\",2018,\"Feature\",\"Sci-Fi\",[\"Leigh Whannell\"],\"https://www.scriptslug.com/script/upgrade-2018\",\"99133bdfcb10071c7f2b9f4b4874cb7c1fe807eccd6efe4c689b8fdca7823365\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "25628d1bc2876dd9ad0bfaf6f50b92908a6a68be5c0c66b5660149173eeb2366",
    "source_locator_sha256": "7ba3319aa1d9c8b20c5981060fc2d768d8d9a9447a94dda20f5834deda128ff3",
    "measurement_sha256": "ffb4e6245a7c8f43b2e6b558ef2a5cc72767c4816d6fc03825a65fbf6fb9d1e4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "us-2019",
    "title": "Us",
    "year": 2019,
    "primary_genre": "Horror",
    "writers": [
      "Jordan Peele"
    ],
    "pages": 94,
    "scenes": 203,
    "mean_scene_eighths": 3.3,
    "median_scene_eighths": 1,
    "median_scene_lines": 10,
    "interior_share_pct": 70.9,
    "day_share_pct": 27.3,
    "unique_locations": 129,
    "location_changes": 194,
    "speaking_characters": 30,
    "single_line_characters": 10,
    "dialogue_blocks": 637,
    "dialogue_words": 4860,
    "dialogue_action_ratio": 0.79,
    "monologues": 8,
    "top_character_pct": 26.8,
    "dialogue_line_share_pct": 32,
    "action_line_share_pct": 41,
    "words": 17774,
    "runtime_minutes": 97,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/us-2019",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "25628d1bc2876dd9ad0bfaf6f50b92908a6a68be5c0c66b5660149173eeb2366",
      "measurement_sha256": "ffb4e6245a7c8f43b2e6b558ef2a5cc72767c4816d6fc03825a65fbf6fb9d1e4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/us-2019",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:47.750Z.",
        "https://www.scriptslug.com/script/us-2019",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"us-2019\",\"Us\",2019,\"Feature\",\"Horror\",[\"Jordan Peele\"],\"https://www.scriptslug.com/script/us-2019\",\"7ba3319aa1d9c8b20c5981060fc2d768d8d9a9447a94dda20f5834deda128ff3\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "b9a8fa0c295cfbc635d844ae8dd9c242a0c5bb7b78598c0a78d26f864836e1b1",
    "source_locator_sha256": "c169833c7a04d79b5e80d9c6a7f19f62f9237a57c463b9e0b54e99b7d70a8e8c",
    "measurement_sha256": "7375d7959f3a2ac66cb2142a16e6443d8e4c20687707c6a58dc729f1f6cc7493",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "vacancy-2007",
    "title": "Vacancy",
    "year": 2007,
    "primary_genre": "Horror",
    "writers": [
      "Mark L. Smith"
    ],
    "pages": 97,
    "scenes": 130,
    "mean_scene_eighths": 5.1,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 72.3,
    "day_share_pct": 8.5,
    "unique_locations": 24,
    "location_changes": 115,
    "speaking_characters": 15,
    "single_line_characters": 2,
    "dialogue_blocks": 573,
    "dialogue_words": 4596,
    "dialogue_action_ratio": 0.61,
    "monologues": 4,
    "top_character_pct": 48.5,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 48,
    "words": 18605,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.04,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/vacancy-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "b9a8fa0c295cfbc635d844ae8dd9c242a0c5bb7b78598c0a78d26f864836e1b1",
      "measurement_sha256": "7375d7959f3a2ac66cb2142a16e6443d8e4c20687707c6a58dc729f1f6cc7493",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/vacancy-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.625Z.",
        "https://www.scriptslug.com/script/vacancy-2007",
        "Primary genre Horror retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"vacancy-2007\",\"Vacancy\",2007,\"Feature\",\"Horror\",[\"Mark L. Smith\"],\"https://www.scriptslug.com/script/vacancy-2007\",\"c169833c7a04d79b5e80d9c6a7f19f62f9237a57c463b9e0b54e99b7d70a8e8c\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "96d012043dc3c142becd7c9b7c03e6db9b03c6bb3c2ff60880f8677b7941ce32",
    "source_locator_sha256": "e6c59be2f77a72d4a2d8995929fc54484fa519086ad7f1ad2a28709b07e53a3e",
    "measurement_sha256": "9a393b23eb3791d083502f051f7922cac8316f79fb6a4c7b5e20d87c9df381c8",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "vengeance-2022",
    "title": "Vengeance",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "B. J. Novak"
    ],
    "pages": 109,
    "scenes": 86,
    "mean_scene_eighths": 9.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 35.5,
    "interior_share_pct": 62.8,
    "day_share_pct": 65.1,
    "unique_locations": 37,
    "location_changes": 56,
    "speaking_characters": 41,
    "single_line_characters": 13,
    "dialogue_blocks": 1054,
    "dialogue_words": 12357,
    "dialogue_action_ratio": 3.83,
    "monologues": 56,
    "top_character_pct": 35.5,
    "dialogue_line_share_pct": 56,
    "action_line_share_pct": 15,
    "words": 19450,
    "runtime_minutes": 105,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/vengeance-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "96d012043dc3c142becd7c9b7c03e6db9b03c6bb3c2ff60880f8677b7941ce32",
      "measurement_sha256": "9a393b23eb3791d083502f051f7922cac8316f79fb6a4c7b5e20d87c9df381c8",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/vengeance-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.134Z.",
        "https://www.scriptslug.com/script/vengeance-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"vengeance-2022\",\"Vengeance\",2022,\"Feature\",\"Comedy\",[\"B. J. Novak\"],\"https://www.scriptslug.com/script/vengeance-2022\",\"e6c59be2f77a72d4a2d8995929fc54484fa519086ad7f1ad2a28709b07e53a3e\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "e86f8aba6bbef44c16a96749ca60a5cbc2be84c39f1d8e2156500cd6fb71f275",
    "source_locator_sha256": "95202786c9e13035dc81114753d27585820d6c6a965b418d9157a0c1c97da434",
    "measurement_sha256": "5660c64c1c173206f9492bb05457761a05f83636de991e4b114936b2393f726b",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "wall-e-2008",
    "title": "WALL-E",
    "year": 2008,
    "primary_genre": "Animation/Family",
    "writers": [
      "Andrew Stanton",
      "Jim Reardon"
    ],
    "pages": 95,
    "scenes": 71,
    "mean_scene_eighths": 8.8,
    "median_scene_eighths": 4,
    "median_scene_lines": 26,
    "interior_share_pct": 54.9,
    "day_share_pct": 53.3,
    "unique_locations": 44,
    "location_changes": 65,
    "speaking_characters": 27,
    "single_line_characters": 8,
    "dialogue_blocks": 398,
    "dialogue_words": 2105,
    "dialogue_action_ratio": 0.32,
    "monologues": 4,
    "top_character_pct": 36.8,
    "dialogue_line_share_pct": 20,
    "action_line_share_pct": 61,
    "words": 17205,
    "runtime_minutes": 100,
    "parenthetical_rate": 0.35,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/wall-e-2008",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "e86f8aba6bbef44c16a96749ca60a5cbc2be84c39f1d8e2156500cd6fb71f275",
      "measurement_sha256": "5660c64c1c173206f9492bb05457761a05f83636de991e4b114936b2393f726b",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/wall-e-2008",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:34.223Z.",
        "https://www.scriptslug.com/script/wall-e-2008",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"wall-e-2008\",\"WALL-E\",2008,\"Feature\",\"Animation/Family\",[\"Andrew Stanton\",\"Jim Reardon\"],\"https://www.scriptslug.com/script/wall-e-2008\",\"95202786c9e13035dc81114753d27585820d6c6a965b418d9157a0c1c97da434\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8a848c51cd50e13f93bc7a99ca6ec48dbed08b4a0cee284decc4e6c9a7c57af7",
    "source_locator_sha256": "d381b8dc0e85e796d6daab54a65f43093dea6b576147a6f395f520cf18dd8fd0",
    "measurement_sha256": "6bf405dc4955e3e3a33138e1815b3e5755549c341b5bcedf5320fab3014bd9c0",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "weird-the-al-yankovic-story-2022",
    "title": "Weird: The Al Yankovic Story",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "\"Weird Al\" Yankovic",
      "Eric Appel"
    ],
    "pages": 101,
    "scenes": 67,
    "mean_scene_eighths": 11.4,
    "median_scene_eighths": 6,
    "median_scene_lines": 41,
    "interior_share_pct": 73.9,
    "day_share_pct": 65,
    "unique_locations": 34,
    "location_changes": 49,
    "speaking_characters": 59,
    "single_line_characters": 23,
    "dialogue_blocks": 774,
    "dialogue_words": 10957,
    "dialogue_action_ratio": 2.02,
    "monologues": 45,
    "top_character_pct": 33.1,
    "dialogue_line_share_pct": 51,
    "action_line_share_pct": 25,
    "words": 21329,
    "runtime_minutes": 110,
    "parenthetical_rate": 0.12,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/weird-the-al-yankovic-story-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8a848c51cd50e13f93bc7a99ca6ec48dbed08b4a0cee284decc4e6c9a7c57af7",
      "measurement_sha256": "6bf405dc4955e3e3a33138e1815b3e5755549c341b5bcedf5320fab3014bd9c0",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/weird-the-al-yankovic-story-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.435Z.",
        "https://www.scriptslug.com/script/weird-the-al-yankovic-story-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"weird-the-al-yankovic-story-2022\",\"Weird: The Al Yankovic Story\",2022,\"Feature\",\"Comedy\",[\"\\\"Weird Al\\\" Yankovic\",\"Eric Appel\"],\"https://www.scriptslug.com/script/weird-the-al-yankovic-story-2022\",\"d381b8dc0e85e796d6daab54a65f43093dea6b576147a6f395f520cf18dd8fd0\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "db3174aa466b2010c165f4600d336c723d3b352fc2aea3d0c02d312ecd3a1d9f",
    "source_locator_sha256": "4a94e887ac7063375f108388be9eeb8e19aebb14c27c431c7f74829eb6f08447",
    "measurement_sha256": "e70a856ded78fa4dc5224ee8c11a17e25556dff639c99e3aae039b50b0f4eadf",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "west-side-story-2021",
    "title": "West Side Story",
    "year": 2021,
    "primary_genre": "Romance",
    "writers": [
      "Tony Kushner"
    ],
    "pages": 137,
    "scenes": 87,
    "mean_scene_eighths": 13.9,
    "median_scene_eighths": 4,
    "median_scene_lines": 28,
    "interior_share_pct": 48.9,
    "day_share_pct": 34.6,
    "unique_locations": 71,
    "location_changes": 81,
    "speaking_characters": 107,
    "single_line_characters": 47,
    "dialogue_blocks": 1257,
    "dialogue_words": 10136,
    "dialogue_action_ratio": 0.96,
    "monologues": 8,
    "top_character_pct": 17.1,
    "dialogue_line_share_pct": 36,
    "action_line_share_pct": 37,
    "words": 30782,
    "runtime_minutes": 140,
    "parenthetical_rate": 0.14,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/west-side-story-2021",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "db3174aa466b2010c165f4600d336c723d3b352fc2aea3d0c02d312ecd3a1d9f",
      "measurement_sha256": "e70a856ded78fa4dc5224ee8c11a17e25556dff639c99e3aae039b50b0f4eadf",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/west-side-story-2021",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:52.357Z.",
        "https://www.scriptslug.com/script/west-side-story-2021",
        "Primary genre Romance retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"west-side-story-2021\",\"West Side Story\",2021,\"Feature\",\"Romance\",[\"Tony Kushner\"],\"https://www.scriptslug.com/script/west-side-story-2021\",\"4a94e887ac7063375f108388be9eeb8e19aebb14c27c431c7f74829eb6f08447\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "0463bbd8a979525f9420dd5d0996e95b3667d4b0c20f6ee1675b8a25d31e18f7",
    "source_locator_sha256": "2392c511b62d933fc1335a8fffdc587939547b134faaf445858373f52965ad49",
    "measurement_sha256": "6f99a9e44840bd4549b93cf7592b603b28b0526562c254f61f881fe241737b12",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "where-the-wild-things-are-2009",
    "title": "Where the Wild Things Are",
    "year": 2009,
    "primary_genre": "Animation/Family",
    "writers": [
      "Dave Eggers",
      "Spike Jonze"
    ],
    "pages": 87,
    "scenes": 60,
    "mean_scene_eighths": 11.6,
    "median_scene_eighths": 5,
    "median_scene_lines": 34.5,
    "interior_share_pct": 39.2,
    "day_share_pct": null,
    "unique_locations": 45,
    "location_changes": 54,
    "speaking_characters": 30,
    "single_line_characters": 7,
    "dialogue_blocks": 779,
    "dialogue_words": 6346,
    "dialogue_action_ratio": 1.2,
    "monologues": 11,
    "top_character_pct": 15.6,
    "dialogue_line_share_pct": 38,
    "action_line_share_pct": 32,
    "words": 17524,
    "runtime_minutes": 95,
    "parenthetical_rate": 0.25,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/where-the-wild-things-are-2009",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "0463bbd8a979525f9420dd5d0996e95b3667d4b0c20f6ee1675b8a25d31e18f7",
      "measurement_sha256": "6f99a9e44840bd4549b93cf7592b603b28b0526562c254f61f881fe241737b12",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/where-the-wild-things-are-2009",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.591Z.",
        "https://www.scriptslug.com/script/where-the-wild-things-are-2009",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"where-the-wild-things-are-2009\",\"Where the Wild Things Are\",2009,\"Feature\",\"Animation/Family\",[\"Dave Eggers\",\"Spike Jonze\"],\"https://www.scriptslug.com/script/where-the-wild-things-are-2009\",\"2392c511b62d933fc1335a8fffdc587939547b134faaf445858373f52965ad49\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "446eb6df1f6cbfcdcc52d0ccc3af845007c06922a8d4453f222e4e9033f94481",
    "source_locator_sha256": "04fd8d296256ed9fff272b38ff12be5aaee2867acdc62db62fcd1ad8ab596ffd",
    "measurement_sha256": "3dbf29a9d4f61bf90f32fe77a210075cf4c37501886f5ecd276d1d3590056133",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "whiplash-2014",
    "title": "Whiplash",
    "year": 2014,
    "primary_genre": "Drama",
    "writers": [
      "Damien Chazelle"
    ],
    "pages": 114,
    "scenes": 114,
    "mean_scene_eighths": 7.4,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 85.1,
    "day_share_pct": 46.6,
    "unique_locations": 31,
    "location_changes": 63,
    "speaking_characters": 43,
    "single_line_characters": 18,
    "dialogue_blocks": 805,
    "dialogue_words": 7530,
    "dialogue_action_ratio": 0.99,
    "monologues": 20,
    "top_character_pct": 49.7,
    "dialogue_line_share_pct": 37,
    "action_line_share_pct": 38,
    "words": 23068,
    "runtime_minutes": 114,
    "parenthetical_rate": 0.19,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/whiplash-2014",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "446eb6df1f6cbfcdcc52d0ccc3af845007c06922a8d4453f222e4e9033f94481",
      "measurement_sha256": "3dbf29a9d4f61bf90f32fe77a210075cf4c37501886f5ecd276d1d3590056133",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/whiplash-2014",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.218Z.",
        "https://www.scriptslug.com/script/whiplash-2014",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"whiplash-2014\",\"Whiplash\",2014,\"Feature\",\"Drama\",[\"Damien Chazelle\"],\"https://www.scriptslug.com/script/whiplash-2014\",\"04fd8d296256ed9fff272b38ff12be5aaee2867acdc62db62fcd1ad8ab596ffd\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8dae41b3af137c62e42f12eb8ef360e20b2a70c0b12d9f8ee17eedd97c97a946",
    "source_locator_sha256": "4258a173748bcbd7a55cfb14fa878a51e8a39209b06a35b16915a98c4c5d9cb1",
    "measurement_sha256": "474900531ac2cc4b70d403de9bb33199b37beb804c1696d5a8aab3c177fba5d3",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "white-noise-2022",
    "title": "White Noise",
    "year": 2022,
    "primary_genre": "Comedy",
    "writers": [
      "Noah Baumbach"
    ],
    "pages": 132,
    "scenes": 57,
    "mean_scene_eighths": 18.7,
    "median_scene_eighths": 14,
    "median_scene_lines": 94,
    "interior_share_pct": 71.1,
    "day_share_pct": null,
    "unique_locations": 49,
    "location_changes": 55,
    "speaking_characters": 46,
    "single_line_characters": 19,
    "dialogue_blocks": 1151,
    "dialogue_words": 12274,
    "dialogue_action_ratio": 1.57,
    "monologues": 35,
    "top_character_pct": 32.7,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 29,
    "words": 26245,
    "runtime_minutes": 130,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/white-noise-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8dae41b3af137c62e42f12eb8ef360e20b2a70c0b12d9f8ee17eedd97c97a946",
      "measurement_sha256": "474900531ac2cc4b70d403de9bb33199b37beb804c1696d5a8aab3c177fba5d3",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/white-noise-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:35.653Z.",
        "https://www.scriptslug.com/script/white-noise-2022",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"white-noise-2022\",\"White Noise\",2022,\"Feature\",\"Comedy\",[\"Noah Baumbach\"],\"https://www.scriptslug.com/script/white-noise-2022\",\"4258a173748bcbd7a55cfb14fa878a51e8a39209b06a35b16915a98c4c5d9cb1\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "7d9211f59bbef5c7bf78b4a49b056452b664d0d5c5edb2ac91135c32c3831429",
    "source_locator_sha256": "d1134e7c3958ef7f1276dbc536251e18f4cfe37186937ff163e98628304f2a6b",
    "measurement_sha256": "01f54c0ce9b86930913fcf663d55a5df4392f7a3003d527509c1c4b3dc21e4dd",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "whitney-houston-i-wanna-dance-with-somebody-2022",
    "title": "Whitney Houston: I Wanna Dance with Somebody",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Anthony McCarten"
    ],
    "pages": 141,
    "scenes": 188,
    "mean_scene_eighths": 5.9,
    "median_scene_eighths": 3,
    "median_scene_lines": 21,
    "interior_share_pct": 69.1,
    "day_share_pct": 72.2,
    "unique_locations": 130,
    "location_changes": 173,
    "speaking_characters": 65,
    "single_line_characters": 28,
    "dialogue_blocks": 1168,
    "dialogue_words": 12809,
    "dialogue_action_ratio": 1.68,
    "monologues": 42,
    "top_character_pct": 45.3,
    "dialogue_line_share_pct": 46,
    "action_line_share_pct": 27,
    "words": 26983,
    "runtime_minutes": 131,
    "parenthetical_rate": 0.13,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/whitney-houston-i-wanna-dance-with-somebody-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "7d9211f59bbef5c7bf78b4a49b056452b664d0d5c5edb2ac91135c32c3831429",
      "measurement_sha256": "01f54c0ce9b86930913fcf663d55a5df4392f7a3003d527509c1c4b3dc21e4dd",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/whitney-houston-i-wanna-dance-with-somebody-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.126Z.",
        "https://www.scriptslug.com/script/whitney-houston-i-wanna-dance-with-somebody-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"whitney-houston-i-wanna-dance-with-somebody-2022\",\"Whitney Houston: I Wanna Dance with Somebody\",2022,\"Feature\",\"Drama\",[\"Anthony McCarten\"],\"https://www.scriptslug.com/script/whitney-houston-i-wanna-dance-with-somebody-2022\",\"d1134e7c3958ef7f1276dbc536251e18f4cfe37186937ff163e98628304f2a6b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "c4cc536e8816366a36f2222e2b4afc6ba1caf289bd5e90ac9dc77ffbcc651d04",
    "source_locator_sha256": "bcb3729b6e6e05b98417e4586bceab0de7432ad1b2c6da325063717dddd2f41d",
    "measurement_sha256": "658f4047738a4a1d99d7a0bd65c1cfbebd1080bee9c59dbd66151d786aace34d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "wicked-2024",
    "title": "Wicked",
    "year": 2024,
    "primary_genre": "Fantasy",
    "writers": [
      "Winnie Holzman",
      "Dana Fox"
    ],
    "pages": 124,
    "scenes": 89,
    "mean_scene_eighths": 10.8,
    "median_scene_eighths": 5,
    "median_scene_lines": 33,
    "interior_share_pct": 46.1,
    "day_share_pct": 55.8,
    "unique_locations": 29,
    "location_changes": 46,
    "speaking_characters": 65,
    "single_line_characters": 36,
    "dialogue_blocks": 784,
    "dialogue_words": 5955,
    "dialogue_action_ratio": 0.65,
    "monologues": 3,
    "top_character_pct": 21.3,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 44,
    "words": 24245,
    "runtime_minutes": 118,
    "parenthetical_rate": 0.22,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "658f4047738a4a1d99d7a0bd65c1cfbebd1080bee9c59dbd66151d786aace34d",
      "source_sha256": "c4cc536e8816366a36f2222e2b4afc6ba1caf289bd5e90ac9dc77ffbcc651d04",
      "pdf_pages": [
        33,
        35,
        36
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "All-capitals song lyrics are classified as speakers.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/wicked-2024",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c4cc536e8816366a36f2222e2b4afc6ba1caf289bd5e90ac9dc77ffbcc651d04",
      "measurement_sha256": "658f4047738a4a1d99d7a0bd65c1cfbebd1080bee9c59dbd66151d786aace34d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/wicked-2024",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:39.482Z.",
        "https://www.scriptslug.com/script/wicked-2024",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"wicked-2024\",\"Wicked\",2024,\"Feature\",\"Fantasy\",[\"Winnie Holzman\",\"Dana Fox\"],\"https://www.scriptslug.com/script/wicked-2024\",\"bcb3729b6e6e05b98417e4586bceab0de7432ad1b2c6da325063717dddd2f41d\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "c253d84390284d3577a2abd864a1973d197399767c5cd58c0f35831fa5fd6f9d",
    "source_locator_sha256": "02fdab20779b5b9f56d796b50831e38862d8c52a30fcbb8a0d24a0fa90b6c47b",
    "measurement_sha256": "14f11817d5bccbea8de0a6bbd24ff0f176fb33c1f13dbf9295d7e6157e3be311",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "wind-river-2017",
    "title": "Wind River",
    "year": 2017,
    "primary_genre": "Crime",
    "writers": [
      "Taylor Sheridan"
    ],
    "pages": 113,
    "scenes": 71,
    "mean_scene_eighths": 11.8,
    "median_scene_eighths": 9,
    "median_scene_lines": 62,
    "interior_share_pct": 43.7,
    "day_share_pct": null,
    "unique_locations": 56,
    "location_changes": 64,
    "speaking_characters": 33,
    "single_line_characters": 6,
    "dialogue_blocks": 832,
    "dialogue_words": 8542,
    "dialogue_action_ratio": 1.04,
    "monologues": 20,
    "top_character_pct": 36.7,
    "dialogue_line_share_pct": 40,
    "action_line_share_pct": 38,
    "words": 22913,
    "runtime_minutes": 117,
    "parenthetical_rate": 0,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/wind-river-2017",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "c253d84390284d3577a2abd864a1973d197399767c5cd58c0f35831fa5fd6f9d",
      "measurement_sha256": "14f11817d5bccbea8de0a6bbd24ff0f176fb33c1f13dbf9295d7e6157e3be311",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/wind-river-2017",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:51.653Z.",
        "https://www.scriptslug.com/script/wind-river-2017",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"wind-river-2017\",\"Wind River\",2017,\"Feature\",\"Crime\",[\"Taylor Sheridan\"],\"https://www.scriptslug.com/script/wind-river-2017\",\"02fdab20779b5b9f56d796b50831e38862d8c52a30fcbb8a0d24a0fa90b6c47b\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "d1c3a207bdd3d9c6c70c6eec71f1086334783179c5be52f32b33fabd8b94588e",
    "source_locator_sha256": "d2e948b229df2ba04b59f2b0cbf606936e1a2e9767f25ee978f86f89aec2bb39",
    "measurement_sha256": "c600bed655130a839f1b9020193e33926fbc58a913a9f45d2abbdbbdf121313e",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "women-talking-2022",
    "title": "Women Talking",
    "year": 2022,
    "primary_genre": "Drama",
    "writers": [
      "Sarah Polley"
    ],
    "pages": 125,
    "scenes": 103,
    "mean_scene_eighths": 7.9,
    "median_scene_eighths": 2,
    "median_scene_lines": 17,
    "interior_share_pct": 56.3,
    "day_share_pct": 88.6,
    "unique_locations": 46,
    "location_changes": 97,
    "speaking_characters": 29,
    "single_line_characters": 6,
    "dialogue_blocks": 840,
    "dialogue_words": 9983,
    "dialogue_action_ratio": 1.65,
    "monologues": 33,
    "top_character_pct": 17.3,
    "dialogue_line_share_pct": 48,
    "action_line_share_pct": 29,
    "words": 21290,
    "runtime_minutes": 112,
    "parenthetical_rate": 0.05,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/women-talking-2022",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "d1c3a207bdd3d9c6c70c6eec71f1086334783179c5be52f32b33fabd8b94588e",
      "measurement_sha256": "c600bed655130a839f1b9020193e33926fbc58a913a9f45d2abbdbbdf121313e",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/women-talking-2022",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:49.999Z.",
        "https://www.scriptslug.com/script/women-talking-2022",
        "Primary genre Drama retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"women-talking-2022\",\"Women Talking\",2022,\"Feature\",\"Drama\",[\"Sarah Polley\"],\"https://www.scriptslug.com/script/women-talking-2022\",\"d2e948b229df2ba04b59f2b0cbf606936e1a2e9767f25ee978f86f89aec2bb39\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "13c78bae672b67fec75f32205fced05c6ebf22f4d2019173a5c1e5516d2218b5",
    "source_locator_sha256": "1e098a0330ca4d1fd7c2e8a50148dfce092fd251358f763953948f2444dc2fb4",
    "measurement_sha256": "2d8c6965aac140d50a192423416c5fe0c7ff52c617b499c2cf9ebc125242a930",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "wonder-boys-2000",
    "title": "Wonder Boys",
    "year": 2000,
    "primary_genre": "Comedy",
    "writers": [
      "Steve Kloves"
    ],
    "pages": 123,
    "scenes": 91,
    "mean_scene_eighths": 10.8,
    "median_scene_eighths": 6,
    "median_scene_lines": 39,
    "interior_share_pct": 61.5,
    "day_share_pct": 40,
    "unique_locations": 66,
    "location_changes": 89,
    "speaking_characters": 74,
    "single_line_characters": 39,
    "dialogue_blocks": 1161,
    "dialogue_words": 12435,
    "dialogue_action_ratio": 1.68,
    "monologues": 30,
    "top_character_pct": 32.1,
    "dialogue_line_share_pct": 47,
    "action_line_share_pct": 28,
    "words": 26058,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.11,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/wonder-boys-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "13c78bae672b67fec75f32205fced05c6ebf22f4d2019173a5c1e5516d2218b5",
      "measurement_sha256": "2d8c6965aac140d50a192423416c5fe0c7ff52c617b499c2cf9ebc125242a930",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/wonder-boys-2000",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:52:00.525Z.",
        "https://www.scriptslug.com/script/wonder-boys-2000",
        "Primary genre Comedy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"wonder-boys-2000\",\"Wonder Boys\",2000,\"Feature\",\"Comedy\",[\"Steve Kloves\"],\"https://www.scriptslug.com/script/wonder-boys-2000\",\"1e098a0330ca4d1fd7c2e8a50148dfce092fd251358f763953948f2444dc2fb4\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "a3591ac810f5cb12acc590e26c6ae6886cddb4213e2b233e1f621a1b228b123c",
    "source_locator_sha256": "a9f48b3f0a1a5ec1a94f83dcdfdce150a106229ba87a45ea2e4e2c78057e26d4",
    "measurement_sha256": "3a88a7b1c181b22271c5d3ee30379ce68ecdd45645ff8f27723bd2826c000a5d",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "wonka-2023",
    "title": "Wonka",
    "year": 2023,
    "primary_genre": "Fantasy",
    "writers": [
      "Paul King",
      "Simon Farnaby"
    ],
    "pages": 132,
    "scenes": 124,
    "mean_scene_eighths": 8.3,
    "median_scene_eighths": 4,
    "median_scene_lines": 28.5,
    "interior_share_pct": 64.1,
    "day_share_pct": 59.8,
    "unique_locations": 51,
    "location_changes": 114,
    "speaking_characters": 54,
    "single_line_characters": 18,
    "dialogue_blocks": 1122,
    "dialogue_words": 10400,
    "dialogue_action_ratio": 1.46,
    "monologues": 19,
    "top_character_pct": 30.7,
    "dialogue_line_share_pct": 43,
    "action_line_share_pct": 29,
    "words": 24430,
    "runtime_minutes": 120,
    "parenthetical_rate": 0.07,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/wonka-2023",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "a3591ac810f5cb12acc590e26c6ae6886cddb4213e2b233e1f621a1b228b123c",
      "measurement_sha256": "3a88a7b1c181b22271c5d3ee30379ce68ecdd45645ff8f27723bd2826c000a5d",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/wonka-2023",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:54.845Z.",
        "https://www.scriptslug.com/script/wonka-2023",
        "Primary genre Fantasy retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"wonka-2023\",\"Wonka\",2023,\"Feature\",\"Fantasy\",[\"Paul King\",\"Simon Farnaby\"],\"https://www.scriptslug.com/script/wonka-2023\",\"a9f48b3f0a1a5ec1a94f83dcdfdce150a106229ba87a45ea2e4e2c78057e26d4\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "da358256ebb1facc1e3226c987db42632bbcf1ae4649c312b34641a13bdeeb5f",
    "source_locator_sha256": "d03a4a07d2869bd286cd8c5defd02fa9162021f008ed9084d68c13d4deb9f36d",
    "measurement_sha256": "e97e383b4ebf18f6b70e793a717a435572772bbb905e5ef73ee2b812fc58c6a9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "x-men-2000",
    "title": "X-Men",
    "year": 2000,
    "primary_genre": "Action",
    "writers": [
      "David Hayter"
    ],
    "pages": 160,
    "scenes": 130,
    "mean_scene_eighths": 7.8,
    "median_scene_eighths": 4,
    "median_scene_lines": 25,
    "interior_share_pct": 67.7,
    "day_share_pct": 27.6,
    "unique_locations": 80,
    "location_changes": 120,
    "speaking_characters": 61,
    "single_line_characters": 35,
    "dialogue_blocks": 737,
    "dialogue_words": 6616,
    "dialogue_action_ratio": 0.54,
    "monologues": 25,
    "top_character_pct": 12.4,
    "dialogue_line_share_pct": 29,
    "action_line_share_pct": 53,
    "words": 28352,
    "runtime_minutes": 137,
    "parenthetical_rate": 0.26,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/x-men-2000",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "da358256ebb1facc1e3226c987db42632bbcf1ae4649c312b34641a13bdeeb5f",
      "measurement_sha256": "e97e383b4ebf18f6b70e793a717a435572772bbb905e5ef73ee2b812fc58c6a9",
      "credit_basis": "Held cover does not identify the screenwriter. External screenplay credit from the cited source is used explicitly as a fallback; this does not certify the authorship of an undated draft.",
      "credit_source": "https://www.20thcenturystudios.com/movies/x-men",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:46.865Z.",
        "https://www.scriptslug.com/script/x-men-2000",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"x-men-2000\",\"X-Men\",2000,\"Feature\",\"Action\",[\"David Hayter\"],\"https://www.scriptslug.com/script/x-men-2000\",\"d03a4a07d2869bd286cd8c5defd02fa9162021f008ed9084d68c13d4deb9f36d\"]"
    },
    "measurement_flags": [
      "character"
    ]
  },
  {
    "source_sha256": "815e09f2a098bd14b65107eba4522218e59758f81ac8700c2ad07f2106713fe7",
    "source_locator_sha256": "c250fb956415bc9d838760de4ed54068a039e65b3ebb510934d86d047c3483e5",
    "measurement_sha256": "9d12aa374ea347eb3ea1a7c462a2267a4c99ff12f1f23758f3b3c3ad60416ae2",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers"
      ]
    },
    "slug": "x2-x-men-united-2003",
    "title": "X2: X-Men United",
    "year": 2003,
    "primary_genre": "Action",
    "writers": [
      "David Hayter",
      "Michael Dougherty",
      "Dan Harris"
    ],
    "pages": 110,
    "scenes": 0,
    "mean_scene_eighths": null,
    "median_scene_eighths": null,
    "median_scene_lines": null,
    "interior_share_pct": null,
    "day_share_pct": null,
    "unique_locations": 0,
    "location_changes": 0,
    "speaking_characters": 1,
    "single_line_characters": 1,
    "dialogue_blocks": 179,
    "dialogue_words": 288,
    "dialogue_action_ratio": 0.06,
    "monologues": 0,
    "top_character_pct": 0.3,
    "dialogue_line_share_pct": 5,
    "action_line_share_pct": 91,
    "words": 18470,
    "runtime_minutes": 126,
    "parenthetical_rate": 0.01,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "9d12aa374ea347eb3ea1a7c462a2267a4c99ff12f1f23758f3b3c3ad60416ae2",
      "source_sha256": "815e09f2a098bd14b65107eba4522218e59758f81ac8700c2ad07f2106713fe7",
      "pdf_pages": [
        2
      ],
      "withheld_families": [
        "scene",
        "character",
        "dialogue"
      ],
      "reason": "Source comparison shows unreadable text, missed structural boundaries or widespread lost/malformed speaker cues. Withhold dependent structure and speech measurements; physical PDF page count remains usable. This is a conservative publication decision, not a corrected transcription.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/x2-x-men-united-2003",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "815e09f2a098bd14b65107eba4522218e59758f81ac8700c2ad07f2106713fe7",
      "measurement_sha256": "9d12aa374ea347eb3ea1a7c462a2267a4c99ff12f1f23758f3b3c3ad60416ae2",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/x2-x-men-united-2003",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:41.159Z.",
        "https://www.scriptslug.com/script/x2-x-men-united-2003",
        "Primary genre Action retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"x2-x-men-united-2003\",\"X2: X-Men United\",2003,\"Feature\",\"Action\",[\"David Hayter\",\"Michael Dougherty\",\"Dan Harris\"],\"https://www.scriptslug.com/script/x2-x-men-united-2003\",\"c250fb956415bc9d838760de4ed54068a039e65b3ebb510934d86d047c3483e5\"]"
    },
    "measurement_flags": [
      "scene",
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "98cfb0902f37dafc96a82c045f8ea24255f61c2815fac25f66d95106b809d291",
    "source_locator_sha256": "6b4468cd9e48273e49f761eeeeab56dc3159c71d381c4311c7df1be77d1400f2",
    "measurement_sha256": "2a93b12f63b0695a0bf8ef546a5baaab6e32de8b34170067defcc28f122354a4",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "dialogue blocks lack speakers",
        "more than 10% of dialogue words lack speakers",
        "unresolved cue variants"
      ]
    },
    "slug": "zathura-a-space-adventure-2005",
    "title": "Zathura: A Space Adventure",
    "year": 2005,
    "primary_genre": "Animation/Family",
    "writers": [
      "David Koepp"
    ],
    "pages": 119,
    "scenes": 109,
    "mean_scene_eighths": 9.2,
    "median_scene_eighths": 3,
    "median_scene_lines": 22,
    "interior_share_pct": 91.7,
    "day_share_pct": null,
    "unique_locations": 37,
    "location_changes": 105,
    "speaking_characters": 23,
    "single_line_characters": 14,
    "dialogue_blocks": 909,
    "dialogue_words": 6149,
    "dialogue_action_ratio": 0.58,
    "monologues": 12,
    "top_character_pct": 27.4,
    "dialogue_line_share_pct": 30,
    "action_line_share_pct": 51,
    "words": 24659,
    "runtime_minutes": 129,
    "parenthetical_rate": 0.1,
    "method_version": "1.5",
    "parse_confidence": "medium",
    "measurement_review": {
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "measurement_sha256": "2a93b12f63b0695a0bf8ef546a5baaab6e32de8b34170067defcc28f122354a4",
      "source_sha256": "98cfb0902f37dafc96a82c045f8ea24255f61c2815fac25f66d95106b809d291",
      "pdf_pages": [
        114
      ],
      "withheld_families": [
        "dialogue",
        "character"
      ],
      "reason": "An emphatic dialogue line is classified as a new speaker.",
      "selection": "source review of a flagged measurement"
    },
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/zathura-a-space-adventure-2005",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "98cfb0902f37dafc96a82c045f8ea24255f61c2815fac25f66d95106b809d291",
      "measurement_sha256": "2a93b12f63b0695a0bf8ef546a5baaab6e32de8b34170067defcc28f122354a4",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/zathura-a-space-adventure-2005",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:36.292Z.",
        "https://www.scriptslug.com/script/zathura-a-space-adventure-2005",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"zathura-a-space-adventure-2005\",\"Zathura: A Space Adventure\",2005,\"Feature\",\"Animation/Family\",[\"David Koepp\"],\"https://www.scriptslug.com/script/zathura-a-space-adventure-2005\",\"6b4468cd9e48273e49f761eeeeab56dc3159c71d381c4311c7df1be77d1400f2\"]"
    },
    "measurement_flags": [
      "dialogue",
      "character"
    ]
  },
  {
    "source_sha256": "881e10e248183556b118014503bac8aa74b6e2f456c96c500a720e0e7cb2ad1a",
    "source_locator_sha256": "c6ab4f13e1a51b83a211e9faf6fdfee7eabeae5bfc2cbce21e41f83ab170d1fa",
    "measurement_sha256": "603405f92dc6f0a534466462105b0dfe7dbc3bb7de748fbd5a334781571ee805",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": []
    },
    "slug": "zodiac-2007",
    "title": "Zodiac",
    "year": 2007,
    "primary_genre": "Crime",
    "writers": [
      "James Vanderbilt"
    ],
    "pages": 207,
    "scenes": 239,
    "mean_scene_eighths": 6.3,
    "median_scene_eighths": 4,
    "median_scene_lines": 27,
    "interior_share_pct": 74.9,
    "day_share_pct": 75,
    "unique_locations": 173,
    "location_changes": 234,
    "speaking_characters": 95,
    "single_line_characters": 27,
    "dialogue_blocks": 1837,
    "dialogue_words": 18247,
    "dialogue_action_ratio": 2.22,
    "monologues": 46,
    "top_character_pct": 19,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 22,
    "words": 35505,
    "runtime_minutes": 155,
    "parenthetical_rate": 0.08,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/zodiac-2007",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "881e10e248183556b118014503bac8aa74b6e2f456c96c500a720e0e7cb2ad1a",
      "measurement_sha256": "603405f92dc6f0a534466462105b0dfe7dbc3bb7de748fbd5a334781571ee805",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/zodiac-2007",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:40.131Z.",
        "https://www.scriptslug.com/script/zodiac-2007",
        "Primary genre Crime retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"zodiac-2007\",\"Zodiac\",2007,\"Feature\",\"Crime\",[\"James Vanderbilt\"],\"https://www.scriptslug.com/script/zodiac-2007\",\"c6ab4f13e1a51b83a211e9faf6fdfee7eabeae5bfc2cbce21e41f83ab170d1fa\"]"
    },
    "measurement_flags": []
  },
  {
    "source_sha256": "8dc0397adcf432dae8f9cee8bf15aa58c34115edd84376128912e215b408bb78",
    "source_locator_sha256": "ad242418ca08a0bb492bdb99a69cce76bec0a5aa588ad73e8cb20c0c774ede8b",
    "measurement_sha256": "3ccb18b62b9b4d6555c2c8144c9ede8bbe7b32d00797bda31b881a8db8b3d6f9",
    "cue_quality": {
      "dialogue_split_suspect": false,
      "character_reasons": [
        "unresolved cue variants"
      ]
    },
    "slug": "zootopia-2016",
    "title": "Zootopia",
    "year": 2016,
    "primary_genre": "Animation/Family",
    "writers": [
      "Jared Bush",
      "Phil Johnston"
    ],
    "pages": 110,
    "scenes": 78,
    "mean_scene_eighths": 10.5,
    "median_scene_eighths": 6,
    "median_scene_lines": 42,
    "interior_share_pct": 51.9,
    "day_share_pct": 90.9,
    "unique_locations": 63,
    "location_changes": 70,
    "speaking_characters": 75,
    "single_line_characters": 29,
    "dialogue_blocks": 1057,
    "dialogue_words": 9709,
    "dialogue_action_ratio": 2.28,
    "monologues": 14,
    "top_character_pct": 28.4,
    "dialogue_line_share_pct": 49,
    "action_line_share_pct": 21,
    "words": 19674,
    "runtime_minutes": 102,
    "parenthetical_rate": 0.17,
    "method_version": "1.5",
    "parse_confidence": "high",
    "measurement_review": null,
    "format": "Feature",
    "provenance_url": "https://www.scriptslug.com/script/zootopia-2016",
    "metadata_review": {
      "decision": "approved",
      "reviewed_by": "Codex source review",
      "reviewed_at": "2026-09-20T20:30:26.654Z",
      "source_sha256": "8dc0397adcf432dae8f9cee8bf15aa58c34115edd84376128912e215b408bb78",
      "measurement_sha256": "3ccb18b62b9b4d6555c2c8144c9ede8bbe7b32d00797bda31b881a8db8b3d6f9",
      "credit_basis": "Named screenplay and revision/draft writing credits on held source; literary, story-only and earlier adaptation authors excluded. Canonical spellings retained where corroborated.",
      "credit_source": "https://www.scriptslug.com/script/zootopia-2016",
      "evidence": [
        "Held PDF identity and writing roles inspected on PDF page(s) 1; file bytes verified against production storage on 2026-09-20T19:51:57.321Z.",
        "https://www.scriptslug.com/script/zootopia-2016",
        "Primary genre Animation/Family retained as an editorial grouping after checking the source listing and synopsis; a genre is not an objective or exhaustive classification."
      ],
      "fingerprint": "[\"zootopia-2016\",\"Zootopia\",2016,\"Feature\",\"Animation/Family\",[\"Jared Bush\",\"Phil Johnston\"],\"https://www.scriptslug.com/script/zootopia-2016\",\"ad242418ca08a0bb492bdb99a69cce76bec0a5aa588ad73e8cb20c0c774ede8b\"]"
    },
    "measurement_flags": [
      "character"
    ]
  }
]
