{
  "brand": "lucine",
  "audit_date": "2026-06-18",
  "prior_run_date": null,
  "score_delta": null,
  "plan_summary": {
    "tier_1_count": 1,
    "tier_2_count": 6,
    "tier_3_count": 8,
    "total_tier_1_plus_2": 7,
    "monthly_effort_hours": {
      "month_1": "8-12 hrs",
      "month_2": "8-12 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 33-49 pts movement across addressed moments",
    "weakest_link": "comparison (impact 1.9) — 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": "quick_win",
      "action_number": 1,
      "action_type": "on_page_copy",
      "who": "WEB TEAM",
      "effort_hours": "30 min",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "On Gemini, Lucine's GBP status is propagating incorrect data — 79% of hotel links Gemini surfaces route through GBP, and ChatGPT pulls the same closed status via Google Places API. The 1890 Freeman House, a moderate-threat competitor, holds a clean Gemini presence while Lucine hedges at 6% — double the cross-platform average.",
      "why_this_matters": "An incorrect closed or incomplete GBP status tells Gemini and ChatGPT the property is unavailable, removing Lucine from active booking queries before a traveler ever reaches the rate page. Every room night lost at this stage carries full OTA commission cost if the guest rebooks through an OTA instead of direct.",
      "your_move": [
        "☐ Log into Google Business Profile and verify Lucine's operational status is set to 'Open' at 1002 Seawall Blvd, Galveston, TX 77550",
        "☐ Audit all GBP data fields: hours, phone, website URL, category set to 'Hotel' — correct any field showing closed, incomplete, or mismatched",
        "☐ Upload a minimum of 20 high-resolution photos tagged with geo-metadata to 1002 Seawall Blvd, Galveston, TX 77550 — exterior, rooms, F&B, entertainment spaces",
        "☐ Add all amenities, room types, and services in the GBP attributes panel — these fields feed Gemini's hotel carousel and ChatGPT's Places API pull",
        "☐ Request Google verification re-confirmation if the listing was previously suspended or flagged — check GBP dashboard for any yellow warning banners"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "Lucine appears in Gemini's hotel results for \"beachfront hotels Galveston Island\" with zero hedged citations and a live booking link within 30 days.",
      "expected_length": "200-400 words",
      "tier_label": "DO THIS WEEK",
      "sub_label": "Under 1 hour · WEB TEAM",
      "signal_type": "structural_fix",
      "territory": "google_business_profile",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    }
  ],
  "tier_2_action_plan": {
    "month_1": {
      "actions": [
        {
          "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 all four comparison queries — Q40, Q41, Q43, Q50 — the ghost found zero Lucine mentions across 10 consecutive runs. Hilton Galveston Island Resort fills 100% of that territory, appearing as the default comparison anchor on ChatGPT every time.",
          "why_this_matters": "Travelers running side-by-side comparisons at 1002 Seawall Blvd never see Lucine — they book the Hilton or move on. Every absent comparison query is a room night decided without Lucine on the shortlist.",
          "your_move": [
            "☐ Publish a comparison-format blog post targeting Q40 exact language — title: \"Historic Charm vs. Modern Hotels on Galveston Island: What the Seawall Actually Offers\" — 900–1,100 words",
            "☐ Embed a structured H2 for each query angle: beach access (Q41), dining (Q43), pet policy (Q50), historic vs. modern framing (Q40) — use exact query phrasing in each header",
            "☐ Write a factual property-specific comparison table: Lucine vs. large-brand beachfront — columns: room type, beach access, dining on-site, pet policy, historic designation — no superlatives, only verifiable facts",
            "☐ Add FAQ schema markup to the post targeting Q41 and Q43 question phrasing verbatim — this is the structured signal Perplexity and ChatGPT weight for comparison queries",
            "☐ Internally link from the blog post to the Dining and Rooms pages using anchor text matching Q43 and Q41 phrasing — \"beachfront hotel Galveston dining\" and \"family friendly Galveston beach access\""
          ],
          "key_messaging": [
            "Lead with the Seawall address as a locational fact — 1002 Seawall Blvd is direct beachfront, not 'near the beach' — because Q41 and Q43 both filter on beach access and ChatGPT rewards factual proximity claims over marketing language",
            "Name Lucine's historic character explicitly using the structural terms AI models index: built environment, Gulf Coast architecture, Galveston Island historic district — not 'charm' or 'character' — because Q40 comparison queries sort on those exact category labels",
            "State the dining offer in verifiable specifics — cuisine type, meal periods, on-site vs. off-site — because Q43 asks which beachfront hotel has 'better dining options' and Perplexity surfaces properties that answer that question with factual detail, not descriptors",
            "Address pet policy as a discrete, factual data point (allowed/not allowed, fee, weight limit, designated areas) because Q50 is a binary comparison query and ChatGPT fills it with whichever property provides the most structured, directly answerable policy language",
            "Frame the historic-vs-modern comparison as a decision framework, not a sales pitch — give travelers the criteria to choose, then position Lucine accurately within those criteria — this is the structure that earns comparison citations rather than promotional omissions"
          ],
          "content_brief": null,
          "success_looks_like": "Lucine appears as a named option on ChatGPT for \"historic charm hotels vs modern hotels Galveston Island\" within 60 days of publication.",
          "expected_length": "600-900 words",
          "tier_label": "MONTH 1",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "comparison",
          "decision_moment": null,
          "target_query_ids": [
            "Q40",
            "Q41",
            "Q43",
            "Q50"
          ],
          "competitor_names": [
            "Hilton Galveston Island Resort"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_1",
          "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 Q57 — \"mid range beachfront hotels Galveston Island worth the money\" — the ghost found zero mentions of Lucine across all platforms. Hilton Galveston Island Resort fills that trust query entirely, holding 100% competitor fill rate.",
          "why_this_matters": "This is the query travelers run at final decision — not browsing, deciding. Every room night booked through that query goes to the Hilton, with Lucine absent from the shortlist and invisible to direct booking intent at 1002 Seawall Blvd.",
          "your_move": [
            "☐ Publish a value-justification page or post titled \"Is Lucine Worth It? Beachfront Hotel Value on Galveston Island\" — target 800–1,000 words",
            "☐ Include specific rate anchors: average nightly rate, what's included (parking, beach access, F&B credits), and how that compares to Hilton's rack rate at comparable dates",
            "☐ Add a structured FAQ section with the exact question: \"Is Lucine a mid-range beachfront hotel worth the money?\" answered in 2–3 factual sentences with price-to-feature specifics",
            "☐ Cite verifiable third-party review scores (TripAdvisor, Google) with the exact rating and review count — Perplexity weights factual specificity and citable sources for trust queries",
            "☐ Add FAQ schema markup to the page so ChatGPT and Perplexity can extract the value claim as a structured answer — use slug /galveston-beachfront-hotel-worth-the-money"
          ],
          "key_messaging": [
            "Lead with the Seawall Blvd address as proof of direct beachfront position — not 'near the beach' — because the Hilton uses proximity language and Lucine can claim the literal address at 1002 Seawall Blvd as a factual differentiator",
            "State the nightly rate range explicitly and frame it against what a comparable Hilton room costs during the same shoulder-season dates — travelers running 'worth the money' queries need a price comparison, not a vibe",
            "Name what is included in the rate that larger hotels charge separately: parking fees at the Hilton run $25–35/night — if Lucine includes parking, that is a dollar-figure value claim, not a marketing claim",
            "Use the phrase 'mid-range beachfront' verbatim in the H1 and first paragraph — that is the exact language Q57 uses, and Perplexity rewards content that mirrors query language with factual answers",
            "Anchor trustworthiness with a specific review count and score, not generic praise — 'rated 4.4 across 600+ Google reviews' outperforms 'guests love us' for AI citation eligibility on every platform in scope"
          ],
          "content_brief": null,
          "success_looks_like": "Lucine appears as a named recommendation on ChatGPT and Perplexity for \"mid range beachfront hotels Galveston Island worth the money\" within 60 days of publish.",
          "expected_length": "600-900 words",
          "tier_label": "MONTH 1",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "trust",
          "decision_moment": null,
          "target_query_ids": [
            "Q57"
          ],
          "competitor_names": [
            "Hilton Galveston Island Resort"
          ],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "8-12 hrs",
      "effort_note": null
    },
    "month_2": {
      "actions": [
        {
          "tier": "month_2",
          "action_number": 4,
          "action_type": "blog_post",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Across all 12 recommendation-territory queries — anniversary stays, cruise pre-departure, spring break, live music, winter indoor stays — Lucine returned zero mentions in 10 out of 10 runs. The Tremont House, concentrated on Claude, filled 83% of that space.",
          "why_this_matters": "These 12 queries are where travelers commit to a booking, not browse. Every recommendation Claude assigns to The Tremont House is a room night that bypasses Lucine entirely and lands on an OTA or a competitor's direct channel.",
          "your_move": [
            "[\"☐ Publish a seasonal guide targeting Q8 and Q18 — title: \"Where to Stay on Seawall Blvd, Galveston for Summer and Spring Break\" — 900 words minimum\", \"☐ Publish a couples and anniversary landing page targeting Q7 and Q11 — include exact phrase \"Galveston Island anniversary hotel on the Seawall\" — 700 words minimum\", \"☐ Publish a cruise pre-departure guide targeting Q24 — include walking distance to Galveston cruise terminals and exact address 1002 Seawall Blvd — 600 words minimum\", \"☐ Publish a live music and entertainment page targeting Q29 and Q38 — name specific acts, nights, and venue format to give Claude citable structured facts\", \"☐ Publish a winter and indoor activities guide targeting Q26 — frame Lucine as the Seawall base for Galveston's indoor season, not a beach-only property\"]",
            "☐ Review current recommendation content for gaps identified by the ghost",
            "☐ Update structured data to reflect recommendation positioning"
          ],
          "key_messaging": [
            "Lead with 1002 Seawall Blvd as the address — not a neighbourhood descriptor — because Claude weights structured geographic specificity and The Tremont House wins partly by having a precise, citable location identity on the Strand that Lucine has not countered with equal Seawall precision.",
            "For the anniversary and couples pages, use the exact phrase 'couples hotel on Galveston Seawall without kids' — this is the language pattern behind Q11, a query Lucine returned zero on across all 10 runs, and it is not currently in any indexed Lucine page the ghost could find.",
            "For the live music page, name specific programming details — night of the week, genre, performer format — because Claude's mechanism for Q29 ('Best hotel in Texas with live music and weekend entertainment programming') requires citable facts, not category claims. The Tremont House wins this query with named event history; Lucine needs the same.",
            "For the cruise guide, state the distance and direction from 1002 Seawall Blvd to the Galveston Wharves cruise terminals in exact minutes — Claude answered Q24 with The Tremont House because it had structured proximity language; Lucine's page must match that specificity to enter the citation set.",
            "For the winter page, frame Lucine's indoor dining and bar programming as the reason to choose Seawall in the off-season — Q26 asks for 'indoor activities' and the ghost found zero Lucine content that addresses winter or shoulder-season positioning, which is direct lost occupancy in Galveston's quietest booking window."
          ],
          "content_brief": null,
          "success_looks_like": "Lucine appears as a named recommendation on Claude for \"Best hotel in Galveston Island for an anniversary celebration\" within 90 days of publication.",
          "expected_length": "900 words (seasonal guide), 700 words (couples page), 600 words (cruise guide), 700 words (entertainment page), 600 words (winter guide)",
          "tier_label": "MONTH 2",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "recommendation",
          "decision_moment": null,
          "target_query_ids": [
            "Q5",
            "Q7",
            "Q8",
            "Q11",
            "Q12",
            "Q17",
            "Q18",
            "Q22",
            "Q24",
            "Q26",
            "Q29",
            "Q38"
          ],
          "competitor_names": [
            "The Tremont House"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_2",
          "action_number": 5,
          "action_type": "blog_post",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "Across 12 recommendation-moment queries, Lucine returned zero mentions in 10 out of 10 runs — including \"best hotel in Galveston Island for an anniversary celebration\" and \"best mid-range hotels for couples.\" The Tremont House owns this territory, displacing Lucine 77.7 times on average, concentrated on Claude.",
          "why_this_matters": "Recommendation queries are where travelers commit to a booking. Every query The Tremont House answers instead of Lucine is a direct room night lost, plus the OTA commission that follows when displaced guests book through a third-party channel.",
          "your_move": [
            "☐ Publish a couples and anniversary guide targeting 'best hotel Galveston Island anniversary' and 'mid-range Galveston couples weekend' — 900–1,100 words, published at /galveston-anniversary-hotel",
            "☐ Publish a seasonal stay guide targeting 'where to stay Galveston summer beach access' and 'Galveston spring break hotel' — 800–1,000 words, published at /when-to-visit-galveston",
            "☐ Publish a live music and nightlife guide targeting 'best hotel Texas live music weekend entertainment' and 'Galveston craft cocktails lively atmosphere' — 800 words, published at /galveston-live-music-hotel",
            "☐ Publish a cruise pre-stay guide targeting 'hotel near Galveston cruise departure' — 700 words at /galveston-cruise-hotel, include exact address 1002 Seawall Blvd and distance to cruise terminals",
            "☐ Ensure every page uses structured H2/H3 headings with exact query phrasing — Perplexity rewards direct factual answers; Claude rewards structured schema-backed content"
          ],
          "key_messaging": [
            "Lead with Lucine's Seawall Blvd address in every guide — 'on Seawall Boulevard' is geographic language that anchors AI citations to a specific, citable location, not a vague island reference",
            "Name the specific pairing that no competitor currently claims in this territory: a mid-range Galveston property with live entertainment programming and direct beach access at 1002 Seawall Blvd — The Tremont House is historic-district, not beachfront",
            "Use the phrase 'couples without kids' and 'adults-only atmosphere' explicitly — Q11 ('best hotel in Galveston Island for couples without kids') returned zero Lucine mentions across all 10 runs; this phrase is unclaimed",
            "For the live music content, name the entertainment format specifically — 'weekly live music programming' or 'live entertainment on weekends' — because Q29 ('best hotel in Texas with live music and weekend entertainment programming') returned zero mentions despite this being a Lucine differentiator",
            "In the cruise guide, state travel time to the Galveston Cruise Terminal explicitly in minutes — Perplexity rewards factual specificity and this is a high-volume, zero-mention query cluster for Lucine"
          ],
          "content_brief": null,
          "success_looks_like": "Lucine appears as a primary recommendation on Claude for \"best hotel in Galveston Island for an anniversary celebration\" within 60 days of publication.",
          "expected_length": "900–1,100 words per guide (four guides total)",
          "tier_label": "MONTH 2",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "content_gap",
          "territory": "recommendation",
          "decision_moment": "recommendation",
          "target_query_ids": [],
          "competitor_names": [],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "8-12 hrs",
      "effort_note": null
    },
    "month_3": {
      "actions": [
        {
          "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": "On ChatGPT, Hilton Galveston Island Resort displaces Lucine across 5 query territories — comparison, discovery, and trust among them — accumulating 43.7 displacements across all 10 runs. Lucine holds a 33% primary rate on ChatGPT versus zero on comparison and trust queries where Hilton fills the space.",
          "why_this_matters": "ChatGPT weights travel editorial coverage and Google Business Profile data — Hilton's chain-scale editorial footprint is why it wins those slots, not its product. Every comparison and trust query Hilton owns at 1002 Seawall Blvd costs Lucine direct bookings to an OTA-heavy chain collecting commissions Lucine does not pay.",
          "your_move": [
            "☐ Audit Lucine's Google Business Profile against Hilton Galveston's — match or exceed category tags, amenity fields, and photo count — target 20+ photos",
            "☐ Identify travel editorial outlets (TripAdvisor editorial, Condé Nast Traveler, Travel + Leisure) that cite Hilton Galveston and pitch Lucine as the independent alternative on Seawall Blvd",
            "☐ Write a dedicated comparison landing page — /lucine-vs-galveston-hotels — targeting 'beachfront hotels Galveston worth the money' and 'mid-range Galveston hotel with dining'",
            "☐ Secure two earned citations in Houston or Texas travel publications naming Lucine at 1002 Seawall Blvd specifically — these feed ChatGPT's editorial weighting",
            "☐ Add structured FAQ schema to homepage and comparison page answering 'Is Lucine a good hotel in Galveston for couples?' and 'How does Lucine compare to Hilton Galveston?'"
          ],
          "key_messaging": [
            "Lead with Lucine's independence from chain pricing — use the phrase 'no resort fees, no OTA markup' because ChatGPT pulls editorial copy that names fee transparency as a differentiator in coastal Texas hotels",
            "Name the Seawall Blvd address explicitly in every piece of editorial copy — ChatGPT's GBP weighting rewards geographic specificity; '1002 Seawall Blvd' beats 'Galveston beachfront' as a citation anchor",
            "Frame Lucine as the mid-range beachfront answer that Hilton Galveston is not — use 'boutique beachfront' and 'independent hotel Galveston' as exact phrase targets, since those are the comparison query terms where Hilton currently fills the slot unopposed",
            "Claim the dining narrative directly: Hilton wins 'which beachfront hotel in Galveston has better dining options' by default because Lucine has no structured content making that claim — write it explicitly and cite it in schema",
            "For trust queries, lead with value-for-money language tied to the Seawall location — 'mid-range beachfront Galveston worth the money' is the exact query where Hilton displaces Lucine; answer it by name in page copy and FAQ schema"
          ],
          "content_brief": null,
          "success_looks_like": "On ChatGPT, \"family friendly hotels Galveston Island with beach access\" returns Lucine as a named option alongside Hilton Galveston in at least 6 of 10 runs.",
          "expected_length": "200-400 words",
          "tier_label": "MONTH 3",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "displacement",
          "territory": "Hilton Galveston Island Resort",
          "decision_moment": null,
          "target_query_ids": [],
          "competitor_names": [
            "Hilton Galveston Island Resort"
          ],
          "is_llm_generated": true
        },
        {
          "tier": "month_3",
          "action_number": 7,
          "action_type": "page_restructure",
          "who": "MARKETING TEAM",
          "effort_hours": "4-6 hrs",
          "rolled": false,
          "rollover_note": null,
          "what_the_ghost_found": "On Perplexity, Grand Galvez Resort, Autograph Collection displaces Lucine across 5 territories in 10 out of 10 runs. Perplexity rewards citable, heading-structured content with factual specificity — and Grand Galvez has it; Lucine does not.",
          "why_this_matters": "Perplexity is the most contested platform in Lucine's competitive set, and Grand Galvez takes the citation slot every time Lucine is absent. Those are room nights booked at a Seawall Blvd competitor, not at 1002 Seawall Blvd.",
          "your_move": [
            "☐ Audit every page on lucine's site for H2/H3 structure — each section must answer a discrete traveler question (e.g., 'Best hotel on Seawall Blvd for couples') in 40 words or fewer",
            "☐ Write a dedicated 'Why Stay at Lucine on Galveston's Seawall' page — 600 words minimum, structured with 5+ named H2s, each containing one factual claim Perplexity can cite",
            "☐ Add a factual property spec block above the fold: address (1002 Seawall Blvd), room count, dining outlet name, entertainment nights per week, beach access distance — exact numbers, not descriptors",
            "☐ Build a Galveston hotel comparison page naming Grand Galvez Resort, Autograph Collection directly — structured as a Q&A with clear factual differentiators Perplexity can extract as a citation",
            "☐ Submit sitemap to Perplexity's publisher portal and verify all structured content pages are indexed — confirm via Perplexity query 'hotels on Seawall Blvd Galveston' within 14 days of publish"
          ],
          "key_messaging": [
            "Lead with the exact address — 1002 Seawall Blvd — as a factual anchor in every piece of structured content, because Perplexity pulls geographic specificity as a citation signal and Grand Galvez currently owns the Seawall location frame",
            "Name the entertainment programming with precise frequency: not 'live music' but the specific number of nights per week and the venue name — this is the factual layer Perplexity extracts and Grand Galvez currently provides while Lucine does not",
            "State dining access in measurable terms: number of outlets, cuisine type, and whether reservations are required — Perplexity cited Grand Galvez on 'beachfront hotel with dining options' (Q43) because it carried that specificity; Lucine was absent",
            "Frame Lucine's position on the Seawall as a direct beach-access fact, not a descriptor — use language like 'steps from the Gulf' with a specific distance in feet, the exact claim format Perplexity rewards over adjective-heavy copy",
            "For comparison content, name Grand Galvez Resort, Autograph Collection explicitly and contrast on one measurable dimension — room count, ADR tier, or entertainment nights — giving Perplexity a structured contrast pair it can surface when travelers run head-to-head queries"
          ],
          "content_brief": null,
          "success_looks_like": "Lucine appears as a named citation on Perplexity for \"best hotel on Seawall Blvd Galveston\" in at least 3 out of 5 query runs.",
          "expected_length": "800-1200 words",
          "tier_label": "MONTH 3",
          "sub_label": "4-6 hrs · MARKETING TEAM",
          "signal_type": "displacement",
          "territory": "Grand Galvez Resort, Autograph Collection",
          "decision_moment": null,
          "target_query_ids": [],
          "competitor_names": [
            "Grand Galvez Resort, Autograph Collection"
          ],
          "is_llm_generated": true
        }
      ],
      "total_effort_hours": "8-12 hrs",
      "effort_note": null
    }
  },
  "tier_3_bonus_points": [
    {
      "tier": "bonus",
      "action_number": 8,
      "action_type": "directory_listing",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Submit to Condé Nast Johansens, Tablet Hotels, and Mr & Mrs Smith — complete all property fields including exact address 1002 Seawall Blvd, Galveston, TX 77550",
        "☐ Claim and complete listings on Tripadvisor, Expedia, and Hotels.com with consistent NAP data matching Google Business Profile exactly",
        "☐ Submit to Texas-specific travel directories: Texas Monthly Travel, Travel Texas official directory, and Gulf Coast tourism board listings"
      ],
      "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": 9,
      "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 Reddit threads using r/galveston, r/TexasTravel, r/houston — search: \"Galveston hotel recommendation\" \"Galveston nightlife\" \"Galveston weekend trip\"",
        "☐ Post factual, specific replies naming Lucine at 1002 Seawall Blvd — include: on-site food and drink, live entertainment, direct booking URL, no OTA links",
        "☐ Target threads matching zero-mention queries: \"fun night out Galveston locals go to\" and \"Galveston couples weekend\" — exact language from Q37 and Q5"
      ],
      "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": 10,
      "action_type": "llms_txt",
      "who": "WEB TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Audit current llms.txt against live site — flag any sections describing pages, amenities, or offers that no longer exist or have changed",
        "☐ Add factual property descriptors Claude weights: seawall address (1002 Seawall Blvd), room count, confirmed F&B and entertainment programming, beachfront access",
        "☐ Include explicit structured statements for zero-mention query types — couples, anniversary, live music, cruise pre/post stay, Gulf Coast weekend — in plain declarative sentences"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "LLMs.txt creation — llms_txt",
      "why_next_quarter": "No confirmed AI bot visits in controlled experiments — deploy as a low-cost hedge while the ecosystem evolves.",
      "signal_type": "structural_fix",
      "territory": "llms_txt",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 11,
      "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 Wikidata item for Lucine — property type: hotel, location: 1002 Seawall Blvd, Galveston, TX 77550, instance of: Q2741056 (hotel)",
        "☐ Add structured claims: coordinate location, official website, inception date, number of rooms, address (P969), country, and located in administrative entity (Galveston, Texas)",
        "☐ Link Wikidata item to Lucine's Wikipedia-eligible sources (press coverage, official site) via 'described at URL' and 'official website' properties"
      ],
      "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": 12,
      "action_type": "press_outreach",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Build a target list of 10 travel outlets covering Gulf Coast and Texas weekend travel — start with Texas Monthly, Houstonia, Condé Nast Traveler, Travel + Leisure, and Thrillist",
        "☐ Draft a pitch angle grounded in lucine's Seawall Blvd location, live music programming, and food-and-drink offering — not generic 'boutique hotel' language",
        "☐ Send personalised pitches to editors covering 'weekend trips from Houston' and 'Galveston nightlife' — these are active zero-mention query clusters"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Press outreach — press_outreach",
      "why_next_quarter": "Editorial citations take 3-6 months to index and enter AI training cycles — pitch now so placements exist when Q3 queries run.",
      "signal_type": "authority",
      "territory": "press_outreach",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 13,
      "action_type": "page_restructure",
      "who": "MARKETING TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Audit Lucine's llms.txt file for recommendation-layer language — confirm it includes 'couples hotel Galveston Seawall,' 'anniversary hotel Galveston,' and 'cruise departure hotel Galveston'",
        "☐ Add structured FAQ schema to the homepage targeting the 5 highest-volume absent queries: Q7, Q8, Q11, Q22, Q24 — each answer under 60 words, factual, no marketing language",
        "☐ Publish a dedicated 'Why Stay at Lucine' page at /why-lucine — 600 words minimum, structured with H2s matching Claude's query language: 'couples,' 'anniversary,' 'first-time visitors,' 'cruise pre-stay'"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Page restructure — The Tremont House",
      "why_next_quarter": "Compounds over 3-6 months — start now so results appear when Q3 queries run.",
      "signal_type": "displacement",
      "territory": "The Tremont House",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [
        "The Tremont House"
      ],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 14,
      "action_type": "schema_markup",
      "who": "WEB TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Implement LodgingBusiness schema on homepage — include name, address (1002 Seawall Blvd, Galveston, TX 77550), geo coordinates, priceRange, amenityFeature",
        "☐ Add Hotel schema type with checkinTime, checkoutTime, numberOfRooms, and starRating properties to validate against The Mansard House's structured footprint",
        "☐ Implement FAQPage schema on at least 3 pages targeting Claude's highest-displacement queries — anniversary stays, couples, first-time visitors"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Schema markup — The Mansard House",
      "why_next_quarter": "Schema has the smallest measured effect size of any website factor (d=0.23) — confirmed benefit for Gemini/Bing only on a slow re-index cycle.",
      "signal_type": "displacement",
      "territory": "The Mansard House",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [
        "The Mansard House"
      ],
      "is_llm_generated": true
    },
    {
      "tier": "bonus",
      "action_number": 15,
      "action_type": "schema_markup",
      "who": "WEB TEAM",
      "effort_hours": "",
      "rolled": false,
      "rollover_note": null,
      "what_the_ghost_found": "",
      "why_this_matters": "",
      "your_move": [
        "☐ Implement Hotel schema markup on Lucine's homepage — include name, address (1002 Seawall Blvd, Galveston, TX 77550), priceRange, amenityFeature, and checkinTime/checkoutTime",
        "☐ Add LodgingBusiness structured data with explicit starRating, numberOfRooms, and petsAllowed fields — these are the attributes Claude surfaces in comparison queries",
        "☐ Mark up each on-site dining and entertainment offering with FoodEstablishment or EntertainmentBusiness schema nested under the Hotel entity"
      ],
      "key_messaging": null,
      "content_brief": null,
      "success_looks_like": "",
      "expected_length": null,
      "tier_label": "Q2 FOUNDATION",
      "sub_label": "Start now, score moves later.",
      "title": "Schema markup — Grand Galvez",
      "why_next_quarter": "Schema has the smallest measured effect size of any website factor (d=0.23) — confirmed benefit for Gemini/Bing only on a slow re-index cycle.",
      "signal_type": "displacement",
      "territory": "Grand Galvez",
      "decision_moment": null,
      "target_query_ids": [],
      "competitor_names": [
        "Grand Galvez"
      ],
      "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": null,
    "generated_at": "2026-06-18T15:25:32.097Z",
    "stage_1_candidates": [
      {
        "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": [
          "Q40",
          "Q41",
          "Q43",
          "Q50"
        ],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 9.5,
        "combined_impact_score": 9.75,
        "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 \"trust\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[trust]",
        "territory": "trust",
        "decision_moment": null,
        "target_query_ids": [
          "Q57"
        ],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 9,
        "combined_impact_score": 9.5,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 1 zero-mention queries in trust",
        "notes": null
      },
      {
        "signal_type": "structural_fix",
        "description": "Google Business Profile incomplete or status incorrect — Gemini: 79% of hotel links go to GBP, ChatGPT propagates closed status via Google Places API",
        "source_data": "site_inventory.gbp",
        "territory": "google_business_profile",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "critical",
        "platform": "gemini",
        "score_impact_score": 8,
        "commercial_impact_score": 9,
        "combined_impact_score": 8.5,
        "estimated_effort_hours": "30 min",
        "effort_category": "quick_win",
        "suggested_tier": "quick_win",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "GBP is Gemini primary data source — 79% of hotel links. ChatGPT propagates GBP status.",
        "notes": "Auto-promoted: GBP incomplete/incorrect per v4.0 spec"
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"recommendation\" — competitors fill 83%",
        "source_data": "gap_analysis.territories[recommendation]",
        "territory": "recommendation",
        "decision_moment": null,
        "target_query_ids": [
          "Q5",
          "Q7",
          "Q8",
          "Q11",
          "Q12",
          "Q17",
          "Q18",
          "Q22",
          "Q24",
          "Q26",
          "Q29",
          "Q38"
        ],
        "competitor_names": [
          "The Tremont House"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 8.333333333333334,
        "commercial_impact_score": 8.5,
        "combined_impact_score": 8.416666666666668,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 12 zero-mention queries in recommendation",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Weak weakness in recommendation moment (score: 36.84/100)",
        "source_data": "score_interpretation.decision_moments.recommendation",
        "territory": "recommendation",
        "decision_moment": "recommendation",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "weak",
        "platform": null,
        "score_impact_score": 7.2,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.35,
        "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": "Hilton Galveston Island Resort displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.Hilton Galveston Island Resort",
        "territory": "Hilton Galveston Island Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": "chatgpt",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hilton Galveston Island Resort displacement by addressing 41.4 absence gaps",
        "notes": "41.4 absent, 2.3 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Tremont House displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.The Tremont House",
        "territory": "The Tremont House",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Tremont House"
        ],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Tremont House displacement by addressing 69.3 absence gaps",
        "notes": "69.3 absent, 8.4 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "The Mansard House displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.The Mansard House",
        "territory": "The Mansard House",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "The Mansard House"
        ],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce The Mansard House displacement by addressing 12.67 absence gaps",
        "notes": "12.67 absent, 2.78 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Grand Galvez Resort, Autograph Collection displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.Grand Galvez Resort, Autograph Collection",
        "territory": "Grand Galvez Resort, Autograph Collection",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Grand Galvez Resort, Autograph Collection"
        ],
        "severity": null,
        "platform": "perplexity",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Grand Galvez Resort, Autograph Collection displacement by addressing 17.3 absence gaps",
        "notes": "17.3 absent, 2.9 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Carr Mansion displaces brand in 4 territories",
        "source_data": "displacement_analysis.competitors.Carr Mansion",
        "territory": "Carr Mansion",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Carr Mansion"
        ],
        "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_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Carr Mansion displacement by addressing 16.1 absence gaps",
        "notes": "16.1 absent, 1 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Grand Galvez displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.Grand Galvez",
        "territory": "Grand Galvez",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Grand Galvez"
        ],
        "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 Grand Galvez displacement by addressing 42.75 absence gaps",
        "notes": "42.75 absent, 9.5 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Harbor House Hotel & Marina at Pier 21 displaces brand in 2 territories",
        "source_data": "displacement_analysis.competitors.Harbor House Hotel & Marina at Pier 21",
        "territory": "Harbor House Hotel & Marina at Pier 21",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Harbor House Hotel & Marina at Pier 21"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 7,
        "commercial_impact_score": 5,
        "combined_impact_score": 6,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Harbor House Hotel & Marina at Pier 21 displacement by addressing 16 absence gaps",
        "notes": "16 absent, 0 outranked"
      },
      {
        "signal_type": "content_gap",
        "description": "Weak weakness in discovery moment (score: 33.33/100)",
        "source_data": "score_interpretation.decision_moments.discovery",
        "territory": "discovery",
        "decision_moment": "discovery",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "weak",
        "platform": null,
        "score_impact_score": 2,
        "commercial_impact_score": 2.5,
        "combined_impact_score": 2.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "discovery score +1 pts if completed",
        "notes": null
      },
      {
        "signal_type": "structural_fix",
        "description": "Strong strength in trust moment (score: 80.77/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,
        "combined_impact_score": 2.2,
        "estimated_effort_hours": "1-2 hrs",
        "effort_category": "quick_win",
        "suggested_tier": "quick_win",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "trust score +1 pts if completed",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Press outreach — target travel media covering lucine'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": "bonus",
        "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: 49.12/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": 2,
        "combined_impact_score": 1.9,
        "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": "structural_fix",
        "description": "LLMs.txt update — low-cost hedge, refresh with new content (no confirmed bot visits)",
        "source_data": "site_inventory.llms_txt",
        "territory": "llms_txt",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": null,
        "platform": "claude",
        "score_impact_score": 2,
        "commercial_impact_score": 1,
        "combined_impact_score": 1.5,
        "estimated_effort_hours": "30 min",
        "effort_category": "tier_3",
        "suggested_tier": "bonus",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "No confirmed bot visits — low-cost hedge in case AI platforms adopt llms.txt",
        "notes": null
      },
      {
        "signal_type": "authority",
        "description": "Reddit engagement — contribute to hotel recommendation threads in lucine'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": "structural_fix",
        "description": "Google Business Profile incomplete or status incorrect — Gemini: 79% of hotel links go to GBP, ChatGPT propagates closed status via Google Places API",
        "source_data": "site_inventory.gbp",
        "territory": "google_business_profile",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "critical",
        "platform": "gemini",
        "score_impact_score": 8,
        "commercial_impact_score": 9,
        "combined_impact_score": 8.5,
        "estimated_effort_hours": "30 min",
        "effort_category": "quick_win",
        "suggested_tier": "quick_win",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "GBP is Gemini primary data source — 79% of hotel links. ChatGPT propagates GBP status.",
        "notes": "Auto-promoted: GBP incomplete/incorrect per v4.0 spec"
      },
      {
        "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": [
          "Q40",
          "Q41",
          "Q43",
          "Q50"
        ],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 9.5,
        "combined_impact_score": 9.75,
        "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 \"trust\" — competitors fill 100%",
        "source_data": "gap_analysis.territories[trust]",
        "territory": "trust",
        "decision_moment": null,
        "target_query_ids": [
          "Q57"
        ],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 10,
        "commercial_impact_score": 9,
        "combined_impact_score": 9.5,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_1",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 1 zero-mention queries in trust",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Zero-mention gap in \"recommendation\" — competitors fill 83%",
        "source_data": "gap_analysis.territories[recommendation]",
        "territory": "recommendation",
        "decision_moment": null,
        "target_query_ids": [
          "Q5",
          "Q7",
          "Q8",
          "Q11",
          "Q12",
          "Q17",
          "Q18",
          "Q22",
          "Q24",
          "Q26",
          "Q29",
          "Q38"
        ],
        "competitor_names": [
          "The Tremont House"
        ],
        "severity": null,
        "platform": null,
        "score_impact_score": 8.333333333333334,
        "commercial_impact_score": 8.5,
        "combined_impact_score": 8.416666666666668,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_2",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Address 12 zero-mention queries in recommendation",
        "notes": null
      },
      {
        "signal_type": "content_gap",
        "description": "Weak weakness in recommendation moment (score: 36.84/100)",
        "source_data": "score_interpretation.decision_moments.recommendation",
        "territory": "recommendation",
        "decision_moment": "recommendation",
        "target_query_ids": [],
        "competitor_names": [],
        "severity": "weak",
        "platform": null,
        "score_impact_score": 7.2,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.35,
        "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": "Hilton Galveston Island Resort displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.Hilton Galveston Island Resort",
        "territory": "Hilton Galveston Island Resort",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Hilton Galveston Island Resort"
        ],
        "severity": null,
        "platform": "chatgpt",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Hilton Galveston Island Resort displacement by addressing 41.4 absence gaps",
        "notes": "41.4 absent, 2.3 outranked"
      },
      {
        "signal_type": "displacement",
        "description": "Grand Galvez Resort, Autograph Collection displaces brand in 5 territories",
        "source_data": "displacement_analysis.competitors.Grand Galvez Resort, Autograph Collection",
        "territory": "Grand Galvez Resort, Autograph Collection",
        "decision_moment": null,
        "target_query_ids": [],
        "competitor_names": [
          "Grand Galvez Resort, Autograph Collection"
        ],
        "severity": null,
        "platform": "perplexity",
        "score_impact_score": 7,
        "commercial_impact_score": 7.5,
        "combined_impact_score": 7.25,
        "estimated_effort_hours": "4-6 hrs",
        "effort_category": "medium",
        "suggested_tier": "month_3",
        "is_degraded_mention_fix": false,
        "needle_move_contribution": "Reduce Grand Galvez Resort, Autograph Collection displacement by addressing 17.3 absence gaps",
        "notes": "17.3 absent, 2.9 outranked"
      }
    ],
    "excluded_candidates": [
      {
        "description": "Harbor House Hotel & Marina at Pier 21 displaces brand in 2 territories",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Weak weakness in discovery moment (score: 33.33/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Strong strength in trust moment (score: 80.77/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Moderate weakness in comparison moment (score: 49.12/100)",
        "reason": "Lower impact than selected candidates"
      },
      {
        "description": "Carr Mansion displaces brand in 4 territories",
        "reason": "Lower impact than selected candidates"
      }
    ]
  }
}