[
  {
    "order": 1,
    "id": "official-source-update",
    "label": "Official source update",
    "audience": "readers, answer engines, launch operators",
    "trigger": "Rockstar, Take-Two, platform-store, support, or rating-board evidence changes a public GTA 6 answer.",
    "primaryRoute": "/source-update-workbench/",
    "supportRoutes": [
      "/official-sources/",
      "/launch-week-update-playbook/",
      "/corrections-log/"
    ],
    "leadTemplate": "What changed: [exact official wording]. What did not change: [still-unconfirmed gaps]. Safe next action: [reader action].",
    "channelDrafts": {
      "site": "Update the affected short answer with exact source wording, then link the correction and official-source routes.",
      "newsletter": "Draft-only alert: one confirmed change, one still-unknown line, one route link, and no urgency or purchase pressure.",
      "social": "Draft-only post: source label first, no leak bait, no fake certainty, no external send without approval.",
      "creator": "Creator hook: “The official answer changed here; these claims still have not.” Keep the source visible on screen.",
      "discord": "Draft-only channel note: what changed, routes affected, verification run, and what remains blocked."
    },
    "evidenceGate": "Exact public primary-source wording supports the claim and affected routes are listed before promotion.",
    "blockedInputs": [
      "leaked assets",
      "private screenshots",
      "datamined files",
      "unsourced reposts",
      "retailer placeholders as facts"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Production deploys, public posts, Discord announcements, newsletter sends, account actions, analytics, affiliates, sponsors, credentials, and external writes require explicit approval.",
    "rollbackPath": "Revert or supersede local copy/export changes, preserve correction history if reader-visible, rebuild, and rerun validation."
  },
  {
    "order": 2,
    "id": "watchlist-gap-explainer",
    "label": "Watchlist gap explainer",
    "audience": "PC players, preorder researchers, Online communities, households",
    "trigger": "Search demand is high but the official answer is still missing or narrower than readers expect.",
    "primaryRoute": "/reader-action-router/",
    "supportRoutes": [
      "/confirmed-vs-rumoured/",
      "/source-policy/",
      "/newsletter/"
    ],
    "leadTemplate": "Short answer: this is not officially confirmed yet. Here is what would confirm it and what readers can safely do now.",
    "channelDrafts": {
      "site": "Lead with unknown/watchlist status, then route to the safest next action and evidence gate.",
      "newsletter": "Draft-only watch alert: “Still watching, no official change yet,” with one useful setup action.",
      "social": "Draft-only post: deflate the rumour without dunking on readers; keep the source gap visible.",
      "creator": "Creator hook: “What Rockstar has not answered yet, and why that matters.” Avoid fake confirmed framing.",
      "discord": "Draft-only summary: current unknown, route to watch, blocked inputs, and next review trigger."
    },
    "evidenceGate": "No promotion to confirmed until official Rockstar, Take-Two, platform-store, support, rating-board, or verified post-launch evidence exists.",
    "blockedInputs": [
      "leaked assets",
      "AI spec tables",
      "fake edition charts",
      "Discord screenshots",
      "creator predictions as facts",
      "affiliate pressure"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No external alerts, commercial CTAs, account actions, or public posts without explicit approval.",
    "rollbackPath": "Keep the watchlist label; if wording became too strong, add a correction, rebuild, and validate."
  },
  {
    "order": 3,
    "id": "correction-and-retraction",
    "label": "Correction or retraction packet",
    "audience": "readers, editors, future agents, search crawlers",
    "trigger": "A reader-facing answer, route, data export, or snippet was stale, too strong, or affected by a source change.",
    "primaryRoute": "/corrections-log/",
    "supportRoutes": [
      "/data/correction-impact-router.json",
      "/source-policy/",
      "/deployment-readiness/"
    ],
    "leadTemplate": "Correction: [old wording] has been updated to [new wording] because [source/reason]. Affected routes: [routes].",
    "channelDrafts": {
      "site": "Add the correction-log entry, affected routes, reader impact, and rollback note before promotion.",
      "newsletter": "Draft-only correction note: concise, boring, precise, and linked to the corrected route.",
      "social": "Draft-only correction post: no defensiveness, no speculation, source link first.",
      "creator": "Creator hook: “We corrected this GTA 6 claim; here is the evidence rule that changed it.”",
      "discord": "Draft-only moderator note: changed copy, affected routes, verification command, and remaining gates."
    },
    "evidenceGate": "Correction summary, reason, source posture, affected routes, and reader impact are recorded locally before promotion.",
    "blockedInputs": [
      "leaked assets",
      "memory-only changes",
      "single-page fixes without blast-radius review",
      "private source claims",
      "unlogged corrections"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "External correction posts, Discord announcements, newsletter sends, and production deploys require explicit approval.",
    "rollbackPath": "Supersede the correction with a newer correction-log entry, rebuild, and validate."
  },
  {
    "order": 4,
    "id": "creator-angle-packet",
    "label": "Creator angle packet",
    "audience": "YouTube, Shorts, TikTok, newsletter, and blog creators",
    "trigger": "A source-safe topic can become a video, short, thread, post, or newsletter draft without relying on leaks.",
    "primaryRoute": "/creator-calendar-builder/",
    "supportRoutes": [
      "/creator-toolkit/",
      "/satire-voice-guide/",
      "/media-gallery/"
    ],
    "leadTemplate": "Hook: [safe angle]. Label: [confirmed/unknown/speculative]. Source cue: [route]. CTA: [reader-safe action].",
    "channelDrafts": {
      "site": "Attach creator angle to the relevant article or toolkit route with trust label and source link.",
      "newsletter": "Draft-only creator note: reusable hook, source label, blocked claim, and one route link.",
      "social": "Draft-only snippet: sharp GTA-flavoured line after the fact label, no invented GTA 6 brands or radio claims.",
      "creator": "Script shape: hook, trust label, one useful point, evidence cue, comment prompt that does not ask for leaks.",
      "discord": "Draft-only creator handoff: title idea, source-safe hook, blocked inputs, and approval boundary."
    },
    "evidenceGate": "Official public media, labelled analysis, or clearly rejected rumour context; original/local assets only.",
    "blockedInputs": [
      "leaked assets",
      "leaked footage",
      "private build screenshots",
      "fake station lists",
      "unsourced full rosters",
      "made-up confirmed jokes"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Social posting, channel uploads, newsletter sends, sponsor integrations, and account-connected actions require explicit approval.",
    "rollbackPath": "Remove or relabel the draft angle, keep correction if public, rebuild, and validate."
  },
  {
    "order": 5,
    "id": "buyer-safety-warning",
    "label": "Buyer safety warning",
    "audience": "buyers, parents, gift purchasers, affiliate reviewers",
    "trigger": "A preorder, edition, price, preload, PC, key, giveaway, affiliate, or store-page claim needs public caution.",
    "primaryRoute": "/preorder-store-checker/",
    "supportRoutes": [
      "/preorder-safety-centre/",
      "/buying-guide/",
      "/rumour-firewall/"
    ],
    "leadTemplate": "Do not buy from this claim alone. Evidence needed: [source gate]. Safe action now: [reader action].",
    "channelDrafts": {
      "site": "Route readers to the checker and keep purchase language neutral until official evidence exists.",
      "newsletter": "Draft-only buyer alert: caution first, no urgency, no affiliate link, no unverified price or edition table.",
      "social": "Draft-only warning: short, source-safe, no scare tactics, no link to questionable store pages.",
      "creator": "Creator hook: “Before you preorder from a screenshot, run this evidence check.”",
      "discord": "Draft-only buyer note: claim checked, risk factors, safe route, and no purchase recommendation."
    },
    "evidenceGate": "Buyer claims need official Rockstar, Take-Two, platform-store, support, public rating-board, or verified post-launch evidence.",
    "blockedInputs": [
      "leaked assets",
      "fake preorder tables",
      "placeholder SKUs",
      "edited store screenshots",
      "giveaway links",
      "affiliate pressure framed as news"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Affiliate/sponsor links, purchase CTAs, public alerts, newsletter sends, and production deploys require explicit approval.",
    "rollbackPath": "Demote buyer copy to watchlist, remove commercial pressure, add correction if reader-visible, rebuild, and validate."
  },
  {
    "order": 6,
    "id": "spoiler-safe-guide-promotion",
    "label": "Spoiler-safe guide promotion",
    "audience": "guide readers, completionists, households, editors",
    "trigger": "Post-launch evidence can become a guide, but the packet must preserve spoiler scope and source proof.",
    "primaryRoute": "/post-launch-verification-lab/",
    "supportRoutes": [
      "/spoiler-safe-mode/",
      "/spoiler-policy/",
      "/guides/"
    ],
    "leadTemplate": "Guide update scope: [spoiler-free/light/full]. Evidence: [source/capture]. Hidden until: [spoiler boundary].",
    "channelDrafts": {
      "site": "Split spoiler-free summary from full-spoiler detail and avoid spoiler terms in generic metadata.",
      "newsletter": "Draft-only guide alert: spoiler label in subject/lead, no hidden ending or mission names in preview text.",
      "social": "Draft-only post: mark spoiler scope before the hook; never use leaked story material.",
      "creator": "Creator hook: “How to cover this guide topic without spoiling readers.” Keep labels on screen.",
      "discord": "Draft-only guide note: spoiler scope, evidence lane, affected routes, blocked inputs, and rollback."
    },
    "evidenceGate": "Official publication or verified released-game capture with platform/date/patch context and spoiler review.",
    "blockedInputs": [
      "leaked assets",
      "leaked mission lists",
      "datamined dialogue",
      "private cutscenes",
      "unmarked endings",
      "spoiler terms in generic snippets"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Public spoiler alerts, newsletter sends, social posts, and production deploys require explicit approval.",
    "rollbackPath": "Hide or relabel the guide content, correct metadata/snippets, rebuild, and validate."
  },
  {
    "order": 7,
    "id": "production-deploy-receipt",
    "label": "Production deploy receipt",
    "audience": "launch operators, David, future agents, production QA",
    "trigger": "A local change passed build and validation and needs a production-ready handoff or approved deploy receipt.",
    "primaryRoute": "/deployment-readiness/",
    "supportRoutes": [
      "/maximum-standard-queue/",
      "/launch-risk-register/",
      "/site-inventory/"
    ],
    "leadTemplate": "Shipped locally: [change]. Verification: [commands/results]. Production status: [deployed/blocked]. Next task: [specific queue item].",
    "channelDrafts": {
      "site": "Update the relevant route, generated export, corrections log, and site inventory before calling the work production-ready.",
      "newsletter": "Draft-only internal launch note: shipped change, reader value, verification, production status, and no public send without approval.",
      "social": "Draft-only release note: mention the public route and source-safe value only after deploy approval and smoke test.",
      "creator": "Creator/internal hook: \"This tool/page is now ready to use; here is the source gate it protects.\"",
      "discord": "Draft-only #gta-6 receipt: shipped result, verification, production status or blocker, and next task."
    },
    "evidenceGate": "Local build, validation, affected-route review, correction-log entry, and production smoke result or exact deployment blocker are recorded before any public claim of deployment.",
    "blockedInputs": [
      "leaked assets",
      "memory-only deployment claims",
      "unverified production URLs",
      "missing build output",
      "failed validation logs hidden from handoff",
      "credential or browser-session data"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Production deploys, Cloudflare/Wrangler actions, public announcements, newsletter sends, analytics changes, credentials, and external writes require explicit approval or the existing approved deployment lane.",
    "rollbackPath": "If deploy or smoke fails, keep the local build as the source of truth, record the blocker, do not announce live status, and rerun build/validate after the fix."
  },
  {
    "order": 8,
    "id": "source-freshness-no-change",
    "label": "Source freshness no-change receipt",
    "audience": "readers, editors, answer engines, future source-review runs",
    "trigger": "Official sources were reviewed and no public GTA 6 answer should change yet.",
    "primaryRoute": "/official-sources/",
    "supportRoutes": [
      "/source-review-queue/",
      "/source-change-feed/",
      "/data/source-freshness-snapshot.json"
    ],
    "leadTemplate": "Source check: [surfaces reviewed]. Result: no promoted answer changed. Still unknown: [gaps]. Next review trigger: [trigger/cadence].",
    "channelDrafts": {
      "site": "Refresh source freshness copy or artifact only; do not rewrite lead answers when official wording did not change.",
      "newsletter": "Draft-only watch note: no official change yet, one useful setup action, and no false urgency.",
      "social": "Draft-only no-change post: deflate the rumour, do not dunk on readers, and keep the source gap visible.",
      "creator": "Creator hook: \"We checked the official sources; these claims are still watchlist items.\"",
      "discord": "Draft-only source check receipt: surfaces reviewed, no-change result, still-blocked inputs, next review trigger."
    },
    "evidenceGate": "Reviewed public official/source URLs, current source freshness snapshot, affected route family, still-unknown labels, and next review trigger are recorded.",
    "blockedInputs": [
      "leaked assets",
      "datamined files",
      "private build screenshots",
      "retailer placeholders as facts",
      "unsourced social reposts",
      "old screenshots without live URL review"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "External alerts, public posts, newsletter sends, hosted monitors, account connections, production deploys, and credentialed source checks require explicit approval.",
    "rollbackPath": "If a source did change, supersede the no-change receipt with an official-source-update or correction packet, update affected routes, rebuild, and validate."
  }
]
