{
  "packetVersion": 1,
  "packetId": "roblox-10768625767",
  "generatedAt": "2026-10-25T12:00:00.751411+08:00",
  "runContext": {
    "runAt": "2026-10-25T12:00:00.751411+08:00",
    "timezone": "Asia/Shanghai"
  },
  "candidateId": "roblox:10768625767",
  "title": "Save the Krusty Krab 🍔",
  "platform": "roblox",
  "targetKeyword": "Save the Krusty Krab",
  "recommendedSiteType": "tool-site",
  "decisionTier": "ship",
  "action": "tool-site",
  "priority": "high",
  "scores": {
    "base": 74,
    "opportunity": 99,
    "breakdown": {
      "freshness": 20,
      "growth": 14,
      "external_validation": 15,
      "serp_gap": 4,
      "action_fit": 15,
      "platform_traction": 10,
      "data_fit": 6,
      "emerging_signal": 15
    },
    "penalties": {}
  },
  "opportunityWindow": {
    "grade": "B",
    "status": "crowded_early",
    "label": "B contested-early",
    "summary": "Early window exists, but competitors are already moving.",
    "reasons": [
      "Game created age is 609h.",
      "Game updated age is 29h.",
      "Local history shows meaningful platform growth.",
      "SERP has 4 competitor domain(s).",
      "2 recent keyword domain registration(s) are present.",
      "4 recent competitor page(s) are present.",
      "Game is early, but visible competitor/domain activity has already started."
    ],
    "gameCreatedAgeHours": 609,
    "gameUpdatedAgeHours": 29,
    "freshestSignalAgeHours": 0,
    "competitorDomainCount": 4,
    "recentDomainRegistrationCount": 2,
    "recentCompetitorPageCount": 4
  },
  "windowTimeline": {
    "window": {
      "grade": "B",
      "status": "crowded_early",
      "label": "B contested-early",
      "summary": "Early window exists, but competitors are already moving.",
      "reasons": [
        "Game created age is 609h.",
        "Game updated age is 29h.",
        "Local history shows meaningful platform growth.",
        "SERP has 4 competitor domain(s).",
        "2 recent keyword domain registration(s) are present.",
        "4 recent competitor page(s) are present.",
        "Game is early, but visible competitor/domain activity has already started."
      ],
      "gameCreatedAgeHours": 609,
      "gameUpdatedAgeHours": 29,
      "freshestSignalAgeHours": 0,
      "competitorDomainCount": 4,
      "recentDomainRegistrationCount": 2,
      "recentCompetitorPageCount": 4
    },
    "gameCreated": {
      "observedAt": "2026-09-29T18:12:11.522Z",
      "ageHours": 609
    },
    "gameUpdated": {
      "observedAt": "2026-10-23T22:37:12.23Z",
      "ageHours": 29
    },
    "signalObserved": {
      "observedAt": "2026-10-25T12:00:00.751710+08:00",
      "ageHours": 0
    },
    "domainRegistrations": [
      {
        "domain": "savethekrustykrab-wiki.wiki",
        "registeredAt": "2026-10-21T07:16:19+00:00",
        "registrationAgeHours": 92,
        "isRecentRegistration": true,
        "rdapUrl": "https://rdap.nic.wiki/domain/savethekrustykrab-wiki.wiki",
        "source": "rdap",
        "warnings": []
      },
      {
        "domain": "savethekrustykrab.com",
        "registeredAt": "2026-10-21T09:53:05+00:00",
        "registrationAgeHours": 90,
        "isRecentRegistration": true,
        "rdapUrl": "https://rdap.verisign.com/com/v1/domain/savethekrustykrab.com",
        "source": "rdap",
        "warnings": []
      }
    ],
    "competitorPageAges": [
      {
        "domain": "spongebob.fandom.com",
        "url": "https://spongebob.fandom.com/wiki/Save_the_Krusty_Krab",
        "title": "Save the Krusty Krab | Encyclopedia SpongeBobia | Fandom",
        "observedAt": "2026-10-19T06:00:00.722696+08:00",
        "pageAgeHours": 150,
        "isRecentPage": true,
        "source": "first-seen-history",
        "dateSource": ""
      },
      {
        "domain": "savethekrustykrab-wiki.wiki",
        "url": "https://savethekrustykrab-wiki.wiki/wiki/entities/",
        "title": "Save the Krusty Krab Entities | Save the Krusty Krab Wiki (Oct 2026)",
        "observedAt": "2026-10-21T00:00:00+00:00",
        "pageAgeHours": 100,
        "isRecentPage": true,
        "source": "page-metadata",
        "dateSource": "meta:article:published_time"
      },
      {
        "domain": "bloxgamer.com",
        "url": "https://bloxgamer.com/guides/save-the-krusty-krab-beginner-guide-prep-orders-cleanup-and-villains/",
        "title": "Save the Krusty Krab beginner guide - bloxgamer.com",
        "observedAt": "2026-10-25T00:00:00.735429+08:00",
        "pageAgeHours": 12,
        "isRecentPage": true,
        "source": "first-seen-history",
        "dateSource": ""
      },
      {
        "domain": "savethekrustykrab.com",
        "url": "https://savethekrustykrab.com/guides/solo-guide/",
        "title": "Save the Krusty Krab Solo Guide: Classes, Prep & Shift Routine",
        "observedAt": "2026-09-29T00:00:00+00:00",
        "pageAgeHours": 628,
        "isRecentPage": true,
        "source": "page-metadata",
        "dateSource": "jsonld:dateCreated"
      }
    ]
  },
  "source": {
    "sourceUrl": "https://www.roblox.com/games/129332901430212",
    "playableUrl": "https://www.roblox.com/games/129332901430212",
    "embedUrl": "",
    "rightsMode": "unknown",
    "creator": {
      "name": "Krabby Krew",
      "id": "34990762",
      "url": ""
    },
    "publishedAt": "2026-09-29T18:12:11.522Z",
    "updatedAt": "2026-10-23T22:37:12.23Z",
    "signalPublishedAt": "2026-10-25T12:00:00.751710+08:00"
  },
  "platformMetrics": {
    "likes": 23653,
    "dislikes": 1595,
    "activePlayers": 25176,
    "visits": 14354892,
    "rating": 93.7,
    "votes": 25248,
    "favorites": 178933
  },
  "platformHeat": {
    "score": 20,
    "normalizedScore": 10,
    "level": "strong",
    "metrics": {
      "likes": 23653,
      "dislikes": 1595,
      "activePlayers": 25176,
      "visits": 14354892,
      "rating": 93.7,
      "votes": 25248,
      "favorites": 178933
    },
    "reasons": [
      "Roblox active players=25176.",
      "Roblox visits=14354892."
    ]
  },
  "playableQualification": {
    "status": "needs-review",
    "hasPlayableSurface": true,
    "rightsSafe": false,
    "platformMetricsPresent": true,
    "lifecyclePresent": true,
    "packageable": false,
    "probeStatus": "reachable",
    "reasons": [
      "Playable URL is present.",
      "Platform interaction metrics are present.",
      "Platform lifecycle timestamp is present.",
      "Playable probe reached the URL."
    ],
    "risks": [
      "X-Frame-Options blocks third-party embedding.",
      "Rights mode is unknown."
    ]
  },
  "playableProbe": {
    "status": "reachable",
    "url": "https://www.roblox.com/games/129332901430212",
    "urlType": "playable",
    "finalUrl": "https://www.roblox.com/games/129332901430212/Save-the-Krusty-Krab",
    "httpStatus": 200,
    "contentType": "text/html",
    "contentKind": "html",
    "frameAllowed": false,
    "reasons": [
      "Playable URL returned HTTP 200."
    ],
    "risks": [
      "X-Frame-Options blocks third-party embedding."
    ]
  },
  "operatorFeedback": {},
  "description": "The Krusty Krab is in trouble, and it needs YOU to keep its doors open! Do you have what it takes to Save the Krusty Krab? 🍔\n\n🧽 You’re hired! Play as SpongeBob, Patrick, Squidward, and more iconic characters from Bikini Bottom!\n\n⏰ Clock in and get to work! Run the register, fire up the grill, assemble orders, and deliver food!\n💰 Serve up iconic dishes, keep your customers happy, and bring in the MONEY!\n⭐ Serve a large variety of customers, including villains, MVPs, and plenty of familiar faces!\n🦠 Watch out for Plankton! He’s always cooking up trouble, and your shift is no exception!\n🔧 Upgrade the Krusty Krab and power up your character to tackle even bigger challenges!\n\n🚨 Every order counts! Can you save the Krusty Krab from BANKRUPTCY?!\n\n🎮 Play on PC, Mobile, Tablet & Console!\n🔥 Like the game and join the community for exclusive rewards!\n\n©2026 Viacom. SpongeBob SquarePants created by Stephen Hillenburg.",
  "tags": [
    "universe:10768625767",
    "place:129332901430212",
    "roblox",
    "roblox-discovery",
    "signal:ranking",
    "rank:roblox-explore",
    "discovery:top-trending",
    "rank:top-trending:25",
    "discovery:up-and-coming",
    "rank:up-and-coming:21",
    "discovery:top-playing-now",
    "rank:top-playing-now:69",
    "source-confluence"
  ],
  "starterPages": [
    {
      "slug": "calculator",
      "title": "Calculator",
      "purpose": "Interactive decision aid or progression calculator."
    },
    {
      "slug": "codes",
      "title": "Codes",
      "purpose": "Active codes, expired codes, and update status."
    },
    {
      "slug": "wiki",
      "title": "Wiki",
      "purpose": "Structured entities, mechanics, and source-backed references."
    },
    {
      "slug": "tier-list",
      "title": "Tier List",
      "purpose": "Compare skills, items, characters, builds, or upgrades."
    }
  ],
  "validationQueries": [
    "Save the Krusty Krab",
    "Save the Krusty Krab codes",
    "Save the Krusty Krab wiki",
    "Save the Krusty Krab tier list",
    "Save the Krusty Krab trello",
    "Save the Krusty Krab upgrades",
    "Save the Krusty Krab calculator",
    "Save the Krusty Krab values",
    "Save the Krusty Krab recipes"
  ],
  "validation": {
    "queryCount": 3,
    "externalValidationScore": 15,
    "serpGapScore": 4,
    "independentSignalCount": 4,
    "socialDemandSignalCount": 0,
    "competitorSignalCount": 4,
    "recentKeywordDomainRegistrationCount": 2,
    "strongRecentKeywordDomainRegistrationCount": 2,
    "recentCompetitorPageCount": 4,
    "sourceDatedRecentCompetitorPageCount": 2,
    "competitorDomains": [
      "spongebob.fandom.com",
      "savethekrustykrab-wiki.wiki",
      "bloxgamer.com",
      "savethekrustykrab.com"
    ],
    "domainRegistrations": [
      {
        "domain": "savethekrustykrab-wiki.wiki",
        "registeredAt": "2026-10-21T07:16:19+00:00",
        "registrationAgeHours": 92,
        "isRecentRegistration": true,
        "rdapUrl": "https://rdap.nic.wiki/domain/savethekrustykrab-wiki.wiki",
        "source": "rdap",
        "warnings": []
      },
      {
        "domain": "savethekrustykrab.com",
        "registeredAt": "2026-10-21T09:53:05+00:00",
        "registrationAgeHours": 90,
        "isRecentRegistration": true,
        "rdapUrl": "https://rdap.verisign.com/com/v1/domain/savethekrustykrab.com",
        "source": "rdap",
        "warnings": []
      }
    ],
    "competitorPageAges": [
      {
        "domain": "spongebob.fandom.com",
        "url": "https://spongebob.fandom.com/wiki/Save_the_Krusty_Krab",
        "title": "Save the Krusty Krab | Encyclopedia SpongeBobia | Fandom",
        "observedAt": "2026-10-19T06:00:00.722696+08:00",
        "pageAgeHours": 150,
        "isRecentPage": true,
        "source": "first-seen-history",
        "dateSource": ""
      },
      {
        "domain": "savethekrustykrab-wiki.wiki",
        "url": "https://savethekrustykrab-wiki.wiki/wiki/entities/",
        "title": "Save the Krusty Krab Entities | Save the Krusty Krab Wiki (Oct 2026)",
        "observedAt": "2026-10-21T00:00:00+00:00",
        "pageAgeHours": 100,
        "isRecentPage": true,
        "source": "page-metadata",
        "dateSource": "meta:article:published_time"
      },
      {
        "domain": "bloxgamer.com",
        "url": "https://bloxgamer.com/guides/save-the-krusty-krab-beginner-guide-prep-orders-cleanup-and-villains/",
        "title": "Save the Krusty Krab beginner guide - bloxgamer.com",
        "observedAt": "2026-10-25T00:00:00.735429+08:00",
        "pageAgeHours": 12,
        "isRecentPage": true,
        "source": "first-seen-history",
        "dateSource": ""
      },
      {
        "domain": "savethekrustykrab.com",
        "url": "https://savethekrustykrab.com/guides/solo-guide/",
        "title": "Save the Krusty Krab Solo Guide: Classes, Prep & Shift Routine",
        "observedAt": "2026-09-29T00:00:00+00:00",
        "pageAgeHours": 628,
        "isRecentPage": true,
        "source": "page-metadata",
        "dateSource": "jsonld:dateCreated"
      }
    ],
    "signals": [
      {
        "source": "serp",
        "query": "Save the Krusty Krab",
        "title": "Save the Krusty Krab | Encyclopedia SpongeBobia | Fandom",
        "url": "https://spongebob.fandom.com/wiki/Save_the_Krusty_Krab",
        "snippet": "Save the Krusty Krab is an officially licensed SpongeBob SquarePants online multiplayer video game developed by Wonder Works Studio. It is available to play for free on the Roblox platform. The Krusty Krab is in trouble, and it needs YOU to keep its doors open! Do you have what it takes to Save the Krusty Krab ? 🍔 🧽 You're hired! Play as SpongeBob, Patrick, Squidward, and more iconic ...",
        "rank": 1,
        "observedAt": "",
        "domain": "spongebob.fandom.com"
      },
      {
        "source": "serp",
        "query": "Save the Krusty Krab",
        "title": "Save the Krusty Krab Entities | Save the Krusty Krab Wiki (Oct 2026)",
        "url": "https://savethekrustykrab-wiki.wiki/wiki/entities/",
        "snippet": "Save the Krusty Krab 🍔 Entities FAQ What do you do in Save the Krusty Krab ? Clock in, take orders at the boat register, grill and assemble the meal, deliver it to the matching customer, pick up the cash, and clean the restaurant before the next day. Who made the game? The Roblox experience is created by the verified Krabby Krew group.",
        "rank": 2,
        "observedAt": "",
        "domain": "savethekrustykrab-wiki.wiki"
      },
      {
        "source": "serp",
        "query": "Save the Krusty Krab",
        "title": "HALLOWEEN EVENT - Save the Krusty Krab - Roblox",
        "url": "https://www.roblox.com/events/8797430316475220748",
        "snippet": "29.9K Interested Description Halloween is coming to Save the Krusty Krab with a limited time event! - Bikini Bottom & The Krusty Krab are Decorated for the Holiday! - Collect Limited Time Halloween Themed Character Skins! - A New Spooky Villain joins the Game with New Gameplay! More Details Soon!",
        "rank": 3,
        "observedAt": "",
        "domain": "www.roblox.com"
      },
      {
        "source": "serp",
        "query": "Save the Krusty Krab",
        "title": "Save the Krusty Krab beginner guide - bloxgamer.com",
        "url": "https://bloxgamer.com/guides/save-the-krusty-krab-beginner-guide-prep-orders-cleanup-and-villains/",
        "snippet": "How a Save the Krusty Krab shift works on Roblox: crew setup, what to stock before opening, serving orders, nightly cleanup, Plankton and Doubloons.",
        "rank": 4,
        "observedAt": "",
        "domain": "bloxgamer.com"
      },
      {
        "source": "serp",
        "query": "Save the Krusty Krab",
        "title": "Save the Krusty Krab Solo Guide: Classes, Prep & Shift Routine",
        "url": "https://savethekrustykrab.com/guides/solo-guide/",
        "snippet": "Play Save the Krusty Krab solo: set Crew Size to 1, choose a class, plan food prep, manage energy and finish each shift's service and cleanup.",
        "rank": 5,
        "observedAt": "",
        "domain": "savethekrustykrab.com"
      }
    ]
  },
  "competitors": [
    {
      "domain": "fandom.com",
      "recentPage": true,
      "pageAgeHours": 150,
      "dateSource": "",
      "source": "first-seen-history",
      "url": "https://spongebob.fandom.com/wiki/Save_the_Krusty_Krab"
    },
    {
      "domain": "savethekrustykrab-wiki.wiki",
      "recentPage": true,
      "pageAgeHours": 100,
      "dateSource": "meta:article:published_time",
      "source": "page-metadata",
      "url": "https://savethekrustykrab-wiki.wiki/wiki/entities/"
    },
    {
      "domain": "bloxgamer.com",
      "recentPage": true,
      "pageAgeHours": 12,
      "dateSource": "",
      "source": "first-seen-history",
      "url": "https://bloxgamer.com/guides/save-the-krusty-krab-beginner-guide-prep-orders-cleanup-and-villains/"
    },
    {
      "domain": "savethekrustykrab.com",
      "recentPage": true,
      "pageAgeHours": 628,
      "dateSource": "jsonld:dateCreated",
      "source": "page-metadata",
      "url": "https://savethekrustykrab.com/guides/solo-guide/"
    }
  ],
  "sourceChecklist": [
    {
      "name": "official_source",
      "status": "present"
    },
    {
      "name": "platform_stats",
      "status": "present"
    },
    {
      "name": "description_or_tags",
      "status": "present"
    },
    {
      "name": "external_validation",
      "status": "present"
    },
    {
      "name": "rights_mode",
      "status": "needs-review"
    }
  ],
  "missingChecks": [
    "Manually inspect top competitor domains for depth, freshness, and monetizable gaps.",
    "Confirm first-party or reproducible data source before building a tool/wiki.",
    "Confirm rights, attribution, and embedding/package constraints.",
    "Identify structured entities and fields needed for the first useful page."
  ],
  "recommendedAngle": "Tool-first page: calculator, value table, codes, recipes, or decision aid before generic guide content.",
  "nicheAssessment": {
    "schemaVersion": 1,
    "suggestedQueries": [
      "Save the Krusty Krab",
      "Save the Krusty Krab codes",
      "Save the Krusty Krab wiki",
      "Save the Krusty Krab tier list",
      "Save the Krusty Krab trello",
      "Save the Krusty Krab upgrades",
      "Save the Krusty Krab calculator",
      "Save the Krusty Krab values",
      "Save the Krusty Krab recipes"
    ],
    "observedQuestions": [],
    "creatorContentSignals": [],
    "mechanismHypotheses": [
      {
        "category": "collection",
        "sourceUrl": "https://www.roblox.com/games/129332901430212",
        "status": "description-hint-unverified"
      },
      {
        "category": "progression",
        "sourceUrl": "https://www.roblox.com/games/129332901430212",
        "status": "description-hint-unverified"
      }
    ],
    "developmentSignals": {
      "schemaVersion": 1,
      "timezone": "UTC",
      "sampleIntervalHours": 3,
      "days": [
        {
          "date": "2026-10-11",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-12",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-13",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-14",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-15",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-16",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-17",
          "observedBins": 0,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.0,
          "maxMissingHours": 24,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-18",
          "observedBins": 1,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 0.125,
          "maxMissingHours": 21,
          "ccuMedian": null,
          "status": "insufficient-coverage"
        },
        {
          "date": "2026-10-19",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 11318.5,
          "status": "sufficient"
        },
        {
          "date": "2026-10-20",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 11937.0,
          "status": "sufficient"
        },
        {
          "date": "2026-10-21",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 16010.5,
          "status": "sufficient"
        },
        {
          "date": "2026-10-22",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 16511.0,
          "status": "sufficient"
        },
        {
          "date": "2026-10-23",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 17721.5,
          "status": "sufficient"
        },
        {
          "date": "2026-10-24",
          "observedBins": 8,
          "expectedBins": 8,
          "legacyBins": 0,
          "coverage": 1.0,
          "maxMissingHours": 0,
          "ccuMedian": 22873.5,
          "status": "sufficient"
        }
      ],
      "ccuMedianRatio7d": null,
      "counters": {
        "visits": {
          "delta7d": null,
          "previousDelta7d": null,
          "growthRatio": null,
          "counterReset": false
        },
        "favorites": {
          "delta7d": null,
          "previousDelta7d": null,
          "growthRatio": null,
          "counterReset": false
        }
      },
      "minimumDailyBins": 6,
      "note": "Three-hour samples, not hourly telemetry; incomplete days and missing/zero baselines remain unknown."
    },
    "competitionStatus": "partial-results",
    "buildReadiness": {
      "status": "needs-research",
      "readyForBuild": false,
      "checks": [
        {
          "key": "playerTask",
          "status": "missing",
          "nextCheck": "Read player questions and choose one recurring task; suggested queries are not demand evidence."
        },
        {
          "key": "structuredGameData",
          "status": "missing",
          "nextCheck": "Verify named game entities, fields and any formula with dated, reproducible sources. Platform CCU/visits are not gameplay data."
        },
        {
          "key": "competitorFunctionGap",
          "status": "needs-review",
          "nextCheck": "Open competing pages and verify which player task remains poorly served. Few returned domains do not prove a gap."
        },
        {
          "key": "maintenance",
          "status": "unknown",
          "nextCheck": "Verify a repeatable update source, expected changes and ownership/cost of maintaining the first feature."
        }
      ],
      "note": "Ship selects a lead for review; verified gameplay data and a reviewed player task are still required."
    }
  },
  "buildReadiness": {
    "buildQueueReady": false,
    "nextStep": "Build brief: prepare a scoped page/tool plan, data source checklist, and launch validation query set.",
    "reasons": [
      "Tier ship from opportunity score 99 and action tool-site.",
      "History or local discovery shows growth/newness.",
      "Strong first-party platform heat is active; external validation is still required before Ship."
    ],
    "gates": {
      "high_value_action": true,
      "fresh": true,
      "validated": true,
      "growth": true,
      "emerging": true,
      "playable_demand": false,
      "severe_risk": false,
      "lifecycle_block": false,
      "playable_opportunity": false,
      "validated_data_opportunity": false,
      "ship_ready": true,
      "first_mover_quality": true,
      "quality_window_ship_eligible": true,
      "quality_hard_demand": true,
      "quality_not_update_only": true,
      "quality_playable_heat_or_social": true,
      "quality_growth_demand": true,
      "quality_platform_heat": true,
      "quality_strong_platform_heat": true,
      "quality_social_validation_degraded": false,
      "quality_dated_social_demand": false,
      "quality_recent_domain_demand": true,
      "quality_playable_mirror_demand": false,
      "quality_playable_only_validation": false,
      "platform_first_mover_research": true
    }
  },
  "siteBuilderPrompt": "Build a tool-site for Save the Krusty Krab. Start with these pages: /calculator, /codes, /wiki, /tier-list. Use only source-backed data from the packet and mark missing facts for research instead of inventing content."
}