{
  "brand": "Sage Hill Inn & Spa",
  "audit_date": "2026-07-13",
  "prior_run_date": "2026-07-12",
  "score_delta": {
    "overall": 0,
    "recommendation": 0,
    "discovery": 0,
    "comparison": 0,
    "trust": 0
  },
  "plan_summary": {
    "tier_1_count": 0,
    "tier_2_count": 6,
    "tier_3_count": 5,
    "total_tier_1_plus_2": 6,
    "monthly_effort_hours": {
      "month_1": "8-12 hrs",
      "month_2": "5-8 hrs",
      "month_3": "8-12 hrs"
    },
    "executable_by_lean_team": true,
    "effort_note": "10 hours — above 8-hour guide, sequencing requires it",
    "heavy_action_count": 0
  },
  "needle_move_assessment": {
    "tier_1_plus_tier_2_sufficient": true,
    "expected_score_movement": "Expected 127-191 pts movement across addressed moments",
    "weakest_link": "comparison (impact 1.8) — if skipped, reduces plan effectiveness"
  },
  "validation_status": {
    "all_checks_passed": true,
    "count_check": "pass",
    "monthly_effort_check": "pass",
    "needle_move_check": "pass",
    "diversity_check": "pass",
    "effort_variety_check": "pass",
    "incomplete_platform_check": "pass",
    "blocked_reason": null
  },
  "degraded_mention_alert": null,
  "tier_1_quick_wins": [],
  "tier_2_action_plan": {
    "month_1": {
      "actions": [
        {
          "tier": "month_1",
          "action_number": 1,
          "action_type": "blog_post",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Across 9 runs, Sage Hill Inn & Spa returned zero mentions on Q9, Q10, Q11, Q12, and Q19 — every recommendation-moment query tested. Miraval Austin filled this space in every run, claiming the primary answer position on \"best wellness retreat near San Antonio\" and \"best luxury property near Austin\" while Sage Hill at 4444 Ranch to Market Rd 150 did not appear once.",
          "why_this_matters": "These five queries represent travelers with a destination decided and a room night ready to book — the shortest distance between AI and a direct reservation. Every absent result is an OTA commission paid or a booking lost to a competitor 40 miles away.",
          "your_move": [
            "☐ Write a 1,200-word blog post targeting the exact phrase 'wellness retreat near San Antonio Hill Country' — URL slug: /wellness-retreat-near-san-antonio-hill-country",
            "☐ Open with a direct claim: Sage Hill Inn & Spa, located at 4444 Ranch to Market Rd 150 in Kyle TX, is the only full-service inn and spa property with on-site hiking trails between San Antonio and Austin — state this in sentence one",
            "☐ Dedicate one H2 section per target query persona: empty nesters, women's wellness escapes, multi-night spa retreats, Wimberley-area stays — use the exact traveler language from Q9–Q19",
            "☐ Include a factual amenity table listing spa services by treatment type, trail distances in miles, and room categories with nightly rate range — Perplexity rewards direct factual specificity over descriptive prose",
            "☐ Close with a direct booking call-to-action linking to the reservations page — no OTA redirect — and publish before shoulder season weekend demand peaks in September"
          ],
          "key_messaging": [
            "Lead with the geographic claim no competitor can match: Sage Hill Inn & Spa is a full-service inn and spa with on-property hiking trails sitting between San Antonio and Austin — not a day spa add-on or a hotel spa floor, but a dedicated retreat property on Ranch to Market Rd 150 in Kyle, TX. Perplexity and ChatGPT are awarding primary positions to Miraval Austin partly because its content states this kind of specificity explicitly.",
            "Name the empty-nester traveler directly. Q11 asks for 'the best luxury property near Austin for empty nesters looking for a relaxing escape' and Sage Hill returned zero mentions in 9 runs. Write for this traveler by name: couples whose children have left home, seeking quiet, spa access, and Hill Country landscape without a resort-scale crowd. This is the language the ghost observed filling competitor content that wins the Q11 slot.",
            "State hiking trail specifics as facts, not atmosphere. Q9 asks for 'unique places to stay with hiking trails on the property.' Competitors are winning this query because their content names trails, distances, and terrain type. Sage Hill must publish these as scannable facts — trail name, length in miles, difficulty — not as ambient descriptions of 'nature-immersed surroundings.'",
            "Claim the Wimberley-proximity position with precise language. Q12 asks 'where should I stay near Wimberley for a peaceful retreat with resort-style amenities.' Sage Hill's location at 4444 Ranch to Market Rd 150, Kyle TX places it in the same draw radius. The content must state driving distance to Wimberley in minutes and position the property explicitly as a resort-amenity alternative without Wimberley's weekend-crowd volume.",
            "Use the phrase 'multi-night wellness retreat' in a dedicated section header. Q10 is verbatim 'where should I go for a multi-night wellness retreat with spa services near San Antonio or Austin' — a query Sage Hill missed in all 9 runs. Perplexity rewards content that answers questions with matching query language in headers; this exact phrase must appear as an H2 with a factual answer beneath it."
          ],
          "content_brief": null,
          "success_looks_like": "Sage Hill Inn & Spa appears as a primary recommendation on ChatGPT for \"best wellness retreat near San Antonio in the Hill Country\" within 90 days.",
          "expected_length": "1,200 words",
          "tier_label": "MONTH 1",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "recommendation",
          "decision_moment": null,
          "target_query_ids": [
            "Q9",
            "Q10",
            "Q11",
            "Q12",
            "Q19"
          ],
          "competitor_names": [
            "Miraval Austin"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_1",
          "action_number": 2,
          "action_type": "blog_post",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Across Q36, Q38, Q46, and Q48 — all comparison queries targeting the Wimberley/Hill Country boutique shortlist — Sage Hill returned zero mentions in 9/9 runs. The Lazy Lavender filled the comparison territory each time.",
          "why_this_matters": "Comparison queries are the last stop before booking. Travelers asking these questions are ready to commit room nights — and Sage Hill is not in the room when they decide. Every displaced comparison is direct OTA commission leakage or a lost booking entirely.",
          "your_move": [
            "☐ Publish a comparison-framed blog post at /sage-hill-vs-wimberley-retreats that names Sage Hill at 4444 Ranch to Market Rd 150, Kyle TX as the only full-service inn with an on-site spa within 20 minutes of Wimberley — 900–1,100 words",
            "☐ Open with a direct answer to Q36: state that Sage Hill Inn & Spa offers private pool access and panoramic Hill Country views — use those exact terms, not paraphrases",
            "☐ Build a structured comparison table contrasting Sage Hill against boutique alternatives on spa services, pool, dining, and room count — Perplexity pulls factual tables directly",
            "☐ Add an H2 section addressing Q48 query language: 'How Sage Hill compares to Lucky Arrow Retreat and other luxury boutique stays near Wimberley' — use this exact phrasing as the heading",
            "☐ Close with a direct booking CTA linking to the reservations page — no OTA redirect"
          ],
          "key_messaging": [
            "Lead with the claim that Sage Hill Inn & Spa at Kyle, TX is the only property in the Wimberley corridor offering a full-service day spa combined with private pool access and on-site dining — this specific combination is what Q36 asks for and no competing content currently answers it directly.",
            "Name The Lazy Lavender explicitly as a comparison point and position Sage Hill as the step-up option: boutique intimacy with resort-grade spa services — Perplexity surfaces properties that make confident, named comparisons, not properties that hedge.",
            "Use the phrase 'secluded luxury retreat near Wimberley Texas' verbatim at least once — this is the exact language in Q38 and structured content that mirrors query language earns primary citation placement on Perplexity.",
            "Frame Sage Hill as the alternative to Driftwood for guests who want Hill Country character without sacrificing spa access — Q46 asks this exact question and the answer currently goes to competitors who have published comparison content.",
            "State the distance claim precisely: Sage Hill Inn & Spa is located 18 miles from Wimberley — this kind of specific, verifiable geographic fact is the signal Perplexity and Claude use to confirm a property belongs in a geo-targeted shortlist."
          ],
          "content_brief": null,
          "success_looks_like": "Sage Hill Inn & Spa appears as a named primary answer on Perplexity for Q46 \"best alternatives to Driftwood in the Texas Hill Country\" within 60 days of publication.",
          "expected_length": "900–1,100 words",
          "tier_label": "MONTH 1",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "comparison",
          "decision_moment": null,
          "target_query_ids": [
            "Q36",
            "Q38",
            "Q46",
            "Q48"
          ],
          "competitor_names": [
            "The Lazy Lavender"
          ],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "8-12 hrs",
      "effort_note": null
    },
    "month_2": {
      "actions": [
        {
          "tier": "month_2",
          "action_number": 3,
          "action_type": "blog_post",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "On Q68 — \"What are emerging boutique resort destinations near San Antonio and Austin for a weekend escape?\" — Sage Hill returned zero mentions across 6 of 9 runs. Hill Country Casitas filled the slot instead.",
          "why_this_matters": "Travelers using discovery queries haven't committed to a destination yet — they are at maximum persuadability. Missing here costs direct bookings to properties with weaker spa credentials and lower ADR.",
          "your_move": [
            "☐ Publish a blog post targeting the exact phrase 'emerging boutique resort near San Antonio and Austin' — URL slug: /boutique-resort-san-antonio-austin-weekend-escape",
            "☐ Open with a factual claim: Sage Hill Inn & Spa at 4444 Ranch to Market Rd 150, Kyle, TX sits 35 minutes from Austin and 60 minutes from San Antonio — state the drive times explicitly so Perplexity can cite them",
            "☐ Include a headed section titled 'Why Sage Hill is an emerging destination' with specific, dateable claims: year spa expanded, number of guest rooms, named treatments, acres of Hill Country property",
            "☐ Add a second headed section titled 'What makes Sage Hill boutique, not generic' — contrast private inn experience against large resort properties using specific room count and named amenities, not adjectives",
            "☐ Target 900–1,100 words with H2 headings Perplexity can extract as direct answers — avoid promotional language, write as factual destination briefing"
          ],
          "key_messaging": [
            "Lead with the geographic claim no Hill Country Casitas page makes explicit: Sage Hill sits at the midpoint between Austin and San Antonio — 35 minutes from one, 60 from the other — making it the only boutique inn with a full spa program that serves both metro areas without a full-day drive commitment",
            "Name the spa as a differentiator in factual, not promotional terms: full-service day spa on property, not a partnership arrangement or off-site referral — this is the specific structural claim that separates Sage Hill from glamping and cabin competitors filling the Q68 slot",
            "Use the word 'emerging' deliberately and justify it: reference the property's boutique inn scale (specific room count), its Hill Country Ranch Road setting, and its positioning outside the saturated Wimberley/Dripping Springs corridor — Perplexity rewards content that explains why a property fits the query label, not just that it does",
            "Frame the weekend escape arc with specificity: arrive Friday, spa treatment Saturday morning, Hill Country views at sunset — name the actual experience sequence so AI models can match it to traveler intent queries asking for itinerary-level detail",
            "Avoid the words 'luxury' and 'unique' without a factual anchor — every claim must be grounded in a named amenity, a measurable distance, a specific service, or a countable feature that distinguishes Sage Hill from the boutique-resort category at large"
          ],
          "content_brief": null,
          "success_looks_like": "Sage Hill Inn & Spa appears as a named recommendation on Perplexity for Q68 in at least 6 of 9 runs within 90 days.",
          "expected_length": "900–1,100 words",
          "tier_label": "MONTH 2",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "discovery",
          "decision_moment": null,
          "target_query_ids": [
            "Q68"
          ],
          "competitor_names": [
            "Hill Country Casitas"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_2",
          "action_number": 4,
          "action_type": "press_outreach",
          "who": "MARKETING TEAM",
          "effort_hours": "1-2 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "On ChatGPT — which weights travel editorial coverage above almost everything else — the ghost found zero third-party press citations anchoring Sage Hill Inn & Spa as a primary recommendation. Miraval Austin holds that editorial citation authority and displaces Sage Hill in 9/9 recommendation-moment runs.",
          "why_this_matters": "ChatGPT's 74% primary rate for Sage Hill drops to zero in recommendation moments precisely because no citable editorial source names it the definitive Hill Country wellness property. Every uncited recommendation moment is a direct booking lost to OTA-referred competitors.",
          "your_move": [
            "☐ Build a target media list of 15–20 outlets that currently cite Miraval Austin or Lake Austin Spa Resort in Hill Country wellness roundups — these are the exact citation sources ChatGPT is pulling from",
            "☐ Pitch a 'best boutique spa retreat near Austin and San Antonio' story angle to Condé Nast Traveler, Travel + Leisure, and Texas Monthly — use exact query language: 'wellness retreat near San Antonio Hill Country'",
            "☐ Develop a press one-sheet positioning Sage Hill as the only full-service spa inn on Ranch to Market Rd 150 in Kyle — 45 min from Austin, 45 min from San Antonio — with room-night and spa package rate specifics for journalists",
            "☐ Target regional food and lifestyle desks (Austin American-Statesman, San Antonio Express-News, Houston Chronicle) for a 'girls trip' and 'anniversary escape' story pitch tied to Q10, Q25, Q16 zero-mention query language",
            "☐ Request that any secured coverage explicitly name the spa, pool, and Hill Country views — these are the specific claim-forward details Perplexity indexes to move from hedged to primary recommendation"
          ],
          "key_messaging": null,
          "content_brief": null,
          "success_looks_like": "ChatGPT returns Sage Hill Inn & Spa as a primary recommendation on \"best wellness retreat near San Antonio Hill Country\" with at least one named editorial citation.",
          "expected_length": null,
          "tier_label": "MONTH 2",
          "sub_label": "1-2 hrs · MARKETING TEAM",
          "signal_type": "authority",
          "territory": "press_outreach",
          "decision_moment": null,
          "target_query_ids": [],
          "competitor_names": [],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "5-8 hrs",
      "effort_note": null
    },
    "month_3": {
      "actions": [
        {
          "tier": "month_3",
          "action_number": 5,
          "action_type": "page_restructure",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Loma de Vida Spa displaces Sage Hill in 2 query territories across 3 of 9 runs, taking spa-specific recommendation and comparison slots on Perplexity and ChatGPT. Loma de Vida is a day spa inside a resort hotel — Sage Hill is a full inn with overnight spa stays — yet AI treats them as direct substitutes.",
          "why_this_matters": "When a spa-seeking traveler asks for an overnight wellness retreat near San Antonio and Loma de Vida appears instead, that is a room night lost — not a spa treatment. Sage Hill's ADR depends on overnight bookings; a day spa should not be winning those recommendation slots.",
          "your_move": [
            "☐ Add a dedicated 'overnight spa retreat' landing page — slug: /overnight-spa-retreat-texas-hill-country — that explicitly distinguishes multi-night spa stays from day spa visits",
            "☐ Use the exact phrase 'overnight spa stay' and 'multi-night wellness retreat' in H1 and first 50 words — these are the query terms where Loma de Vida currently fills the slot",
            "☐ Publish structured FAQ answering 'What is the difference between a day spa and an overnight wellness retreat near San Antonio?' — name Sage Hill's Kyle, TX location (4444 Ranch to Market Rd 150) explicitly",
            "☐ Add schema markup to the overnight spa page using LodgingBusiness + HealthAndBeautyBusiness types with explicit 'overnight' and 'multi-night' properties — Claude and ChatGPT weight this distinction",
            "☐ Brief your spa page copywriter: lead with the claim that Sage Hill is the only full-service inn with on-property spa services within 30 miles of Kyle, TX — not a day spa, not a hotel spa, a dedicated retreat property"
          ],
          "key_messaging": [
            "Lead with the overnight distinction first: Sage Hill is a full-service inn where the spa is on-property and guests sleep there — not a day spa, not a resort amenity — because that is the structural difference AI is currently failing to recognise when it surfaces Loma de Vida instead",
            "Use the geographic anchor 'Kyle, Texas Hill Country' and '30 minutes from San Antonio' in the same sentence — Loma de Vida wins partly because it is indexed against San Antonio spa queries and Sage Hill's Kyle address is not consistently paired with San Antonio proximity language",
            "Name the specific guest outcome: 'wake up, walk to your treatment, return to your room' — this is the overnight spa experience Loma de Vida cannot offer and the claim that separates the two properties in Perplexity's real-time content pull",
            "Contrast the category explicitly without naming Loma de Vida: 'Unlike hotel spas or day-visit facilities, Sage Hill guests book rooms and spa services as a single stay' — Perplexity rewards direct, factual, citable distinctions that answer comparison-moment queries",
            "Include specific spa service details with treatment durations and booking requirements — ChatGPT weights factual specificity from Google Business Profile and editorial sources; this content feeds both"
          ],
          "content_brief": null,
          "success_looks_like": "Sage Hill appears as the primary result on Perplexity for \"overnight spa retreat near San Antonio Hill Country\" — not Loma de Vida.",
          "expected_length": "800–1,000 words (landing page) + 300-word FAQ",
          "tier_label": "MONTH 3",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "displacement",
          "territory": "Loma de Vida Spa",
          "decision_moment": null,
          "target_query_ids": [],
          "competitor_names": [
            "Loma de Vida Spa"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_3",
          "action_number": 6,
          "action_type": "on_page_copy",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Hyatt Regency Hill Country Resort displaces Sage Hill Inn & Spa across 3 query territories — recommendation, comparison, and discovery — appearing in 3/9 runs where Sage Hill is absent. The Hyatt's chain-backed structured content signals scale and facilities that AI reads as authority Sage Hill's boutique positioning currently fails to match in indexed claims.",
          "why_this_matters": "Travelers asking AI to choose between a Hill Country resort and a boutique inn near Kyle are landing on the Hyatt as the default answer, costing Sage Hill direct room nights to a property that charges OTA commissions far above what a direct-booking boutique model should absorb. Each Hyatt displacement is a direct-booking loss to a higher-commission channel.",
          "your_move": [
            "☐ Write a direct-comparison page targeting the query 'boutique Hill Country resort vs. Hyatt' — /boutique-hill-country-retreat-vs-resort — 600 words minimum",
            "☐ Publish specific, claim-forward copy stating Sage Hill is the only full-service boutique spa inn within 30 minutes of Kyle, TX 78640 — use that exact geographic language",
            "☐ Add a structured FAQ block answering 'How is Sage Hill different from a large Hill Country resort?' with factual, specific answers on room count, spa access ratios, and personalized service",
            "☐ Embed Lodge + LodgingBusiness schema on the comparison page with explicit fields for amenityFeature, numberOfRooms, and priceRange to give Claude and ChatGPT structured citation anchors",
            "☐ Submit the comparison page URL to Google Search Console for indexing and confirm Perplexity can cite it by checking source appearance within 14 days of publish"
          ],
          "key_messaging": [
            "Lead with the claim that Sage Hill Inn & Spa at 4444 Ranch to Market Rd 150, Kyle, TX is a full-service boutique spa inn — not a convention-scale resort — and use 'boutique spa inn' as the exact phrase because that is the language AI uses to distinguish it from Hyatt-category properties in Hill Country queries.",
            "State the specific contrast: Sage Hill guests have access to spa services, private grounds, and personalized innkeeper service that a 500-room resort cannot replicate — name the gap in guest-to-staff ratios and dedicated spa appointment availability versus shared resort facilities.",
            "Anchor every claim to the Kyle/Wimberley corridor geography — 'minutes from Wimberley' and 'Hays County Hill Country' are the geographic terms Perplexity pulls when distinguishing boutique properties from San Antonio-adjacent resort corridors where the Hyatt sits.",
            "Frame the direct-booking advantage explicitly: Sage Hill's boutique scale means no OTA markup, no resort fees buried in checkout, and rates that reflect the actual cost of a personalized Hill Country inn stay — this is the commercial claim that moves travelers from the Hyatt shortlist to a direct inquiry."
          ],
          "content_brief": null,
          "success_looks_like": "Sage Hill Inn & Spa appears as a named primary answer on ChatGPT for \"boutique Hill Country resort alternative to Hyatt\" within 60 days.",
          "expected_length": "200-400 words",
          "tier_label": "MONTH 3",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "displacement",
          "territory": "Hyatt Regency Hill Country Resort",
          "decision_moment": null,
          "target_query_ids": [],
          "competitor_names": [
            "Hyatt Regency Hill Country Resort"
          ],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "8-12 hrs",
      "effort_note": null
    }
  },
  "tier_3_bonus_points": [
    {
      "tier": "bonus",
      "action_number": 7,
      "action_type": "directory_listing",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Submit a complete listing to Condé Nast Traveler's Hotel Directory — include exact address (4444 Ranch to Market Rd 150, Kyle, TX 78640), spa category, and Hill Country region tag",
        "☐ Claim and fully populate the Texas Tourism official directory listing at traveltexas.com — include wellness, boutique inn, and spa subcategories",
        "☐ Submit to the Travel + Leisure Hotels directory and Tablet Hotels — both are citation sources ChatGPT weights for luxury property recommendations"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Directory listing — directory_listing",
      "why_next_quarter": "DMO listings are crawled quarterly by AI indexing bots — submit now to catch the next cycle.",
      "signal_type": "authority",
      "territory": "directory_listing",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 8,
      "action_type": "reddit_engagement",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Identify 10 active subreddits where targets search — r/TexasTravel, r/Austin, r/sanantonio, r/travel, r/weddingplanning, r/solotravel, r/HotSprings",
        "☐ Monitor threads using queries matching zero-mention patterns — 'wellness retreat near Austin', 'boutique Hill Country inn', 'alternatives to Miraval Austin'",
        "☐ Contribute factual, first-person responses naming Sage Hill Inn & Spa at 4444 Ranch to Market Rd 150, Kyle, TX — include specific claims: full-service spa, Hill Country views, boutique inn scale"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Reddit engagement — reddit_engagement",
      "why_next_quarter": "Perplexity weights Reddit recency — threads need upvotes and age before they register as citation sources.",
      "signal_type": "authority",
      "territory": "reddit_engagement",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 9,
      "action_type": "directory_listing",
      "who": "WEB TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Create a new Wikidata item for Sage Hill Inn & Spa — use entity type: hotel (Q27686); add official name, instance of, country, located in administrative entity (Kyle, TX, Hays County)",
        "☐ Populate core claims: coordinate location (30.0163° N, 97.9128° W), street address (4444 Ranch to Market Rd 150, Kyle, TX 78640), official website, inception date",
        "☐ Add property-type claims: has part (spa), has quality (full-service spa, Texas Hill Country, boutique inn) — use exact Wikidata property IDs P31, P625, P856, P571, P527"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Directory listing — wikidata",
      "why_next_quarter": "DMO listings are crawled quarterly by AI indexing bots — submit now to catch the next cycle.",
      "signal_type": "authority",
      "territory": "wikidata",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 10,
      "action_type": "on_page_copy",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Audit Sage Hill's structured data against Paniolo Ranch — identify every LodgingBusiness schema field Paniolo holds that Sage Hill does not, starting with amenityFeature, priceRange, and checkinTime",
        "☐ Publish a dedicated comparison page targeting the exact Claude query pattern — /sage-hill-vs-hill-country-ranch-retreats — with factual, claim-forward copy stating Sage Hill's specific differentiators at 4444 Ranch to Market Rd 150, Kyle TX",
        "☐ Add explicit H2-structured content answering 'best wellness retreat near Wimberley' and 'best Hill Country retreat near Austin and San Antonio' — these are the recommendation and discovery queries Claude is filling with Paniolo instead"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "On-page copy update — Paniolo Ranch",
      "why_next_quarter": "Compounds over 3-6 months — start now so results appear when Q3 queries run.",
      "signal_type": "displacement",
      "territory": "Paniolo Ranch",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [
        "Paniolo Ranch"
      ],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 11,
      "action_type": "on_page_copy",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Audit Sage Hill's existing schema markup for LodgingBusiness type — confirm amenityFeature, priceRange, checkinTime, checkoutTime, and geo coordinates at 4444 Ranch to Market Rd 150, Kyle, TX 78640 are present and complete",
        "☐ Add explicit structured data distinguishing Sage Hill as a dedicated inn and spa, not a ranch retreat — use 'SpaResort' and 'BedAndBreakfast' types alongside LodgingBusiness to create category separation from Collective Retreats",
        "☐ Create or update llms.txt with a factual, claim-forward property summary using phrases Claude rewards: 'full-service spa', 'Hill Country boutique inn', 'on-property wellness' — not generic retreat language"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "On-page copy update — Collective Retreats Hill Country",
      "why_next_quarter": "Compounds over 3-6 months — start now so results appear when Q3 queries run.",
      "signal_type": "displacement",
      "territory": "Collective Retreats Hill Country",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [
        "Collective Retreats Hill Country"
      ],
      "is_llm_generated": true
    }
  ],
  "generation_metadata": {
    "model_stage_1": "claude-haiku-4-5-20251001",
    "model_stage_2": "claude-haiku-4-5-20251001",
    "model_stage_3": "claude-sonnet-4-6",
    "analysis_input": "analysis.json",
    "copy_context_input": "report_copy.json",
    "prior_input": "prior_analysis.json",
    "generated_at": "2026-07-13T16:08:40.565Z",
    "stage_1_candidates": [
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"recommendation\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[recommendation]",
        "territory": "recommendation",
        "decision_moment": null,
        "target_query_ids": [
          "Q9",
          "Q10",
          "Q11",
          "Q12",
          "Q19"
        ],
        "competitor_names": [
          "Miraval Austin"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 5 zero-mention queries in recommendation",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"comparison\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[comparison]",
        "territory": "comparison",
        "decision_moment": null,
        "target_query_ids": [
          "Q36",
          "Q38",
          "Q46",
          "Q48"
        ],
        "competitor_names": [
          "The Lazy Lavender"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 4 zero-mention queries in comparison",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"discovery\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[discovery]",
        "territory": "discovery",
        "decision_moment": null,
        "target_query_ids": [
          "Q68"
        ],
        "competitor_names": [
          "Hill Country Casitas"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 1 zero-mention queries in discovery",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Moderate weakness in recommendation moment (score: 50/100)",
        "source_data": "score_interpretation.decision_moments.recommendation",
        "territory": "recommendation",
        "decision_moment": "recommendation",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "moderate",
        "platform": null,
        "score_impact_score": 7.2,
        "commercial_impact_score": 7.2,
        "combined_impact_score": 7.2,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "recommendation score +4 pts if completed",
        "notes": null
      },
      {
        "signal_type": "displacement",
        "description": "Blair House Inn displaces brand in 4 territories",
        "source_data": "displacement_analysis.competitors.Blair House Inn",
        "territory": "Blair House Inn",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Blair House Inn"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Blair House Inn displacement by addressing 16 absence gaps",
        "notes": "16 absent, 4 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Camp Lucy displaces brand in 4 territories",
        "source_data": "displacement_analysis.competitors.Camp Lucy",
        "territory": "Camp Lucy",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Camp Lucy"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Camp Lucy displacement by addressing 26 absence gaps",
        "notes": "26 absent, 4 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Milk & Honey Ranch displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Milk & Honey Ranch",
        "territory": "Milk & Honey Ranch",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Milk & Honey Ranch"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Milk & Honey Ranch displacement by addressing 14 absence gaps",
        "notes": "14 absent, 2 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Paniolo Ranch displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Paniolo Ranch",
        "territory": "Paniolo Ranch",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Paniolo Ranch"
        ],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Paniolo Ranch displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Carter Creek Winery Resort & Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Carter Creek Winery Resort & Spa",
        "territory": "Carter Creek Winery Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Carter Creek Winery Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Carter Creek Winery Resort & Spa displacement by addressing 12 absence gaps",
        "notes": "12 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Bygone Hotel displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.The Bygone Hotel",
        "territory": "The Bygone Hotel",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Bygone Hotel"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Bygone Hotel displacement by addressing 7 absence gaps",
        "notes": "7 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Lazy Lavender displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.The Lazy Lavender",
        "territory": "The Lazy Lavender",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Lazy Lavender"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Lazy Lavender displacement by addressing 13 absence gaps",
        "notes": "13 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Miraval Austin displaces brand in 4 territories",
        "source_data": "displacement_analysis.competitors.Miraval Austin",
        "territory": "Miraval Austin",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Miraval Austin"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Miraval Austin displacement by addressing 25 absence gaps",
        "notes": "25 absent, 6 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Lake Austin Spa Resort displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Lake Austin Spa Resort",
        "territory": "Lake Austin Spa Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Lake Austin Spa Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Lake Austin Spa Resort displacement by addressing 28 absence gaps",
        "notes": "28 absent, 6 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Omni Barton Creek Resort & Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Omni Barton Creek Resort & Spa",
        "territory": "Omni Barton Creek Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Omni Barton Creek Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Omni Barton Creek Resort & Spa displacement by addressing 11 absence gaps",
        "notes": "11 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hyatt Regency Lost Pines Resort & Spa displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Hyatt Regency Lost Pines Resort & Spa",
        "territory": "Hyatt Regency Lost Pines Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hyatt Regency Lost Pines Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hyatt Regency Lost Pines Resort & Spa displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Tapatio Springs Hill Country Resort displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Tapatio Springs Hill Country Resort",
        "territory": "Tapatio Springs Hill Country Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Tapatio Springs Hill Country Resort"
        ],
        "severity": null,
        "platform": "chatgpt",
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Tapatio Springs Hill Country Resort displacement by addressing 8 absence gaps",
        "notes": "8 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Lakeway Resort and Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Lakeway Resort and Spa",
        "territory": "Lakeway Resort and Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Lakeway Resort and Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Lakeway Resort and Spa displacement by addressing 10 absence gaps",
        "notes": "10 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Creekhaven Inn & Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Creekhaven Inn & Spa",
        "territory": "Creekhaven Inn & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Creekhaven Inn & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Creekhaven Inn & Spa displacement by addressing 14 absence gaps",
        "notes": "14 absent, 6 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Onera Wimberley displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Onera Wimberley",
        "territory": "Onera Wimberley",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Onera Wimberley"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Onera Wimberley displacement by addressing 14 absence gaps",
        "notes": "14 absent, 6 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Tranquilo displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Tranquilo",
        "territory": "Tranquilo",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Tranquilo"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Tranquilo displacement by addressing 3 absence gaps",
        "notes": "3 absent, 2 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Lucky Arrow Retreat displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Lucky Arrow Retreat",
        "territory": "Lucky Arrow Retreat",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Lucky Arrow Retreat"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Lucky Arrow Retreat displacement by addressing 8 absence gaps",
        "notes": "8 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hill Country Casitas & Retreat displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Hill Country Casitas & Retreat",
        "territory": "Hill Country Casitas & Retreat",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hill Country Casitas & Retreat"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hill Country Casitas & Retreat displacement by addressing 6 absence gaps",
        "notes": "6 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Walden Retreats displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Walden Retreats",
        "territory": "Walden Retreats",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Walden Retreats"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Walden Retreats displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Horseshoe Bay Resort displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Horseshoe Bay Resort",
        "territory": "Horseshoe Bay Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Horseshoe Bay Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Horseshoe Bay Resort displacement by addressing 11 absence gaps",
        "notes": "11 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Canyon Ranch Austin displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Canyon Ranch Austin",
        "territory": "Canyon Ranch Austin",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Canyon Ranch Austin"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Canyon Ranch Austin displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Inn at Sunset Mill Ranch displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Inn at Sunset Mill Ranch",
        "territory": "Inn at Sunset Mill Ranch",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Inn at Sunset Mill Ranch"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Inn at Sunset Mill Ranch displacement by addressing 9 absence gaps",
        "notes": "9 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "JW Marriott San Antonio Hill Country Resort & Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.JW Marriott San Antonio Hill Country Resort & Spa",
        "territory": "JW Marriott San Antonio Hill Country Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "JW Marriott San Antonio Hill Country Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce JW Marriott San Antonio Hill Country Resort & Spa displacement by addressing 20 absence gaps",
        "notes": "20 absent, 3 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Wimberley Inn displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Wimberley Inn",
        "territory": "Wimberley Inn",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Wimberley Inn"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Wimberley Inn displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Signia by Hilton La Cantera Resort & Spa displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Signia by Hilton La Cantera Resort & Spa",
        "territory": "Signia by Hilton La Cantera Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Signia by Hilton La Cantera Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Signia by Hilton La Cantera Resort & Spa displacement by addressing 7 absence gaps",
        "notes": "7 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Albert Hotel displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Albert Hotel",
        "territory": "Albert Hotel",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Albert Hotel"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Albert Hotel displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Cypress Valley Treehouses displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Cypress Valley Treehouses",
        "territory": "Cypress Valley Treehouses",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Cypress Valley Treehouses"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Cypress Valley Treehouses displacement by addressing 11 absence gaps",
        "notes": "11 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Madrone Springs Ranch displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Madrone Springs Ranch",
        "territory": "Madrone Springs Ranch",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Madrone Springs Ranch"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Madrone Springs Ranch displacement by addressing 9 absence gaps",
        "notes": "9 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "HoneyTree Treehomes displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.HoneyTree Treehomes",
        "territory": "HoneyTree Treehomes",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "HoneyTree Treehomes"
        ],
        "severity": null,
        "platform": "perplexity",
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce HoneyTree Treehomes displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Yurtopian displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.The Yurtopian",
        "territory": "The Yurtopian",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Yurtopian"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Yurtopian displacement by addressing 8 absence gaps",
        "notes": "8 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Retreat on the Hill displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.The Retreat on the Hill",
        "territory": "The Retreat on the Hill",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Retreat on the Hill"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Retreat on the Hill displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Windflower Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Windflower Spa",
        "territory": "Windflower Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Windflower Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Windflower Spa displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hotel Flora and Fauna displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Hotel Flora and Fauna",
        "territory": "Hotel Flora and Fauna",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hotel Flora and Fauna"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hotel Flora and Fauna displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Messina Inn displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Messina Inn",
        "territory": "Messina Inn",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Messina Inn"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Messina Inn displacement by addressing 7 absence gaps",
        "notes": "7 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Spoon Mountain Glamping displaces brand in 1 territories",
        "source_data": "displacement_analysis.competitors.Spoon Mountain Glamping",
        "territory": "Spoon Mountain Glamping",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Spoon Mountain Glamping"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Spoon Mountain Glamping displacement by addressing 4 absence gaps",
        "notes": "4 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hyatt Regency Hill Country Resort & Villas displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Hyatt Regency Hill Country Resort & Villas",
        "territory": "Hyatt Regency Hill Country Resort & Villas",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hyatt Regency Hill Country Resort & Villas"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hyatt Regency Hill Country Resort & Villas displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Collective Retreats Hill Country displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Collective Retreats Hill Country",
        "territory": "Collective Retreats Hill Country",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Collective Retreats Hill Country"
        ],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Collective Retreats Hill Country displacement by addressing 10 absence gaps",
        "notes": "10 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hill Country Casitas displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Hill Country Casitas",
        "territory": "Hill Country Casitas",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hill Country Casitas"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hill Country Casitas displacement by addressing 3 absence gaps",
        "notes": "3 absent, 2 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Basecamp Resort displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Basecamp Resort",
        "territory": "Basecamp Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Basecamp Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Basecamp Resort displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hotel ZaZa Austin Downtown displaces brand in 1 territories",
        "source_data": "displacement_analysis.competitors.Hotel ZaZa Austin Downtown",
        "territory": "Hotel ZaZa Austin Downtown",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hotel ZaZa Austin Downtown"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hotel ZaZa Austin Downtown displacement by addressing 4 absence gaps",
        "notes": "4 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "JL Bar Ranch, Resort & Spa displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.JL Bar Ranch, Resort & Spa",
        "territory": "JL Bar Ranch, Resort & Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "JL Bar Ranch, Resort & Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce JL Bar Ranch, Resort & Spa displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "HoneyTree Treehomes and Hideaways displaces brand in 1 territories",
        "source_data": "displacement_analysis.competitors.HoneyTree Treehomes and Hideaways",
        "territory": "HoneyTree Treehomes and Hideaways",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "HoneyTree Treehomes and Hideaways"
        ],
        "severity": null,
        "platform": "perplexity",
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce HoneyTree Treehomes and Hideaways displacement by addressing 8 absence gaps",
        "notes": "8 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Folklore Spa displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Folklore Spa",
        "territory": "Folklore Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Folklore Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Folklore Spa displacement by addressing 7 absence gaps",
        "notes": "7 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "JL Bar Ranch displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.JL Bar Ranch",
        "territory": "JL Bar Ranch",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "JL Bar Ranch"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce JL Bar Ranch displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Loma de Vida Spa displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Loma de Vida Spa",
        "territory": "Loma de Vida Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Loma de Vida Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Loma de Vida Spa displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hyatt Regency Hill Country Resort displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Hyatt Regency Hill Country Resort",
        "territory": "Hyatt Regency Hill Country Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hyatt Regency Hill Country Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hyatt Regency Hill Country Resort displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Albert Hotel displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.The Albert Hotel",
        "territory": "The Albert Hotel",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Albert Hotel"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Albert Hotel displacement by addressing 5 absence gaps",
        "notes": "5 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Cypress Valley displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Cypress Valley",
        "territory": "Cypress Valley",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Cypress Valley"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Cypress Valley displacement by addressing 14 absence gaps",
        "notes": "14 absent, 0 outranked"
      },
      {
        "signal_type": "content_gap",
        "description": "Strong strength in trust moment (score: 91.07/100)",
        "source_data": "score_interpretation.decision_moments.trust",
        "territory": "trust",
        "decision_moment": "trust",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "strong",
        "platform": null,
        "score_impact_score": 2.4000000000000004,
        "commercial_impact_score": 2.4000000000000004,
        "combined_impact_score": 2.4000000000000004,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "trust score +1 pts if completed",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Moderate weakness in discovery moment (score: 50/100)",
        "source_data": "score_interpretation.decision_moments.discovery",
        "territory": "discovery",
        "decision_moment": "discovery",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "moderate",
        "platform": null,
        "score_impact_score": 2,
        "commercial_impact_score": 2,
        "combined_impact_score": 2,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "discovery score +1 pts if completed",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Rolled territory \"overall\": rolled since prior run",
        "source_data": "rollover.territory_classifications[overall]",
        "territory": "overall",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": null,
        "score_impact_score": 2,
        "commercial_impact_score": 2,
        "combined_impact_score": 2,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address persisted gap in overall (rolled since 2026-07-12)",
        "notes": "rolled: rolled, delta: 0pt, +2 boost applied"
      },
      {
        "signal_type": "authority",
        "description": "Press outreach — target travel media covering Sage Hill Inn & Spa's market",
        "source_data": "default_tier_3",
        "territory": "press_outreach",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": null,
        "score_impact_score": 2,
        "commercial_impact_score": 2,
        "combined_impact_score": 2,
        "estimated_effort_hours": "1-2 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Editorial citations build authority over 3-6 months",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Wikidata entry creation — builds entity signal for Claude's parametric knowledge",
        "source_data": "default_tier_3",
        "territory": "wikidata",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 2,
        "commercial_impact_score": 2,
        "combined_impact_score": 2,
        "estimated_effort_hours": "30 min",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Wikidata entity signal takes 2-3 training cycles to influence Claude",
        "notes": "v4.0: Claude entity building — 6-month horizon"
      },
      {
        "signal_type": "structural_fix",
        "description": "Moderate weakness in comparison moment (score: 48.68/100)",
        "source_data": "score_interpretation.decision_moments.comparison",
        "territory": "comparison",
        "decision_moment": "comparison",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "moderate",
        "platform": null,
        "score_impact_score": 1.7999999999999998,
        "commercial_impact_score": 1.7999999999999998,
        "combined_impact_score": 1.7999999999999998,
        "estimated_effort_hours": "1-2 hrs",
        "effort_category": "quick_win",
        "suggested_tier": "quick_win",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "comparison score +1 pts if completed",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Reddit engagement — contribute to hotel recommendation threads in Sage Hill Inn & Spa's market",
        "source_data": "default_tier_3",
        "territory": "reddit_engagement",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": null,
        "score_impact_score": 1,
        "commercial_impact_score": 1,
        "combined_impact_score": 1,
        "estimated_effort_hours": "1-2 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reddit threads are cited by Perplexity and ChatGPT",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Directory listing — submit to relevant travel and hospitality directories",
        "source_data": "default_tier_3",
        "territory": "directory_listing",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": null,
        "score_impact_score": 1,
        "commercial_impact_score": 1,
        "combined_impact_score": 1,
        "estimated_effort_hours": "30-60 min",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Citation sources strengthen AI indexing confidence",
        "notes": null
      }
    ],
    "stage_2_sequence": [
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"recommendation\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[recommendation]",
        "territory": "recommendation",
        "decision_moment": null,
        "target_query_ids": [
          "Q9",
          "Q10",
          "Q11",
          "Q12",
          "Q19"
        ],
        "competitor_names": [
          "Miraval Austin"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 5 zero-mention queries in recommendation",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"comparison\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[comparison]",
        "territory": "comparison",
        "decision_moment": null,
        "target_query_ids": [
          "Q36",
          "Q38",
          "Q46",
          "Q48"
        ],
        "competitor_names": [
          "The Lazy Lavender"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 4 zero-mention queries in comparison",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"discovery\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[discovery]",
        "territory": "discovery",
        "decision_moment": null,
        "target_query_ids": [
          "Q68"
        ],
        "competitor_names": [
          "Hill Country Casitas"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 10,
        "combined_impact_score": 10,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 1 zero-mention queries in discovery",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Press outreach — target travel media covering Sage Hill Inn & Spa's market",
        "source_data": "default_tier_3",
        "territory": "press_outreach",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": null,
        "score_impact_score": 2,
        "commercial_impact_score": 2,
        "combined_impact_score": 2,
        "estimated_effort_hours": "1-2 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Editorial citations build authority over 3-6 months",
        "notes": null
      },
      {
        "signal_type": "displacement",
        "description": "Loma de Vida Spa displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Loma de Vida Spa",
        "territory": "Loma de Vida Spa",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Loma de Vida Spa"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Loma de Vida Spa displacement by addressing 5 absence gaps",
        "notes": "5 absent, 0 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Hyatt Regency Hill Country Resort displaces brand in 3 territories",
        "source_data": "displacement_analysis.competitors.Hyatt Regency Hill Country Resort",
        "territory": "Hyatt Regency Hill Country Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hyatt Regency Hill Country Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 7,
        "combined_impact_score": 7,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hyatt Regency Hill Country Resort displacement by addressing 6 absence gaps",
        "notes": "6 absent, 0 outranked"
      }
    ],
    "excluded_candidates": [
      {
        "description": "JL Bar Ranch displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Folklore Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "HoneyTree Treehomes and Hideaways displaces brand in 1 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "JL Bar Ranch, Resort & Spa displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hotel ZaZa Austin Downtown displaces brand in 1 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Basecamp Resort displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hill Country Casitas displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hyatt Regency Hill Country Resort & Villas displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Spoon Mountain Glamping displaces brand in 1 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Messina Inn displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hotel Flora and Fauna displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Windflower Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "The Retreat on the Hill displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "The Yurtopian displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "HoneyTree Treehomes displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Madrone Springs Ranch displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Cypress Valley Treehouses displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Albert Hotel displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Signia by Hilton La Cantera Resort & Spa displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Wimberley Inn displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "JW Marriott San Antonio Hill Country Resort & Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Inn at Sunset Mill Ranch displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Canyon Ranch Austin displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Horseshoe Bay Resort displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Walden Retreats displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hill Country Casitas & Retreat displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Lucky Arrow Retreat displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Tranquilo displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Onera Wimberley displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Creekhaven Inn & Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Lakeway Resort and Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Tapatio Springs Hill Country Resort displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Hyatt Regency Lost Pines Resort & Spa displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Omni Barton Creek Resort & Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Lake Austin Spa Resort displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Miraval Austin displaces brand in 4 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "The Lazy Lavender displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "The Bygone Hotel displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Carter Creek Winery Resort & Spa displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Milk & Honey Ranch displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Camp Lucy displaces brand in 4 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Blair House Inn displaces brand in 4 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Strong strength in trust moment (score: 91.07/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Rolled territory \"overall\": rolled since prior run",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Moderate weakness in discovery moment (score: 50/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Moderate weakness in comparison moment (score: 48.68/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Cypress Valley displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "The Albert Hotel displaces brand in 3 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Moderate weakness in recommendation moment (score: 50/100)",
        "reason": "Lower impact than selected candidates"
      }
    ]
  }
}