{
  "version": 1,
  "status_values": [
    "idea",
    "scripted",
    "keyframes_ready",
    "preview_ready",
    "user_review",
    "approved_for_final",
    "upload_dry_run_valid",
    "published",
    "paused",
    "rejected",
    "archived"
  ],
  "required_preproduction_gate": "EXISTING_ASSET_CHECK",
  "topics": [
    {
      "topic_id": "tt003-true-scam-story-fake-support-popup",
      "title": "True Scam Story — Fake Support Popup",
      "format_family": "TRUE_SCAM_STORY",
      "scam_type_id": "technical_support_scam",
      "status": "published",
      "script_path": "scripts/render_tt003_true_scam_story_support_popup.py",
      "existing_renderer_path": "scripts/render_tt003_true_scam_story_support_popup.py",
      "visual_asset_paths": [
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_145331_a9dc9697.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_145437_56871de5.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_145533_8e8ca888.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_145631_98c2d143.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_145813_19161505.png"
      ],
      "approved_visual_style": "premium_ai_keyframes_only",
      "voice": "Gianna Premium Clone v1",
      "caption_style": "static phrase segments, active-word highlight, no box, no frame",
      "claim_mode": "generic_pattern / educational_pattern",
      "website_slug": "fake-support-popup",
      "youtube_video_id": "G7FA5vnLElM",
      "published_urls": {
        "youtube_studio": "https://studio.youtube.com/video/G7FA5vnLElM/edit",
        "youtube_shorts": "https://www.youtube.com/shorts/G7FA5vnLElM"
      },
      "last_used": "2026-06-05",
      "reuse_allowed": true,
      "blocked_reason": "",
      "notes": "Reference-quality example after TT002 correction. Use as positive baseline for True Scam Story format. It is not an error case. It uses premium AI keyframes, everyday situation, safe educational generic-pattern framing, no invented victim details, no real numbers/domains/logos/bank data, Gianna voice, clean active-word captions, and YouTube/TikTok copy. Historical ID retained; new IDs should use story-* convention. Duration is slightly below desired future 50-75s story range but accepted by user as positive reference."
    },
    {
      "topic_id": "tt002-spot-the-trap-quiz-delivery-old",
      "title": "Rejected old Spot the Trap Quiz — Delivery Text",
      "format_family": "SPOT_THE_TRAP_QUIZ",
      "scam_type_id": "fake_delivery_text",
      "status": "rejected",
      "script_path": "scripts/render_tt002_spot_delivery_text_scam.py",
      "existing_renderer_path": "scripts/render_tt002_spot_delivery_text_scam.py",
      "visual_asset_paths": [],
      "approved_visual_style": "rejected_renderer_owned_graphics",
      "website_slug": "delivery-sms-trap",
      "youtube_video_id": null,
      "published_urls": {},
      "last_used": "2026-06-05",
      "reuse_allowed": false,
      "blocked_reason": "renderer-owned powerpoint-like graphics; violates premium AI visual policy",
      "legacy_asset_policy": "Do not reuse as release candidate. Internal learning case only.",
      "notes": "Correctly reverted. Keep only as negative learning example for visual-policy tests."
    },
    {
      "topic_id": "ac-clicked-delivery-link-v001",
      "title": "Already clicked a fake delivery link? Do this now.",
      "format_family": "ALREADY_CLICKED",
      "scam_type_id": "fake_delivery_text",
      "status": "idea",
      "script_path": "scripts/render_tt001_already_clicked_delivery_link.py",
      "existing_renderer_path": "scripts/render_tt001_already_clicked_delivery_link.py",
      "visual_asset_paths": [],
      "approved_visual_style": "premium_ai_keyframes_only_required",
      "website_slug": "delivery-sms-trap",
      "youtube_video_id": null,
      "published_urls": {},
      "last_used": null,
      "reuse_allowed": true,
      "blocked_reason": "",
      "notes": "Next recommended candidate only after Existing Asset Check report and ReviewPackage. Existing TT001 script/assets must be inspected before any new generation."
    },
    {
      "topic_id": "quiz-marketplace-offplatform-v001",
      "title": "Can you spot what’s wrong in this buyer message?",
      "format_family": "SPOT_THE_TRAP_QUIZ",
      "scam_type_id": "marketplace_off_platform_scam",
      "status": "approved_for_final",
      "script_path": "scripts/render_quiz_marketplace_offplatform_v001.py",
      "existing_renderer_path": "scripts/render_quiz_marketplace_offplatform_v001.py",
      "visual_asset_paths": [
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_164309_41322331.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_164014_ff7aa9bd.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_163503_69512f64.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_163629_580a3b7e.png",
        "/home/agent/.hermes/cache/images/openai_codex_gpt-image-2-high_20260605_163803_d34f789f.png"
      ],
      "approved_visual_style": "premium_ai_keyframes_only",
      "website_slug": "marketplace-off-platform-scam",
      "youtube_video_id": "CQzD49g6Llo",
      "published_urls": {
        "youtube": "https://www.youtube.com/shorts/CQzD49g6Llo",
        "website": "https://truetraceshorts.pages.dev/redflags/marketplace-off-platform-scam/"
      },
      "last_used": "2026-06-05",
      "reuse_allowed": true,
      "blocked_reason": "",
      "notes": "Uploaded via YouTube upload-only API as private video CQzD49g6Llo; website companion linked. Public release must be done manually in YouTube Studio because upload-only scope cannot publish public."
    },
    {
      "topic_id": "bd-overpayment-scam-v001",
      "title": "The buyer overpays. That is not a mistake.",
      "format_family": "SCAM_BREAKDOWN",
      "scam_type_id": "overpayment_scam",
      "status": "idea",
      "script_path": null,
      "existing_renderer_path": null,
      "visual_asset_paths": [],
      "approved_visual_style": "premium_ai_keyframes_only_required",
      "website_slug": "overpayment-scam",
      "youtube_video_id": null,
      "published_urls": {},
      "last_used": null,
      "reuse_allowed": true,
      "blocked_reason": "",
      "notes": "Suggested breakdown/atlas candidate."
    },
    {
      "topic_id": "rf-hi-mom-new-number-v001",
      "title": "If family asks for money from a new number, stop.",
      "format_family": "RED_FLAG_SHORT",
      "scam_type_id": "vishing",
      "status": "idea",
      "script_path": null,
      "existing_renderer_path": null,
      "visual_asset_paths": [],
      "approved_visual_style": "premium_ai_keyframes_only_required",
      "website_slug": "hi-mom-new-number",
      "youtube_video_id": null,
      "published_urls": {},
      "last_used": null,
      "reuse_allowed": true,
      "blocked_reason": "",
      "notes": "Suggested Red Flag candidate; may need a dedicated scam_type_id later for family impersonation/new number scam."
    }
  ]
}
