{
  "capability_id": "stm_external_evidence_to_action_intelligence_runtime",
  "generated_at_utc": "2026-05-19T18:13:20.430819+00:00",
  "base_url": "https://savagethundermusic.com/",
  "purpose": "Turn external Search Console, AI-answer, social, crawl, and conversion evidence into governed STM page, song, playlist, and intent actions.",
  "automation_policy": {
    "safe_auto_approval_lanes": [
      "evidence_import_template",
      "metadata_refresh",
      "schema_refresh",
      "internal_link_recommendation",
      "content_gap_brief",
      "monitoring_dashboard_refresh",
      "sitemap_refresh",
      "entity_context_refresh",
      "cross_channel_signal_mapping",
      "governed_wait_state"
    ],
    "manual_approval_required_for": [
      "new rights or licensing claims",
      "sync-readiness or clearance claims",
      "chart, ranking, popularity, or guarantee claims",
      "external outreach to third parties",
      "commerce or paid download CTA changes",
      "legal ownership assertions not already backed by source evidence"
    ],
    "fail_closed_rules": [
      "no external evidence action without explicit source_signal",
      "no auto-approval outside safe lanes",
      "no unsupported claims about ranking, popularity, rights, licensing, sync readiness, or AI recommendation status",
      "human approval remains required for legal, commercial, outreach, and rights/clearance changes"
    ]
  },
  "summary": {
    "monitored_pages": 7,
    "search_console_performance_rows": 0,
    "search_console_page_rows": 0,
    "ai_probe_result_rows": 0,
    "social_outcome_rows": 0,
    "missing_external_inputs": 4,
    "action_rows": 12,
    "auto_approval_eligible_actions": 12,
    "human_approval_required_actions": 0,
    "operator_required_import_actions": 4,
    "sitemap_urls": 200
  },
  "public_context": {
    "monitoring_dashboard": {
      "capability_id": "stm_seo_geo_monitoring_recommendation_runtime",
      "status": "passed",
      "generated_at_utc": "2026-05-19T18:13:19.322697+00:00",
      "base_url": "https://savagethundermusic.com",
      "summary": {
        "required_assets": 7,
        "required_assets_present": 7,
        "pages_monitored": 7,
        "pages_with_embed_artifacts": 7,
        "pages_with_schema_artifacts": 7,
        "sitemap_urls_seen": 200,
        "issues": 0,
        "action_queue_rows": 1,
        "probe_queue_rows": 5
      },
      "automation_policy": {
        "safe_monitoring_artifacts_auto_publish_when_guard_passes": true,
        "safe_recommendation_queue_auto_publish_when_guard_passes": true,
        "safe_sitemap_monitoring_refresh_auto_publish_when_guard_passes": true,
        "manual_approval_required_only_for": [
          "new rights, licensing, clearance, sync, or revenue claims",
          "visible WordPress copy changes outside generated approved snippets",
          "third-party API credential activation",
          "claims that STM is recommended, ranked, indexed, viral, charting, guaranteed, or placed without source evidence"
        ],
        "goal_policy_auto_approval_lanes": [
          "seo_geo_public_artifact_monitoring",
          "ai_discovery_sitemap_health",
          "playlist_page_schema_health",
          "live_page_embed_health",
          "search_console_inspection_queue_generation",
          "ai_recommendation_probe_queue_generation"
        ],
        "fail_closed_rules": [
          "no monitoring receipt without source artifact inventory",
          "no recommendation queue row without explicit next step",
          "no manual approval for safe read-only monitoring artifacts after guard pass",
          "no claim that Google, ChatGPT, Claude, Perplexity, or any AI engine recommends STM unless imported evidence proves it"
        ]
      },
      "monitoring_urls": {
        "dashboard": "https://savagethundermusic.com/ai-discovery/monitoring/seo-geo-monitoring-dashboard.json",
        "report": "https://savagethundermusic.com/ai-discovery/monitoring/seo-geo-monitoring-report.md",
        "inspection_queue": "https://savagethundermusic.com/ai-discovery/monitoring/search-console-inspection-queue.csv",
        "probe_queue": "https://savagethundermusic.com/ai-discovery/monitoring/ai-recommendation-probe-queue.csv",
        "action_queue": "https://savagethundermusic.com/ai-discovery/monitoring/seo-geo-action-queue.csv"
      },
      "required_assets": [
        {
          "asset_path": "website\\public\\ai-discovery\\llms.txt",
          "public_url": "https://savagethundermusic.com/ai-discovery/llms.txt",
          "exists": true,
          "bytes": 8402,
          "included_in_sitemap": true,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\ai-index.json",
          "public_url": "https://savagethundermusic.com/ai-discovery/ai-index.json",
          "exists": true,
          "bytes": 247521,
          "included_in_sitemap": true,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\musicgraph.jsonld",
          "public_url": "https://savagethundermusic.com/ai-discovery/musicgraph.jsonld",
          "exists": true,
          "bytes": 245201,
          "included_in_sitemap": true,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\sitemap-ai.xml",
          "public_url": "https://savagethundermusic.com/ai-discovery/sitemap-ai.xml",
          "exists": true,
          "bytes": 26698,
          "included_in_sitemap": false,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\robots-ai-notes.txt",
          "public_url": "https://savagethundermusic.com/ai-discovery/robots-ai-notes.txt",
          "exists": true,
          "bytes": 2431,
          "included_in_sitemap": false,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\playlists\\playlist-page-index.json",
          "public_url": "https://savagethundermusic.com/ai-discovery/playlists/playlist-page-index.json",
          "exists": true,
          "bytes": 7580,
          "included_in_sitemap": true,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        },
        {
          "asset_path": "website\\public\\ai-discovery\\page-embeds\\live-page-embed-index.json",
          "public_url": "https://savagethundermusic.com/ai-discovery/page-embeds/live-page-embed-index.json",
          "exists": true,
          "bytes": 13305,
          "included_in_sitemap": true,
          "live_check_status": "not_run",
          "http_status": "",
          "live_check_note": "Set STM_SEO_GEO_MONITOR_LIVE_CHECKS=1 to enable network checks."
        }
      ],
      "pages": [
        {
          "page_id": "home",
          "label": "Homepage",
          "priority": "P0",
          "public_url": "https://savagethundermusic.com/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/home-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/home.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "original music; story-driven songs; Southern rock; outlaw rock; Americana rock; independent music catalog"
        },
        {
          "page_id": "all-songs",
          "label": "All Songs",
          "priority": "P0",
          "public_url": "https://savagethundermusic.com/all-songs/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/all-songs-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/all-songs.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "all original songs; music catalog; song discovery; story songs; independent songs; playlist discovery"
        },
        {
          "page_id": "blog",
          "label": "Blog",
          "priority": "P1",
          "public_url": "https://savagethundermusic.com/blog/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/blog-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/blog.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "music blog; song stories; music meaning; current events and music; independent music blog; lyrics and story"
        },
        {
          "page_id": "recent-main-playlist",
          "label": "Recent/Main Playlist",
          "priority": "P0",
          "public_url": "https://savagethundermusic.com/playlist/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/recent-main-playlist-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/recent-main-playlist.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "original music playlist; story-driven rock; Southern rock; outlaw rock; Americana rock; DJ playlist discovery"
        },
        {
          "page_id": "male-vocal-playlist",
          "label": "Male Vocal Playlist",
          "priority": "P1",
          "public_url": "https://savagethundermusic.com/playlist-2/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/male-vocal-playlist-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/male-vocal-playlist.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "male vocal rock songs; outlaw rock; Southern rock vocals; resilience songs; independent music playlist"
        },
        {
          "page_id": "female-vocal-playlist",
          "label": "Female Vocal Playlist",
          "priority": "P1",
          "public_url": "https://savagethundermusic.com/female-playlist/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/female-vocal-playlist-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/female-vocal-playlist.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "female vocal rock songs; female vocal independent music; heartbreak songs; resilience songs; story songs"
        },
        {
          "page_id": "book-playlist",
          "label": "Book Playlist",
          "priority": "P1",
          "public_url": "https://savagethundermusic.com/book-playlist/",
          "page_url_in_sitemap": true,
          "embed_artifact": "page-embeds/book-playlist-embed.html",
          "embed_exists": true,
          "embed_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist-embed.html",
          "embed_url_in_sitemap": true,
          "schema_artifact": "page-embeds/book-playlist.jsonld",
          "schema_exists": true,
          "schema_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist.jsonld",
          "schema_url_in_sitemap": true,
          "intent_terms": "book playlist; story songs; character songs; music for readers; narrative music"
        }
      ],
      "issues": [],
      "next_action": {
        "priority_rank": 1,
        "priority": "P1",
        "action_id": "ACTION-seo-geo-monitor-001",
        "action_type": "observe_next_crawl_window",
        "target": "STM SEO/GEO public discovery layer",
        "recommended_action": "Let Google recrawl. Check Search Console Pages, Sitemaps, and Performance in 24 to 72 hours; do not keep resubmitting manually unless a sitemap fails.",
        "auto_approval_basis": "All required local artifacts exist and are governed; observation does not require approval.",
        "human_required": "false",
        "blocking_reason": "",
        "next_step": "Wait one crawl window, then run npm.cmd run stm:seo-geo-monitoring:acceptance and review the generated report."
      }
    },
    "live_page_embed_index": {
      "artifact_type": "stm_live_page_seo_geo_embed_index",
      "generated_at_utc": "2026-05-19T15:39:46.858458+00:00",
      "canonical_site": "https://savagethundermusic.com/",
      "artist": "Savage Thunder Music",
      "purpose": "Page-level visible copy, JSON-LD schema, and internal link recommendations for STM SEO/GEO readiness.",
      "automation_policy": {
        "safe_live_page_embeds_auto_publish_when_guard_passes": true,
        "safe_jsonld_auto_publish_when_guard_passes": true,
        "safe_internal_link_recommendations_auto_publish_when_guard_passes": true,
        "manual_approval_required_only_for_claim_changes_outside_generated_artifacts": true,
        "direct_wordpress_mutation_requires_explicit_governed_api_credentials": true
      },
      "claim_boundary": {
        "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"
        ],
        "fail_closed_rules": [
          "no page artifact without canonical STM public URL",
          "no page artifact without guard receipt",
          "no rights, licensing, chart, popularity, sync-readiness, or clearance inference",
          "no manual approval required for safe structured discovery artifacts after guard pass"
        ]
      },
      "pages": [
        {
          "page_id": "home",
          "name": "Savage Thunder Music Home",
          "public_url": "https://savagethundermusic.com/",
          "page_type": "WebPage",
          "heading": "Original story-driven music with teeth, heart, and a little thunder in the floorboards",
          "copy_body": "Savage Thunder Music is an independent original music catalog built for listeners, DJs, playlist builders, music bloggers, and discovery engines looking for Southern rock, outlaw rock, Americana rock, funk rock, faith, grit, love, recovery, and songs that remember the mud they came from.",
          "intent_terms": [
            "original music",
            "story-driven songs",
            "Southern rock",
            "outlaw rock",
            "Americana rock",
            "independent music catalog"
          ],
          "internal_links": [
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/female-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/home-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "all-songs",
          "name": "Savage Thunder Music All Songs",
          "public_url": "https://savagethundermusic.com/all-songs/",
          "page_type": "CollectionPage",
          "heading": "Browse the Savage Thunder Music catalog by mood, story, and sonic trouble",
          "copy_body": "The All Songs page is the front door to the STM catalog: original tracks shaped around resilience, rebellion, heartbreak, faith, humor, neurodivergent outsider energy, line-dance potential, DJ discovery, and story-first songwriting.",
          "intent_terms": [
            "all original songs",
            "music catalog",
            "song discovery",
            "story songs",
            "independent songs",
            "playlist discovery"
          ],
          "internal_links": [
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/female-playlist/",
            "https://savagethundermusic.com/book-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "blog",
          "name": "Savage Thunder Music Blog",
          "public_url": "https://savagethundermusic.com/blog/",
          "page_type": "Blog",
          "heading": "Songs, stories, culture, and the strange little sparks that make music mean something",
          "copy_body": "The Savage Thunder Music blog connects songs to the human stuff behind them: resilience, grief, rebellion, faith, recovery, identity, love, loss, line-dance discovery, current events, and the stories listeners use when they are trying to make sense of themselves.",
          "intent_terms": [
            "music blog",
            "song stories",
            "music meaning",
            "current events and music",
            "independent music blog",
            "lyrics and story"
          ],
          "internal_links": [
            "https://savagethundermusic.com//",
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/female-playlist/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/blog-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "recent-main-playlist",
          "name": "Savage Thunder Music Main Playlist",
          "public_url": "https://savagethundermusic.com/playlist/",
          "page_type": "MusicPlaylist",
          "heading": "Start with the thunder: the main Savage Thunder Music playlist",
          "copy_body": "The main playlist is the fastest route into Savage Thunder Music: 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.",
          "intent_terms": [
            "original music playlist",
            "story-driven rock",
            "Southern rock",
            "outlaw rock",
            "Americana rock",
            "DJ playlist discovery"
          ],
          "internal_links": [
            "https://savagethundermusic.com//",
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/female-playlist/",
            "https://savagethundermusic.com/book-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "male-vocal-playlist",
          "name": "Savage Thunder Music Male Playlist",
          "public_url": "https://savagethundermusic.com/playlist-2/",
          "page_type": "MusicPlaylist",
          "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.",
          "intent_terms": [
            "male vocal rock songs",
            "outlaw rock",
            "Southern rock vocals",
            "resilience songs",
            "independent music playlist"
          ],
          "internal_links": [
            "https://savagethundermusic.com//",
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/female-playlist/",
            "https://savagethundermusic.com/book-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "female-vocal-playlist",
          "name": "Savage Thunder Music Female Playlist",
          "public_url": "https://savagethundermusic.com/female-playlist/",
          "page_type": "MusicPlaylist",
          "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.",
          "intent_terms": [
            "female vocal rock songs",
            "female vocal independent music",
            "heartbreak songs",
            "resilience songs",
            "story songs"
          ],
          "internal_links": [
            "https://savagethundermusic.com//",
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/book-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        },
        {
          "page_id": "book-playlist",
          "name": "Savage Thunder Music Book Playlist",
          "public_url": "https://savagethundermusic.com/book-playlist/",
          "page_type": "MusicPlaylist",
          "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.",
          "intent_terms": [
            "book playlist",
            "story songs",
            "character songs",
            "music for readers",
            "narrative music"
          ],
          "internal_links": [
            "https://savagethundermusic.com//",
            "https://savagethundermusic.com/all-songs/",
            "https://savagethundermusic.com/playlist/",
            "https://savagethundermusic.com/playlist-2/",
            "https://savagethundermusic.com/female-playlist/",
            "https://savagethundermusic.com/blog/"
          ],
          "jsonld_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist.jsonld",
          "embed_html_url": "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist-embed.html",
          "wordpress_recommended_action": "Paste embed HTML into the matching WordPress page Custom HTML block or code-snippet field. Safe after guard pass; manual approval only for claim changes outside this generated snippet."
        }
      ],
      "artifact_urls": [
        "https://savagethundermusic.com/ai-discovery/page-embeds/home.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/home-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/all-songs-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/blog.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/blog-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/recent-main-playlist-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/male-vocal-playlist-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/female-vocal-playlist-embed.html",
        "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist.jsonld",
        "https://savagethundermusic.com/ai-discovery/page-embeds/book-playlist-embed.html"
      ],
      "webroot_upload_note": "Upload/replace public_html/ai-discovery after guard pass. WordPress page embed placement may be manual unless a governed WordPress API credential is configured outside this pack."
    },
    "playlist_page_index": {
      "artifact_type": "stm_playlist_page_geo_index",
      "generated_at_utc": "2026-05-19T15:12:37.074810+00:00",
      "artist": "Savage Thunder Music",
      "canonical_site": "https://savagethundermusic.com/",
      "purpose": "Make STM playlist pages easier for search and AI answer engines to understand, crawl, cluster, and cite.",
      "automation_policy": {
        "safe_playlist_schema_auto_publish_when_guard_passes": true,
        "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": [
          "playlist_page_geo_visibility",
          "musicplaylist_schema_publication",
          "playlist_copy_snippet_generation",
          "internal_link_recommendation",
          "ai_sitemap_playlist_refresh"
        ],
        "fail_closed_rules": [
          "no playlist artifact without canonical STM URL",
          "no playlist artifact without guard receipt",
          "no rights, licensing, chart, popularity, or sync-readiness inference",
          "no manual approval required for safe structured discovery artifacts after guard pass"
        ]
      },
      "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"
        }
      ]
    }
  },
  "evidence_import_manifest": [
    {
      "evidence_source_id": "search_console_performance",
      "source_type": "google_search_console_export",
      "expected_input_path": "evidence/stm_external/search_console_performance.csv",
      "template_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/search-console-performance-template.csv",
      "local_input_exists": "false",
      "local_input_rows": 0,
      "operator_required": "true",
      "human_approval_required": "false",
      "safe_automation_policy": "Score pages and queries only; auto-approve safe metadata, schema, internal-link, and content-gap recommendations after guard pass."
    },
    {
      "evidence_source_id": "search_console_pages",
      "source_type": "google_search_console_pages_export",
      "expected_input_path": "evidence/stm_external/search_console_pages.csv",
      "template_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/search-console-pages-template.csv",
      "local_input_exists": "false",
      "local_input_rows": 0,
      "operator_required": "true",
      "human_approval_required": "false",
      "safe_automation_policy": "Track indexed/not-indexed status; auto-refresh monitoring and sitemap references only."
    },
    {
      "evidence_source_id": "ai_recommendation_probe_results",
      "source_type": "manual_ai_answer_probe_result",
      "expected_input_path": "evidence/stm_external/ai_recommendation_probe_results.csv",
      "template_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/ai-recommendation-probe-results-template.csv",
      "local_input_exists": "false",
      "local_input_rows": 0,
      "operator_required": "true",
      "human_approval_required": "false",
      "safe_automation_policy": "Use answer gaps to strengthen entity context; do not claim answer engines recommend STM until observed evidence proves it."
    },
    {
      "evidence_source_id": "social_outcome_feedback",
      "source_type": "social_or_blog_outcome_export",
      "expected_input_path": "evidence/stm_external/social_outcome_feedback.csv",
      "template_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/social-outcome-feedback-template.csv",
      "local_input_exists": "false",
      "local_input_rows": 0,
      "operator_required": "true",
      "human_approval_required": "false",
      "safe_automation_policy": "Map outcome signals to content and playlist priorities; do not infer commercial guarantees."
    }
  ],
  "top_actions": [
    {
      "priority_rank": 1,
      "priority": "P1",
      "action_id": "ACTION-import-search_console_performance",
      "source_signal": "missing_external_evidence_import",
      "target_type": "evidence_source",
      "target_id": "search_console_performance",
      "target_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/search-console-performance-template.csv",
      "recommended_action": "Import this evidence CSV when available; the runtime will score and auto-prioritize safe metadata, schema, and internal-link actions without manual approval.",
      "automation_lane": "evidence_import_template",
      "auto_approval_eligible": "true",
      "operator_required": "true",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "evidence/stm_external/search_console_performance.csv",
      "next_step": "Download the template, export matching data from the source system, place the CSV at the expected repo path, and rerun npm.cmd run stm:external-evidence-to-action:acceptance."
    },
    {
      "priority_rank": 2,
      "priority": "P2",
      "action_id": "ACTION-import-search_console_pages",
      "source_signal": "missing_external_evidence_import",
      "target_type": "evidence_source",
      "target_id": "search_console_pages",
      "target_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/search-console-pages-template.csv",
      "recommended_action": "Import this evidence CSV when available; the runtime will score and auto-prioritize safe metadata, schema, and internal-link actions without manual approval.",
      "automation_lane": "evidence_import_template",
      "auto_approval_eligible": "true",
      "operator_required": "true",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "evidence/stm_external/search_console_pages.csv",
      "next_step": "Download the template, export matching data from the source system, place the CSV at the expected repo path, and rerun npm.cmd run stm:external-evidence-to-action:acceptance."
    },
    {
      "priority_rank": 3,
      "priority": "P2",
      "action_id": "ACTION-import-ai_recommendation_probe_results",
      "source_signal": "missing_external_evidence_import",
      "target_type": "evidence_source",
      "target_id": "ai_recommendation_probe_results",
      "target_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/ai-recommendation-probe-results-template.csv",
      "recommended_action": "Import this evidence CSV when available; the runtime will score and auto-prioritize safe metadata, schema, and internal-link actions without manual approval.",
      "automation_lane": "evidence_import_template",
      "auto_approval_eligible": "true",
      "operator_required": "true",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "evidence/stm_external/ai_recommendation_probe_results.csv",
      "next_step": "Download the template, export matching data from the source system, place the CSV at the expected repo path, and rerun npm.cmd run stm:external-evidence-to-action:acceptance."
    },
    {
      "priority_rank": 4,
      "priority": "P2",
      "action_id": "ACTION-import-social_outcome_feedback",
      "source_signal": "missing_external_evidence_import",
      "target_type": "evidence_source",
      "target_id": "social_outcome_feedback",
      "target_url": "https://savagethundermusic.com/ai-discovery/external-evidence/templates/social-outcome-feedback-template.csv",
      "recommended_action": "Import this evidence CSV when available; the runtime will score and auto-prioritize safe metadata, schema, and internal-link actions without manual approval.",
      "automation_lane": "evidence_import_template",
      "auto_approval_eligible": "true",
      "operator_required": "true",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "evidence/stm_external/social_outcome_feedback.csv",
      "next_step": "Download the template, export matching data from the source system, place the CSV at the expected repo path, and rerun npm.cmd run stm:external-evidence-to-action:acceptance."
    },
    {
      "priority_rank": 5,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-home",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "home",
      "target_url": "https://savagethundermusic.com/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 6,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-all_songs",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "all_songs",
      "target_url": "https://savagethundermusic.com/all-songs/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 7,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-recent_main_playlist",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "recent_main_playlist",
      "target_url": "https://savagethundermusic.com/playlist/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 8,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-male_vocal_playlist",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "male_vocal_playlist",
      "target_url": "https://savagethundermusic.com/playlist-2/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 9,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-female_vocal_playlist",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "female_vocal_playlist",
      "target_url": "https://savagethundermusic.com/female-playlist/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 10,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-book_playlist",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "book_playlist",
      "target_url": "https://savagethundermusic.com/book-playlist/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 11,
      "priority": "P2",
      "action_id": "ACTION-baseline-strengthen-blog",
      "source_signal": "no_imported_search_console_signal_yet",
      "target_type": "page",
      "target_id": "blog",
      "target_url": "https://savagethundermusic.com/blog/",
      "recommended_action": "Keep the page in the monitored set and strengthen internal links, page copy, and JSON-LD only if Search Console stays flat after the next crawl window.",
      "automation_lane": "content_gap_brief",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "monitoring dashboard plus sitemap",
      "next_step": "Wait for Search Console data or import the latest performance CSV, then let this runtime score the next action."
    },
    {
      "priority_rank": 12,
      "priority": "P3",
      "action_id": "ACTION-next-crawl-window-review",
      "source_signal": "crawl_window_waiting",
      "target_type": "runtime",
      "target_id": "stm_external_evidence_to_action_intelligence_runtime",
      "target_url": "https://savagethundermusic.com/ai-discovery/external-evidence/external-evidence-dashboard.json",
      "recommended_action": "Wait for the next Search Console crawl/performance window, then rerun the runtime with fresh exported evidence. Do not manually churn SEO assets without observed evidence.",
      "automation_lane": "governed_wait_state",
      "auto_approval_eligible": "true",
      "operator_required": "false",
      "human_required": "false",
      "blocking_reason": "",
      "evidence_refs": "Search Console sitemap acceptance and monitoring dashboard",
      "next_step": "Recheck Search Console in 24 to 72 hours, export performance if available, and rerun acceptance."
    }
  ],
  "next_required_action": "Import external evidence CSVs when available and rerun acceptance; safe metadata/schema/internal-link recommendations auto-approve after guard pass."
}
