R105/A1 建立试运行前自动化收口合同
这个提交包含在:
@@ -0,0 +1,8 @@
|
||||
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
|
||||
A1,R105 真实试运行前自动化收口合同,"以 R104 公网部署验收为基础,固定真实试运行前 P0 收口范围:smoke 数据治理、公网/移动视觉自动化、发布门禁脚本化、真实企业微信最终落点人工证据。","本 CSV 校验通过;本批不改业务状态机、审批规则、权限模型和 Prisma schema;所有新增脚本默认只读或 dry-run。","python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-07_12-34-21-r105-pretrial-readiness-automation.csv;业务流程影响:固定真实试运行前自动化验收范围。","python|manual",TODO,TODO,TODO,"issues/2026-05-07_12-34-21-r105-pretrial-readiness-automation.csv","[]","回滚路径:删除本批新增 Issue、脚本、测试和报告;不提交密钥。"
|
||||
A2,smoke 数据足迹审计,"新增只读 smoke 数据审计脚本,按 smoke-admin/smoke-employee 或 SMOKE001/SMOKE002 识别测试账号,统计其报销、票据、OCR、工作流、通知、审计日志足迹,形成试运行前清理依据。","脚本默认只读;可输出 text/json;不会删除或修改业务数据;缺少 smoke 账号时返回清晰提示。","cd server && node --check src/scripts/audit-smoke-data.js && node src/scripts/audit-smoke-data.js --help;在可用数据库上执行 node src/scripts/audit-smoke-data.js --format=json;业务流程:识别公网自动化账号产生的报销/票据/OCR 数据,避免污染真实试运行。","node|prisma",TODO,TODO,TODO,"server/src/scripts/audit-smoke-data.js|server/package.json","[""A1""]","只做审计不做清理;如后续需要删除,单独开 destructive cleanup Issue 并先备份。"
|
||||
A3,预试运行公网视觉自动化,"新增 R105 公网视觉验收用例,扩展 R104 覆盖到移动票据上传、移动审批、我的/更多、PC Portal 与关键页面一致性,并保存截图证据。","E2E_MODE=live 时 R105 用例可运行;截图输出 output/playwright/r105;断言无黑色移动底栏、无旧口语化文案、无桌面表格进入移动核心页、企业微信入口仍指向 /mobile。","cd client && LIVE_SMOKE_BASE_URL=https://oa.hyinda.com E2E_MODE=live npx playwright test tests/e2e/r105-pretrial-visual.spec.ts --reporter=list;业务流程:员工从公网登录后检查移动首页、票据上传、审批、我的、PC Portal 和票据/报销入口视觉可用。","playwright",TODO,TODO,TODO,"client/tests/e2e/r105-pretrial-visual.spec.ts|output/playwright/r105","[""A1""]","截图目录不纳入 git;真实企业微信客户端最终点击仍需人工。"
|
||||
A4,预试运行门禁脚本,"新增 R105 预试运行门禁脚本,串联 CSV 校验、设计规则、前端 typecheck、smoke 数据审计、可选公网 live smoke、可选 R105 视觉自动化和可选真实 OCR。","脚本默认执行安全本地门禁;提供 live/visual/ocr 开关;缺少 LIVE_SMOKE_* 时跳过 live 项并给出明确提示;不打印密码。","bash scripts/qa/run-pretrial-readiness.sh --help;bash scripts/qa/run-pretrial-readiness.sh --static;业务流程:发布前一条命令复核试运行关键自动化证据。","bash|node|playwright",TODO,TODO,TODO,"scripts/qa/run-pretrial-readiness.sh","[""A2"",""A3""]","live/ocr 项必须显式开关;不替代 deploy/trialrun/deploy.sh。"
|
||||
A5,真实企业微信最终落点证据模板,"新增 R105 试运行人工证据模板,明确手机企业微信工作台打开 OA 的最小步骤、成功/失败记录字段、requestId/时间点/截图要求和自动化已覆盖边界。","存在 artifacts/r105-pretrial-readiness/wecom-mobile-final-check.md;用户可按模板完成真实企业微信最终确认;模板不包含密钥或个人隐私值。","人工按模板执行:手机企业微信工作台 -> OA 应用 -> 确认已绑定账号进入 /mobile;若失败记录 requestId、北京时间、截图。业务流程:真实企业微信客户端内免登最终落点确认。","manual",TODO,TODO,TODO,"artifacts/r105-pretrial-readiness/wecom-mobile-final-check.md","[""A1""]","真实企业微信客户端不是 Playwright 可完全替代的环境;本项作为唯一人工剩余点。"
|
||||
A6,R105 自动化验证与报告,"执行 R105 新增脚本和视觉用例的本地验证,生成自动化收口报告,记录已通过项、跳过原因和剩余人工项。","存在 artifacts/r105-pretrial-readiness/report.md;报告列出命令、结果、截图路径和剩余人工动作;不包含密码、token、secret、cookie。","python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-07_12-34-21-r105-pretrial-readiness-automation.csv;bash scripts/qa/run-pretrial-readiness.sh --static;cd client && npm run typecheck;业务流程:试运行前自动化证据可追溯。","python|bash|npm|manual",TODO,TODO,TODO,"artifacts/r105-pretrial-readiness/report.md","[""A2"",""A3"",""A4"",""A5""]","公网 live 项若缺少临时凭据,只记录跳过原因;不降低 static gate 要求。"
|
||||
A7,状态回填与中文分批提交,"回填 A1-A6 状态,执行提交前 diff 和敏感词扫描,按中文提交 R105 规划与实现。","A1-A6 状态按实测回填;git diff --check 通过;提交信息中文且引用 R105/A1-A7;无截图和密钥进入 git。","git diff --check;git diff --cached --check;git diff --cached --name-only | xargs -r rg -n -i '(secret|token|authorization|cookie|set-cookie|accessToken|refreshToken|password)' --;业务流程:试运行收口变更可审计、可回滚。","git|rg",TODO,TODO,TODO,"issues/2026-05-07_12-34-21-r105-pretrial-readiness-automation.csv|server/src/scripts/audit-smoke-data.js|client/tests/e2e/r105-pretrial-visual.spec.ts|scripts/qa/run-pretrial-readiness.sh|artifacts/r105-pretrial-readiness","[""A1"",""A2"",""A3"",""A4"",""A5"",""A6""]","提交前确认 output/playwright/r105 未被纳入 git。"
|
||||
|
在新工单中引用
屏蔽一个用户