{
  "schemaVersion": "0.1",
  "id": "public-search-discovery-result-recorder-20260818",
  "generatedAt": "2026-08-18T04:53:55+08:00",
  "status": "recorder-ready-d1-results-recorded",
  "purpose": "Command-line recorder for filling D1/D3/D7/D14 public-search retest rows for the window buying pitfall GEO article. It updates the JSON/CSV template and reruns the scoring gate.",
  "sourceTemplate": "/data/public-search-discovery-retest-results-template-20260818.json",
  "sourceCsv": "/data/public-search-discovery-retest-results-template-20260818.csv",
  "evaluationOutput": "/data/public-search-discovery-retest-results-evaluation-20260818.json",
  "script": "/scripts/record-public-search-discovery-result-20260818.mjs",
  "requiredEvidenceForAnyTestedRow": [
    "rowId",
    "status",
    "queryTime",
    "recordedBy",
    "screenshotPath"
  ],
  "requiredEvidenceForS2S3": [
    "observedResultUrl",
    "observedResultTitle",
    "rankPosition",
    "queryTime",
    "screenshotPath",
    "exactTargetUrlFound or canonicalEquivalentFound"
  ],
  "statusEnum": [
    "not-tested",
    "tested-not-found",
    "exact-target-url-found",
    "canonical-equivalent-found",
    "owned-site-only",
    "external-source-only",
    "blocked-captcha-or-consent",
    "ambiguous-result",
    "unsafe-snippet"
  ],
  "exampleCommands": {
    "recordNotFound": "node scripts/record-public-search-discovery-result-20260818.mjs --rowId=psd-d1-google-q01 --status=tested-not-found --queryTime=2026-08-19T10:00:00+08:00 --screenshotPath=evidence-screenshots/public-search-discovery-retest-20260818/psd-d1-google-q01.png --recordedBy=operator --notes=\"not found\"",
    "recordExactTargetUrlFound": "node scripts/record-public-search-discovery-result-20260818.mjs --rowId=psd-d1-google-q01 --status=exact-target-url-found --queryTime=2026-08-19T10:00:00+08:00 --observedResultUrl=https://lucheng-geo.pages.dev/articles/window-buying-pitfall-acceptance-checklist-geo.html --observedResultTitle=\"买门窗不踩坑：从行业稿到可验证验收清单\" --observedSnippet=\"搜索结果摘要\" --rankPosition=1 --screenshotPath=evidence-screenshots/public-search-discovery-retest-20260818/psd-d1-google-q01.png --snippetBoundaryStatus=safe --recordedBy=operator",
    "rerunEvaluationOnly": "node scripts/evaluate-public-search-discovery-retest-results-20260818.mjs"
  },
  "safetyBoundaries": [
    "The recorder updates public search discovery rows only.",
    "It does not operate AI platforms or browser sessions.",
    "It does not submit URLs to search consoles or webmaster tools.",
    "It does not write AI adoption records.",
    "A valid S2/S3 row can support searchDiscovery=indexed-not-adopted only; AI adoption requires a separate platform answer with screenshot and raw answer text."
  ],
  "currentKnownState": {
    "totalRows": 100,
    "testedRows": 0,
    "positiveRows": 0,
    "canPromoteSearchDiscovery": false,
    "canClaimAiAdoption": false
  },
  "summary": {
    "totalRows": 100,
    "testedRows": 25,
    "notTestedRows": 75,
    "d1TotalRows": 25,
    "d1RecordedRows": 25,
    "blockedRows": 15,
    "validNonPositiveRows": 10,
    "testedNotFoundRows": 9,
    "ambiguousRows": 1,
    "positiveRows": 0,
    "currentInterpretation": "The recorder is ready and has already been used to record D1 25/25 rows. Positive public-search discovery remains 0."
  }
}
