{
  "artifact_type": "stm_public_ai_discovery_index",
  "canonical_site": "https://savagethundermusic.com/",
  "artist": "Savage Thunder Music",
  "purpose": "Make STM song, playlist, and blog discovery assets readable by search and AI answer engines without inventing claims.",
  "generated_at_utc": "2026-05-19T13:22:41.942970+00:00",
  "automation_policy": {
    "safe_structured_artifacts_auto_publish_when_guard_passes": true,
    "manual_approval_required_for": [
      "new rights or licensing claims",
      "sync readiness claims",
      "chart or popularity claims",
      "long lyric excerpts",
      "commerce or paid download CTAs",
      "artist comparison claims not supported by source evidence"
    ],
    "goal_policy_auto_approval_lanes": [
      "ai_discovery_visibility",
      "schema_publication",
      "sitemap_publication",
      "intent_cluster_publication",
      "llms_txt_publication"
    ],
    "fail_closed_rules": [
      "no public artifact without canonical STM source evidence",
      "no public artifact without guard receipt",
      "no unverified superlatives",
      "no rights, clearance, or licensing inference",
      "no manual approval for safe structured discovery artifacts after guard pass"
    ],
    "safe_live_page_embeds_auto_publish_when_guard_passes": true
  },
  "brand_voice": {
    "version": "0.1.0",
    "status": "seeded_from_live_site",
    "notes": "Needs editorial review",
    "creative_review_runtime": {
      "capability_id": "stm_governed_creative_review_runtime",
      "asset_types": [
        "song_intro",
        "lyrics_companion_copy",
        "playlist_description",
        "blog_story_angle",
        "social_caption",
        "cover_art_prompt",
        "music_video_prompt",
        "email_approval_packet"
      ],
      "voice": "engaging, lyric-aware, curious, human, music-blog friendly, never spammy",
      "review_states": [
        "keep",
        "reject",
        "needs_revision"
      ],
      "must_preserve": [
        "source song or playlist evidence",
        "editable prompt lineage",
        "human review rationale",
        "revision instruction",
        "rollback path"
      ],
      "must_avoid": [
        "unsupported claims",
        "generic hype",
        "lyrics mismatch",
        "unlicensed third-party likeness or brand references in visual prompts"
      ]
    },
    "governance_terms": [
      {
        "term": "runtime artifact control",
        "usage": "Use when describing how STM keeps temporary patch files, generated evidence, and canonical tools separated so the music operation stays clean and auditable.",
        "avoid": "Do not describe every temporary script as a permanent agent or canonical workflow."
      },
      {
        "term": "review ledger migration",
        "usage": "Use when STM records human creative review states, reason codes, reviewers, and revision instructions in one canonical ops ledger instead of scattered notes.",
        "avoid": "Do not treat creative approval as complete when the review state and revision rationale are not persisted."
      },
      {
        "term": "sync pitch intelligence",
        "usage": "Use when STM translates songs and lyrics into scene-aware film, TV, creator, and music-supervisor pitch assets that answer a brief.",
        "avoid": "Do not describe sync pitching as generic music promotion or playlist hype."
      },
      {
        "term": "governed outcome orchestrator",
        "usage": "Use when STM turns a desired music, lyrics, playlist, blog, website, or governance outcome into a routed workflow with evidence, gates, ledger state, proof receipt, and publish boundary.",
        "avoid": "Do not describe the orchestrator as a fully autonomous publisher or as a model-only creative tool."
      },
      {
        "term": "canonical song spine",
        "usage": "Use when STM resolves every song, page, pitch, playlist, DJ export, and monetization action to one governed song record.",
        "avoid": "Do not pitch, sell, publish, or optimize a song that is not present in the canonical song registry."
      },
      {
        "term": "rights clearance gate",
        "usage": "Use when STM checks copyright, royalty, ISRC, distribution, and sync clearance status before monetization or licensing claims.",
        "avoid": "Do not describe a song as rights-status verified unless the rights ledger contains supporting proof."
      },
      {
        "term": "monetization readiness ledger",
        "usage": "Use when STM tracks whether each song is ready for direct download, Bandcamp or Shopify, sync, creator licensing, DJ use, YouTube, RadioCo, email, and GEO paths.",
        "avoid": "Do not treat a revenue idea as live monetization until the ledger records its readiness and blocker state."
      },
      {
        "term": "executive runtime report",
        "usage": "Use when STM summarizes catalog health, rights blockers, monetization readiness, workflow status, and next actions in one management report.",
        "avoid": "Do not rely on scattered guard receipts as the only executive view of the music business runtime."
      },
      {
        "term": "sync lead discovery",
        "usage": "Use when STM identifies and scores TV, film, ad, podcast, creator, playlist, and artist prospects against canonical STM songs.",
        "avoid": "Do not treat a lead as pitch-ready without source proof, fit rationale, rights readiness, and human approval."
      },
      {
        "term": "sync recurring import runtime",
        "usage": "Use when STM automatically refreshes source-backed sync lead imports on a scheduled maintenance cadence, re-scores prospects, and updates reports while preserving human approval before outreach.",
        "avoid": "Do not describe the recurring import runner as an autonomous scraper or autonomous cold outreach system."
      },
      {
        "term": "full-catalog song pitch profile",
        "usage": "Use when STM generates one pitch keyword profile per canonical song so every sync opportunity is matched against the whole catalog, not a seed subset.",
        "avoid": "Do not claim production matching is complete when only a small seed batch or partial catalog is being scored."
      },
      {
        "term": "sync autonomous harvest persistence",
        "usage": "Use when STM scheduled automation harvests source-backed prospects, matches all canonical songs, scores lead/song fits, persists ledgers, and queues human review.",
        "avoid": "Do not describe this as autonomous outreach, promised licensing demand, or pitch approval."
      },
      {
        "term": "sync human review queue",
        "usage": "Use when scored prospect/song matches require human review of contact legitimacy, rights readiness, asset packet, and message angle before any pitch action.",
        "avoid": "Do not treat high scores as permission to contact or pitch."
      },
      {
        "term": "Listen Notes quota runtime",
        "usage": "Use when STM harvests podcast prospects while enforcing a governed monthly and per-run PodcastAPI request cap.",
        "avoid": "Do not imply podcast prospect harvesting is unlimited or that API limits can be bypassed."
      },
      {
        "term": "publish boundary",
        "usage": "Use when STM blocks public song pages, GEO cards, licensing claims, store/download claims, or playlist promotion until source evidence, rights, claims safety, and human approval are present.",
        "avoid": "Do not describe a song, page, or pitch as public-ready merely because a generated asset exists."
      },
      {
        "term": "hardened GEO card",
        "usage": "Use when a search/answer-engine card resolves to a canonical STM song, source URL, source evidence, and publish boundary status.",
        "avoid": "Do not publish generic AI cards that cannot resolve back to the canonical song spine."
      },
      {
        "term": "playlist runtime health",
        "usage": "Use when checking registered STM playlist IDs, classification, status, and publish boundary state.",
        "avoid": "Do not treat a playlist as governed when it only exists as an unverified link or manual note."
      },
      {
        "term": "review queue state",
        "usage": "Use when STM separates machine-scored candidates from human decisions through explicit needs_review, approved, nurture, monitor, suppress, reject, blocked, and archived states.",
        "avoid": "Do not treat a scored lead as approved when review_status is blank or needs_review."
      },
      {
        "term": "rights unlock workbench",
        "usage": "Use when STM batches copyright, royalty, ISRC, distribution, and proof review before monetization, sync, DJ export, or publish readiness can advance.",
        "avoid": "Do not call songs rights-ready without proof links and reviewer attribution."
      },
      {
        "term": "DJ metadata import lane",
        "usage": "Use when STM imports BPM, key, energy, clean/explicit, vocal type, and audio path metadata from DJ tools or manual CSV review.",
        "avoid": "Do not imply DJ export readiness until rights and metadata gates both pass."
      },
      {
        "term": "artifact churn discipline",
        "usage": "Use when STM prevents generated tracked files from being rewritten merely because a timestamp changed.",
        "avoid": "Do not create noisy proof commits that hide meaningful runtime changes."
      },
      {
        "term": "latest-song rights priority",
        "usage": "Use when STM ranks rights/admin operator work so newest registered songs are handled first when business value is otherwise close.",
        "avoid": "Do not let title or alphabetical order decide which songs receive rights/admin attention first."
      },
      {
        "term": "fan commerce apparel runtime",
        "usage": "Use when STM maps songs, titles, lyric-like phrases, and playlist collections into governed apparel, merch, fan bundles, and storefront CTAs.",
        "avoid": "Do not describe apparel, Shopify, or fan-club offers as live until rights, lyric/title, brand, margin, fulfillment, and human approval gates pass."
      },
      {
        "term": "copyright office batch",
        "usage": "Use when STM groups rights-preflight songs into exact 20-song filing-review batches for operator handling.",
        "avoid": "Do not imply the batch was submitted, filed, registered, rights-ready, published, licensed, or monetized without proof and explicit review."
      },
      {
        "term": "rights-to-revenue engine",
        "usage": "Use when describing STM's governed internal loop for ranking rights-safe song commercialization opportunities and campaign preparation work.",
        "avoid": "Do not imply songs are registered, licensed, submitted, placed, endorsed, rights-ready, published, or monetized unless proof and human approval have been recorded."
      },
      {
        "term": "social awareness scheduler",
        "usage": "Use when describing STM's governed internal cadence for daily song awareness planning and post draft preparation.",
        "avoid": "Do not imply STM auto-posts, publishes, boosts, advertises, licenses, monetizes, or makes rights-ready claims from schedule generation alone."
      },
      {
        "term": "autonomous awareness persistence",
        "usage": "Use when STM automatically persists social awareness schedules, draft approval queues, current-event blog research prompts, and outcome learning while keeping public publishing blocked until human approval.",
        "avoid": "Do not describe this as auto-posting, autonomous publication, paid boosting, rights-ready proof, or confirmed licensing availability."
      },
      {
        "term": "goal-based awareness autopilot",
        "usage": "Use when STM applies a human-approved awareness goal to auto-clear low-risk song awareness drafts for manual publishing while sending exceptions to review.",
        "avoid": "Do not describe it as automatic posting, paid boosting, licensing approval, rights clearance, or current-event claim approval."
      }
    ],
    "sync_pitch_intelligence": {
      "capability_id": "stm_sync_pitch_intelligence_layer",
      "asset_types": [
        "song_pitch_card",
        "film_tv_brief_response",
        "scene_identity_tag",
        "lyric_evidence_summary",
        "music_supervisor_pitch",
        "alternate_version_request",
        "human_approval_packet"
      ],
      "voice": "cinematic, precise, brief-aware, emotionally specific, rights-safe, never generic hype",
      "must_preserve": [
        "scene or brief context",
        "source song evidence",
        "lyric rationale",
        "rights and approval status",
        "rollback path"
      ],
      "must_avoid": [
        "claiming a placement that has not happened",
        "pitching without human approval",
        "using unsupported artist comparisons as facts",
        "ignoring clean lyric or instrumental requirements"
      ]
    },
    "outcome_orchestrator": {
      "capability_id": "stm_governed_outcome_orchestrator",
      "voice": "curious, governed, music-blog friendly, proof-aware, specific to lyrics and playlists, never generic automation hype",
      "allowed_phrasing": [
        "governed outcome orchestrator",
        "one-command STM workflow",
        "song-to-story packet",
        "playlist campaign packet",
        "proof-backed publish decision"
      ],
      "must_preserve": [
        "source song, lyrics, playlist, or page evidence",
        "human approval boundary for creative publishing",
        "ops ledger review state",
        "guard receipt",
        "rollback path"
      ],
      "must_avoid": [
        "autonomous publish claims without review",
        "unsupported song or copyright claims",
        "generic AI supercomputer hype",
        "tool routing that bypasses STM ledgers or guards"
      ]
    },
    "foundation_spine_runtime": {
      "capability_id": "stm_foundation_spine_cross_functional_gate_pack",
      "voice": "governed, evidence-first, rights-safe, monetization-aware, specific to STM songs and pages",
      "must_preserve": [
        "canonical song identity",
        "source evidence",
        "rights and royalty status",
        "monetization blocker state",
        "workflow and guard proof",
        "rollback backup path"
      ],
      "must_avoid": [
        "empty-catalog runtime claims",
        "sync or sale claims without rights proof",
        "GEO cards that do not resolve to canonical songs or approved runtime capabilities",
        "workflow steps that silently skip cross-functional gates"
      ]
    },
    "sync_lead_discovery_runtime": {
      "capability_id": "stm_governed_sync_lead_discovery_prospect_scoring_runtime",
      "voice": "commercially disciplined, evidence-led, fit-specific, never spammy",
      "must_preserve": [
        "source reference",
        "fit rationale",
        "canonical song match",
        "rights readiness",
        "human approval before pitch-now",
        "do-not-chase memory"
      ],
      "must_avoid": [
        "unsupported placement claims",
        "invented contacts",
        "scraping protected databases",
        "autonomous cold outreach",
        "pitching songs without rights proof"
      ]
    },
    "sync_recurring_import_runtime": {
      "capability_id": "stm_sync_recurring_import_runtime",
      "voice": "self-sustaining, governed, source-backed, rights-aware, no autonomous outreach",
      "must_preserve": [
        "scheduled cadence proof",
        "source evidence",
        "ingestion boundary",
        "rights and approval gates",
        "processed/rejected import trace",
        "executive reporting"
      ],
      "must_avoid": [
        "scraping protected pages",
        "committing API keys",
        "autonomous cold outreach",
        "pitch-ready claims without approval",
        "silent stale-source drift"
      ]
    },
    "runtime_terms": [
      "real target harvest",
      "licensed export lane",
      "manual verified import",
      "no protected-source scraping"
    ],
    "unsupported_public_claims": [
      "fast-spreading",
      "chart-performance",
      "top-ranked",
      "top-ranked",
      "rights-status verified",
      "sync-review-ready",
      "licensing-review-ready",
      "placement certainty",
      "fully monetized",
      "DJ-ready",
      "available for commercial use"
    ],
    "monetization_sync_dj_revenue_runtime": {
      "usage": "Describe STM revenue paths as governed offer, licensing, sync, DJ, and dashboard readiness until rights and human approvals are complete.",
      "must_say": [
        "draft-ready does not mean approved to sell or send",
        "rights readiness controls licensing and store activation",
        "human approval controls outreach and final pitch packets",
        "DJ export requires BPM, key, energy, audio, and rights review"
      ],
      "must_avoid": [
        "claiming songs are fully licensed or sync-review-ready without proof",
        "claiming revenue is active when offers are blocked",
        "auto-sending outreach or licensing offers"
      ]
    },
    "recurring_proof_closeout_operator_runtime": {
      "capability_id": "stm_recurring_proof_closeout_operator_runtime",
      "preferred_terms": [
        "recurring proof",
        "release closeout",
        "operator report",
        "rollback drill",
        "incident and drift ledger"
      ],
      "must_say": [
        "human approval remains required for outreach, publishing, sales activation, and DJ export"
      ],
      "must_not_claim": [
        "fully autonomous sales",
        "automatic outreach",
        "completed legal clearance",
        "destructive rollback performed automatically"
      ]
    },
    "updated_at_utc": "2026-05-17T18:34:16.959757+00:00",
    "auto_triage_rights_metadata_promotion_runtime": {
      "capability_id": "stm_auto_triage_rights_metadata_promotion_runtime",
      "safe_language": [
        "recommendation-only",
        "human-reviewed unlock action",
        "rights preflight",
        "metadata-backed readiness",
        "operator action queue"
      ],
      "must_avoid": [
        "auto-approved rights",
        "automatic outreach",
        "sale activated",
        "published live",
        "DJ export complete"
      ],
      "public_claim_boundary": "Do not claim a song, pitch, offer, page, or DJ export is ready until the underlying rights, metadata, asset, contact, and human review proof are complete."
    },
    "operator_queue_decision_application": {
      "capability_id": "stm_operator_queue_prioritization_decision_application_runtime",
      "voice": "operator-first, decision-safe, proof-backed, no automatic outreach or rights assertions",
      "approved_terms": [
        "operator queue",
        "human decision intake",
        "decision application ledger",
        "safe promotion recommendation"
      ],
      "avoid": [
        "autonomous outreach",
        "automatic rights assertion",
        "auto-sale activation",
        "silent publishing"
      ]
    },
    "operator_queue_value_ranking_runtime": {
      "capability_id": "stm_operator_queue_value_ranking_tie_breaker_runtime",
      "approved_terms": [
        "value-ranked operator queue",
        "ranked unlock action",
        "decision-ready priority",
        "business-value tie breaker"
      ],
      "disallowed_claims": [
        "automatic approval",
        "automatic rights assertion",
        "automatic outreach",
        "automatic sale activation"
      ],
      "voice_rule": "Describe the queue as recommendation and decision support. Never claim STM has approved rights, sent pitches, activated offers, or exported DJ files without human decision evidence."
    },
    "fan_commerce_apparel_runtime": {
      "capability_id": "stm_fan_commerce_apparel_sku_runtime",
      "voice": "song-driven, fan-aware, rights-safe, product-specific, never generic merch hype",
      "must_preserve": [
        "canonical song identity",
        "source phrase evidence",
        "rights and lyric/title clearance status",
        "brand safety review",
        "margin and fulfillment readiness",
        "human approval before sale or public product claim"
      ],
      "must_avoid": [
        "claiming apparel is live when it is only a draft SKU",
        "using lyrics or titles without clearance review",
        "publishing Shopify or print-on-demand claims before fulfillment and margin review",
        "treating fan funnel CTAs as proof of revenue"
      ]
    },
    "copyright_office_batch_runtime": {
      "capability_id": "stm_copyright_office_batch_runtime",
      "approved_terms": [
        "copyright office batch",
        "20-song filing-review batch",
        "held remainder batch"
      ],
      "must_say": "Ready batches contain exactly 20 songs. Remainder batches are held until full.",
      "must_avoid": "Do not describe this runtime as autonomous filing or proof of registration."
    },
    "rights_to_revenue_runtime": {
      "capability_id": "stm_rights_to_revenue_runtime",
      "approved_terms": [
        "rights-to-revenue engine",
        "commercial opportunity queue",
        "campaign preparation queue",
        "outcome learning ledger"
      ],
      "must_say": "STM ranks opportunities and prepares campaign work while preserving rights proof and human approval boundaries.",
      "must_avoid": "Do not describe scoring as a license, placement, filing, registration, publishing, monetization, or rights-ready claim."
    },
    "social_awareness_scheduler_runtime": {
      "capability_id": "stm_social_awareness_scheduler_runtime",
      "approved_terms": [
        "social awareness scheduler",
        "song social post queue",
        "awareness calendar",
        "social post learning ledger"
      ],
      "must_say": "STM prepares daily social awareness drafts while preserving human approval and rights proof boundaries.",
      "must_avoid": "Do not describe draft generation as publication, advertising, platform approval, registration proof, licensing availability, monetization, or external posting."
    },
    "autonomous_awareness_persistence_runtime": {
      "voice": "music-blog friendly, current-event curious, source-aware, never spammy, never claim-heavy",
      "must_preserve": [
        "source URL or seed evidence",
        "song evidence",
        "human approval state",
        "claim safety boundary",
        "outcome learning lineage"
      ],
      "must_avoid": [
        "fabricated current events",
        "unsupported rights claims",
        "auto-post language",
        "paid boost promises",
        "platform endorsement claims"
      ]
    },
    "awareness_to_outcome_command_center": {
      "capability_id": "stm_awareness_to_outcome_command_center_runtime",
      "voice": "operator-clear, music-blog friendly, proof-aware, never spammy",
      "usage": "Use when describing STM's browser-based workbench for copy-ready awareness posts, exception review, blog prompts, and outcome capture.",
      "must_preserve": [
        "manual publishing boundary",
        "human review for exceptions and current-event claims",
        "song and queue evidence references",
        "outcome capture loop"
      ],
      "must_avoid": [
        "auto-posting claims",
        "paid boost claims",
        "rights-ready claims without proof",
        "licensing claims without approval",
        "current-event commentary without cited source review"
      ]
    },
    "closed_loop_awareness_operations_runtime": {
      "allowed_terms": [
        "manual publish handoff",
        "outcome capture",
        "source-backed blog review",
        "stale queue resolution"
      ],
      "blocked_terms": [
        "auto-posted",
        "promised fast-spreading",
        "rights-ready",
        "registered",
        "licensed for sync"
      ]
    }
  },
  "discovery_endpoints": [
    "website/public/ai-discovery/llms.txt",
    "website/public/ai-discovery/ai-index.json",
    "website/public/ai-discovery/musicgraph.jsonld",
    "website/public/ai-discovery/sitemap-ai.xml",
    "website/public/ai-discovery/intents/*.json",
    "website/public/ai-discovery/playlists/recent-main-playlist.jsonld",
    "website/public/ai-discovery/playlists/recent-main-playlist-copy-snippet.html",
    "website/public/ai-discovery/playlists/male-vocal-playlist.jsonld",
    "website/public/ai-discovery/playlists/male-vocal-playlist-copy-snippet.html",
    "website/public/ai-discovery/playlists/female-vocal-playlist.jsonld",
    "website/public/ai-discovery/playlists/female-vocal-playlist-copy-snippet.html",
    "website/public/ai-discovery/playlists/book-playlist.jsonld",
    "website/public/ai-discovery/playlists/book-playlist-copy-snippet.html",
    "website/public/ai-discovery/playlists/playlist-page-index.json",
    "website/public/ai-discovery/playlists/playlist-internal-link-map.json",
    "website/public/ai-discovery/playlists/playlist-page-copy-bank.md"
  ],
  "claim_boundary": {
    "allowed": [
      "source-backed song discovery",
      "mood and theme discovery",
      "playlist and blog ideation",
      "AI-readable catalog context"
    ],
    "blocked_without_evidence": [
      "promised",
      "fast-spreading",
      "chart-performance",
      "top-ranked",
      "top-ranked",
      "rights-status verified",
      "sync-review-ready",
      "licensing-review-ready",
      "placement certainty"
    ]
  },
  "counts": {
    "songs": 149,
    "intent_clusters": 6,
    "playlist_geo_pages": 4
  },
  "songs": [
    {
      "canonical_song_id": "STM-SONG-005212",
      "title": "A Thing or Two",
      "slug": "a-thing-or-two-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/a-thing-or-two-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5212",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "A Thing or Two is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000934",
      "title": "Accepting Me As I Was Always Meant To Be",
      "slug": "accepting-me-as-i-was-always-meant-to-be-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/accepting-me-as-i-was-always-meant-to-be-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=934",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Accepting Me As I Was Always Meant To Be is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "identity-neurodivergent-outsider-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Accepting Me As I Was Always Meant To Be",
        "what STM song fits Accepting Me As I Was Always Meant To Be",
        "independent music for Accepting Me As I Was Always Meant To Be"
      ],
      "blog_angles": [
        "Why Accepting Me As I Was Always Meant To Be belongs in a human-first STM playlist",
        "How DJs can introduce Accepting Me As I Was Always Meant To Be in a set",
        "The listener question Accepting Me As I Was Always Meant To Be answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\226-accepting-me-as-i-was-always-meant-to-be.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005219",
      "title": "Always Been Looking For You",
      "slug": "always-been-looking-for-you-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/always-been-looking-for-you-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5219",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Always Been Looking For You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Always Been Looking For You",
        "what STM song fits Always Been Looking For You",
        "independent music for Always Been Looking For You"
      ],
      "blog_angles": [
        "Why Always Been Looking For You belongs in a human-first STM playlist",
        "How DJs can introduce Always Been Looking For You in a set",
        "The listener question Always Been Looking For You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\188-always-been-looking-for-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000275",
      "title": "Am I Brave Enough To Suck At Something New",
      "slug": "am-i-brave-enough-to-suck-at-something-new-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/am-i-brave-enough-to-suck-at-something-new-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=275",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Am I Brave Enough To Suck At Something New is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Am I Brave Enough To Suck At Something New",
        "what STM song fits Am I Brave Enough To Suck At Something New",
        "independent music for Am I Brave Enough To Suck At Something New"
      ],
      "blog_angles": [
        "Why Am I Brave Enough To Suck At Something New belongs in a human-first STM playlist",
        "How DJs can introduce Am I Brave Enough To Suck At Something New in a set",
        "The listener question Am I Brave Enough To Suck At Something New answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\201-am-i-brave-enough-to-suck-at-something-new.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005165",
      "title": "Are You In Or Are You Out",
      "slug": "are-you-in-or-are-you-out",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/are-you-in-or-are-you-out/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5165",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Are You In Or Are You Out is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Are You In Or Are You Out",
        "what STM song fits Are You In Or Are You Out",
        "independent music for Are You In Or Are You Out"
      ],
      "blog_angles": [
        "Why Are You In Or Are You Out belongs in a human-first STM playlist",
        "How DJs can introduce Are You In Or Are You Out in a set",
        "The listener question Are You In Or Are You Out answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\104-are-you-in-or-are-you-out.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005198",
      "title": "Back Porch Revival",
      "slug": "back-porch-revival-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/back-porch-revival-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5198",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Back Porch Revival is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005172",
      "title": "Bad luck and trouble",
      "slug": "bad-luck-and-trouble-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/bad-luck-and-trouble-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5172",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Bad luck and trouble is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Bad luck and trouble",
        "what STM song fits Bad luck and trouble",
        "independent music for Bad luck and trouble"
      ],
      "blog_angles": [
        "Why Bad luck and trouble belongs in a human-first STM playlist",
        "How DJs can introduce Bad luck and trouble in a set",
        "The listener question Bad luck and trouble answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\122-bad-luck-and-trouble.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003222",
      "title": "Beautiful Monster",
      "slug": "beautiful-monster",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/beautiful-monster/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3222",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Beautiful Monster is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Beautiful Monster",
        "what STM song fits Beautiful Monster",
        "independent music for Beautiful Monster"
      ],
      "blog_angles": [
        "Why Beautiful Monster belongs in a human-first STM playlist",
        "How DJs can introduce Beautiful Monster in a set",
        "The listener question Beautiful Monster answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\146-beautiful-monster.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001607",
      "title": "Being 20 Sucks",
      "slug": "being-20-sucks",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/being-20-sucks/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1607",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Being 20 Sucks is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005256",
      "title": "Bend But Don't Break",
      "slug": "bend-but-dont-break",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/bend-but-dont-break/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5256",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Bend But Don't Break is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Bend But Don't Break",
        "what STM song fits Bend But Don't Break",
        "independent music for Bend But Don't Break"
      ],
      "blog_angles": [
        "Why Bend But Don't Break belongs in a human-first STM playlist",
        "How DJs can introduce Bend But Don't Break in a set",
        "The listener question Bend But Don't Break answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\200-bend-but-don-t-break.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001057",
      "title": "Bend Dont Break",
      "slug": "bend-dont-break",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/bend-dont-break/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1057",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Bend Dont Break is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "resilience-recovery-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005230",
      "title": "Better Than I Was",
      "slug": "better-than-i-was-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/better-than-i-was-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5230",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Better Than I Was is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005208",
      "title": "Boardroom Chimps",
      "slug": "boardroom-chimps-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/boardroom-chimps-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5208",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Boardroom Chimps is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005174",
      "title": "Born To Be, Only Me",
      "slug": "born-to-be-only-me-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/born-to-be-only-me-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5174",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Born To Be, Only Me is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Born To Be, Only Me",
        "what STM song fits Born To Be, Only Me",
        "independent music for Born To Be, Only Me"
      ],
      "blog_angles": [
        "Why Born To Be, Only Me belongs in a human-first STM playlist",
        "How DJs can introduce Born To Be, Only Me in a set",
        "The listener question Born To Be, Only Me answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\088-born-to-be-only-me.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005266",
      "title": "Brothers Keeper",
      "slug": "brothers-keeper",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/brothers-keeper/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5266",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Brothers Keeper is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Brothers Keeper",
        "what STM song fits Brothers Keeper",
        "independent music for Brothers Keeper"
      ],
      "blog_angles": [
        "Why Brothers Keeper belongs in a human-first STM playlist",
        "How DJs can introduce Brothers Keeper in a set",
        "The listener question Brothers Keeper answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\209-brothers-keeper.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003219",
      "title": "Build bridges break walls",
      "slug": "build-bridges-break-walls",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/build-bridges-break-walls/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3219",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Build bridges break walls is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "resilience-recovery-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005297",
      "title": "Building Our Own Daily Forever",
      "slug": "building-our-own-daily-forever-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/building-our-own-daily-forever-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5297",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Building Our Own Daily Forever is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003218",
      "title": "But I Like You",
      "slug": "but-i-like-you",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/but-i-like-you/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3218",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "But I Like You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like But I Like You",
        "what STM song fits But I Like You",
        "independent music for But I Like You"
      ],
      "blog_angles": [
        "Why But I Like You belongs in a human-first STM playlist",
        "How DJs can introduce But I Like You in a set",
        "The listener question But I Like You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\092-but-i-like-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001005",
      "title": "Can I Go Back In Time, Change My Mind",
      "slug": "can-i-go-back-in-time-change-my-mind-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/can-i-go-back-in-time-change-my-mind-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1005",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Can I Go Back In Time, Change My Mind is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Can I Go Back In Time, Change My Mind",
        "what STM song fits Can I Go Back In Time, Change My Mind",
        "independent music for Can I Go Back In Time, Change My Mind"
      ],
      "blog_angles": [
        "Why Can I Go Back In Time, Change My Mind belongs in a human-first STM playlist",
        "How DJs can introduce Can I Go Back In Time, Change My Mind in a set",
        "The listener question Can I Go Back In Time, Change My Mind answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\224-can-i-go-back-in-time-change-my-mind.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005183",
      "title": "Can't outrun the mirror",
      "slug": "cant-outrun-the-mirror-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/cant-outrun-the-mirror-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5183",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Can’t outrun the mirror is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "identity-neurodivergent-outsider-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Can’t outrun the mirror",
        "what STM song fits Can’t outrun the mirror",
        "independent music for Can’t outrun the mirror"
      ],
      "blog_angles": [
        "Why Can’t outrun the mirror belongs in a human-first STM playlist",
        "How DJs can introduce Can’t outrun the mirror in a set",
        "The listener question Can’t outrun the mirror answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\098-can-t-outrun-the-mirror.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000983",
      "title": "Cause You're Gone, I Must Stay Strong",
      "slug": "cause-youre-gone-i-must-stay-strong-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/cause-youre-gone-i-must-stay-strong-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=983",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Cause You're Gone, I Must Stay Strong is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Cause You're Gone, I Must Stay Strong",
        "what STM song fits Cause You're Gone, I Must Stay Strong",
        "independent music for Cause You're Gone, I Must Stay Strong"
      ],
      "blog_angles": [
        "Why Cause You're Gone, I Must Stay Strong belongs in a human-first STM playlist",
        "How DJs can introduce Cause You're Gone, I Must Stay Strong in a set",
        "The listener question Cause You're Gone, I Must Stay Strong answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\231-cause-you-re-gone-i-must-stay-strong.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001035",
      "title": "Chase Your Dream (Life's Too Short)",
      "slug": "chase-your-dream-lifes-too-short",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/chase-your-dream-lifes-too-short/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1035",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Chase Your Dream (Life's Too Short) is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Chase Your Dream (Life's Too Short)",
        "what STM song fits Chase Your Dream (Life's Too Short)",
        "independent music for Chase Your Dream (Life's Too Short)"
      ],
      "blog_angles": [
        "Why Chase Your Dream (Life's Too Short) belongs in a human-first STM playlist",
        "How DJs can introduce Chase Your Dream (Life's Too Short) in a set",
        "The listener question Chase Your Dream (Life's Too Short) answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\227-chase-your-dream-life-s-too-short.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005235",
      "title": "Closed For Repairs",
      "slug": "closed-for-repairs-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/closed-for-repairs-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5235",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Closed For Repairs is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Closed For Repairs",
        "what STM song fits Closed For Repairs",
        "independent music for Closed For Repairs"
      ],
      "blog_angles": [
        "Why Closed For Repairs belongs in a human-first STM playlist",
        "How DJs can introduce Closed For Repairs in a set",
        "The listener question Closed For Repairs answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\152-closed-for-repairs.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005195",
      "title": "Danced with the Devil",
      "slug": "danced-with-the-devil",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/danced-with-the-devil/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5195",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Danced with the Devil is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Danced with the Devil",
        "what STM song fits Danced with the Devil",
        "independent music for Danced with the Devil"
      ],
      "blog_angles": [
        "Why Danced with the Devil belongs in a human-first STM playlist",
        "How DJs can introduce Danced with the Devil in a set",
        "The listener question Danced with the Devil answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\127-danced-with-the-devil.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005192",
      "title": "Dark Took Something From Me",
      "slug": "dark-took-something-from-me-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/dark-took-something-from-me-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5192",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Dark Took Something From Me is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005181",
      "title": "Dead Set On Living",
      "slug": "dead-set-on-living-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/dead-set-on-living-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5181",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Dead Set On Living is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Dead Set On Living",
        "what STM song fits Dead Set On Living",
        "independent music for Dead Set On Living"
      ],
      "blog_angles": [
        "Why Dead Set On Living belongs in a human-first STM playlist",
        "How DJs can introduce Dead Set On Living in a set",
        "The listener question Dead Set On Living answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\112-dead-set-on-living.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001613",
      "title": "Diamond Within",
      "slug": "diamond-within",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/diamond-within/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1613",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Diamond Within is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Diamond Within",
        "what STM song fits Diamond Within",
        "independent music for Diamond Within"
      ],
      "blog_angles": [
        "Why Diamond Within belongs in a human-first STM playlist",
        "How DJs can introduce Diamond Within in a set",
        "The listener question Diamond Within answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\219-diamond-within.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000955",
      "title": "Do More Things To Make Time Stop",
      "slug": "do-more-things-to-make-time-stop-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/do-more-things-to-make-time-stop-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=955",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Do More Things To Make Time Stop is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Do More Things To Make Time Stop",
        "what STM song fits Do More Things To Make Time Stop",
        "independent music for Do More Things To Make Time Stop"
      ],
      "blog_angles": [
        "Why Do More Things To Make Time Stop belongs in a human-first STM playlist",
        "How DJs can introduce Do More Things To Make Time Stop in a set",
        "The listener question Do More Things To Make Time Stop answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\222-do-more-things-to-make-time-stop.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005182",
      "title": "Don't just wish, when you can do",
      "slug": "dont-just-wish-when-you-can-do-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/dont-just-wish-when-you-can-do-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5182",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Don’t just wish, when you can do is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Don’t just wish, when you can do",
        "what STM song fits Don’t just wish, when you can do",
        "independent music for Don’t just wish, when you can do"
      ],
      "blog_angles": [
        "Why Don’t just wish, when you can do belongs in a human-first STM playlist",
        "How DJs can introduce Don’t just wish, when you can do in a set",
        "The listener question Don’t just wish, when you can do answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\070-don-t-just-wish-when-you-can-do.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000995",
      "title": "Don't Wait Out The Pain, Dance In The Rain",
      "slug": "dont-wait-out-the-pain-dance-in-the-rain",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/dont-wait-out-the-pain-dance-in-the-rain/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=995",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Don't Wait Out The Pain, Dance In The Rain is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Don't Wait Out The Pain, Dance In The Rain",
        "what STM song fits Don't Wait Out The Pain, Dance In The Rain",
        "independent music for Don't Wait Out The Pain, Dance In The Rain"
      ],
      "blog_angles": [
        "Why Don't Wait Out The Pain, Dance In The Rain belongs in a human-first STM playlist",
        "How DJs can introduce Don't Wait Out The Pain, Dance In The Rain in a set",
        "The listener question Don't Wait Out The Pain, Dance In The Rain answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\214-don-t-wait-out-the-pain-dance-in-the-rain.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004112",
      "title": "Don't Want You To Save Me",
      "slug": "dont-want-you-to-save-me-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/dont-want-you-to-save-me-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4112",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Don’t Want You To Save Me is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Don’t Want You To Save Me",
        "what STM song fits Don’t Want You To Save Me",
        "independent music for Don’t Want You To Save Me"
      ],
      "blog_angles": [
        "Why Don’t Want You To Save Me belongs in a human-first STM playlist",
        "How DJs can introduce Don’t Want You To Save Me in a set",
        "The listener question Don’t Want You To Save Me answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\133-don-t-want-you-to-save-me.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005251",
      "title": "Draw Me Closer",
      "slug": "draw-me-closer-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/draw-me-closer-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5251",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Draw Me Closer is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005170",
      "title": "Every Sinner Has Their Turn",
      "slug": "every-sinner-has-their-turn-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/every-sinner-has-their-turn-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5170",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Every Sinner Has Their Turn is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Every Sinner Has Their Turn",
        "what STM song fits Every Sinner Has Their Turn",
        "independent music for Every Sinner Has Their Turn"
      ],
      "blog_angles": [
        "Why Every Sinner Has Their Turn belongs in a human-first STM playlist",
        "How DJs can introduce Every Sinner Has Their Turn in a set",
        "The listener question Every Sinner Has Their Turn answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\093-every-sinner-has-their-turn.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005242",
      "title": "Feed The Fire",
      "slug": "feed-the-fire-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/feed-the-fire-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5242",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Feed The Fire is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "rebellion-outlaw-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000985",
      "title": "Find Your Vibe With Your Tribe",
      "slug": "find-your-vibe-with-your-tribe-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/find-your-vibe-with-your-tribe-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=985",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Find Your Vibe With Your Tribe is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Find Your Vibe With Your Tribe",
        "what STM song fits Find Your Vibe With Your Tribe",
        "independent music for Find Your Vibe With Your Tribe"
      ],
      "blog_angles": [
        "Why Find Your Vibe With Your Tribe belongs in a human-first STM playlist",
        "How DJs can introduce Find Your Vibe With Your Tribe in a set",
        "The listener question Find Your Vibe With Your Tribe answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\230-find-your-vibe-with-your-tribe.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005241",
      "title": "Fireproof",
      "slug": "fireproof-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/fireproof-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5241",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Fireproof is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Fireproof",
        "what STM song fits Fireproof",
        "independent music for Fireproof"
      ],
      "blog_angles": [
        "Why Fireproof belongs in a human-first STM playlist",
        "How DJs can introduce Fireproof in a set",
        "The listener question Fireproof answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\192-fireproof.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005217",
      "title": "Four paws are the perfect cure.",
      "slug": "four-paws-are-the-perfect-cure-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/four-paws-are-the-perfect-cure-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5217",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Four paws are the perfect cure. is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005159",
      "title": "Frankenstein",
      "slug": "frankenstein",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/frankenstein/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5159",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Frankenstein is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "identity-neurodivergent-outsider-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005162",
      "title": "Freedom At Last",
      "slug": "freedom-at-last-4",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/freedom-at-last-4/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5162",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Freedom At Last is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Freedom At Last",
        "what STM song fits Freedom At Last",
        "independent music for Freedom At Last"
      ],
      "blog_angles": [
        "Why Freedom At Last belongs in a human-first STM playlist",
        "How DJs can introduce Freedom At Last in a set",
        "The listener question Freedom At Last answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\079-freedom-at-last.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003220",
      "title": "Happier Than I Deserve",
      "slug": "happier-than-i-deserve",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/happier-than-i-deserve/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3220",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Happier Than I Deserve is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Happier Than I Deserve",
        "what STM song fits Happier Than I Deserve",
        "independent music for Happier Than I Deserve"
      ],
      "blog_angles": [
        "Why Happier Than I Deserve belongs in a human-first STM playlist",
        "How DJs can introduce Happier Than I Deserve in a set",
        "The listener question Happier Than I Deserve answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\197-happier-than-i-deserve.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005215",
      "title": "Highway Saints",
      "slug": "highway-saints-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/highway-saints-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5215",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Highway Saints is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "faith-gratitude-soul-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000906",
      "title": "Hope You Fall In Love And It Breaks Your Heart",
      "slug": "hope-you-fall-in-love-and-it-breaks-your-heart",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/hope-you-fall-in-love-and-it-breaks-your-heart/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=906",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Hope You Fall In Love And It Breaks Your Heart is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Hope You Fall In Love And It Breaks Your Heart",
        "what STM song fits Hope You Fall In Love And It Breaks Your Heart",
        "independent music for Hope You Fall In Love And It Breaks Your Heart"
      ],
      "blog_angles": [
        "Why Hope You Fall In Love And It Breaks Your Heart belongs in a human-first STM playlist",
        "How DJs can introduce Hope You Fall In Love And It Breaks Your Heart in a set",
        "The listener question Hope You Fall In Love And It Breaks Your Heart answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\208-hope-you-fall-in-love-and-it-breaks-your-heart.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000916",
      "title": "I Am Who I Am Because Of You",
      "slug": "i-am-who-i-am-because-of-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-am-who-i-am-because-of-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=916",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Am Who I Am Because Of You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I Am Who I Am Because Of You",
        "what STM song fits I Am Who I Am Because Of You",
        "independent music for I Am Who I Am Because Of You"
      ],
      "blog_angles": [
        "Why I Am Who I Am Because Of You belongs in a human-first STM playlist",
        "How DJs can introduce I Am Who I Am Because Of You in a set",
        "The listener question I Am Who I Am Because Of You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\233-i-am-who-i-am-because-of-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001065",
      "title": "I Caught Your Eye You Caught My Heart",
      "slug": "i-caught-your-eye-you-caught-my-heart-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-caught-your-eye-you-caught-my-heart-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1065",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Caught Your Eye You Caught My Heart is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I Caught Your Eye You Caught My Heart",
        "what STM song fits I Caught Your Eye You Caught My Heart",
        "independent music for I Caught Your Eye You Caught My Heart"
      ],
      "blog_angles": [
        "Why I Caught Your Eye You Caught My Heart belongs in a human-first STM playlist",
        "How DJs can introduce I Caught Your Eye You Caught My Heart in a set",
        "The listener question I Caught Your Eye You Caught My Heart answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\198-i-caught-your-eye-you-caught-my-heart.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005232",
      "title": "I Choose You (Dedicated to CC)",
      "slug": "i-choose-you-dedicated-to-cc",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-choose-you-dedicated-to-cc/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5232",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Choose You (Dedicated to CC) is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005260",
      "title": "I Couldn't Fall Out Of Love If I Tried",
      "slug": "i-couldnt-fall-out-of-love-if-i-tried-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-couldnt-fall-out-of-love-if-i-tried-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5260",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Couldn't Fall Out Of Love If I Tried is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000898",
      "title": "I Couldnt Fall Out Of Love If I Tried",
      "slug": "i-couldnt-fall-out-of-love-if-i-tried",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-couldnt-fall-out-of-love-if-i-tried/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=898",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Couldnt Fall Out Of Love If I Tried is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003776",
      "title": "I Danced with the Devil",
      "slug": "i-danced-with-the-devil-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-danced-with-the-devil-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3776",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Danced with the Devil is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005270",
      "title": "I Don't Need Perfect I Just Need You",
      "slug": "i-dont-need-perfect-i-just-need-you",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-dont-need-perfect-i-just-need-you/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5270",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Don't Need Perfect I Just Need You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I Don't Need Perfect I Just Need You",
        "what STM song fits I Don't Need Perfect I Just Need You",
        "independent music for I Don't Need Perfect I Just Need You"
      ],
      "blog_angles": [
        "Why I Don't Need Perfect I Just Need You belongs in a human-first STM playlist",
        "How DJs can introduce I Don't Need Perfect I Just Need You in a set",
        "The listener question I Don't Need Perfect I Just Need You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\213-i-don-t-need-perfect-i-just-need-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001025",
      "title": "I Dont Need Perfect I Just Need You",
      "slug": "i-dont-need-perfect-i-just-need-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-dont-need-perfect-i-just-need-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1025",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Dont Need Perfect I Just Need You is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005171",
      "title": "I Let the Wild In",
      "slug": "i-let-the-wild-in-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-let-the-wild-in-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5171",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I Let the Wild In is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I Let the Wild In",
        "what STM song fits I Let the Wild In",
        "independent music for I Let the Wild In"
      ],
      "blog_angles": [
        "Why I Let the Wild In belongs in a human-first STM playlist",
        "How DJs can introduce I Let the Wild In in a set",
        "The listener question I Let the Wild In answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\082-i-let-the-wild-in.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001052",
      "title": "I May Be Crazy But It Doesn't Make Me Wrong",
      "slug": "i-may-be-crazy-but-it-doesnt-make-me-wrong-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-may-be-crazy-but-it-doesnt-make-me-wrong-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1052",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I May Be Crazy But It Doesn't Make Me Wrong is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I May Be Crazy But It Doesn't Make Me Wrong",
        "what STM song fits I May Be Crazy But It Doesn't Make Me Wrong",
        "independent music for I May Be Crazy But It Doesn't Make Me Wrong"
      ],
      "blog_angles": [
        "Why I May Be Crazy But It Doesn't Make Me Wrong belongs in a human-first STM playlist",
        "How DJs can introduce I May Be Crazy But It Doesn't Make Me Wrong in a set",
        "The listener question I May Be Crazy But It Doesn't Make Me Wrong answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\211-i-may-be-crazy-but-it-doesn-t-make-me-wrong.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000932",
      "title": "I See My Future When I Look At You",
      "slug": "i-see-my-future-when-i-look-at-you",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-see-my-future-when-i-look-at-you/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=932",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I See My Future When I Look At You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I See My Future When I Look At You",
        "what STM song fits I See My Future When I Look At You",
        "independent music for I See My Future When I Look At You"
      ],
      "blog_angles": [
        "Why I See My Future When I Look At You belongs in a human-first STM playlist",
        "How DJs can introduce I See My Future When I Look At You in a set",
        "The listener question I See My Future When I Look At You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\199-i-see-my-future-when-i-look-at-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005233",
      "title": "I stayed for every version of you",
      "slug": "i-stayed-for-every-version-of-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/i-stayed-for-every-version-of-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5233",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I stayed for every version of you is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I stayed for every version of you",
        "what STM song fits I stayed for every version of you",
        "independent music for I stayed for every version of you"
      ],
      "blog_angles": [
        "Why I stayed for every version of you belongs in a human-first STM playlist",
        "How DJs can introduce I stayed for every version of you in a set",
        "The listener question I stayed for every version of you answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\151-i-stayed-for-every-version-of-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000896",
      "title": "I'm An Alien Lost In Place",
      "slug": "im-an-alien-lost-in-place-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/im-an-alien-lost-in-place-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=896",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I'm An Alien Lost In Place is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "identity-neurodivergent-outsider-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005262",
      "title": "I'm An Alien Lost In Place (Dedicated to all Neurodivergents)",
      "slug": "im-an-alien-lost-in-place-dedicated-to-all-neurodivergents",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/im-an-alien-lost-in-place-dedicated-to-all-neurodivergents/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5262",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I'm An Alien Lost In Place (Dedicated to all Neurodivergents) is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "identity-neurodivergent-outsider-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I'm An Alien Lost In Place (Dedicated to all Neurodivergents)",
        "what STM song fits I'm An Alien Lost In Place (Dedicated to all Neurodivergents)",
        "independent music for I'm An Alien Lost In Place (Dedicated to all Neurodivergents)"
      ],
      "blog_angles": [
        "Why I'm An Alien Lost In Place (Dedicated to all Neurodivergents) belongs in a human-first STM playlist",
        "How DJs can introduce I'm An Alien Lost In Place (Dedicated to all Neurodivergents) in a set",
        "The listener question I'm An Alien Lost In Place (Dedicated to all Neurodivergents) answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\205-i-m-an-alien-lost-in-place-dedicated-to-all-neurodivergents.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003653",
      "title": "I'm not broken, I'm in pain",
      "slug": "im-not-broken-im-in-pain",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/im-not-broken-im-in-pain/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3653",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I'm not broken, I'm in pain is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "resilience-recovery-songs",
        "identity-neurodivergent-outsider-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005191",
      "title": "I'm not broken, I'm in pain (Dedicated to all NDs)",
      "slug": "im-not-broken-im-in-pain-dedicated-to-all-nds",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/im-not-broken-im-in-pain-dedicated-to-all-nds/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5191",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "I’m not broken, I’m in pain (Dedicated to all NDs) is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "identity-neurodivergent-outsider-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like I’m not broken, I’m in pain (Dedicated to all NDs)",
        "what STM song fits I’m not broken, I’m in pain (Dedicated to all NDs)",
        "independent music for I’m not broken, I’m in pain (Dedicated to all NDs)"
      ],
      "blog_angles": [
        "Why I’m not broken, I’m in pain (Dedicated to all NDs) belongs in a human-first STM playlist",
        "How DJs can introduce I’m not broken, I’m in pain (Dedicated to all NDs) in a set",
        "The listener question I’m not broken, I’m in pain (Dedicated to all NDs) answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\136-i-m-not-broken-i-m-in-pain-dedicated-to-all-nds.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005193",
      "title": "Is this real or just bullshit?",
      "slug": "is-this-real-or-just-bullshit-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/is-this-real-or-just-bullshit-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5193",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Is this real or just bullshit? is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Is this real or just bullshit?",
        "what STM song fits Is this real or just bullshit?",
        "independent music for Is this real or just bullshit?"
      ],
      "blog_angles": [
        "Why Is this real or just bullshit? belongs in a human-first STM playlist",
        "How DJs can introduce Is this real or just bullshit? in a set",
        "The listener question Is this real or just bullshit? answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\135-is-this-real-or-just-bullshit.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005178",
      "title": "It's not rebellion, it's just survival",
      "slug": "its-not-rebellion-its-just-survival",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/its-not-rebellion-its-just-survival/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5178",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "It’s not rebellion, it’s just survival is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like It’s not rebellion, it’s just survival",
        "what STM song fits It’s not rebellion, it’s just survival",
        "independent music for It’s not rebellion, it’s just survival"
      ],
      "blog_angles": [
        "Why It’s not rebellion, it’s just survival belongs in a human-first STM playlist",
        "How DJs can introduce It’s not rebellion, it’s just survival in a set",
        "The listener question It’s not rebellion, it’s just survival answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\091-it-s-not-rebellion-it-s-just-survival.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004228",
      "title": "Jungle Heat",
      "slug": "jungle-heat",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/jungle-heat/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4228",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Jungle Heat is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Jungle Heat",
        "what STM song fits Jungle Heat",
        "independent music for Jungle Heat"
      ],
      "blog_angles": [
        "Why Jungle Heat belongs in a human-first STM playlist",
        "How DJs can introduce Jungle Heat in a set",
        "The listener question Jungle Heat answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\081-jungle-heat.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005209",
      "title": "Jungle or Zoo",
      "slug": "jungle-or-zoo-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/jungle-or-zoo-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5209",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Jungle or Zoo is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005224",
      "title": "Karma",
      "slug": "karma",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/karma/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5224",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Karma is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Karma",
        "what STM song fits Karma",
        "independent music for Karma"
      ],
      "blog_angles": [
        "Why Karma belongs in a human-first STM playlist",
        "How DJs can introduce Karma in a set",
        "The listener question Karma answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\187-karma.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001014",
      "title": "Kings And Fools Have Different Rules",
      "slug": "kings-and-fools-have-different-rules-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/kings-and-fools-have-different-rules-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1014",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Kings And Fools Have Different Rules is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Kings And Fools Have Different Rules",
        "what STM song fits Kings And Fools Have Different Rules",
        "independent music for Kings And Fools Have Different Rules"
      ],
      "blog_angles": [
        "Why Kings And Fools Have Different Rules belongs in a human-first STM playlist",
        "How DJs can introduce Kings And Fools Have Different Rules in a set",
        "The listener question Kings And Fools Have Different Rules answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\207-kings-and-fools-have-different-rules.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005163",
      "title": "Last will and testament of the soul",
      "slug": "last-will-and-testament-of-the-soul-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/last-will-and-testament-of-the-soul-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5163",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Last will and testament of the soul is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Last will and testament of the soul",
        "what STM song fits Last will and testament of the soul",
        "independent music for Last will and testament of the soul"
      ],
      "blog_angles": [
        "Why Last will and testament of the soul belongs in a human-first STM playlist",
        "How DJs can introduce Last will and testament of the soul in a set",
        "The listener question Last will and testament of the soul answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\084-last-will-and-testament-of-the-soul.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001619",
      "title": "Lets Get Started",
      "slug": "lets-get-started-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/lets-get-started-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1619",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Lets-Get-Started is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Lets-Get-Started",
        "what STM song fits Lets-Get-Started",
        "independent music for Lets-Get-Started"
      ],
      "blog_angles": [
        "Why Lets-Get-Started belongs in a human-first STM playlist",
        "How DJs can introduce Lets-Get-Started in a set",
        "The listener question Lets-Get-Started answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\217-lets-get-started.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000918",
      "title": "Lets Start Living Our Happy Ending",
      "slug": "lets-start-living-our-happy-ending-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/lets-start-living-our-happy-ending-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=918",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Lets Start Living Our Happy Ending is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Lets Start Living Our Happy Ending",
        "what STM song fits Lets Start Living Our Happy Ending",
        "independent music for Lets Start Living Our Happy Ending"
      ],
      "blog_angles": [
        "Why Lets Start Living Our Happy Ending belongs in a human-first STM playlist",
        "How DJs can introduce Lets Start Living Our Happy Ending in a set",
        "The listener question Lets Start Living Our Happy Ending answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\232-lets-start-living-our-happy-ending.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003513",
      "title": "Lie Like The Devil",
      "slug": "lie-like-the-devil",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/lie-like-the-devil/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3513",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Lie Like the Devil is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Lie Like the Devil",
        "what STM song fits Lie Like the Devil",
        "independent music for Lie Like the Devil"
      ],
      "blog_angles": [
        "Why Lie Like the Devil belongs in a human-first STM playlist",
        "How DJs can introduce Lie Like the Devil in a set",
        "The listener question Lie Like the Devil answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\129-lie-like-the-devil.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005243",
      "title": "Lightning in a jar",
      "slug": "lightning-in-a-jar-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/lightning-in-a-jar-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5243",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Lightning in a jar is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "faith-gratitude-soul-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003489",
      "title": "Like the Devil Loves Sin",
      "slug": "like-the-devil-loves-sin-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/like-the-devil-loves-sin-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3489",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Like The Devil Loves Sin is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Like The Devil Loves Sin",
        "what STM song fits Like The Devil Loves Sin",
        "independent music for Like The Devil Loves Sin"
      ],
      "blog_angles": [
        "Why Like The Devil Loves Sin belongs in a human-first STM playlist",
        "How DJs can introduce Like The Devil Loves Sin in a set",
        "The listener question Like The Devil Loves Sin answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\096-like-the-devil-loves-sin.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000973",
      "title": "Love All Of Me, Body, Mind and Soul",
      "slug": "love-all-of-me-body-mind-and-soul",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/love-all-of-me-body-mind-and-soul/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=973",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Love All Of Me, Body, Mind and Soul is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Love All Of Me, Body, Mind and Soul",
        "what STM song fits Love All Of Me, Body, Mind and Soul",
        "independent music for Love All Of Me, Body, Mind and Soul"
      ],
      "blog_angles": [
        "Why Love All Of Me, Body, Mind and Soul belongs in a human-first STM playlist",
        "How DJs can introduce Love All Of Me, Body, Mind and Soul in a set",
        "The listener question Love All Of Me, Body, Mind and Soul answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\220-love-all-of-me-body-mind-and-soul.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003662",
      "title": "Love Begins With Me",
      "slug": "love-begins-with-me-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/love-begins-with-me-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3662",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Love Begins with Me is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Love Begins with Me",
        "what STM song fits Love Begins with Me",
        "independent music for Love Begins with Me"
      ],
      "blog_angles": [
        "Why Love Begins with Me belongs in a human-first STM playlist",
        "How DJs can introduce Love Begins with Me in a set",
        "The listener question Love Begins with Me answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\123-love-begins-with-me.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005160",
      "title": "Love is best at the edge of control",
      "slug": "love-is-best-at-the-edge-of-control",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/love-is-best-at-the-edge-of-control/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5160",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Love is best at the edge of control is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Love is best at the edge of control",
        "what STM song fits Love is best at the edge of control",
        "independent music for Love is best at the edge of control"
      ],
      "blog_angles": [
        "Why Love is best at the edge of control belongs in a human-first STM playlist",
        "How DJs can introduce Love is best at the edge of control in a set",
        "The listener question Love is best at the edge of control answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\072-love-is-best-at-the-edge-of-control.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-002731",
      "title": "Love is Worth the Fight",
      "slug": "love-is-worth-the-fight-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/love-is-worth-the-fight-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=2731",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Love is Worth the Fight is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "resilience-recovery-songs",
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Love is Worth the Fight",
        "what STM song fits Love is Worth the Fight",
        "independent music for Love is Worth the Fight"
      ],
      "blog_angles": [
        "Why Love is Worth the Fight belongs in a human-first STM playlist",
        "How DJs can introduce Love is Worth the Fight in a set",
        "The listener question Love is Worth the Fight answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\126-love-is-worth-the-fight.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005205",
      "title": "Magic You Can't Fake",
      "slug": "magic-you-cant-fake-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/magic-you-cant-fake-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5205",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Magic You Can't Fake is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000882",
      "title": "Make me laugh",
      "slug": "make-me-laugh-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/make-me-laugh-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=882",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Make Me Laugh is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Make Me Laugh",
        "what STM song fits Make Me Laugh",
        "independent music for Make Me Laugh"
      ],
      "blog_angles": [
        "Why Make Me Laugh belongs in a human-first STM playlist",
        "How DJs can introduce Make Me Laugh in a set",
        "The listener question Make Me Laugh answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\210-make-me-laugh.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005185",
      "title": "Makes No Sense But Damn It Feels Good",
      "slug": "makes-no-sense-but-damn-it-feels-good-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/makes-no-sense-but-damn-it-feels-good-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5185",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Makes No Sense But Damn It Feels Good is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Makes No Sense But Damn It Feels Good",
        "what STM song fits Makes No Sense But Damn It Feels Good",
        "independent music for Makes No Sense But Damn It Feels Good"
      ],
      "blog_angles": [
        "Why Makes No Sense But Damn It Feels Good belongs in a human-first STM playlist",
        "How DJs can introduce Makes No Sense But Damn It Feels Good in a set",
        "The listener question Makes No Sense But Damn It Feels Good answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\105-makes-no-sense-but-damn-it-feels-good.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005199",
      "title": "Millennials",
      "slug": "millennials",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/millennials/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5199",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Millennials is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005211",
      "title": "Moonshine Medicine",
      "slug": "moonshine-medicine-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/moonshine-medicine-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5211",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Moonshine Medicine is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003860",
      "title": "More Than Enough",
      "slug": "more-than-enough",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/more-than-enough/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3860",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "More Than Enough is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like More Than Enough",
        "what STM song fits More Than Enough",
        "independent music for More Than Enough"
      ],
      "blog_angles": [
        "Why More Than Enough belongs in a human-first STM playlist",
        "How DJs can introduce More Than Enough in a set",
        "The listener question More Than Enough answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\194-more-than-enough.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005210",
      "title": "More Than I Already Do",
      "slug": "more-than-i-already-do-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/more-than-i-already-do-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5210",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "More Than I Already Do is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005275",
      "title": "My Beautiful Chaos",
      "slug": "my-beautiful-chaos",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/my-beautiful-chaos/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5275",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "My Beautiful Chaos is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like My Beautiful Chaos",
        "what STM song fits My Beautiful Chaos",
        "independent music for My Beautiful Chaos"
      ],
      "blog_angles": [
        "Why My Beautiful Chaos belongs in a human-first STM playlist",
        "How DJs can introduce My Beautiful Chaos in a set",
        "The listener question My Beautiful Chaos answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\218-my-beautiful-chaos.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003206",
      "title": "My Brother's Keeper",
      "slug": "my-brothers-keeper",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/my-brothers-keeper/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3206",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "My Brother's Keeper is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000975",
      "title": "Need A Hug Today But You're Far Away",
      "slug": "need-a-hug-today-but-youre-far-away-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/need-a-hug-today-but-youre-far-away-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=975",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Need A Hug Today But You're Far Away is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Need A Hug Today But You're Far Away",
        "what STM song fits Need A Hug Today But You're Far Away",
        "independent music for Need A Hug Today But You're Far Away"
      ],
      "blog_angles": [
        "Why Need A Hug Today But You're Far Away belongs in a human-first STM playlist",
        "How DJs can introduce Need A Hug Today But You're Far Away in a set",
        "The listener question Need A Hug Today But You're Far Away answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\234-need-a-hug-today-but-you-re-far-away.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005190",
      "title": "No Looking Back",
      "slug": "no-looking-back-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/no-looking-back-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5190",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "No Looking Back is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001598",
      "title": "No one's got it all figured out",
      "slug": "no-ones-got-it-all-figured-out",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/no-ones-got-it-all-figured-out/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1598",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "No one's got it all figured out is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like No one's got it all figured out",
        "what STM song fits No one's got it all figured out",
        "independent music for No one's got it all figured out"
      ],
      "blog_angles": [
        "Why No one's got it all figured out belongs in a human-first STM playlist",
        "How DJs can introduce No one's got it all figured out in a set",
        "The listener question No one's got it all figured out answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\228-no-one-s-got-it-all-figured-out.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005296",
      "title": "Northern Cross",
      "slug": "northern-cross-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/northern-cross-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5296",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Northern Cross is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Northern Cross",
        "what STM song fits Northern Cross",
        "independent music for Northern Cross"
      ],
      "blog_angles": [
        "Why Northern Cross belongs in a human-first STM playlist",
        "How DJs can introduce Northern Cross in a set",
        "The listener question Northern Cross answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\161-northern-cross.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005179",
      "title": "Northern Cross (Thank You God)",
      "slug": "northern-cross-thank-you-god",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/northern-cross-thank-you-god/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5179",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Northern Cross (Thank You God) is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs",
        "faith-gratitude-soul-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005249",
      "title": "Not Buying",
      "slug": "not-buying-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/not-buying-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5249",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Not Buying is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Not Buying",
        "what STM song fits Not Buying",
        "independent music for Not Buying"
      ],
      "blog_angles": [
        "Why Not Buying belongs in a human-first STM playlist",
        "How DJs can introduce Not Buying in a set",
        "The listener question Not Buying answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\195-not-buying.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000277",
      "title": "Often Wrong But Never Unsure",
      "slug": "often-wrong-but-never-unsure",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/often-wrong-but-never-unsure/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=277",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Often Wrong But Never Unsure is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Often Wrong But Never Unsure",
        "what STM song fits Often Wrong But Never Unsure",
        "independent music for Often Wrong But Never Unsure"
      ],
      "blog_angles": [
        "Why Often Wrong But Never Unsure belongs in a human-first STM playlist",
        "How DJs can introduce Often Wrong But Never Unsure in a set",
        "The listener question Often Wrong But Never Unsure answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\225-often-wrong-but-never-unsure.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000957",
      "title": "Old Keys Don't Unlock New Doors",
      "slug": "old-keys-dont-unlock-new-doors-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/old-keys-dont-unlock-new-doors-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=957",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Old Keys Don't Unlock New Doors is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Old Keys Don't Unlock New Doors",
        "what STM song fits Old Keys Don't Unlock New Doors",
        "independent music for Old Keys Don't Unlock New Doors"
      ],
      "blog_angles": [
        "Why Old Keys Don't Unlock New Doors belongs in a human-first STM playlist",
        "How DJs can introduce Old Keys Don't Unlock New Doors in a set",
        "The listener question Old Keys Don't Unlock New Doors answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\221-old-keys-don-t-unlock-new-doors.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003794",
      "title": "Only love can end the war",
      "slug": "only-love-can-end-the-war",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/only-love-can-end-the-war/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3794",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Only Love Can End The War is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Only Love Can End The War",
        "what STM song fits Only Love Can End The War",
        "independent music for Only Love Can End The War"
      ],
      "blog_angles": [
        "Why Only Love Can End The War belongs in a human-first STM playlist",
        "How DJs can introduce Only Love Can End The War in a set",
        "The listener question Only Love Can End The War answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\150-only-love-can-end-the-war.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005245",
      "title": "Outlier",
      "slug": "outlier-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/outlier-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5245",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Outlier is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003883",
      "title": "People Pleaser",
      "slug": "people-pleaser",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/people-pleaser/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3883",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "People Pleaser is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like People Pleaser",
        "what STM song fits People Pleaser",
        "independent music for People Pleaser"
      ],
      "blog_angles": [
        "Why People Pleaser belongs in a human-first STM playlist",
        "How DJs can introduce People Pleaser in a set",
        "The listener question People Pleaser answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\196-people-pleaser.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001015",
      "title": "Please Don't Treat Me Like I Treated You",
      "slug": "please-dont-treat-me-like-i-treated-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/please-dont-treat-me-like-i-treated-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1015",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Please don't treat me Like I Treated You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Please don't treat me Like I Treated You",
        "what STM song fits Please don't treat me Like I Treated You",
        "independent music for Please don't treat me Like I Treated You"
      ],
      "blog_angles": [
        "Why Please don't treat me Like I Treated You belongs in a human-first STM playlist",
        "How DJs can introduce Please don't treat me Like I Treated You in a set",
        "The listener question Please don't treat me Like I Treated You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\204-please-don-t-treat-me-like-i-treated-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005187",
      "title": "Rather Live Wild Than Die Correct",
      "slug": "rather-live-wild-than-die-correct",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/rather-live-wild-than-die-correct/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5187",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Rather Live Wild Than Die Correct is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "rebellion-outlaw-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005177",
      "title": "Rebel Cause",
      "slug": "rebel-cause",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/rebel-cause/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5177",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Rebel Cause is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Rebel Cause",
        "what STM song fits Rebel Cause",
        "independent music for Rebel Cause"
      ],
      "blog_angles": [
        "Why Rebel Cause belongs in a human-first STM playlist",
        "How DJs can introduce Rebel Cause in a set",
        "The listener question Rebel Cause answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\102-rebel-cause.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001034",
      "title": "Remember You Best With No Dress",
      "slug": "remember-you-best-with-no-dress",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/remember-you-best-with-no-dress/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1034",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Remember You Best With No Dress is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Remember You Best With No Dress",
        "what STM song fits Remember You Best With No Dress",
        "independent music for Remember You Best With No Dress"
      ],
      "blog_angles": [
        "Why Remember You Best With No Dress belongs in a human-first STM playlist",
        "How DJs can introduce Remember You Best With No Dress in a set",
        "The listener question Remember You Best With No Dress answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\212-remember-you-best-with-no-dress.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005238",
      "title": "Right Here, Right Now",
      "slug": "right-here-right-now",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/right-here-right-now/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5238",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Right Here, Right Now is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Right Here, Right Now",
        "what STM song fits Right Here, Right Now",
        "independent music for Right Here, Right Now"
      ],
      "blog_angles": [
        "Why Right Here, Right Now belongs in a human-first STM playlist",
        "How DJs can introduce Right Here, Right Now in a set",
        "The listener question Right Here, Right Now answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\190-right-here-right-now.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005169",
      "title": "Runs Just Fine Without You",
      "slug": "runs-just-fine-without-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/runs-just-fine-without-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5169",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Runs Just Fine Without You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Runs Just Fine Without You",
        "what STM song fits Runs Just Fine Without You",
        "independent music for Runs Just Fine Without You"
      ],
      "blog_angles": [
        "Why Runs Just Fine Without You belongs in a human-first STM playlist",
        "How DJs can introduce Runs Just Fine Without You in a set",
        "The listener question Runs Just Fine Without You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\076-runs-just-fine-without-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003538",
      "title": "Saints and Sinners",
      "slug": "saints-and-sinners",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/saints-and-sinners/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3538",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Saints and Sinners is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Saints and Sinners",
        "what STM song fits Saints and Sinners",
        "independent music for Saints and Sinners"
      ],
      "blog_angles": [
        "Why Saints and Sinners belongs in a human-first STM playlist",
        "How DJs can introduce Saints and Sinners in a set",
        "The listener question Saints and Sinners answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\078-saints-and-sinners.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005240",
      "title": "Selective Amnesia",
      "slug": "selective-amnesia-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/selective-amnesia-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5240",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Selective Amnesia is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Selective Amnesia",
        "what STM song fits Selective Amnesia",
        "independent music for Selective Amnesia"
      ],
      "blog_angles": [
        "Why Selective Amnesia belongs in a human-first STM playlist",
        "How DJs can introduce Selective Amnesia in a set",
        "The listener question Selective Amnesia answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\191-selective-amnesia.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005206",
      "title": "Showing Up Is Half the Battle",
      "slug": "showing-up-is-half-the-battle-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/showing-up-is-half-the-battle-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5206",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Showing Up Is Half the Battle is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005237",
      "title": "Somebody Else Will",
      "slug": "somebody-else-will",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/somebody-else-will/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5237",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Somebody Else Will is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005176",
      "title": "Steel and Soul",
      "slug": "steel-and-soul-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/steel-and-soul-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5176",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Steel and Soul is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Steel and Soul",
        "what STM song fits Steel and Soul",
        "independent music for Steel and Soul"
      ],
      "blog_angles": [
        "Why Steel and Soul belongs in a human-first STM playlist",
        "How DJs can introduce Steel and Soul in a set",
        "The listener question Steel and Soul answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\103-steel-and-soul.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005202",
      "title": "Still I Try",
      "slug": "still-i-try",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/still-i-try/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5202",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Still I Try is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Still I Try",
        "what STM song fits Still I Try",
        "independent music for Still I Try"
      ],
      "blog_angles": [
        "Why Still I Try belongs in a human-first STM playlist",
        "How DJs can introduce Still I Try in a set",
        "The listener question Still I Try answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\108-still-i-try.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004566",
      "title": "Still I Try 2",
      "slug": "still-i-try-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/still-i-try-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4566",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Still I Try 2 is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005234",
      "title": "Still Pretending",
      "slug": "still-pretending-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/still-pretending-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5234",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Still Pretending is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003567",
      "title": "Stolen From the Future",
      "slug": "stolen-from-the-future",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/stolen-from-the-future/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3567",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Stolen From The Future is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Stolen From The Future",
        "what STM song fits Stolen From The Future",
        "independent music for Stolen From The Future"
      ],
      "blog_angles": [
        "Why Stolen From The Future belongs in a human-first STM playlist",
        "How DJs can introduce Stolen From The Future in a set",
        "The listener question Stolen From The Future answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\193-stolen-from-the-future.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005180",
      "title": "Take The Hit",
      "slug": "take-the-hit-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/take-the-hit-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5180",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Take The Hit is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Take The Hit",
        "what STM song fits Take The Hit",
        "independent music for Take The Hit"
      ],
      "blog_angles": [
        "Why Take The Hit belongs in a human-first STM playlist",
        "How DJs can introduce Take The Hit in a set",
        "The listener question Take The Hit answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\101-take-the-hit.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005295",
      "title": "Thank You God For Everything",
      "slug": "thank-you-god-for-everything-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/thank-you-god-for-everything-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5295",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Thank You God For Everything is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "faith-gratitude-soul-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Thank You God For Everything",
        "what STM song fits Thank You God For Everything",
        "independent music for Thank You God For Everything"
      ],
      "blog_angles": [
        "Why Thank You God For Everything belongs in a human-first STM playlist",
        "How DJs can introduce Thank You God For Everything in a set",
        "The listener question Thank You God For Everything answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\160-thank-you-god-for-everything.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004432",
      "title": "The Dirt That Raised Me",
      "slug": "the-dirt-that-raised-me",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-dirt-that-raised-me/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4432",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The Dirt That Raised Me is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like The Dirt That Raised Me",
        "what STM song fits The Dirt That Raised Me",
        "independent music for The Dirt That Raised Me"
      ],
      "blog_angles": [
        "Why The Dirt That Raised Me belongs in a human-first STM playlist",
        "How DJs can introduce The Dirt That Raised Me in a set",
        "The listener question The Dirt That Raised Me answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\077-the-dirt-that-raised-me.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003818",
      "title": "The Exiled Child",
      "slug": "the-exiled-child",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-exiled-child/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3818",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The Exiled Child is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004639",
      "title": "The Mess Within",
      "slug": "the-mess-within-1",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-mess-within-1/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4639",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The Mess Within is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like The Mess Within",
        "what STM song fits The Mess Within",
        "independent music for The Mess Within"
      ],
      "blog_angles": [
        "Why The Mess Within belongs in a human-first STM playlist",
        "How DJs can introduce The Mess Within in a set",
        "The listener question The Mess Within answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\128-the-mess-within.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005196",
      "title": "The More I Grow The Less I Know",
      "slug": "the-more-i-grow-the-less-i-know-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-more-i-grow-the-less-i-know-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5196",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The More I Grow The Less I Know is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001046",
      "title": "The Right Mistakes Brought Me To You",
      "slug": "the-right-mistakes-brought-me-to-you-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-right-mistakes-brought-me-to-you-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1046",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The Right Mistakes Brought Me To You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like The Right Mistakes Brought Me To You",
        "what STM song fits The Right Mistakes Brought Me To You",
        "independent music for The Right Mistakes Brought Me To You"
      ],
      "blog_angles": [
        "Why The Right Mistakes Brought Me To You belongs in a human-first STM playlist",
        "How DJs can introduce The Right Mistakes Brought Me To You in a set",
        "The listener question The Right Mistakes Brought Me To You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\202-the-right-mistakes-brought-me-to-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005216",
      "title": "The Right One",
      "slug": "the-right-one",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/the-right-one/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5216",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "The Right One is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like The Right One",
        "what STM song fits The Right One",
        "independent music for The Right One"
      ],
      "blog_angles": [
        "Why The Right One belongs in a human-first STM playlist",
        "How DJs can introduce The Right One in a set",
        "The listener question The Right One answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\154-the-right-one.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005236",
      "title": "There I Am",
      "slug": "there-i-am",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/there-i-am/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5236",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "There I Am is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003526",
      "title": "There's Facts and There's What's True",
      "slug": "theres-facts-and-theres-whats-true",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/theres-facts-and-theres-whats-true/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3526",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "There’s Facts and There’s What’s True is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like There’s Facts and There’s What’s True",
        "what STM song fits There’s Facts and There’s What’s True",
        "independent music for There’s Facts and There’s What’s True"
      ],
      "blog_angles": [
        "Why There’s Facts and There’s What’s True belongs in a human-first STM playlist",
        "How DJs can introduce There’s Facts and There’s What’s True in a set",
        "The listener question There’s Facts and There’s What’s True answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\143-there-s-facts-and-there-s-what-s-true.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005184",
      "title": "This is not the end",
      "slug": "this-is-not-the-end-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/this-is-not-the-end-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5184",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "This is not the end is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005201",
      "title": "Those Who Can't Build Choose To Burn",
      "slug": "those-who-cant-build-choose-to-burn-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/those-who-cant-build-choose-to-burn-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5201",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Those Who Can't Build Choose To Burn is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005220",
      "title": "Tomorrow Never Comes",
      "slug": "tomorrow-never-comes-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/tomorrow-never-comes-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5220",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Tomorrow Never Comes is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005173",
      "title": "Tools from the stars",
      "slug": "tools-from-the-stars-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/tools-from-the-stars-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5173",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Tools from the stars is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Tools from the stars",
        "what STM song fits Tools from the stars",
        "independent music for Tools from the stars"
      ],
      "blog_angles": [
        "Why Tools from the stars belongs in a human-first STM playlist",
        "How DJs can introduce Tools from the stars in a set",
        "The listener question Tools from the stars answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\085-tools-from-the-stars.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005186",
      "title": "True Love Starts Within",
      "slug": "true-love-starts-within-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/true-love-starts-within-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5186",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "True Love Starts Within is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005218",
      "title": "Truth was once heresy",
      "slug": "truth-was-once-heresy-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/truth-was-once-heresy-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5218",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Truth was once heresy is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005175",
      "title": "Venus with Fangs",
      "slug": "venus-with-fangs-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/venus-with-fangs-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5175",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Venus with Fangs is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Venus with Fangs",
        "what STM song fits Venus with Fangs",
        "independent music for Venus with Fangs"
      ],
      "blog_angles": [
        "Why Venus with Fangs belongs in a human-first STM playlist",
        "How DJs can introduce Venus with Fangs in a set",
        "The listener question Venus with Fangs answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\069-venus-with-fangs.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000908",
      "title": "Veo mi futuro cuando te miro a vos - SPANISH",
      "slug": "veo-mi-futuro-cuando-te-miro-a-vos-spanish",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/veo-mi-futuro-cuando-te-miro-a-vos-spanish/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=908",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Veo mi futuro cuando te miro a vos - SPANISH is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Veo mi futuro cuando te miro a vos - SPANISH",
        "what STM song fits Veo mi futuro cuando te miro a vos - SPANISH",
        "independent music for Veo mi futuro cuando te miro a vos - SPANISH"
      ],
      "blog_angles": [
        "Why Veo mi futuro cuando te miro a vos - SPANISH belongs in a human-first STM playlist",
        "How DJs can introduce Veo mi futuro cuando te miro a vos - SPANISH in a set",
        "The listener question Veo mi futuro cuando te miro a vos - SPANISH answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\223-veo-mi-futuro-cuando-te-miro-a-vos-spanish.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005161",
      "title": "Volcanic Virginia",
      "slug": "volcanic-virginia-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/volcanic-virginia-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5161",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Volcanic Virginia is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Volcanic Virginia",
        "what STM song fits Volcanic Virginia",
        "independent music for Volcanic Virginia"
      ],
      "blog_angles": [
        "Why Volcanic Virginia belongs in a human-first STM playlist",
        "How DJs can introduce Volcanic Virginia in a set",
        "The listener question Volcanic Virginia answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\080-volcanic-virginia.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005272",
      "title": "We Don't Have a Lot of Money But We Can Have a Lot of Fun",
      "slug": "we-dont-have-a-lot-of-money-but-we-can-have-a-lot-of-fun",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/we-dont-have-a-lot-of-money-but-we-can-have-a-lot-of-fun/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5272",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "We Don't Have a Lot of Money But We Can Have a Lot of Fun is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like We Don't Have a Lot of Money But We Can Have a Lot of Fun",
        "what STM song fits We Don't Have a Lot of Money But We Can Have a Lot of Fun",
        "independent music for We Don't Have a Lot of Money But We Can Have a Lot of Fun"
      ],
      "blog_angles": [
        "Why We Don't Have a Lot of Money But We Can Have a Lot of Fun belongs in a human-first STM playlist",
        "How DJs can introduce We Don't Have a Lot of Money But We Can Have a Lot of Fun in a set",
        "The listener question We Don't Have a Lot of Money But We Can Have a Lot of Fun answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\215-we-don-t-have-a-lot-of-money-but-we-can-have-a-lot-of-fun.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000994",
      "title": "WE DON'T HAVE MONEY BUT WE HAVE A LOT OF FUN",
      "slug": "we-dont-have-money-but-we-have-a-lot-of-fun-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/we-dont-have-money-but-we-have-a-lot-of-fun-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=994",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "WE DON'T HAVE MONEY BUT WE HAVE A LOT OF FUN is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005188",
      "title": "What you gonna do about it",
      "slug": "what-you-gonna-do-about-it-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/what-you-gonna-do-about-it-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5188",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "What you gonna do about it is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005273",
      "title": "What's In The Rearview Is Up To You",
      "slug": "whats-in-the-rearview-is-up-to-you-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whats-in-the-rearview-is-up-to-you-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5273",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "What's In The Rearview Is Up To You is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like What's In The Rearview Is Up To You",
        "what STM song fits What's In The Rearview Is Up To You",
        "independent music for What's In The Rearview Is Up To You"
      ],
      "blog_angles": [
        "Why What's In The Rearview Is Up To You belongs in a human-first STM playlist",
        "How DJs can introduce What's In The Rearview Is Up To You in a set",
        "The listener question What's In The Rearview Is Up To You answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\216-what-s-in-the-rearview-is-up-to-you.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005189",
      "title": "What's My Purpose",
      "slug": "whats-my-purpose-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whats-my-purpose-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5189",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "What's My Purpose is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "identity-neurodivergent-outsider-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like What's My Purpose",
        "what STM song fits What's My Purpose",
        "independent music for What's My Purpose"
      ],
      "blog_angles": [
        "Why What's My Purpose belongs in a human-first STM playlist",
        "How DJs can introduce What's My Purpose in a set",
        "The listener question What's My Purpose answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\067-what-s-my-purpose.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001726",
      "title": "Whats in the rearview is up to you",
      "slug": "whats-in-the-rearview-is-up-to-you",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whats-in-the-rearview-is-up-to-you/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1726",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Whats in the rearview is up to you is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003552",
      "title": "When the Demons Come",
      "slug": "when-the-demons-come",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/when-the-demons-come/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3552",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "When the Demons Come is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like When the Demons Come",
        "what STM song fits When the Demons Come",
        "independent music for When the Demons Come"
      ],
      "blog_angles": [
        "Why When the Demons Come belongs in a human-first STM playlist",
        "How DJs can introduce When the Demons Come in a set",
        "The listener question When the Demons Come answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\097-when-the-demons-come.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-003911",
      "title": "Where Does It Go",
      "slug": "where-does-it-go",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/where-does-it-go/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=3911",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Where Does It Go is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001024",
      "title": "Where Hero And Villain Blend",
      "slug": "where-hero-and-villain-blend-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/where-hero-and-villain-blend-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1024",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Where Hero And Villain Blend is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Where Hero And Villain Blend",
        "what STM song fits Where Hero And Villain Blend",
        "independent music for Where Hero And Villain Blend"
      ],
      "blog_angles": [
        "Why Where Hero And Villain Blend belongs in a human-first STM playlist",
        "How DJs can introduce Where Hero And Villain Blend in a set",
        "The listener question Where Hero And Villain Blend answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\206-where-hero-and-villain-blend.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005213",
      "title": "Whiskey Don't Lie",
      "slug": "whiskey-dont-lie-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whiskey-dont-lie-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5213",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Whiskey Don't Lie is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "rebellion-outlaw-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005207",
      "title": "Who else could LOVE ME LIKE THAT",
      "slug": "who-else-could-love-me-like-that",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/who-else-could-love-me-like-that/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5207",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Who else could LOVE ME LIKE THAT is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005166",
      "title": "Who will love me",
      "slug": "who-will-love-me-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/who-will-love-me-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5166",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Who will love me is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-004241",
      "title": "Who's Gonna Stop Me Now",
      "slug": "whos-gonna-stop-me-now",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whos-gonna-stop-me-now/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=4241",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Who’s Gonna Stop Me Now is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like Who’s Gonna Stop Me Now",
        "what STM song fits Who’s Gonna Stop Me Now",
        "independent music for Who’s Gonna Stop Me Now"
      ],
      "blog_angles": [
        "Why Who’s Gonna Stop Me Now belongs in a human-first STM playlist",
        "How DJs can introduce Who’s Gonna Stop Me Now in a set",
        "The listener question Who’s Gonna Stop Me Now answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\124-who-s-gonna-stop-me-now.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005229",
      "title": "Who's Gonna Stop Me Now - Female",
      "slug": "whos-gonna-stop-me-now-female",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whos-gonna-stop-me-now-female/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5229",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Who's Gonna Stop Me Now - Female is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005221",
      "title": "Who's Gonna Stop Me Now - Male",
      "slug": "whos-gonna-stop-me-now-male",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/whos-gonna-stop-me-now-male/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5221",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Who's Gonna Stop Me Now - Male is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "independent-story-driven-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005204",
      "title": "Wild or Caged",
      "slug": "wild-or-caged-2",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/wild-or-caged-2/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5204",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "Wild or Caged is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "rebellion-outlaw-rock-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001625",
      "title": "You Are Enough",
      "slug": "you-are-enough-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/you-are-enough-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1625",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "You Are Enough is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like You Are Enough",
        "what STM song fits You Are Enough",
        "independent music for You Are Enough"
      ],
      "blog_angles": [
        "Why You Are Enough belongs in a human-first STM playlist",
        "How DJs can introduce You Are Enough in a set",
        "The listener question You Are Enough answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\229-you-are-enough.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-000884",
      "title": "You May Be The Devil But Not To Me",
      "slug": "you-may-be-the-devil-but-not-to-me-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/you-may-be-the-devil-but-not-to-me-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=884",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "You May Be The Devil But Not To Me is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "rebellion-outlaw-rock-songs",
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like You May Be The Devil But Not To Me",
        "what STM song fits You May Be The Devil But Not To Me",
        "independent music for You May Be The Devil But Not To Me"
      ],
      "blog_angles": [
        "Why You May Be The Devil But Not To Me belongs in a human-first STM playlist",
        "How DJs can introduce You May Be The Devil But Not To Me in a set",
        "The listener question You May Be The Devil But Not To Me answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\203-you-may-be-the-devil-but-not-to-me.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-005231",
      "title": "You're A Language I Understand (Dedicated to CC)",
      "slug": "youre-a-language-i-understand-dedicated-to-cc",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/youre-a-language-i-understand-dedicated-to-cc/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=5231",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "You're A Language I Understand (Dedicated to CC) is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like You're A Language I Understand (Dedicated to CC)",
        "what STM song fits You're A Language I Understand (Dedicated to CC)",
        "independent music for You're A Language I Understand (Dedicated to CC)"
      ],
      "blog_angles": [
        "Why You're A Language I Understand (Dedicated to CC) belongs in a human-first STM playlist",
        "How DJs can introduce You're A Language I Understand (Dedicated to CC) in a set",
        "The listener question You're A Language I Understand (Dedicated to CC) answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\148-you-re-a-language-i-understand-dedicated-to-cc.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-002860",
      "title": "You're All I See",
      "slug": "youre-all-i-see",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/youre-all-i-see/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=2860",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "You're All I See is an STM discovery asset for listeners, DJs, playlist curators, and AI answer engines looking for emotionally specific independent music.",
      "intents": [
        "love-heartbreak-songs",
        "line-dance-dj-playlist-songs"
      ],
      "suggested_queries": [
        "best STM songs like You're All I See",
        "what STM song fits You're All I See",
        "independent music for You're All I See"
      ],
      "blog_angles": [
        "Why You're All I See belongs in a human-first STM playlist",
        "How DJs can introduce You're All I See in a set",
        "The listener question You're All I See answers"
      ],
      "ai_card_source": "generated\\stm\\ai_discovery_geo\\cards\\100-you-re-all-i-see.json",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    },
    {
      "canonical_song_id": "STM-SONG-001004",
      "title": "You're My Beautiful Chaos, And I'm Your Prey",
      "slug": "youre-my-beautiful-chaos-and-im-your-prey-3",
      "artist": "Savage Thunder Music",
      "url": "https://savagethundermusic.com/songs/youre-my-beautiful-chaos-and-im-your-prey-3/",
      "source_evidence": "truth/song_registry/song_candidates_from_content_index.csv#wp_id=1004",
      "release_status": "publish",
      "rights_readiness_status": "needs_rights_review",
      "approval_status": "candidate_imported_needs_review",
      "monetization_readiness_status": "not_ready_rights_pending",
      "summary": "You're My Beautiful Chaos, And I'm Your Prey is a Savage Thunder Music original song with a canonical STM song page and governed source evidence.",
      "intents": [
        "love-heartbreak-songs"
      ],
      "suggested_queries": [],
      "blog_angles": [],
      "ai_card_source": "",
      "public_claim_policy": "source-backed discovery only; no unverified chart, licensing, popularity, or clearance claims"
    }
  ],
  "playlist_page_geo_lift": {
    "status": "published",
    "generated_at_utc": "2026-05-19T15:12:37.074810+00:00",
    "purpose": "Strengthen playlist-page SEO/GEO with page-level schema, crawlable playlist metadata, copy snippets, and internal-link recommendations.",
    "automation_policy": {
      "safe_playlist_schema_auto_publish_when_guard_passes": true,
      "manual_approval_required_for": [
        "rights or licensing claims",
        "chart, popularity, or ranking claims",
        "long lyric excerpts",
        "commerce CTAs not already approved",
        "claims that tracks are cleared or sync-review-ready"
      ]
    },
    "playlist_pages": [
      {
        "playlist_id": "recent-main-playlist",
        "name": "Savage Thunder Music Main Playlist",
        "page_label": "Playlist",
        "public_url": "https://savagethundermusic.com/playlist/",
        "schema_url": "https://savagethundermusic.com/ai-discovery/playlists/recent-main-playlist.jsonld",
        "copy_snippet_url": "https://savagethundermusic.com/ai-discovery/playlists/recent-main-playlist-copy-snippet.html",
        "primary_intent": "discover recent and representative Savage Thunder Music originals in one place",
        "copy_heading": "Start With the Thunder: the main Savage Thunder Music playlist",
        "copy_body": "This playlist is the fastest way into the Savage Thunder Music catalog: original, story-driven songs built for listeners who like grit, heart, humor, rebellion, faith, and the occasional bad decision with a guitar in its hand.",
        "audience": "listeners, DJs, playlist builders, music bloggers, and AI discovery engines",
        "intent_terms": [
          "original music playlist",
          "story-driven rock",
          "Southern rock",
          "outlaw rock",
          "Americana rock",
          "DJ playlist discovery"
        ],
        "internal_link_targets": [
          "/",
          "/all-songs/",
          "/blog/",
          "/playlist-2/",
          "/female-playlist/"
        ],
        "claim_boundary": "source-backed discovery only; no chart, popularity, clearance, licensing, or sync-readiness claims",
        "manual_approval_required": false,
        "approval_mode": "goal_policy_auto_publish_after_guard_pass"
      },
      {
        "playlist_id": "male-vocal-playlist",
        "name": "Savage Thunder Music Male Playlist",
        "page_label": "Male Playlist",
        "public_url": "https://savagethundermusic.com/playlist-2/",
        "schema_url": "https://savagethundermusic.com/ai-discovery/playlists/male-vocal-playlist.jsonld",
        "copy_snippet_url": "https://savagethundermusic.com/ai-discovery/playlists/male-vocal-playlist-copy-snippet.html",
        "primary_intent": "find male-vocal STM tracks for listening, playlist building, music-blog coverage, and DJ discovery",
        "copy_heading": "Male-vocal STM songs with grit, scars, humor, and backbone",
        "copy_body": "The male playlist groups Savage Thunder Music tracks around story-first vocals, Southern-rock attitude, hard-won resilience, outlaw edges, and songs that sound like they have already been through something and brought back receipts.",
        "audience": "listeners searching for STM songs with male-vocal energy, grit, storytelling, and performance range",
        "intent_terms": [
          "male vocal rock songs",
          "outlaw rock",
          "Southern rock vocals",
          "resilience songs",
          "independent music playlist"
        ],
        "internal_link_targets": [
          "/",
          "/all-songs/",
          "/playlist/",
          "/female-playlist/",
          "/blog/"
        ],
        "claim_boundary": "source-backed discovery only; no chart, popularity, clearance, licensing, or sync-readiness claims",
        "manual_approval_required": false,
        "approval_mode": "goal_policy_auto_publish_after_guard_pass"
      },
      {
        "playlist_id": "female-vocal-playlist",
        "name": "Savage Thunder Music Female Playlist",
        "page_label": "Female Playlist",
        "public_url": "https://savagethundermusic.com/female-playlist/",
        "schema_url": "https://savagethundermusic.com/ai-discovery/playlists/female-vocal-playlist.jsonld",
        "copy_snippet_url": "https://savagethundermusic.com/ai-discovery/playlists/female-vocal-playlist-copy-snippet.html",
        "primary_intent": "find female-vocal STM tracks for discovery, playlists, music blogs, and listener journeys",
        "copy_heading": "Female-vocal STM songs with fire, tenderness, trouble, and truth",
        "copy_body": "The female playlist highlights Savage Thunder Music songs built around emotion, nerve, memory, heartbreak, defiance, and the kind of voice that can sound like a warning sign and a rescue rope at the same time.",
        "audience": "listeners searching for STM songs with female-vocal fire, emotional range, and story-driven hooks",
        "intent_terms": [
          "female vocal rock songs",
          "female vocal independent music",
          "heartbreak songs",
          "resilience songs",
          "story songs"
        ],
        "internal_link_targets": [
          "/",
          "/all-songs/",
          "/playlist/",
          "/playlist-2/",
          "/blog/"
        ],
        "claim_boundary": "source-backed discovery only; no chart, popularity, clearance, licensing, or sync-readiness claims",
        "manual_approval_required": false,
        "approval_mode": "goal_policy_auto_publish_after_guard_pass"
      },
      {
        "playlist_id": "book-playlist",
        "name": "Savage Thunder Music Book Playlist",
        "page_label": "Book Playlist",
        "public_url": "https://savagethundermusic.com/book-playlist/",
        "schema_url": "https://savagethundermusic.com/ai-discovery/playlists/book-playlist.jsonld",
        "copy_snippet_url": "https://savagethundermusic.com/ai-discovery/playlists/book-playlist-copy-snippet.html",
        "primary_intent": "connect STM music discovery with book-adjacent story themes, character energy, and narrative listening paths",
        "copy_heading": "The STM book playlist: songs with a story engine under the hood",
        "copy_body": "The book playlist is for listeners who come to Savage Thunder Music through story, character, conflict, healing, rebellion, and the messy human stuff that does not fit neatly into a three-minute box.",
        "audience": "readers, listeners, and blog visitors who want STM songs connected to the book universe and story themes",
        "intent_terms": [
          "book playlist",
          "story songs",
          "character songs",
          "music for readers",
          "narrative music"
        ],
        "internal_link_targets": [
          "/",
          "/all-songs/",
          "/playlist/",
          "/blog/",
          "/contact/"
        ],
        "claim_boundary": "source-backed discovery only; no chart, popularity, clearance, licensing, or sync-readiness claims",
        "manual_approval_required": false,
        "approval_mode": "goal_policy_auto_publish_after_guard_pass"
      }
    ],
    "public_artifacts": [
      "https://savagethundermusic.com/ai-discovery/playlists/recent-main-playlist.jsonld",
      "https://savagethundermusic.com/ai-discovery/playlists/recent-main-playlist-copy-snippet.html",
      "https://savagethundermusic.com/ai-discovery/playlists/male-vocal-playlist.jsonld",
      "https://savagethundermusic.com/ai-discovery/playlists/male-vocal-playlist-copy-snippet.html",
      "https://savagethundermusic.com/ai-discovery/playlists/female-vocal-playlist.jsonld",
      "https://savagethundermusic.com/ai-discovery/playlists/female-vocal-playlist-copy-snippet.html",
      "https://savagethundermusic.com/ai-discovery/playlists/book-playlist.jsonld",
      "https://savagethundermusic.com/ai-discovery/playlists/book-playlist-copy-snippet.html",
      "https://savagethundermusic.com/ai-discovery/playlists/playlist-page-index.json",
      "https://savagethundermusic.com/ai-discovery/playlists/playlist-internal-link-map.json",
      "https://savagethundermusic.com/ai-discovery/playlists/playlist-page-copy-bank.md"
    ]
  },
  "live_page_seo_geo_embed_layer": {
    "artifact_type": "stm_live_page_seo_geo_embed_layer",
    "generated_at_utc": "2026-05-19T15:39:46.858458+00:00",
    "purpose": "Make STM core pages and playlist pages easier for search and AI answer engines to understand, crawl, cluster, and cite.",
    "manual_approval_required_for": [
      "rights or licensing claims",
      "sync-readiness or clearance claims",
      "chart, ranking, or popularity claims",
      "long lyric excerpts",
      "commerce CTAs not already approved",
      "claims that tracks are cleared, placed, famous, or promised to be recommended"
    ],
    "goal_policy_auto_approval_lanes": [
      "visible_page_copy_snippet_generation",
      "page_jsonld_generation",
      "internal_link_recommendation",
      "ai_sitemap_refresh",
      "webroot_upload_manifest"
    ],
    "pages": [
      {
        "page_id": "home",
        "name": "Savage Thunder Music Home",
        "public_url": "https://savagethundermusic.com/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home.jsonld"
      },
      {
        "page_id": "all-songs",
        "name": "Savage Thunder Music All Songs",
        "public_url": "https://savagethundermusic.com/all-songs/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs.jsonld"
      },
      {
        "page_id": "blog",
        "name": "Savage Thunder Music Blog",
        "public_url": "https://savagethundermusic.com/blog/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog.jsonld"
      },
      {
        "page_id": "recent-main-playlist",
        "name": "Savage Thunder Music Main Playlist",
        "public_url": "https://savagethundermusic.com/playlist/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist.jsonld"
      },
      {
        "page_id": "male-vocal-playlist",
        "name": "Savage Thunder Music Male Playlist",
        "public_url": "https://savagethundermusic.com/playlist-2/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist.jsonld"
      },
      {
        "page_id": "female-vocal-playlist",
        "name": "Savage Thunder Music Female Playlist",
        "public_url": "https://savagethundermusic.com/female-playlist/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist.jsonld"
      },
      {
        "page_id": "book-playlist",
        "name": "Savage Thunder Music Book Playlist",
        "public_url": "https://savagethundermusic.com/book-playlist/",
        "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist-embed.html",
        "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist.jsonld"
      }
    ],
    "artifact_index_url": "https://savagethundermusic.com/ai-discovery/page-embeds/live-page-embed-index.json"
  },
  "public_artifacts": [
    {
      "name": "home",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/home.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "home-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/home-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "all-songs",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "all-songs-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "blog",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "blog-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "recent-main-playlist",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "recent-main-playlist-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "male-vocal-playlist",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "male-vocal-playlist-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "female-vocal-playlist",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "female-vocal-playlist-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "book-playlist",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist.jsonld",
      "type": "page_jsonld"
    },
    {
      "name": "book-playlist-embed",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist-embed.html",
      "type": "wordpress_embed_html"
    },
    {
      "name": "live-page-embed-index",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/live-page-embed-index.json",
      "type": "embed_index"
    },
    {
      "name": "wordpress-auto-publish-manifest",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/wordpress-auto-publish-manifest.json",
      "type": "wordpress_manifest"
    },
    {
      "name": "wordpress-paste-queue",
      "url": "https://savagethundermusic.com/ai-discovery/page-embeds/wordpress-paste-queue.csv",
      "type": "wordpress_paste_queue"
    }
  ],
  "seo_geo_monitoring": {
    "capability_id": "stm_seo_geo_monitoring_recommendation_runtime",
    "generated_at_utc": "2026-05-19T18:13:19.322697+00:00",
    "dashboard_url": "https://savagethundermusic.com/ai-discovery/monitoring/seo-geo-monitoring-dashboard.json",
    "report_url": "https://savagethundermusic.com/ai-discovery/monitoring/seo-geo-monitoring-report.md",
    "search_console_inspection_queue_url": "https://savagethundermusic.com/ai-discovery/monitoring/search-console-inspection-queue.csv",
    "ai_recommendation_probe_queue_url": "https://savagethundermusic.com/ai-discovery/monitoring/ai-recommendation-probe-queue.csv",
    "claim_boundary": "Readiness and probe tracking only; no unsupported recommendation claims."
  },
  "external_evidence_to_action": {
    "dashboard": "https://savagethundermusic.com/ai-discovery/external-evidence/external-evidence-dashboard.json",
    "report": "https://savagethundermusic.com/ai-discovery/external-evidence/external-evidence-report.md",
    "action_queue": "https://savagethundermusic.com/ai-discovery/external-evidence/external-evidence-action-queue.csv",
    "import_manifest": "https://savagethundermusic.com/ai-discovery/external-evidence/external-evidence-import-manifest.csv",
    "policy": "External evidence can drive safe metadata, schema, internal-link, and monitoring actions automatically after guard pass. Rights, licensing, ranking, popularity, and guarantee claims remain blocked unless explicitly proven."
  }
}
