记录(07-28-all-account-login-readiness): 固化生产发布验收
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-08-23 19:24:25 +08:00
父节点 7b86ffb3c9
当前提交 b32b5f2967
共修改 2 个文件,包含 12 行新增和 3 行删除
@@ -37,7 +37,7 @@
- [x] 只读解析手工企微通讯录导出并与生产 OA 对账:6 个 userid/binding 和 6 个企业邮箱全部精确一致,缺失、重复、冲突、未匹配和需修改数均为 0。
- [x] 只读确认 `majianyong` 保持 `ceo` 且无直属主管、`wangshunli` 不新增业务审批角色;生产只有 active `finance`、没有 active `finance_mgr`,CEO 本人报销在后续最小权限修正前保持阻断。
- [x] 更新现有管理员手册/试运行 checklist:active 账号启用必须包含安全凭据交付、首次改密、密码登录和企微本人免登。
- [x] 运行认证聚焦测试、前端 typecheck/build、Trellis task/governance、敏感扫描、文档审计和 `git diff --check`;生产部署后的公网 smoke test 仍待独立批准后执行。
- [x] 运行认证聚焦测试、前端 typecheck/build、Trellis task/governance、敏感扫描、文档审计和 `git diff --check`;获批后已完成腾讯云真实生产发布与公网 smoke。
## 4A. Passwordless First WeCom Login
@@ -79,6 +79,15 @@
- [x] 保留点击显示/隐藏、输入值不丢失和确认密码框 Enter 提交测试;前端 typecheck/build、3 条聚焦 E2E、Trellis/流程/敏感/差异门禁通过。
- [x] 首次直接运行两份 E2E 文件时本地入口未启动,20/20 均以 `ERR_CONNECTION_REFUSED` 停在导航前;启动 Vite 并显式使用本地前端基址后,本次相关 3 条用例全部通过,未把环境失败归类为产品回归。
## 4E. 2026-08-23 Production Rollout
- [x] 用户批准推送当前生产候选并部署腾讯云真实生产;`main` 的 26 个待推送提交经范围核对、migration 差异检查、Trellis/流程/敏感/差异门禁后进入上游,未使用未发布提交 override。
- [x] 通过生产身份引导器唯一识别腾讯云部署身份与 forced-command refresh 身份;部署前 13/13 聚合体检、目标与数据库身份、migration pending=none、rollback window `OPEN/0` 均通过。
- [x] 使用既有部署标准入口发布 `7b86ffb`,固定 `SYNC_ENV=0`、`DEPLOY_DATA_MODE=existing`;未覆盖生产 `.env`,未执行 reset、db push、手工 DDL 或业务写入。
- [x] 部署后 Prisma、`/ready`、运行构建、企业微信/SMTP/OCR/消息桥接契约、runtime smoke、公网 bundle 扫描与备份合同 refresh 均通过;Compose 保持 `server=1、worker=0`,未启动 worker。
- [x] 无凭据真实浏览器公网复核通过:根入口登录页可见,密码框 Tab 直接进入“忘记密码?”链接,点击后忘记密码页面正常打开;未登录账号、未发送验证码、未写生产数据。
- [ ] 直接请求或刷新 `/login`、`/forgot-password` 当前返回 404;从 OA 根入口的 SPA 实际流程正常。本问题不由本次 Tab 改动引入,后续应单独治理反向代理/静态资源 history fallback,不在本任务内扩大变更。
## 5. Stop Conditions
- 企业邮箱不可达、验证码投递异常或账户锁定:停止该员工操作,不连续请求。
@@ -89,13 +89,13 @@
- [x] 腾讯云生产忘记密码、设置新密码和新密码登录已由代表性真人完整通过;实际真人密码回退覆盖为 4/6,另外 2 人按用户批准记为预计可用、未逐人实测,不宣称 6/6 真人密码登录。
- [x] 所有属于当前企业微信通讯录的 active 账户均有唯一 binding,并完成本人企微真机登录验收;用户于 2026-08-23 确认其余 3 人全部可以进入,当前 6/6 真人企微主入口通过。
- [x] 不存在 active 账户同时缺少密码找回能力和可用企微 binding;当前 6/6 均已有经本人验证的企微主入口,密码找回系统能力已有代表性生产 PASS,实际真人密码回退覆盖为 4/6。
- [ ] 所有重置、绑定、解锁、会话撤销均有 OA 审计且未扩角色、未修改企业微信通讯录。
- [x] 本任务实际发生的重置、绑定、解锁和会话撤销均有 OA 审计;生产复核未发现角色扩张或企业微信通讯录写入。
- [x] 当前唯一 active `manager` 的直属主管唯一解析为 active `majianyong`,不存在自环或主管链环路,并有脱敏审计;`wangshunli` 不进入业务审批链。
- [x] `majianyong` 保持 `ceo` 且无直属主管;其本人报销目标为 active 非本人 `finance`,当前 `finance_mgr` 配置缺口未修复前保持阻断且不发生自审。
- [x] 自动化、Trellis、敏感扫描、生产 `/ready` 和关联认证 smoke 已通过;未实测人员未来需要时可使用同一找回流程,但本轮不要求逐人操作。
- [x] 登录、修改密码和忘记密码页的密码框按 Tab 跳过框内显示/隐藏按钮并进入 DOM 中下一个顺序表单控件;显示/隐藏按钮仍可点击、保留稳定可访问名称,且切换不丢失输入值。
当前员工可测试边界:生产邮件能力、公网 `/ready`、认证 capabilities 与 SMTP 连接/认证已通过;已有 1 名首次改密人员完成全链路,另外 2 人按批准不要求本轮逐人实测,仅记为预计可用。其本人未来使用找回流程时仍不得在聊天中传递密码或验证码,不连续点击重发;新签发验证码会使旧验证码失效。
当前员工可测试边界:生产邮件能力、公网 `/ready`、认证 capabilities 与 SMTP 连接/认证已通过;已有 1 名首次改密人员完成全链路,另外 2 人按批准不要求本轮逐人实测,仅记为预计可用。其本人未来使用找回流程时仍不得在聊天中传递密码或验证码,不连续点击重发;新签发验证码会使旧验证码失效。公网根入口到登录、忘记密码页面及密码框 Tab 行为已通过真实浏览器复核;直接刷新前端子路由的 history fallback 另行治理,不属于本任务登录能力和 Tab 改动的验收范围。
## Definition of Done