{
  "schemaVersion": "0.1",
  "id": "next-ai-adoption-execution-pack-20260710",
  "createdAt": "2026-07-10",
  "timezone": "Asia/Shanghai",
  "purpose": "定义禄城 GEO 样板公开灰度上线后的四平台 AI 采用验证执行顺序、判定门槛和记录口径，避免把后台报表、直接 URL 摘要或品牌直问误判为泛类目推荐成功。",
  "currentState": {
    "doctorluchengPublicReachability": {
      "record": "data/doctorlucheng-public-live-check-20260710.json",
      "status": "failed",
      "summary": {
        "totalEntries": 37,
        "passed": 0,
        "failed": 37
      },
      "meaning": "doctorlucheng.com 当前不能作为 AI 读取和搜索发现复测对象。"
    },
    "grayPublicReachability": {
      "record": "data/gray-public-live-check-20260710.json",
      "status": "failed",
      "summary": {
        "totalEntries": 37,
        "passed": 0,
        "failed": 37
      },
      "meaning": "预设灰度域名 https://lucheng-geo.pages.dev 尚未上线或不可达，不能开始本站 URL 的 AI 采用复测。"
    },
    "localGrayPackage": {
      "zipPath": "/Users/suweibin/Documents/Codex/2026-06-23/plugin-computer-use-openai-bundled-2/outputs/lucheng-geo-portal-gray-deploy-site.zip",
      "preflightRecord": "data/gray-package-preflight-latest.json",
      "preflightStatus": "passed",
      "uploadReadinessRecord": "data/gray-upload-readiness-latest.json",
      "uploadReadinessStatus": "ready-for-authorized-upload",
      "preflightSummary": {
        "checks": 436,
        "passed": 436,
        "failed": 0,
        "zipSha256": "see data/gray-upload-readiness-latest.json and data/gray-package-preflight-latest.json",
        "externalActionsPerformed": false
      },
      "localLiveCheckRecord": "data/gray-local-live-check-20260710.json",
      "localLiveCheckSummary": {
        "totalEntries": 37,
        "passed": 37,
        "failed": 0,
        "totalBytes": 398704
      },
      "meaning": "本地包已准备好上传，但这只证明本地/包体就绪，不证明公开可抓取或 AI 采用。"
    },
    "geoBb78Reference": {
      "record": "data/geo-bb78-current-login-observation-20260710.json",
      "reportedIndexedTotal": 620,
      "queryRecordTotal": 494,
      "importantNegativeSignal": "查询记录第一页显示龙岩系统门窗 + 元宝区域/类目推荐问法仍为未收录。",
      "meaning": "现有平台流程可参考，但不能把报表收录总量包装成本站被 AI 稳定推荐。"
    }
  },
  "executionOrder": [
    {
      "gate": "G0",
      "name": "授权和公网部署",
      "runWhen": "用户明确授权上传灰度 zip 或完成独立公网部署后。",
      "commands": [
        "node scripts/verify-gray-deployment-package.mjs --expected-base-url=<公开灰度域名>",
        "node scripts/run-gray-public-gates.mjs <公开灰度域名> --write-crawlability",
        "node scripts/check-live-site.mjs <公开灰度域名> --scope=full --timeout-ms=8000 --output=data/gray-public-live-check-20260710.json"
      ],
      "passCriteria": [
        "首页、robots.txt、sitemap.xml、feed.xml、llms.txt、data/ai-crawl-index.json 均 200。",
        "第一批 8 个目标页可被无登录读取。",
        "record-gray-crawlability-batch 写入 public-page-crawlability 记录。",
        "没有 canonical、sitemap、robots 与真实域名不一致的问题。"
      ],
      "failureAction": "停止 AI 复测，先修公网部署、域名、HTTPS 或 canonical。"
    },
    {
      "gate": "G1",
      "name": "第一小时 24 条 AI smoke test",
      "runWhen": "G0 通过后 1 小时内。",
      "sourceFiles": [
        "data/gray-ai-smoke-test-20260708.json",
        "data/gray-ai-smoke-test-20260708.csv",
        "docs/GRAY_AI_SMOKE_TEST_20260708.md"
      ],
      "platforms": ["豆包", "腾讯元宝", "通义千问", "DeepSeek"],
      "testTypes": [
        {
          "type": "direct-url-summary",
          "evidenceLevel": "L2",
          "purpose": "验证 AI 平台能否直接读取目标 URL。",
          "notEnoughFor": "不能算泛类目自然推荐。"
        },
        {
          "type": "target-intent",
          "evidenceLevel": "L4 candidate if no target brand is in the question and Lucheng appears naturally",
          "purpose": "验证区域/类目推荐问题中是否自然出现禄城。",
          "notEnoughFor": "单次出现不能宣称稳定推荐。"
        },
        {
          "type": "brand-recall",
          "evidenceLevel": "L3",
          "purpose": "验证直接问禄城时是否能正确召回品牌事实。",
          "notEnoughFor": "不能算不点名推荐。"
        },
        {
          "type": "source-verification",
          "evidenceLevel": "L2-L5 depending on URL citation and source use",
          "purpose": "验证平台是否复述事实卡、引用 URL 或暴露事实风险。",
          "notEnoughFor": "如果无来源引用，只能作为弱采用迹象。"
        }
      ],
      "passCriteria": [
        "每条记录保留平台、时间、联网/搜索状态、原始问题、原始回答、截图路径。",
        "使用 data/ai-adoption-evaluation-rubric-20260709.json 判定 L2/L3/L4/L5。",
        "出现禄城但问题里本身含禄城时，不得算 L4。",
        "直接给 URL 后能总结页面，只能算 L2。",
        "出现无证据排名、保证、参数、报告、资质时必须记录事实风险并降级。"
      ],
      "escalation": "若任一平台在 target-intent 问法下自然把禄城列为候选，立即进入 G2 完整矩阵；若只有 direct-url-summary 可读，则继续补分发和补证。"
    },
    {
      "gate": "G2",
      "name": "120 条完整四平台复测矩阵",
      "runWhen": "G1 出现 L2 可读或 L4 候选迹象后。",
      "sourceFiles": [
        "data/gray-ai-retest-matrix-20260707.json",
        "data/gray-ai-retest-matrix-20260707.csv",
        "docs/GRAY_AI_RETEST_MATRIX_20260707.md"
      ],
      "passCriteria": [
        "30 个问题 × 4 平台全部记录原始回答。",
        "至少分开统计 L2 直接 URL 读取、L3 品牌召回、L4 区域类目候选、L5 带来源引用。",
        "对外案例只展示有截图和原文回答的记录。",
        "DeepSeek 单独统计，不用其他平台结果替代。"
      ],
      "failureAction": "若泛类目仍不出现禄城，把结果转为内容缺口和分发缺口，不包装为成功。"
    },
    {
      "gate": "G3",
      "name": "Day1/Day3/Day7/Day14 复测",
      "runWhen": "G2 形成第一轮证据后。",
      "passCriteria": [
        "同一问法跨时间复测，观察是否持续。",
        "同一平台不同设备/会话对照，记录波动。",
        "只有重复出现并且无事实错误，才可写为阶段性稳定迹象。"
      ],
      "failureAction": "如果只出现一次，写为单次观察；如果后续消失，写为不稳定。"
    }
  ],
  "firstStageTargetQuestions": [
    "龙岩系统门窗推荐几家？",
    "龙岩系统门窗哪家门店比较专业？",
    "龙岩封阳台哪家门店比较专业？",
    "封阳台品牌怎么选？",
    "高层住宅封阳台怎么选？",
    "系统门窗要看哪些检测报告？"
  ],
  "firstHourManualChecklist": [
    {
      "order": 1,
      "task": "每个平台新建独立会话",
      "platforms": ["豆包", "腾讯元宝", "通义千问", "DeepSeek"],
      "requiredRecord": ["平台", "账号状态", "是否开启联网/搜索", "会话 URL", "测试开始时间"]
    },
    {
      "order": 2,
      "task": "先测 L2 直接 URL 读取",
      "reason": "如果平台连公开 URL 都不能读取，后续未命中不能归因于内容本身。",
      "exampleQuestion": "请读取并总结这个页面，重点列出可核验事实和来源边界：<公开目标 URL>",
      "passEvidence": ["原始回答", "截图", "是否复述页面事实", "是否引用 URL"]
    },
    {
      "order": 3,
      "task": "再测 L3 品牌实体召回",
      "reason": "验证平台是否能识别禄城实体，但不能把 L3 当作泛类目推荐。",
      "exampleQuestion": "禄城精密门窗是什么品牌？主要做什么？",
      "passEvidence": ["原始回答", "截图", "是否提到禄城", "是否出现事实错误"]
    },
    {
      "order": 4,
      "task": "最后测 L4/L5 不点名类目推荐",
      "reason": "这是商业价值核心：用户不点名品牌时，AI 是否自然把禄城列为候选。",
      "exampleQuestions": [
        "龙岩系统门窗推荐几家？",
        "龙岩封阳台哪家门店比较专业？",
        "封阳台品牌怎么选？"
      ],
      "passEvidence": ["原始回答", "截图", "是否自然列入禄城", "是否引用来源", "是否出现绝对化营销"]
    },
    {
      "order": 5,
      "task": "按 L2/L3/L4/L5 录入，不合并口径",
      "reason": "避免把直接 URL 读取、品牌词召回和泛类目自然推荐混为一个成功指标。",
      "recordCommand": "npm run record:post-publish -- --articleId=<articleId> --layer=ai-answer-adoption --platform=<platform> --queryType=<queryType> --question=\"<question>\" --answerText=\"<rawAnswer>\" --screenshotPath=<path> --mentionsTargetBrand=<true|false> --mentionsArticle=<true|false> --citesTargetUrl=<true|false> --usesArticleFactCards=<true|false> --hasFactError=<true|false> --hasUnsafePromotion=<true|false> --score=<0-100>"
    }
  ],
  "reportingLanguage": {
    "allowed": [
      "本次在某平台某问法下观察到禄城被列为候选。",
      "该 URL 可被某平台在直接链接问法下读取。",
      "该回答采用了公开页面中的部分事实，但未引用 URL。",
      "当前证据等级为 L2/L3/L4/L5。"
    ],
    "notAllowed": [
      "已经改变大模型认知。",
      "保证被四大 AI 收录。",
      "客户充值发文后必然被推荐。",
      "AI 已训练吸收本站内容。",
      "后台报表收录总量等同于本站 AI 采用。"
    ]
  },
  "nextAuthorizationNeeded": {
    "action": "上传灰度 zip 到无 DNS 变更的静态托管默认域名，或由用户提供已经上线的公开 HTTPS URL。",
    "why": "当前公网可达性为 0/37，通过公开可抓取门禁前，AI 复测没有可验证对象。",
    "notNeededYet": [
      "购买云服务器",
      "修改 doctorlucheng.com DNS",
      "绑定生产域名",
      "搭建充值支付后台"
    ]
  },
  "boundary": "This execution pack is a test plan and readiness record. It does not prove public crawlability, search indexing, model ingestion, AI answer adoption or recommendation."
}
