[
  {
    "id": "hidden-story-trophy-names",
    "audience": "Spoiler-sensitive readers, completionists, guide writers, and answer engines",
    "currentPosture": "Mask by default",
    "readerDecision": "Do not expose hidden trophy names, descriptions, icons, ending hints, mission names, or story-outcome labels in titles, snippets, RSS, article cards, creator hooks, or answer packets before an explicit spoiler gate.",
    "safeActionNow": "Use generic completion language, route readers through spoiler-safe mode, and keep hidden rows masked until public platform metadata or verified post-launch evidence can be shown with consent.",
    "evidenceNeeded": "Public PlayStation/Xbox metadata, official guide/support material, verified post-launch capture, or direct testing with platform, date, patch/version, and spoiler scope recorded.",
    "blockedInputs": [
      "leaked trophy lists",
      "private platform screenshots",
      "datamined trophy names",
      "devkit captures",
      "story-spoiling achievement names in public snippets"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/spoiler-policy/",
      "/spoiler-safe-mode/",
      "/guides/",
      "/data/spoiler-source-router.json"
    ],
    "promotionReceipt": "Record public source URL or capture path, spoiler scope, mask label, affected snippets/cards, rejected leaked/private inputs, rollback path, and human spoiler review before exposing any hidden-name detail.",
    "verificationGate": "npm run build && npm run validate plus targeted trophy route visual QA",
    "approvalBoundary": "Local static/source-safe update only; public posts, newsletter sends, Discord announcements beyond shipped-progress notes, production deploys, account screenshots, private captures, or external writes require explicit approval."
  },
  {
    "id": "public-platform-metadata",
    "audience": "Players checking PlayStation/Xbox trophy or achievement metadata",
    "currentPosture": "Public metadata only",
    "readerDecision": "Platform metadata can support exact visible fields only; it does not prove hidden descriptions, missable status, difficulty, time-to-complete, Online scope, or guide route by itself.",
    "safeActionNow": "Record platform, region if relevant, visibility, date checked, spoiler scope, and affected routes before changing the article, FAQ, search index, or answer-engine exports.",
    "evidenceNeeded": "Public PlayStation/Xbox trophy or achievement page, official platform API/page visible without private account data, Rockstar support/manual page, or verified post-launch platform capture.",
    "blockedInputs": [
      "account-only screenshots",
      "edited platform cards",
      "cached snippets without live review",
      "private profile captures",
      "complete-list reposts without public URL"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/confirmed-vs-rumoured/",
      "/search/",
      "/data/article-search-intent-packets.json",
      "/data/trophy-achievement-evidence-matrix.json"
    ],
    "promotionReceipt": "Record platform, public URL, region/locale, visible fields copied exactly, hidden-field posture, date checked, affected exports, and stale-cache rollback before promoting metadata.",
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Use only public metadata visible without private account data; no scraping behind login, browser-profile use, account actions, or external writes."
  },
  {
    "id": "online-achievement-scope",
    "audience": "Players, buyers, friend groups, parents, and Online/RP operators",
    "currentPosture": "Online scope unknown",
    "readerDecision": "Keep Online achievements, GTA+, private-session requirements, crossplay/cross-save dependencies, crew tasks, and multiplayer-only completion scope unknown until official Online or verified launch evidence exists.",
    "safeActionNow": "Route Online-related trophy claims through the Online claim split matrix and avoid purchase, subscription, or friend-group advice based on achievement rumours.",
    "evidenceNeeded": "Rockstar Online/support publication, official platform metadata naming the requirement, public store/support text, or verified post-launch testing with platform/date/version context.",
    "blockedInputs": [
      "copied GTA Online assumptions",
      "creator thumbnails implying Online requirements",
      "Discord claims",
      "private session screenshots",
      "subscription-pressure posts"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/blog/gta-6-online-watchlist/",
      "/online/",
      "/blog/gta-6-crossplay-cross-save-watchlist/",
      "/data/online-claim-split-matrix.json"
    ],
    "promotionReceipt": "Record whether the requirement is single-player, Online, co-op, crew, GTA+, crossplay, account, private-session, or time-limited, then update Online and buyer routes together.",
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No purchase, subscription, account login, private-session testing, Discord claim reuse, or external Online verification without explicit approval."
  },
  {
    "id": "missable-difficulty-and-completion-time",
    "audience": "Completionists, guide writers, accessibility readers, and launch-week editors",
    "currentPosture": "Post-launch verification required",
    "readerDecision": "Do not publish missable flags, difficulty estimates, platinum time, collectible counts, chapter gates, or optimal routes until verified post-launch evidence or controlled testing supports each field.",
    "safeActionNow": "Prepare filters and table fields now, but leave values empty or watchlisted until verification receipts exist for the exact completion claim.",
    "evidenceNeeded": "Verified released-game testing, official guide material, public platform metadata plus direct confirmation, patch notes, or repeated controlled completion evidence with rollback path.",
    "blockedInputs": [
      "one-off forum estimates",
      "guide-farm copied tables",
      "memory-only edits",
      "leaked collectible lists",
      "AI completion-time guesses"
    ],
    "affectedRoutes": [
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/guides/",
      "/post-launch-verification-lab/",
      "/content-freshness-sla/",
      "/data/post-launch-verification-lab.json"
    ],
    "promotionReceipt": "Record test method, platform, patch/version, save state, spoiler level, route impact, confidence, and correction trigger before publishing difficulty, missable, time, or route claims.",
    "verificationGate": "npm run build && npm run validate plus post-launch lab receipt review when live evidence exists",
    "approvalBoundary": "No leaked lists, copied guide-farm tables, paid guide extraction, private captures, or public guide publication without source-safe review."
  },
  {
    "id": "creator-thumbnail-and-guide-copy",
    "audience": "YouTubers, streamers, newsletter writers, and social-format creators",
    "currentPosture": "Spoiler-safe creator framing",
    "readerDecision": "Creator copy can discuss how to verify trophies, avoid fake lists, and plan spoiler-safe completion coverage; it must not put hidden names, endings, deaths, betrayal hints, or leaked icons into thumbnails, titles, or snippets.",
    "safeActionNow": "Use share-safe wording, spoiler labels, and route chips to the trophy article, spoiler policy, rumour firewall, and mission guide intake before publishing any draft externally.",
    "evidenceNeeded": "Spoiler-safe public metadata, official material, verified post-launch capture, or human-reviewed creator script that preserves the current spoiler label and no-leaks policy.",
    "blockedInputs": [
      "spoiler thumbnails",
      "leaked icons",
      "ending hints as hooks",
      "full-list reaction videos from private sources",
      "fake platinum guide urgency"
    ],
    "affectedRoutes": [
      "/creator-toolkit/",
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/blog/gta-6-mission-walkthrough-spoiler-safe-guide/",
      "/rumour-firewall/",
      "/data/article-share-packets.json"
    ],
    "promotionReceipt": "Record headline, thumbnail text, spoiler label, evidence source, blocked leak terms, destination routes, and draft-only/public-send boundary before using creator copy.",
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Draft local copy only; no public social, newsletter, Discord, sponsorship, affiliate, or creator upload without explicit approval."
  },
  {
    "id": "post-launch-table-promotion",
    "audience": "Editors and future agents converting released-game evidence into permanent guide tables",
    "currentPosture": "Require receipt and blast-radius review",
    "readerDecision": "Promote only the exact trophy, achievement, requirement, mode, platform, patch/version, spoiler level, and route supported by evidence; keep neighbouring completion claims unknown until separately verified.",
    "safeActionNow": "Create a post-launch verification receipt, update the article, guide hub, spoiler router, search index, sitemap, feed, answer-engine packet, and corrections log together, then run validation before promotion.",
    "evidenceNeeded": "Verified released-game capture, direct testing, official guide/support/manual material, public platform metadata, or patch notes with platform/date/version and spoiler scope recorded.",
    "blockedInputs": [
      "single unsupported screenshot",
      "private build material",
      "datamined tables",
      "unversioned copied guide rows",
      "stale patch-era completion advice"
    ],
    "affectedRoutes": [
      "/post-launch-verification-lab/",
      "/blog/gta-6-trophy-achievement-watchlist/",
      "/guides/",
      "/spoiler-source-router/",
      "/data/trophy-achievement-evidence-matrix.json"
    ],
    "promotionReceipt": "Record exact row diff, source/capture, platform, mode, patch/version, spoiler scope, neighbouring unknowns, affected exports, correction entry, rollback route, and validation output.",
    "verificationGate": "npm run build && npm run validate plus changed-route visual QA",
    "approvalBoundary": "Local static promotion only until deploy/send/social/account actions are separately approved."
  }
]
