{
  "module": "customer-go-live-rollback",
  "marker": "customerGoLiveRollback",
  "generatedAt": "2026-04-28 20:30:00",
  "title": "龙虾供应链配送系统客户上线回滚预案包",
  "decision": {
    "code": "ROLLBACK_HOLD",
    "label": "回滚预案：先待命",
    "level": "blocked",
    "note": "本页面面向客户负责人、项目负责人、开发、运维和测试，用于真实上线或试运行窗口内快速统一回滚触发、执行时序、责任人和证据回收动作。"
  },
  "summary": {
    "warRoomDecision": "WAR_ROOM_BLOCKED",
    "windowDecision": "WINDOW_HOLD",
    "rosterDecision": "ROSTER_GAPS",
    "monitorStatus": "UNKNOWN",
    "dbDrillStatus": "UNKNOWN",
    "actionDone": 0,
    "actionTotal": 0
  },
  "rollbackChecks": [
    {
      "code": "RBK-001",
      "title": "放行会结论允许进入窗口",
      "current": "WAR_ROOM_BLOCKED",
      "target": "WAR_ROOM_RISK / WAR_ROOM_READY",
      "status": "BLOCKED",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-war-room/"
    },
    {
      "code": "RBK-002",
      "title": "执行窗口与回滚触发口径已同步",
      "current": "WINDOW_HOLD",
      "target": "非 WINDOW_HOLD",
      "status": "BLOCKED",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-window/"
    },
    {
      "code": "RBK-003",
      "title": "值班排班主备关系已排清",
      "current": "ROSTER_GAPS",
      "target": "ROSTER_READY / ROSTER_RISK",
      "status": "BLOCKED",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-roster/"
    },
    {
      "code": "RBK-004",
      "title": "监控告警链路",
      "current": "UNKNOWN",
      "target": "PASS",
      "status": "WARNING",
      "url": "https://xia.shenliu.cc/xia-monitor/"
    },
    {
      "code": "RBK-005",
      "title": "数据库恢复演练",
      "current": "UNKNOWN",
      "target": "PASS",
      "status": "WARNING",
      "url": "https://xia.shenliu.cc/xia-db-drill/"
    },
    {
      "code": "RBK-006",
      "title": "真实上线门禁状态",
      "current": "NO_GO",
      "target": "GO_LIVE_READY / GO_LIVE_RISK",
      "status": "WARNING",
      "url": "https://xia.shenliu.cc/xia-go-live-gate/"
    }
  ],
  "rollbackPhases": [
    {
      "code": "RBK-PH-001",
      "phase": "30 秒内",
      "owner": "项目负责人",
      "backup": "客户负责人",
      "action": "在值班群同步停止窗口、影响范围、当前触发条件，并冻结继续执行动作。"
    },
    {
      "code": "RBK-PH-002",
      "phase": "5 分钟内",
      "owner": "开发负责人",
      "backup": "运维负责人",
      "action": "确认异常是否落在下单、分单、配送、签收、账单、公网或 API health 主链路，给出回滚判断。"
    },
    {
      "code": "RBK-PH-003",
      "phase": "10 分钟内",
      "owner": "运维负责人",
      "backup": "开发负责人",
      "action": "执行公网、Nginx、relay、配置或服务回退，保留恢复前后的监控与日志证据。"
    },
    {
      "code": "RBK-PH-004",
      "phase": "15 分钟内",
      "owner": "测试负责人",
      "backup": "业务运营支持",
      "action": "复测核心链路，回收截图、接口返回、影响门店与恢复时间，发群确认是否解除暂停。"
    }
  ],
  "rollbackTriggers": [
    "门店下单、自动分单、配送制单、签收、账单任一核心链路不可用。",
    "公网入口、NEXUS relay、Nginx 或 API health 失败且 5 分钟内无法恢复。",
    "监控告警提示核心接口持续报错，且影响真实交易或签收凭证回传。",
    "数据库恢复链路、账务修复或关键计数校验异常，无法保证数据正确性。"
  ],
  "rollbackAssets": [
    {
      "code": "RBK-A-001",
      "name": "客户上线执行窗口包",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-window/",
      "purpose": "确认窗口结论、回滚触发和执行顺序"
    },
    {
      "code": "RBK-A-002",
      "name": "客户上线值班联络包",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-standby/",
      "purpose": "定位谁拍板、谁播报、谁执行恢复"
    },
    {
      "code": "RBK-A-003",
      "name": "客户上线值班排班表包",
      "url": "https://xia.shenliu.cc/xia-customer-go-live-roster/",
      "purpose": "定位当前时段主备值班和交班责任"
    },
    {
      "code": "RBK-A-004",
      "name": "监控告警演练",
      "url": "https://xia.shenliu.cc/xia-monitor/",
      "purpose": "查看告警、恢复步骤和监控入口"
    },
    {
      "code": "RBK-A-005",
      "name": "数据库演练",
      "url": "https://xia.shenliu.cc/xia-db-drill/",
      "purpose": "查看数据库恢复与校验路径"
    },
    {
      "code": "RBK-A-006",
      "name": "上线门禁",
      "url": "https://xia.shenliu.cc/xia-go-live-gate/",
      "purpose": "复核当前门禁和阻断项"
    }
  ],
  "sourceApis": {
    "rollback": "https://xia.shenliu.cc/xia-api/system/customer-go-live-rollback",
    "window": "https://xia.shenliu.cc/xia-api/system/customer-go-live-window",
    "standby": "https://xia.shenliu.cc/xia-api/system/customer-go-live-standby"
  },
  "acceptanceMarkers": [
    "RBK-001",
    "RBK-002",
    "RBK-003",
    "RBK-004",
    "RBK-005",
    "RBK-006"
  ],
  "blockers": [
    "上线放行会结论仍为暂不放行，回滚预案只能作为待命包",
    "执行窗口当前仍为暂不打开，需先完成窗口重排"
  ],
  "warnings": [
    "监控演练当前为 UNKNOWN",
    "数据库演练当前为 UNKNOWN"
  ]
}
