[
  {
    "id": "official-next-trailer-page",
    "audience": "readers, media-watchers, editors, and answer engines",
    "currentPosture": "watchlist until public official media exists",
    "readerDecision": "Do not treat Trailer 3, a new teaser, a livestream, a premiere, or a countdown as real unless the exact public official page can be opened.",
    "safeActionNow": "Check Rockstar, Rockstar Newswire, official Rockstar video/social channels, and official platform media pages; keep snippets saying not officially announced here until one of those sources changes.",
    "evidenceNeeded": "Public Rockstar/Take-Two/Rockstar Newswire page, official Rockstar video/social upload, official platform media page, or verified official media archive that names the exact GTA 6 media item.",
    "blockedInputs": [
      "cropped YouTube premiere screenshots",
      "search snippets without a live official URL",
      "fake Rockstar handles",
      "countdown graphics",
      "deleted-post claims"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trailer-3-countdown-watchlist/",
      "/official-sources/",
      "/source-change-feed/",
      "/data/answer-engine-packet.json"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Local article/export only; no public post, newsletter send, Discord announcement, production deploy, external alert, account action, credential use, or media upload without approval."
  },
  {
    "id": "ai-trailer-fan-edit-and-reupload-risk",
    "audience": "viewers, creators, moderators, and search editors",
    "currentPosture": "reject as proof",
    "readerDecision": "Treat AI trailers, fan edits, mirrored uploads, watermark-stripped clips, and reaction-bait videos as non-evidence for official GTA 6 media.",
    "safeActionNow": "Explain how to verify the source without embedding questionable clips, describing leak details, or letting reuploads become media-gallery entries.",
    "evidenceNeeded": "Official upload provenance from Rockstar or an official platform page; reuploads and fan videos can be discussed only as rejected source classes.",
    "blockedInputs": [
      "AI-generated trailers",
      "fan edits labelled official",
      "watermark-stripped videos",
      "reuploaded leaked clips",
      "reaction thumbnails implying confirmation"
    ],
    "affectedRoutes": [
      "/media-gallery/",
      "/blog/gta-6-trailer-3-countdown-watchlist/",
      "/creator-toolkit/",
      "/rumour-firewall/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No embeds, public amplification, copyright-risk uploads, creator scripts, social posts, newsletter sends, or Discord announcements from rejected media."
  },
  {
    "id": "login-download-and-qr-trap",
    "audience": "players, parents, and launch-safety readers",
    "currentPosture": "reject credential/download traps",
    "readerDecision": "Any trailer, countdown, beta-video, or premiere page asking for login, payment, QR verification, browser extension, app install, or video-player download is unsafe.",
    "safeActionNow": "Tell readers to leave the page and use official channels; do not test forms, scan QR codes, install players, enter credentials, or link the trap.",
    "evidenceNeeded": "Official account/security/support guidance for remediation; credential-capture pages never prove GTA 6 media access.",
    "blockedInputs": [
      "password forms",
      "QR verification pages",
      "browser extensions",
      "download players",
      "survey walls",
      "wallet or payment prompts"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trailer-3-countdown-watchlist/",
      "/reader-action-router/",
      "/blog/gta-6-mobile-apk-download-watchlist/",
      "/source-policy/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No credential entry, account login, external report, takedown request, public naming, device testing, scan, scrape, or link sharing without explicit approval."
  },
  {
    "id": "official-trailer-observation-boundary",
    "audience": "creators, article writers, map editors, and feature editors",
    "currentPosture": "official media can support narrow observations only",
    "readerDecision": "Even if a new official trailer appears, visible frames do not automatically confirm full mechanics, mission order, map size, Online rules, weapon stats, soundtrack lists, or preorder bonuses.",
    "safeActionNow": "Split trailer existence from trailer observation, then route observations through the scene taxonomy, map ledger, media gallery, feature rows, and corrections log before promotion.",
    "evidenceNeeded": "Public official video/page plus exact frame/context, official caption/Newswire wording, or later verified post-launch evidence for mechanics beyond observation.",
    "blockedInputs": [
      "freeze-frame overclaims",
      "mechanic certainty from vibes",
      "mission-order guesses",
      "map-scale certainty",
      "soundtrack or preorder claims from trailer mood"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trailer-2-breakdown/",
      "/map-claim-ledger/",
      "/features/",
      "/media-gallery/",
      "/corrections-log/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No launch packet, newsletter draft, creator hook, answer-engine update, or production promotion until blast-radius review is complete."
  },
  {
    "id": "creator-countdown-and-thumbnail-safety",
    "audience": "YouTube, TikTok, Shorts, newsletter, and blog creators",
    "currentPosture": "safe verification content only",
    "readerDecision": "Creators can explain how to verify next-trailer claims, but should not title or thumbnail content as if Trailer 3 is confirmed before an official source exists.",
    "safeActionNow": "Use hooks such as how to spot fake countdowns, what counts as official media, and what Trailer 2 actually confirmed; keep labels visible in titles, pinned comments, descriptions, and scripts.",
    "evidenceNeeded": "Source-labelled official page or rejected-source explainer; no creator copy should imply official confirmation from social rumours.",
    "blockedInputs": [
      "confirmed Trailer 3 thumbnails before source",
      "fake premiere clocks",
      "AI trailer reaction bait",
      "deleted-post certainty",
      "leaked footage thumbnails"
    ],
    "affectedRoutes": [
      "/creator-toolkit/",
      "/creator-calendar-builder/",
      "/blog/creator-video-ideas/",
      "/blog/gta-6-trailer-3-countdown-watchlist/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Local creator guidance only; no public social/newsletter/Discord send, sponsored creator copy, or external account action without approval."
  },
  {
    "id": "official-media-drop-update-receipt",
    "audience": "launch operators, editors, answer engines, and future agents",
    "currentPosture": "receipt required before promotion",
    "readerDecision": "If official media drops, promote only the exact source-backed claim and update all dependent routes together.",
    "safeActionNow": "Record official URL, exact title, publish time, platform/channel, source wording, affected routes, observation scope, blocked overclaims, verification command, correction need, and rollback path.",
    "evidenceNeeded": "Public official source plus local rebuild/validation, source freshness review, and affected-route inspection.",
    "blockedInputs": [
      "memory-only updates",
      "single social screenshot promoted globally",
      "unversioned summaries",
      "private captures",
      "source changes without corrections-log review"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trailer-3-countdown-watchlist/",
      "/timeline/",
      "/official-sources/",
      "/media-gallery/",
      "/data/search-index.json",
      "/data/answer-engine-packet.json"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No production deploy, public announcement, newsletter send, social/Discord post, account action, or external write without approval."
  }
]
