QAOPS8-17 固化上线门禁暂停结论

这个提交包含在:
2026-05-13 22:07:06 +08:00
父节点 2f273bd604
当前提交 c628038ed8
共修改 3 个文件,包含 57 行新增和 1 行删除
+26
查看文件
@@ -168,6 +168,32 @@ R7E 结论:公网、live smoke/OCR、移动矩阵、核心业务流、账号
该预检早于 2026-05-14 09:30 的推荐真实启动窗口,因此只作为启动前健康证据;`R7E-8` 仍需在启动当天复核后才能置为 `DONE`。
## QAOPS8 Go/No-Go 当前结论
执行时间:2026-05-13。
`QAOPS8-17` 当前结论为 `No-Go/Pause`,原因不是自动化基础门禁失败,而是 R7E 真实扩大试运行尚未发生。该结论用于防止把 R7EP、MIF7TD 或 QAOPS8 自动化证据误解释为已经可以上线或已经完成真实试运行。
| 检查项 | 当前状态 | 处理 |
| --- | --- | --- |
| QAOPS8 发布、备份、回滚和 SLO 基线 | 已形成 | 可作为 R7E 启动前准备证据 |
| R7E-1..7 人工启动确认 | 已确认 | 可以进入启动当天公网健康复核 |
| R7E-8 公网健康复核 | 未完成 | 需在 2026-05-14 启动当天重跑后才能置为 `DONE` |
| R7E-9..15 真实业务和真机流程 | 未完成 | 需用户按角色实际点击或提供反馈 |
| R7E-16..18 每日问题和验收结论 | 未完成 | 需试运行窗口内记录 |
| WF8-11 通知 deeplink 回 OA | 未完成 | 需企业微信或代表性真机验证 |
| BIZ8-12 移动业务入口评估 | 暂停收口 | 自动化截图已有,仍需代表性真机和角色反馈 |
保持 `No-Go/Pause` 的阻断项:
- `SMOKE002` 企业微信工作台进入 `/mobile` 后确认无 PC 外壳,底部导航和业务入口正常。
- `SMOKE002` 完成移动报销详情和 PDF 上传确认,不能被图片拍照入口误导。
- `SMOKE101` 完成移动审批和通知 deeplink 回 OA 的确认。
- 财务角色完成付款、导出或财务台账代表性确认。
- `SMOKE301` / `SMOKE302` 尚未启用且没有企业微信,不能作为企业微信真机证据。
结论:当前可以继续准备 R7E,但不能给正式 `Go`,也不能关闭 `R7E-8..18`、`WF8-11`、`BIZ8-12` 或 QAOPS8 后续收口项。
## 历史恢复
需要追溯 R70-R91 的详细流水时,使用:
@@ -188,3 +188,33 @@ R5 已完成。R6 准备合同已创建:`issues/2026-05-11_10-23-41-r6-small-t
- 问题先登记到新 Issue CSV,不在试运行现场扩大范围。
- P2 的预算、ERP、AI、完整差旅、复杂 BPM 继续不进入首轮试运行。
- 出现权限泄漏、付款状态错乱、真实 OCR 大面积失败、企业微信入口无法进入时,应暂停试运行并回滚或修复。
## 8. QAOPS8 Go/No-Go 清单
本节是 `QAOPS8-17` 的上线和扩大试运行门禁。它只给当前时点结论,不替代 R7E 真实人工验收。
当前结论:`No-Go/Pause`。
| 门禁 | 当前状态 | 结论 |
| --- | --- | --- |
| 本地和公网自动化 | 已有通过证据 | MIF7TD、QAOPS8-5、QAOPS8-6、QAOPS8-8 的历史证据可作为启动前基础门禁,但 R7E 启动当天仍需复核公网健康 |
| 备份、恢复和回滚边界 | 已确认方案 | QAOPS8-10..16 已记录备份策略、恢复演练方案、SLO/DORA、发布 Runbook、回滚演练窗口;真实恢复或生产回滚执行前仍需单独批准 |
| R7E 启动确认 | 已确认 R7E-1..7 | 参与人、窗口、回滚联系人、问题登记负责人和暂停决策人已确认 |
| R7E 启动当天公网健康 | 未完成 | `R7E-8` 需在 2026-05-14 启动当天复核 `/ready` 和 public bundle 后才能关闭 |
| 企业微信入口和 deeplink 真机 | 未完成 | `R7E-9`、`WF8-11` 需要 `SMOKE002`、`SMOKE101` 等真实企业微信或真机反馈;`SMOKE301`、`SMOKE302` 当前未启用且没有企业微信 |
| 真实业务流程试运行 | 未完成 | `R7E-10..15` 仍需人工执行报销、审批、请假、采购、财务付款导出和移动端反馈 |
| 问题清单和验收结论 | 未完成 | `R7E-16..18` 仍需每日问题收口、阻断分流和最终验收结论 |
| 移动业务入口扩展反馈 | 未完成 | `BIZ8-12` 自动化已有代表性截图证据,但仍需真机和角色反馈后才能关闭 |
Go 条件:
- `R7E-8..18` 均有当天或试运行窗口内证据,并且阻断问题为 0。
- 企业微信入口、通知 deeplink 和移动主流程至少有代表性真机确认,且没有未解释的权限、审批链或财务数据问题。
- 备份和回滚联系人在线;若进入真实恢复或生产回滚,必须另行获得明确批准。
Pause 或 No-Go 条件:
- 公网 `/ready`、public bundle、企业微信入口或登录任一启动门禁失败。
- 报销、审批、请假、采购、财务任一主流程阻断。
- 出现权限泄漏、财务状态错误、审批链错误、无法回 OA、真实 OCR 大面积失败,或两个以上高优先级问题当天无法解释。
- R7E 人工证据缺失,或把自动化结果误当作真实试运行结论。
@@ -16,7 +16,7 @@ QAOPS8-13,DORA 交付指标基线,"建立部署频率、变更前置时间、变
QAOPS8-14,安全发布前检查,"建立发布前安全检查,包括权限、敏感信息、日志、配置、依赖和等保相关底线。","1) 不泄露 token、密码、票据和个人隐私;2) 权限直连审计有证据;3) 日志不记录敏感明文;4) 高风险项进入 Go/No-Go。","流程级验证:node scripts/qa/audit-docs.mjs --check-links;rg -n 'password|token|secret|密钥|权限直连|敏感' docs scripts issues。",node|rg|manual,DONE,DONE,DONE,scripts/qa/audit-docs.mjs|docs|scripts|issues,"[""QAOPS8-9""]",node scripts/qa/audit-docs.mjs --check-links 为 errors=0 warnings=0;全量 audit-docs 为 errors=0 warnings=8;已知 QA 脚本本地测试哨兵值和未登记 docs 作为 Go/No-Go 复核项,不声明等保测评完成。
QAOPS8-15,发布 Runbook 收敛,"把发布前检查、部署步骤、验证步骤、暂停条件和沟通责任收敛到现有 Runbook。","1) 发布步骤可按顺序执行;2) 预检、部署、验证、暂停、回滚边界清楚;3) 不新增冲突文档;4) 用户可审计。","流程级验证:rg -n '发布|预检|部署|验证|暂停|回滚|Runbook' docs/trialrun/发布试运行准备清单.md docs/trialrun/OPS7运维交接Runbook.md docs/试运行与自动化验证手册.md。",rg|manual,DONE,DONE,DONE,docs/trialrun/发布试运行准备清单.md|docs/trialrun/OPS7运维交接Runbook.md|docs/试运行与自动化验证手册.md,"[""QAOPS8-5"",""QAOPS8-6"",""QAOPS8-10""]",rg 复核通过;发布前检查、部署步骤、部署后验证、暂停条件、回滚边界和责任记录均在现有 Runbook 中;未新增冲突文档。
QAOPS8-16,回滚演练窗口,"确认回滚演练窗口、负责人、触发条件、数据保护和恢复验证步骤。","1) 窗口和负责人确认;2) 回滚脚本或步骤有只读预检;3) 数据保护优先;4) 演练结果可追溯。","流程级验证:人工确认回滚窗口;必要时先在非生产环境执行。",manual,DONE,DONE,DONE,docs/trialrun/OPS7运维交接Runbook.md,"[""QAOPS8-11"",""QAOPS8-15""]",完成:按用户授权采用推荐方案;窗口暂定 2026-05-14 19:30-20:30 Asia/Shanghai 即 R7E 首日每日收口后;负责人和暂停回滚决策人 wangshunli;范围为非生产恢复演练优先 生产只读回滚 dry run;步骤为备份清单核对 隔离库恢复 /ready 登录核心流程只读验证 生产回滚步骤只读复盘;触发条件为 P0 数据损坏 发布阻断或公网关键门禁失败;停止条件为备份不完整 权限不明确 影响生产或责任人不在线;本行只确认窗口和边界 未执行数据库恢复 生产回滚 服务切换或破坏性命令;真实恢复或生产回滚执行前仍需再次明确批准。
QAOPS8-17,上线 Go No-Go 清单,"建立上线或扩大试运行 Go/No-Go 清单,统一本地、公网匿名、带凭据、企业微信真机和人工验收结论。","1) Go、No-Go、Pause 条件明确;2) 阻断问题为 0 或有明确延期;3) R7E 人工验收不被自动化替代;4) 结论写入 Issue 和报告。","流程级验证:人工核对 R7E 结论、QAOPS8 门禁、发布清单和问题清单。",manual,TODO,TODO,TODO,docs/trialrun/发布试运行准备清单.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-15"",""QAOPS8-16""]",R7E 未完成时不得给正式 Go 结论。
QAOPS8-17,上线 Go No-Go 清单,"建立上线或扩大试运行 Go/No-Go 清单,统一本地、公网匿名、带凭据、企业微信真机和人工验收结论。","1) Go、No-Go、Pause 条件明确;2) 阻断问题为 0 或有明确延期;3) R7E 人工验收不被自动化替代;4) 结论写入 Issue 和报告。","流程级验证:人工核对 R7E 结论、QAOPS8 门禁、发布清单和问题清单。",manual,DOING,TODO,TODO,docs/trialrun/发布试运行准备清单.md|docs/trialrun/人工试运行报告.md|issues/*.csv,"[""QAOPS8-15"",""QAOPS8-16""]",当前清单已形成:2026-05-13 当前结论为 No-Go/Pause;Go Pause No-Go 条件已写入发布清单和人工试运行报告;明确 R7E 人工验收不被自动化替代;因 R7E-8..18 WF8-11 BIZ8-12 仍是未完成阻断项 本行不标 DONE。
QAOPS8-18,只读审计和排障边界,"明确公网、数据库、日志和 MCP 只读审计边界,避免排障时误写生产或泄露敏感信息。","1) 只读查询边界明确;2) 禁止 INSERT、UPDATE、DELETE;3) 敏感字段脱敏;4) 排障证据只记录摘要和路径。","流程级验证:rg -n 'audit-readonly|只读|INSERT|UPDATE|DELETE|MCP|PostgreSQL' AGENTS.md docs/mcp-tools.md docs/开发交付与变更管理规约.md。",rg|manual,DONE,DONE,DONE,AGENTS.md|docs/mcp-tools.md|docs/开发交付与变更管理规约.md,"[""QAOPS8-14""]",rg 复核通过;AGENTS 限定 audit-readonly 和 PostgreSQL MCP 只读查询;docs/mcp-tools 限定 SELECT 和禁止写操作;开发交付规约已补日志和证据摘要脱敏边界;未执行生产查询或启用新 MCP。
QAOPS8-19,R7E 后上线硬化收口,"在 R7E 真实反馈后集中收口上线硬化,更新门禁缺口、问题分流和后续治理优先级。","1) R7E 结论已记录;2) QAOPS8 未完成项有归属;3) 阻断问题有 owner;4) 后续 ORG8、WF8、BIZ8、QAOPS8 顺序可解释。","流程级验证:人工核对 R7E-18、R7E-19、QAOPS8 当前状态和问题清单。",manual,TODO,TODO,TODO,issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv,"[""QAOPS8-17""]",依赖 R7E 人工试运行结论;当前不能提前完成。
QAOPS8-20,QAOPS8 收口,"完成 QAOPS8 状态回填、验证摘要、证据索引和中文提交。","1) CSV 校验通过;2) 所有 DONE 有命令或人工证据;3) 文档索引和状态矩阵一致;4) git diff --check 通过;5) 中文提交引用 QAOPS8。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv;node scripts/qa/audit-docs.mjs --check-registry;git diff --check。",python3|node|git|manual,TODO,TODO,TODO,issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md,"[""QAOPS8-19""]",所有执行行完成后才能收口。
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
16 QAOPS8-14 安全发布前检查 建立发布前安全检查,包括权限、敏感信息、日志、配置、依赖和等保相关底线。 1) 不泄露 token、密码、票据和个人隐私;2) 权限直连审计有证据;3) 日志不记录敏感明文;4) 高风险项进入 Go/No-Go。 流程级验证:node scripts/qa/audit-docs.mjs --check-links;rg -n 'password|token|secret|密钥|权限直连|敏感' docs scripts issues。 node|rg|manual DONE DONE DONE scripts/qa/audit-docs.mjs|docs|scripts|issues ["QAOPS8-9"] node scripts/qa/audit-docs.mjs --check-links 为 errors=0 warnings=0;全量 audit-docs 为 errors=0 warnings=8;已知 QA 脚本本地测试哨兵值和未登记 docs 作为 Go/No-Go 复核项,不声明等保测评完成。
17 QAOPS8-15 发布 Runbook 收敛 把发布前检查、部署步骤、验证步骤、暂停条件和沟通责任收敛到现有 Runbook。 1) 发布步骤可按顺序执行;2) 预检、部署、验证、暂停、回滚边界清楚;3) 不新增冲突文档;4) 用户可审计。 流程级验证:rg -n '发布|预检|部署|验证|暂停|回滚|Runbook' docs/trialrun/发布试运行准备清单.md docs/trialrun/OPS7运维交接Runbook.md docs/试运行与自动化验证手册.md。 rg|manual DONE DONE DONE docs/trialrun/发布试运行准备清单.md|docs/trialrun/OPS7运维交接Runbook.md|docs/试运行与自动化验证手册.md ["QAOPS8-5","QAOPS8-6","QAOPS8-10"] rg 复核通过;发布前检查、部署步骤、部署后验证、暂停条件、回滚边界和责任记录均在现有 Runbook 中;未新增冲突文档。
18 QAOPS8-16 回滚演练窗口 确认回滚演练窗口、负责人、触发条件、数据保护和恢复验证步骤。 1) 窗口和负责人确认;2) 回滚脚本或步骤有只读预检;3) 数据保护优先;4) 演练结果可追溯。 流程级验证:人工确认回滚窗口;必要时先在非生产环境执行。 manual DONE DONE DONE docs/trialrun/OPS7运维交接Runbook.md ["QAOPS8-11","QAOPS8-15"] 完成:按用户授权采用推荐方案;窗口暂定 2026-05-14 19:30-20:30 Asia/Shanghai 即 R7E 首日每日收口后;负责人和暂停回滚决策人 wangshunli;范围为非生产恢复演练优先 生产只读回滚 dry run;步骤为备份清单核对 隔离库恢复 /ready 登录核心流程只读验证 生产回滚步骤只读复盘;触发条件为 P0 数据损坏 发布阻断或公网关键门禁失败;停止条件为备份不完整 权限不明确 影响生产或责任人不在线;本行只确认窗口和边界 未执行数据库恢复 生产回滚 服务切换或破坏性命令;真实恢复或生产回滚执行前仍需再次明确批准。
19 QAOPS8-17 上线 Go No-Go 清单 建立上线或扩大试运行 Go/No-Go 清单,统一本地、公网匿名、带凭据、企业微信真机和人工验收结论。 1) Go、No-Go、Pause 条件明确;2) 阻断问题为 0 或有明确延期;3) R7E 人工验收不被自动化替代;4) 结论写入 Issue 和报告。 流程级验证:人工核对 R7E 结论、QAOPS8 门禁、发布清单和问题清单。 manual TODO DOING TODO TODO docs/trialrun/发布试运行准备清单.md|docs/trialrun/人工试运行报告.md|issues/*.csv ["QAOPS8-15","QAOPS8-16"] R7E 未完成时不得给正式 Go 结论。 当前清单已形成:2026-05-13 当前结论为 No-Go/Pause;Go Pause No-Go 条件已写入发布清单和人工试运行报告;明确 R7E 人工验收不被自动化替代;因 R7E-8..18 WF8-11 BIZ8-12 仍是未完成阻断项 本行不标 DONE。
20 QAOPS8-18 只读审计和排障边界 明确公网、数据库、日志和 MCP 只读审计边界,避免排障时误写生产或泄露敏感信息。 1) 只读查询边界明确;2) 禁止 INSERT、UPDATE、DELETE;3) 敏感字段脱敏;4) 排障证据只记录摘要和路径。 流程级验证:rg -n 'audit-readonly|只读|INSERT|UPDATE|DELETE|MCP|PostgreSQL' AGENTS.md docs/mcp-tools.md docs/开发交付与变更管理规约.md。 rg|manual DONE DONE DONE AGENTS.md|docs/mcp-tools.md|docs/开发交付与变更管理规约.md ["QAOPS8-14"] rg 复核通过;AGENTS 限定 audit-readonly 和 PostgreSQL MCP 只读查询;docs/mcp-tools 限定 SELECT 和禁止写操作;开发交付规约已补日志和证据摘要脱敏边界;未执行生产查询或启用新 MCP。
21 QAOPS8-19 R7E 后上线硬化收口 在 R7E 真实反馈后集中收口上线硬化,更新门禁缺口、问题分流和后续治理优先级。 1) R7E 结论已记录;2) QAOPS8 未完成项有归属;3) 阻断问题有 owner;4) 后续 ORG8、WF8、BIZ8、QAOPS8 顺序可解释。 流程级验证:人工核对 R7E-18、R7E-19、QAOPS8 当前状态和问题清单。 manual TODO TODO TODO issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv ["QAOPS8-17"] 依赖 R7E 人工试运行结论;当前不能提前完成。
22 QAOPS8-20 QAOPS8 收口 完成 QAOPS8 状态回填、验证摘要、证据索引和中文提交。 1) CSV 校验通过;2) 所有 DONE 有命令或人工证据;3) 文档索引和状态矩阵一致;4) git diff --check 通过;5) 中文提交引用 QAOPS8。 流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv;node scripts/qa/audit-docs.mjs --check-registry;git diff --check。 python3|node|git|manual TODO TODO TODO issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md ["QAOPS8-19"] 所有执行行完成后才能收口。