{
  "project": "openlx-meituan-hotel-ops",
  "version": "0.1.2",
  "baseline": "V1.0",
  "at": "2026-09-05T18:59:33.269Z",
  "overall": "PARTIAL",
  "requirements": 64,
  "items": [
    {
      "id": "T01",
      "scope": "ADV-01",
      "scenario": "独立安装",
      "expected": "无需携程助手或AG1—AG6可安装启动；依赖清单真实。",
      "actual_status": "PASS",
      "evidence": "evidence/installation.json",
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T02",
      "scope": "ADV-01",
      "scenario": "首次Chrome登录",
      "expected": "打开专属Chrome，用户完成验证并识别实际门店。",
      "actual_status": "BLOCKED",
      "evidence": [],
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "未提供试点门店和有效账号会话；真实登录识别待做"
    },
    {
      "id": "T03",
      "scope": "ADV-01",
      "scenario": "登录态重启复用",
      "expected": "重启运行器后有效会话可复用；失效明确提示。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/browser-final.txt"
      ],
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "仅验证本地Chrome持久会话；美团服务端登录态重启复用未验证"
    },
    {
      "id": "T04",
      "scope": "ADV-01",
      "scenario": "账号/门店隔离",
      "expected": "多店账号每次读写核对门店，跨店提案不执行。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "仅本地确定性规则或模拟链路验证，真实账号范围未核验"
    },
    {
      "id": "T05",
      "scope": "ADV-01",
      "scenario": "浏览器并发",
      "expected": "同Profile不多开；同门店写串行，人工接管暂停相关写。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T06",
      "scope": "ADV-01",
      "scenario": "凭证不泄露",
      "expected": "源码、Release、日志、HTML、模型请求不含Cookie/令牌/Profile。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T07",
      "scope": "ADV-02",
      "scenario": "免费完整体检",
      "expected": "全部已发现问题与解决建议可见，不隐藏关键风险。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/diagnosis.mjs",
        "runtime/report.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T08",
      "scope": "ADV-02",
      "scenario": "无数据/旧数据",
      "expected": "UNKNOWN/STALE显示明确，不填随机值或伪造高分。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/diagnosis.mjs",
        "runtime/report.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T09",
      "scope": "ADV-02",
      "scenario": "首次无历史",
      "expected": "先交付当前可证实问题与补数清单，不因不足28天停工。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/diagnosis.mjs",
        "runtime/report.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T10",
      "scope": "ADV-03",
      "scenario": "资料真实修改",
      "expected": "原值/新值/依据清楚，可确认落地；虚构设施提案被拒。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "rules/assets.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "介绍提案与事实保护已实现；实际资料字段映射、提交待验证"
    },
    {
      "id": "T11",
      "scope": "ADV-03",
      "scenario": "名称地理真实性",
      "expected": "不改成虚假挂牌名，不伪造位置、距离、星级、景观。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "rules/assets.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "只允许已核实事实组合；实际名称、地理字段尚未适配"
    },
    {
      "id": "T12",
      "scope": "ADV-03",
      "scenario": "素材归属",
      "expected": "照片绑定正确酒店与房型；缺授权的人物素材不公开。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "权利/房型匹配已测；真实照片及人物授权资料未提供"
    },
    {
      "id": "T13",
      "scope": "ADV-04",
      "scenario": "优惠叠加计算",
      "expected": "可复算客人支付、平台/商家补贴、计佣与净结算。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T14",
      "scope": "ADV-04",
      "scenario": "缺计佣规则",
      "expected": "输出待核验，不伪造精确利润或进行未知损益自动活动。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T15",
      "scope": "ADV-04",
      "scenario": "净结算不重复扣费",
      "expected": "已扣佣金/优惠的结算不能再次扣除。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T16",
      "scope": "ADV-04",
      "scenario": "团购不同阶段",
      "expected": "售券、预约、入住、核销、退款不混算房晚。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T17",
      "scope": "ADV-05",
      "scenario": "权威库存缺失",
      "expected": "不把渠道配额当全店库存，不自主开房或承诺未知库存。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "rules/diagnosis.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "没有接入真实PMS或全渠道库存"
    },
    {
      "id": "T18",
      "scope": "ADV-05",
      "scenario": "PMS或平台工具冲突",
      "expected": "逐字段主控权明确；外部覆盖发现后停止相关策略。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "rules/diagnosis.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "主控配置与冲突保护已测；PMS覆盖实测待做"
    },
    {
      "id": "T19",
      "scope": "ADV-05",
      "scenario": "开关房确认",
      "expected": "明确数量和日期的批准可执行，执行后核对可售状态。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "rules/diagnosis.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "人工明确数量确认链路模拟通过；真实开关房未操作"
    },
    {
      "id": "T20",
      "scope": "ADV-06",
      "scenario": "标准版规则自动调价",
      "expected": "不是只生成建议；获授权范围内可自动提交并核验。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs",
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "标准自动调价通过Mock及真实Chrome本地模拟后台；美团账号实际改价未执行"
    },
    {
      "id": "T21",
      "scope": "ADV-06",
      "scenario": "房价下限与频次",
      "expected": "挂牌/结算底线、幅度、累计幅度和次数均正确生效。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T22",
      "scope": "ADV-06",
      "scenario": "数据已被人工修改",
      "expected": "执行前重读不一致不覆盖新值；提案重新计算。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T23",
      "scope": "ADV-06",
      "scenario": "提交超时不重复写",
      "expected": "先核验结果，再决定重试，保持幂等。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T24",
      "scope": "ADV-06",
      "scenario": "有条件恢复",
      "expected": "有后续人工/PMS改动不覆盖；不可逆业务不虚构一键回滚。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "有条件恢复提案已测；真实补偿操作未执行"
    },
    {
      "id": "T25",
      "scope": "ADV-06",
      "scenario": "至尊多因素策略",
      "expected": "有证据比较策略，不假定全局最优、不机械跟跌。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "多信号情景和约束已实现；可靠经营信号及收益改善未观察"
    },
    {
      "id": "T26",
      "scope": "ADV-06",
      "scenario": "钟点房与午夜",
      "expected": "时段、清洁缓冲、不可售冲突和平台营业日期正确。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "营业日与时段冲突已测；真实钟点/连住商品与时段库存接入未完成"
    },
    {
      "id": "T27",
      "scope": "ADV-07",
      "scenario": "竞品可比口径",
      "expected": "入住日期、人数、权益、退改、优惠条件与采样时间齐备。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "可比条件比较已测；真实同行集合和报价未获取"
    },
    {
      "id": "T28",
      "scope": "ADV-07",
      "scenario": "售罄与采集失败",
      "expected": "不同状态显示，不用0元或假价格补齐。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "失败与售罄区分已测；真实采样未完成"
    },
    {
      "id": "T29",
      "scope": "ADV-07",
      "scenario": "频次和日期覆盖",
      "expected": "30/90天是窗口；实际覆盖清楚，遵守数据源额度和限制。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/metrics.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "分层频次、7/30/90天轮换日期计划已实现并测试；实际导航、自动翻页及完整日期覆盖未适配"
    },
    {
      "id": "T30",
      "scope": "ADV-08",
      "scenario": "事件可核验",
      "expected": "地点、时间、来源与有效期齐备，过期或不确定不单独触发涨价。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/revenue.mjs",
        "rules/diagnosis.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "事件校验与过期保护已实现；本地真实活动数据源未接入"
    },
    {
      "id": "T31",
      "scope": "ADV-09",
      "scenario": "订单提醒调度",
      "expected": "独立于竞品扫描；原生接单/提醒不重复处理。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/scheduler.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "独立优先任务已测；真实原生订单提醒/通知和时限待核验"
    },
    {
      "id": "T32",
      "scope": "ADV-09",
      "scenario": "真实接单与履约",
      "expected": "仅在授权和库存条件满足时接单，不提前入住或虚假核销。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/scheduler.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "库存/原生接单保护已测；实际接单、到店、核销未执行"
    },
    {
      "id": "T33",
      "scope": "ADV-09",
      "scenario": "退款拒单等确认",
      "expected": "不可逆或财务承诺未获明确批准不自动执行。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "runtime/scheduler.mjs",
        "runtime/actions.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "财务及不可逆动作需具体批准；实际退款/拒单流程未适配"
    },
    {
      "id": "T34",
      "scope": "ADV-10",
      "scenario": "免费好评自动回复",
      "expected": "真实未回复明确正向点评可定时生成、提交与核验。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "免费定时明确正向回复模拟通过；真实未回复点评尚未取得，未发布"
    },
    {
      "id": "T35",
      "scope": "ADV-10",
      "scenario": "五星含投诉",
      "expected": "必须进入待确认，不能仅按星级自动发布。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T36",
      "scope": "ADV-10",
      "scenario": "差评草案与批准",
      "expected": "事实缺口可补充；批准绑定文本版本，变更使旧批准失效。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "具体文本hash批准已测；真实差评未提供和发布"
    },
    {
      "id": "T37",
      "scope": "ADV-10",
      "scenario": "点评重复任务",
      "expected": "同review_id不重复回复；提交不确定先回读。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "重复与不确定提交保护已测；真实点评回读未完成"
    },
    {
      "id": "T38",
      "scope": "ADV-10",
      "scenario": "整改闭环",
      "expected": "问题、负责人/角色、核实状态和复发可追踪；不编造已整改。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "责任人/核实/复发记录已实现；没有真人整改证据"
    },
    {
      "id": "T39",
      "scope": "ADV-11",
      "scenario": "文件夹稳定去重",
      "expected": "未写完文件等待，哈希去重，不因单张不合格阻断其他素材。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T40",
      "scope": "ADV-11",
      "scenario": "素材到店铺执行",
      "expected": "完成匹配、提案、确认、应用与核验，不以文案生成冒充已更新。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "稳定扫描、配对、原图保留压缩、去元数据、确认裁切及上传执行器已建；真实上传、审核与公开回读未完成"
    },
    {
      "id": "T41",
      "scope": "ADV-11",
      "scenario": "无游记与无强制日更",
      "expected": "无携程笔记/游记残留；日巡检不等于每日强制改图改名。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "尚无对应独立自动测试，保留未验收"
    },
    {
      "id": "T42",
      "scope": "ADV-11",
      "scenario": "广告费用与归因",
      "expected": "费用、净结算与平台归因分开，不把ROAS当净利润。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "费用、归因、贡献口径已测；真实推广结算和归因数据未接入"
    },
    {
      "id": "T43",
      "scope": "ADV-11",
      "scenario": "广告授权",
      "expected": "默认不充值不增预算；批准绑定金额、活动、日期与有效期。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "金额范围批准保护已测；实际推广调节入口未适配，未授权支出次数为0"
    },
    {
      "id": "T44",
      "scope": "ADV-11",
      "scenario": "排名抽样",
      "expected": "场景固定记录，自然/付费区分，未在前N出现不虚构绝对名次。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "固定场景数据结构已测；公开搜索自然/广告实际采样未完成"
    },
    {
      "id": "T45",
      "scope": "ADV-11",
      "scenario": "不制造行为指标",
      "expected": "不刷点击、收藏、订单、评价，不用访客模拟来制造排名。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "尚无对应独立自动测试，保留未验收"
    },
    {
      "id": "T46",
      "scope": "ADV-12",
      "scenario": "订单房晚口径",
      "expected": "支付、有效预订与实际履约分开；部分取消和连住可复算。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T47",
      "scope": "ADV-12",
      "scenario": "HTML完整且离线可读",
      "expected": "有证据/动作/状态，手机和桌面可用；图表对应真实数据。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs",
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T48",
      "scope": "ADV-12",
      "scenario": "付费无推广署名",
      "expected": "HTML与打印版无OpenLX/法匠推广字样，保留来源和必要标识。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T49",
      "scope": "ADV-12",
      "scenario": "报告与网页注入",
      "expected": "转义评论等外部文本；静态报告不能自行发起改价。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs",
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt",
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T50",
      "scope": "ADV-12",
      "scenario": "改善与因果分开",
      "expected": "样本、日期、活动、天气等条件清楚；未验证增量不声称增收。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "复查记录与描述性比较已实现；7/14/28天真实经营观察未开始"
    },
    {
      "id": "T51",
      "scope": "COMMERCIAL",
      "scenario": "定价准确",
      "expected": "标准1490/2990/7990分；至尊4990/9990/29990分；季度三个月。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "src/server.mjs",
        "src/store.mjs",
        "src/bridge.mjs",
        "src/entitlements.mjs",
        "runtime/commerce.mjs",
        "runtime/license.mjs",
        "runtime/device.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T52",
      "scope": "COMMERCIAL",
      "scenario": "支付与权益幂等",
      "expected": "重复通知不重复发证；订单权益快照可查。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "src/server.mjs",
        "src/store.mjs",
        "src/bridge.mjs",
        "src/entitlements.mjs",
        "runtime/commerce.mjs",
        "runtime/license.mjs",
        "runtime/device.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "统一身份、原支付模块桥及发证服务已接入部署，模拟金额/幂等/设备/通票范围验证通过；实际注册送达、交易与退款未执行"
    },
    {
      "id": "T53",
      "scope": "COMMERCIAL",
      "scenario": "到期与停机",
      "expected": "到期停付费任务，保留免费、数据与原去署名报告；关机不假装在线。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "src/server.mjs",
        "src/store.mjs",
        "src/bridge.mjs",
        "src/entitlements.mjs",
        "runtime/commerce.mjs",
        "runtime/license.mjs",
        "runtime/device.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T54",
      "scope": "COMMERCIAL",
      "scenario": "人工首次服务",
      "expected": "单店首次权益不随月/季续费重置，故障工单不占权益。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "src/server.mjs",
        "src/store.mjs",
        "src/bridge.mjs",
        "src/entitlements.mjs",
        "runtime/commerce.mjs",
        "runtime/license.mjs",
        "runtime/device.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "首次预约及权益去重已测；原官网服务群与个人联系已接入，真人排期和交付未完成"
    },
    {
      "id": "T55",
      "scope": "COMMERCIAL",
      "scenario": "包年成交表达蒸馏",
      "expected": "结构化配置进入真实素材/介绍/回复链路，不是空文档。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "src/server.mjs",
        "src/store.mjs",
        "src/bridge.mjs",
        "src/entitlements.mjs",
        "runtime/commerce.mjs",
        "runtime/license.mjs",
        "runtime/device.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "结构化配置进入介绍/图片选择/套餐/回复函数，尚无真实付费年度人工蒸馏与平台落地证据"
    },
    {
      "id": "T56",
      "scope": "DISTRIBUTION",
      "scenario": "12优势全链一致",
      "expected": "官网/README/权益/配置/验收均为ADV-01到ADV-12，无缩水。",
      "actual_status": "PASS",
      "evidence": "evidence/installation.json",
      "implementation": [
        "scripts/build.mjs",
        "scripts/install.mjs",
        "website/"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T57",
      "scope": "DISTRIBUTION",
      "scenario": "安装与升级卸载",
      "expected": "真实发布包、版本、校验、依赖检查；卸载数据处理明确。",
      "actual_status": "PASS",
      "evidence": "evidence/installation.json",
      "implementation": [
        "scripts/build.mjs",
        "scripts/install.mjs",
        "website/"
      ],
      "automated_test": "PASS",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T58",
      "scope": "DISTRIBUTION",
      "scenario": "站点与GitHub状态",
      "expected": "真实部署才报线上成功；没有部署时提供真实本地构建及缺口。",
      "actual_status": "PASS",
      "evidence": [],
      "implementation": [
        "scripts/build.mjs",
        "scripts/install.mjs",
        "website/"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "官网HTTPS真实回读通过，发行包可构建；GitHub以单独发布证据为准"
    },
    {
      "id": "T59",
      "scope": "RUNTIME",
      "scenario": "单模块失败隔离",
      "expected": "验证码、页面改版、模型断连只暂停受影响动作，报告继续可用。",
      "actual_status": "PARTIAL",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "模块错误隔离已测；账号验证码、真实模型故障、长期无人值守未实测"
    },
    {
      "id": "T60",
      "scope": "RUNTIME",
      "scenario": "急停与恢复",
      "expected": "暂停写入立即有效；恢复重读数据，不执行积压过期提案。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T61",
      "scope": "RUNTIME",
      "scenario": "外部文字不是指令",
      "expected": "评价/页面内提示注入不改变门店、权限、价格与工具调用。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/unit-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs"
      ],
      "test_evidence": [
        "evidence/unit-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T62",
      "scope": "RUNTIME",
      "scenario": "能力/测试诚实回执",
      "expected": "Mock、真实读、真实写、公开回读、业务观察分开；未完成不伪称全部通过。",
      "actual_status": "PASS",
      "evidence": [
        "evidence/browser-final.txt"
      ],
      "implementation": [
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [
        "node --test tests/browser.integration.mjs tests/site.integration.mjs"
      ],
      "test_evidence": [
        "evidence/browser-final.txt"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    },
    {
      "id": "T63",
      "scope": "SCOPE",
      "scenario": "酒店与独立民宿后台",
      "expected": "以实际后台类型映射，未适配入口不宣称已通用，不套用外卖规则。",
      "actual_status": "PARTIAL",
      "evidence": [],
      "implementation": [
        "docs/DECISIONS.md",
        "adapters/meituan/browser.mjs"
      ],
      "automated_test": "NOT_RUN",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "仅酒店后台执行器；独立民宿房东后台明确未适配"
    },
    {
      "id": "T64",
      "scope": "SCOPE",
      "scenario": "零回归",
      "expected": "复用组件不修改携程确认价格/优势/默认策略；原项目测试仍通过。",
      "actual_status": "PASS",
      "evidence": "evidence/ctrip-regression.json",
      "implementation": [
        "docs/DECISIONS.md",
        "adapters/meituan/browser.mjs"
      ],
      "automated_test": "PASS",
      "test_commands": [],
      "test_evidence": [],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "public_readback": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gap": "软件行为测试通过；不代表经营效果"
    }
  ],
  "advantages": [
    {
      "id": "ADV-01",
      "title": "专属Chrome，持续复用登录状态",
      "implementation": [
        "adapters/meituan/browser.mjs",
        "runtime/store.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T01",
        "T02",
        "T03",
        "T04",
        "T05",
        "T06"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "未提供试点门店和有效账号会话；真实登录识别待做",
        "仅验证本地Chrome持久会话；美团服务端登录态重启复用未验证",
        "仅本地确定性规则或模拟链路验证，真实账号范围未核验"
      ]
    },
    {
      "id": "ADV-02",
      "title": "全店经营体检，问题分轻重",
      "implementation": [
        "rules/diagnosis.mjs",
        "runtime/report.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T07",
        "T08",
        "T09"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": []
    },
    {
      "id": "ADV-03",
      "title": "门店资料与图片优化",
      "implementation": [
        "rules/assets.mjs",
        "runtime/actions.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T10",
        "T11",
        "T12"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "介绍提案与事实保护已实现；实际资料字段映射、提交待验证",
        "只允许已核实事实组合；实际名称、地理字段尚未适配",
        "权利/房型匹配已测；真实照片及人物授权资料未提供"
      ]
    },
    {
      "id": "ADV-04",
      "title": "房型套餐与优惠算账",
      "implementation": [
        "rules/metrics.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T13",
        "T14",
        "T15",
        "T16"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": []
    },
    {
      "id": "ADV-05",
      "title": "房态巡检与可售策略",
      "implementation": [
        "runtime/actions.mjs",
        "rules/diagnosis.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T17",
        "T18",
        "T19"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "没有接入真实PMS或全渠道库存",
        "主控配置与冲突保护已测；PMS覆盖实测待做",
        "人工明确数量确认链路模拟通过；真实开关房未操作"
      ]
    },
    {
      "id": "ADV-06",
      "title": "分日期、分时段的收益管理",
      "implementation": [
        "rules/revenue.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T20",
        "T21",
        "T22",
        "T23",
        "T24",
        "T25",
        "T26"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "标准自动调价通过Mock及真实Chrome本地模拟后台；美团账号实际改价未执行",
        "有条件恢复提案已测；真实补偿操作未执行",
        "多信号情景和约束已实现；可靠经营信号及收益改善未观察",
        "营业日与时段冲突已测；真实钟点/连住商品与时段库存接入未完成"
      ]
    },
    {
      "id": "ADV-07",
      "title": "锁定同行，持续价格跟踪",
      "implementation": [
        "rules/metrics.mjs",
        "runtime/scheduler.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T27",
        "T28",
        "T29"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "可比条件比较已测；真实同行集合和报价未获取",
        "失败与售罄区分已测；真实采样未完成",
        "分层频次、7/30/90天轮换日期计划已实现并测试；实际导航、自动翻页及完整日期覆盖未适配"
      ]
    },
    {
      "id": "ADV-08",
      "title": "节假日与本地需求预警",
      "implementation": [
        "rules/revenue.mjs",
        "rules/diagnosis.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T30"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "事件校验与过期保护已实现；本地真实活动数据源未接入"
      ]
    },
    {
      "id": "ADV-09",
      "title": "订单接待与核销核对",
      "implementation": [
        "runtime/scheduler.mjs",
        "runtime/actions.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T31",
        "T32",
        "T33"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "独立优先任务已测；真实原生订单提醒/通知和时限待核验",
        "库存/原生接单保护已测；实际接单、到店、核销未执行",
        "财务及不可逆动作需具体批准；实际退款/拒单流程未适配"
      ]
    },
    {
      "id": "ADV-10",
      "title": "好评自动回复，差评确认发布",
      "implementation": [
        "rules/reviews.mjs",
        "runtime/actions.mjs",
        "runtime/scheduler.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T34",
        "T35",
        "T36",
        "T37",
        "T38"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "免费定时明确正向回复模拟通过；真实未回复点评尚未取得，未发布",
        "具体文本hash批准已测；真实差评未提供和发布",
        "重复与不确定提交保护已测；真实点评回读未完成",
        "责任人/核实/复发记录已实现；没有真人整改证据"
      ]
    },
    {
      "id": "ADV-11",
      "title": "店铺转化与推广效果优化",
      "implementation": [
        "rules/assets.mjs",
        "rules/metrics.mjs",
        "runtime/commerce.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T39",
        "T40",
        "T41",
        "T42",
        "T43",
        "T44",
        "T45"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "稳定扫描、配对、原图保留压缩、去元数据、确认裁切及上传执行器已建；真实上传、审核与公开回读未完成",
        "尚无对应独立自动测试，保留未验收",
        "费用、归因、贡献口径已测；真实推广结算和归因数据未接入",
        "金额范围批准保护已测；实际推广调节入口未适配，未授权支出次数为0",
        "固定场景数据结构已测；公开搜索自然/广告实际采样未完成",
        "尚无对应独立自动测试，保留未验收"
      ]
    },
    {
      "id": "ADV-12",
      "title": "HTML报告与执行复盘",
      "implementation": [
        "runtime/report.mjs",
        "rules/metrics.mjs"
      ],
      "status": "PARTIAL",
      "tests": [
        "T46",
        "T47",
        "T48",
        "T49",
        "T50"
      ],
      "live_read": "NOT_RUN",
      "live_write": "NOT_RUN",
      "business_observation": "NOT_STARTED",
      "gaps": [
        "复查记录与描述性比较已实现；7/14/28天真实经营观察未开始"
      ]
    }
  ],
  "actual_tests": {
    "at": "2026-09-05T18:58:31.674Z",
    "product": "openlx-meituan-hotel-ops",
    "version": "0.1.2",
    "runs": [
      {
        "command": "node --test tests/actions.test.mjs tests/assets-sampling.test.mjs tests/commerce.test.mjs tests/public.test.mjs tests/rules.test.mjs tests/series.test.mjs",
        "environment": "v26.0.0",
        "evidence": "evidence/unit-final.txt",
        "passed": 42,
        "passed_names": [
          "T20 standard automatic price actually invokes submit and verifies with mock transport",
          "T04 T22 current property, date or rate plan drift rejects before submit",
          "T23 T37 uncertain submission reconciles without duplicate writes, even after expiry",
          "T35 T36 mixed review needs hash-bound final approval and changes revoke it",
          "T34 T61 malicious automatic text is rejected despite a positive review label",
          "T60 emergency stop between form preparation and submit blocks the write",
          "T53 paid entitlement is rechecked immediately before submit",
          "T17 T18 T19 inventory requires authority or explicit scoped manual quantity",
          "T32 native auto-accept and premature voucher redemption cannot be duplicated",
          "T43 ad budget cannot bypass exact campaign amount confirmation",
          "T24 conditional restoration rejects later human changes",
          "T05 same account lock rejects simultaneous work, releases on failure",
          "T31 T59 failure isolation preserves urgent order priority and report",
          "T34 scheduled free positive replies submit, mixed review stays pending",
          "T39 T40 prepared image keeps original, strips metadata and enforces actual platform limits",
          "T29 T59 sampling keeps tier horizon and locked peers, rotates coverage and respects source quota",
          "T51 T52 payment amount, provider, idempotency and entitlement snapshot",
          "T53 device-bound signed entitlement expires, refund only records external evidence",
          "T54 T55 initial human service stays once per property and annual service is separate",
          "T06 T49 local web API requires session, CSRF and exact origin; imports cannot claim live",
          "T59 model budget and missing connection only pause model tasks",
          "T47 T48 T49 shared identity product orders signed device license writer lease isolation",
          "T49 signed selected and all passes require user property catalog product expiry and level",
          "T47 T48 public API auth CSRF user isolation and provider-verified callback only",
          "T49 series metadata outbox shares transactions and excludes device secrets",
          "T13 T14 T15 integer money, ordered subsidy and net accounting",
          "T16 T46 multi-room, partial cancellation and actual stays are distinct",
          "T04 T08 invalid dates, conflicting duplicate rows, money and property rejected",
          "T34 T35 T61 only clearly positive text can auto reply, injected and mixed text cannot",
          "T38 remediation requires evidence and tracks recurrence separately from reply",
          "T20 T21 T22 prices enforce paid entitlement, exact scope, net floor and fresh old value",
          "T25 T30 evidence-free event never independently drives price increase",
          "T26 hotel business day, hourly overlap and cleaning buffer",
          "T27 T28 competitive prices require matching product conditions and distinct failures",
          "T42 T44 T50 ranking not-found, ad separation and attribution not causality",
          "T08 incompatible funnel denominators stay unknown",
          "T07 T09 T47 T48 T49 full free offline report, honest unknowns, paid branding and injection",
          "T12 T39 stable asset scan isolates invalid files, rights and cross-property mapping",
          "T55 brand distillation config changes listing selection and actual reply template",
          "T51 baseline prices are separate from the reused product and quarter is three months",
          "T49 series sync signs exact durable batches, retries after lost acknowledgement and preserves later changes",
          "T49 late acknowledgement never regresses cursor or removes a newer pending batch"
        ],
        "status": "PASS"
      },
      {
        "command": "node --test tests/browser.integration.mjs tests/site.integration.mjs",
        "environment": "v26.0.0",
        "evidence": "evidence/browser-final.txt",
        "passed": 3,
        "passed_names": [
          "T03 T20 real Chrome local fixture submits price, persisted reread, repeat does not resubmit",
          "T47 T49 workbench auth, report generation, mobile layout and visible pause",
          "T56 T62 website desktop and mobile show 12 benefits exact prices assets and unified account"
        ],
        "status": "PASS"
      },
      {
        "command": "node --test tests/automation.test.mjs tests/commerce.test.mjs tests/licensing.test.mjs tests/runtime.test.mjs tests/series.test.mjs",
        "environment": "v26.0.0",
        "evidence": "evidence/ctrip-regression.txt",
        "passed": 33,
        "passed_names": [
          "authorized pricing isolates one failure and rejects changed scope",
          "daily content produces only one present-day draft and never calls submit without policy",
          "model sends allowlisted facts only and output stays awaiting review",
          "all prices are exact and no trial or voucher package can create order",
          "calendar months clamp correctly at month end",
          "payment exact amount, merchant method, idempotency and renewal preserve entitlement",
          "service ticket is not delivered and annual persona requires annual plan",
          "HTTP website isolates session, requires CSRF and exposes no test-payment bypass",
          "registered device refresh is revocable and concurrent writers cannot both hold a lease",
          "signed device enrollment rejects swapping another valid token",
          "heartbeat and explicit assertion share one renewal and cannot mask its failure",
          "a renewal response for another hotel invalidates the lease before the caller can write",
          "mixed five-star review always requires confirmation",
          "only unambiguous fallback whitelist replies automatically",
          "free reports keep every issue and unknown section; injection and sensitive fields are escaped",
          "paid report and print source remove promotional footer without losing provenance",
          "no fictitious whole-hotel occupancy without authoritative scope",
          "settlement is not deducted twice and unknown costs stay unknown",
          "competitor sold out and unequal benefits never treated as comparable zero",
          "price guardrails reject free autopilot, below floor, cumulative drift and conflicts",
          "PMS and stale event signals cannot authorize automated pricing",
          "action content identity gives idempotency and binds final approval",
          "invalid one asset does not block eligible files, duplicates are identified",
          "persona is used in content, generated drafts are never published",
          "license binds product, hotel, expiry and signature; client plan is not trusted",
          "hotel snapshot mismatch and noninteger prices fail before use",
          "read failure uses marked fallback without inventing a successful live read",
          "preflight rejection is persisted as not executed and preserves approval hash",
          "series signing rejects wrong product, changed body and expired request",
          "transactional outbox retains committed payment and excludes tokens and private ticket content",
          "uncertain network result replays exact durable batch, then catches later edits and deletions",
          "series validation rejects leaked credentials, foreign product and invalid money",
          "late acknowledgement from a second process cannot regress the durable cursor"
        ],
        "status": "PASS"
      }
    ],
    "installation": {
      "status": "PASS",
      "steps": [
        "install",
        "upgrade",
        "rollback",
        "installed init",
        "installed import synthetic data",
        "installed HTML report",
        "uninstall"
      ],
      "external_data_retained": true,
      "manifest_verified": true,
      "real_hotel_data": false
    },
    "distribution": {
      "status": "PASS",
      "manifest": "PASS",
      "artifact": "dist/openlx-meituan-hotel-ops-0.1.2.zip",
      "source": "Package install and source behavior verified; final ZIP hash in release checksum"
    },
    "ctrip": {
      "status": "PASS",
      "test_count": 33,
      "source_changes_since_first_inventory": [
        "README.md",
        "package-lock.json",
        "package.json",
        ".env.example",
        "tests/commerce.test.mjs",
        "docs/IMPLEMENTATION.md",
        "public/index.html",
        "public/account.html",
        "public/release.json",
        "public/report-demo.html",
        "public/account.js",
        "public/docs.html",
        "public/status.json",
        "public/downloads/openlx-ctrip-hotel-ops-0.1.0.zip.sha256",
        "public/downloads/openlx-ctrip-hotel-ops-0.1.0.zip",
        ".playwright-cli/console-2026-09-05T18-00-11-958Z.log",
        ".playwright-cli/page-2026-09-05T18-01-48-306Z.png",
        ".playwright-cli/page-2026-09-05T18-00-12-103Z.yml",
        "skills/openlx-ctrip-hotel-ops/package-lock.json",
        "skills/openlx-ctrip-hotel-ops/package.json",
        "skills/openlx-ctrip-hotel-ops/SKILL.md",
        "skills/openlx-ctrip-hotel-ops/references/catalog.json",
        "skills/openlx-ctrip-hotel-ops/references/runtime.md",
        "skills/openlx-ctrip-hotel-ops/references/status.json",
        "skills/openlx-ctrip-hotel-ops/scripts/scheduler.mjs",
        "skills/openlx-ctrip-hotel-ops/scripts/ops.mjs",
        "skills/openlx-ctrip-hotel-ops/scripts/browser.mjs",
        "skills/openlx-ctrip-hotel-ops/scripts/core.mjs",
        "skills/openlx-ctrip-hotel-ops/scripts/install.mjs",
        "skills/openlx-ctrip-hotel-ops/scripts/notes.mjs",
        "src/store.mjs",
        "src/server.mjs"
      ],
      "note": "携程独立任务同期升级为0.1.1；美团任务未修改携程文件。测试基于当前版本，不声称文件hash始终未变。"
    },
    "real_platform_reads": 0,
    "real_platform_writes": 0,
    "real_payment": "NOT_RUN",
    "real_hotel_report": "BLOCKED_NO_PROPERTY_DATA"
  },
  "remote_business_writes": 0,
  "real_hotel_report": "BLOCKED_NO_PROPERTY_DATA",
  "reports": {
    "environment": "evidence/environment-report.html",
    "demo": "dist/site/report-demo.html"
  },
  "website": "HTTPS_DEPLOYED",
  "github": "SOURCE_PUBLISHED",
  "business_observation": "尚待真实试点与7/14/28天数据"
}