{
  "schemaVersion": "0.1",
  "id": "public-search-discovery-recovery-plan-20260818",
  "generatedAt": "2026-08-18T05:23:21+08:00",
  "status": "recovery-plan-ready-d1-completed-no-positive-discovery",
  "targetArticle": {
    "articleId": "window-buying-pitfall-acceptance-checklist-geo",
    "title": "买门窗不踩坑：从行业稿到可验证验收清单",
    "url": "https://lucheng-geo.pages.dev/articles/window-buying-pitfall-acceptance-checklist-geo.html"
  },
  "currentVerdict": {
    "oneLine": "D1 proves execution discipline, not discovery: the target article is crawlable and D1 is fully recorded, but public search did not return the exact/canonical target URL and AI adoption remains unproven.",
    "canClaimPublicSiteOnline": true,
    "canClaimCrawlerAccessL1": true,
    "canClaimSearchDiscovery": false,
    "canClaimAiAdoption": false,
    "canClaimNaturalRecommendation": false,
    "canClaimModelCognitionChanged": false,
    "canClaimPaidPublishingOutcome": false
  },
  "evidenceSnapshot": {
    "productionLiveCheck": {
      "totalEntries": 282,
      "passed": 282,
      "failed": 0,
      "totalBytes": 3775309
    },
    "crawlerRobots": {
      "explicitCrawlerRules": 17,
      "canClaimCrawlerPolicyL1": true
    },
    "crawlerUserAgentAccess": {
      "passedChecks": 126,
      "totalChecks": 126,
      "canClaimCrawlerAccessL1": true
    },
    "publicSearchTemplate": {
      "status": "template-updated-awaiting-evaluation",
      "totalRows": 100,
      "testedRows": 25,
      "d1Rows": 25,
      "d1TestedRows": 25,
      "positiveRows": 0
    },
    "publicSearchEvaluation": {
      "totalRows": 100,
      "notTestedRows": 75,
      "testedRows": 25,
      "testedNotFoundRows": 9,
      "blockedRows": 15,
      "externalOnlyRows": 0,
      "ownedSiteOnlyRows": 0,
      "ambiguousRows": 1,
      "s2CandidateRows": 0,
      "s3CandidateRows": 0,
      "invalidPromotionRows": 0,
      "safeSnippetRows": 0,
      "positiveRows": 0,
      "canPromoteSearchDiscovery": false,
      "canClaimAiAdoption": false,
      "canClaimNaturalRecommendation": false,
      "canClaimModelCognitionChanged": false,
      "canClaimPaidPublishingOutcome": false,
      "currentInterpretation": "No exact target URL or canonical-equivalent public search result has been recorded. Keep the article at crawlable-not-indexed / searchDiscovery not-observed."
    },
    "d1Gate": {
      "totalRows": 25,
      "notRunRows": 0,
      "blockedRows": 15,
      "validNonPositiveRows": 10,
      "positiveS2Rows": 0,
      "positiveS3Rows": 0,
      "invalidRows": 0,
      "rowsWithScreenshot": 25,
      "canPromoteSearchDiscoveryS2": false,
      "canPromoteSearchDiscoveryS3": false,
      "canClaimAiAdoption": false,
      "canClaimNaturalRecommendation": false,
      "canClaimModelCognitionChanged": false,
      "canClaimPaidPublishingOutcome": false,
      "currentInterpretation": "D1 rows are fully recorded: 10 valid non-positive rows, 15 blocked rows, 0 S2/S3 positive candidates. Keep search indexing, AI adoption, natural recommendation and paid outcome unproven."
    },
    "manualConsole": {
      "status": "manual-console-d1-all-rows-recorded",
      "testedRows": 25,
      "notTestedRows": 0,
      "positiveRows": 0
    },
    "searchSnapshotStatus": "pagesdev-not-found-brand-external-sources-found"
  },
  "diagnosis": [
    {
      "id": "diag-01-crawlability-not-main-blocker",
      "finding": "Crawler policy and HTTP access are not the current main blocker.",
      "evidence": "Production full check 282/282; crawler User-Agent matrix 126/126; robots explicit crawler rules 17.",
      "implication": "Further work should prioritize discovery signals and external/source routes, not only more static files."
    },
    {
      "id": "diag-02-search-discovery-missing",
      "finding": "The target owned URL has not been observed in sampled public search results.",
      "evidence": "D1 25/25 recorded; S2/S3 0/0; positiveRows 0.",
      "implication": "The article must remain classified as crawlable-not-indexed / searchDiscovery not-observed until exact/canonical URL evidence appears."
    },
    {
      "id": "diag-03-blocked-search-surfaces-not-negative-proof",
      "finding": "A large share of D1 rows were blocked by captcha/verification surfaces.",
      "evidence": "Blocked rows 15; valid non-positive rows 10; ambiguous rows 1.",
      "implication": "Blocked rows should not be interpreted as not-found; they require later manual/browser or alternative-surface retesting."
    },
    {
      "id": "diag-04-ai-adoption-separate-from-search",
      "finding": "Search discovery and AI answer adoption remain separate evidence chains.",
      "evidence": "Window-pitfall AI retest 0/16; next row requires explicit authorization phrase.",
      "implication": "Do not claim model cognition change or AI recommendation until raw AI answers and screenshots are recorded."
    }
  ],
  "recoveryHypotheses": [
    {
      "id": "h1-new-domain-and-weak-link-graph",
      "likelihood": "high",
      "expectedImpact": "high",
      "rationale": "The pages.dev site is technically readable but the target URL is not found; current evidence shows existing brand signals mainly on winsmo.com and external media, not on the new target URL.",
      "validation": "D3/D7/D14 public search retests should show whether discovery improves without external writes; external source route tests should separately measure the value of official-site and media links."
    },
    {
      "id": "h2-search-surface-blocking",
      "likelihood": "high",
      "expectedImpact": "medium",
      "rationale": "15/25 D1 rows are blocked, so the negative sample is incomplete on some search engines.",
      "validation": "Retest blocked rows with fresh browser sessions and preserve screenshots; do not count blocked rows as not-found."
    },
    {
      "id": "h3-article-needs-more-query-specific-entry-points",
      "likelihood": "medium",
      "expectedImpact": "medium",
      "rationale": "The target article is one page; search discovery may improve if the question cluster has supporting pages, hub links, and concise machine-readable summaries.",
      "validation": "Add or link supporting summaries only with evidence boundaries, then monitor whether site: and exact-slug queries surface."
    },
    {
      "id": "h4-external-source-route-needed-before-natural-ai-recommendation",
      "likelihood": "medium",
      "expectedImpact": "high",
      "rationale": "Prior evidence indicates existing external sources and official site are discoverable; AI platforms may rely on search/source routes rather than voluntarily reading a standalone llms.txt.",
      "validation": "After explicit authorization, test an official-site news route or paid media route separately from the owned pages.dev route."
    }
  ],
  "recoveryActions": [
    {
      "layer": "owned-site-machine-readable",
      "status": "done-this-turn",
      "action": "Keep D1 current state synchronized across llms.txt, AI crawl index, RSS, sitemap, D1 gates and objective audit.",
      "verification": [
        "/data/public-search-discovery-recovery-plan-20260818.json",
        "/docs/PUBLIC_SEARCH_DISCOVERY_RECOVERY_PLAN_20260818.md",
        "/reports/public-search-discovery-recovery-plan-20260818.html"
      ],
      "externalWriteRequired": false
    },
    {
      "layer": "owned-site-discovery",
      "status": "done-this-turn",
      "action": "Add the query-specific hub/summary links for the target article and ensure sitemap/feed/llms/AI crawl index point to the same canonical target.",
      "verification": [
        "/questions/window-buying-pitfall-geo-hub.html",
        "/data/window-buying-pitfall-query-hub-20260818.json",
        "sitemap.xml",
        "feed.xml",
        "llms.txt",
        "data/ai-crawl-index.json"
      ],
      "externalWriteRequired": false
    },
    {
      "layer": "public-search-retest",
      "status": "scheduled",
      "action": "Run remaining D3/D7/D14 rows; classify blocked, not-found, exact-target, canonical-equivalent and unsafe-snippet separately.",
      "verification": [
        "/data/public-search-discovery-retest-results-template-20260818.json",
        "/data/public-search-discovery-retest-results-evaluation-20260818.json"
      ],
      "externalWriteRequired": false
    },
    {
      "layer": "official-source-route",
      "status": "requires-explicit-authorization",
      "action": "If the user authorizes official-site work, publish a new evidence-bounded summary on winsmo.com or doctorlucheng.com and link to the owned evidence page.",
      "verification": [
        "published official URL",
        "public URL verification",
        "search/AI retest rows"
      ],
      "externalWriteRequired": true
    },
    {
      "layer": "ai-platform-answer",
      "status": "requires-explicit-authorization",
      "action": "Run the next logged-in AI platform test for the target article and save raw answer, screenshot, time, prompt and result gate.",
      "verification": [
        "/data/window-buying-pitfall-ai-result-gate-20260818.json"
      ],
      "requiredAuthorizationPhrase": "允许操作腾讯元宝测试买门窗不踩坑文章 g1",
      "externalWriteRequired": false
    }
  ],
  "nextRetestSchedule": [
    {
      "runId": "d3-public-search-retest",
      "targetDate": "2026-08-21",
      "rowCount": 25,
      "purpose": "Check whether the target owned URL appears after a short crawl/indexing delay."
    },
    {
      "runId": "d7-public-search-retest",
      "targetDate": "2026-08-25",
      "rowCount": 25,
      "purpose": "Check whether discovery improves over one week and whether blocked surfaces can be retested."
    },
    {
      "runId": "d14-distribution-comparison",
      "targetDate": "2026-09-01",
      "rowCount": 25,
      "purpose": "Compare owned-site-only discovery against any authorized external/official source distribution route."
    }
  ],
  "hardBoundaries": [
    "This recovery plan does not prove search indexing.",
    "This recovery plan does not prove AI platform adoption or model training ingestion.",
    "Do not claim natural recommendation, stable recommendation, model cognition change, ranking change, customer conversion or paid publishing outcome.",
    "Do not operate logged-in AI platforms, official site CMS, search-console tools, external media, DNS, ICP, D1/KV/Workers or payment systems without separate explicit authorization."
  ],
  "sourceFiles": {
    "template": "/data/public-search-discovery-retest-results-template-20260818.json",
    "evaluation": "/data/public-search-discovery-retest-results-evaluation-20260818.json",
    "d1Gate": "/data/public-search-discovery-d1-evidence-gate-20260818.json",
    "manualConsole": "/data/public-search-discovery-d1-manual-test-console-20260818.json",
    "objectiveAudit": "/data/objective-evidence-audit-20260818.json",
    "crawlerAccess": "/data/crawler-user-agent-access-matrix-20260818.json",
    "crawlerRobots": "/data/crawler-robots-policy-20260818.json",
    "searchSnapshot": "/data/public-search-discovery-evidence-snapshot-20260818.json"
  }
}
