S1 建立正式测试组织账号合同

这个提交包含在:
2026-05-10 20:35:50 +08:00
父节点 fff766d9d8
当前提交 011dd62a46
@@ -0,0 +1,6 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
S1,测试组织账号合同与现状确认,"建立正式审批链测试替身账号执行合同,确认当前只用 SMOKE001/SMOKE002 不足以替代负责人、财务、主管等真实人员。","1) 合同记录不使用真实员工日常账号;2) 明确远端写入边界仅限 SMOKE 测试账号;3) 只读确认现有 SMOKE 账号、部门和法人;4) 主 R5/O3 仍不标完成。","流程级验证:git status --short;只读查询远端 SMOKE* 账号、departments、legalEntities;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-10_20-33-04-formal-smoke-test-accounts.csv。","git|ssh|python3|manual",DONE,DONE,DONE,"issues/2026-05-10_20-33-04-formal-smoke-test-accounts.csv","[]","S1 completed:当前远端只有 SMOKE001=admin+employee directManager=null、SMOKE002=employee directManager=majianyong/HYD000007;部门=公司/管理部,法人=试运行法体;现有账号不足以替代主管/负责人/财务/HR 正式验收;本轮后续写入边界限定为 SMOKE 测试账号,不部署、不迁移、不改远端 .env。"
S2,创建测试组织账号与本机凭据,"创建或更新 SMOKE101/SMOKE201/SMOKE301/SMOKE302/SMOKE401,并更新 SMOKE002 直属主管到测试主管;密码只写入仓库外本机凭据文件。","1) SMOKE002 直属主管为 SMOKE101;2) SMOKE101=manager+employee 直属领导 SMOKE201;3) SMOKE201=ceo+employee;4) SMOKE301=finance+employee;5) SMOKE302=finance+finance_mgr+employee;6) SMOKE401=hr+employee;7) ~/.hyb-oa/live-smoke.env 权限 600 且不提交。","流程级验证:stat -c '%a %n' ~/.hyb-oa/live-smoke.env;远端 Prisma transaction 写入后只读复核 employeeNo/email/status/roles/directManager;node scripts/qa/check-live-smoke-env.mjs --strict。","ssh|node|manual","TODO","TODO","TODO","external|~/.hyb-oa/live-smoke.env","[""S1""]","回滚:删除新增 SMOKE101/SMOKE201/SMOKE301/SMOKE302/SMOKE401;SMOKE002.direct_manager_id 恢复写入前值;恢复 SMOKE001/SMOKE002 写入前角色/状态。不得打印密码。"
S3,更新 R5/O3 与真机清单口径,"把 O3/R5 和真机验收清单从真实人员链路调整为测试替身账号链路,同时保留生产组织事实源说明。","1) 真机矩阵使用 SMOKE002->SMOKE101->SMOKE201->SMOKE302/SMOKE301;2) SMOKE001 仅管理员不具备业务审批权;3) 企业微信测试成员缺失时记录 BLOCKED;4) 主 R5/O3 不因文档调整自动完成。","流程级验证:rg -n \"SMOKE101|SMOKE201|SMOKE301|SMOKE302|测试替身|企业微信测试成员|admin 不代表业务审批权\" docs/trialrun/real-device-public-checklist.md issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv issues/2026-05-10_18-25-33-formal-approval-org-config.csv;git diff --check。","rg|manual","TODO","TODO","TODO","docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_18-25-33-formal-approval-org-config.csv","[""S2""]","不修改业务代码;不提交截图、样票、密码或企业微信 secret。"
S4,测试组织自动化验收,"用测试组织账号执行公网自动化 live smoke、真实 OCR 和正式审批链自动化覆盖,验证不依赖真实员工。","1) run-live-smoke-readiness.sh 通过;2) 普通员工低/中额待办给 SMOKE101;3) 高额/例外链路进入 SMOKE101->SMOKE201 或按现有规则进入财务节点;4) SMOKE101 本人申请给 SMOKE201;5) SMOKE201 自审被阻断或进入非本人兜底;6) SMOKE001 不能仅凭 admin 审批;7) 财务/财务主管权限由 SMOKE301/SMOKE302 验证。","流程级验证:LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;执行临时/仓库脚本提交请假/报销/采购并只读检查 workflowTask assignee;远端 audit-smoke-data 只读统计。","bash|node|ssh|playwright","TODO","TODO","TODO","scripts/qa/*|external","[""S3""]","若创建了业务测试单据不清理;如需清理另拆 destructive cleanup Issue。自动化不能替代企业微信原生身份真机验收。"
S5,企业微信真机门禁与状态回填,"使用企业微信测试成员绑定 OA 测试账号并完成真机矩阵;若测试成员缺失,记录 BLOCKED,不宣称 R5 通过。","1) 企业微信工作台测试成员可进入 OA;2) 移动首页、审批待办、报销详情、通知 deeplink 有截图/录屏位置;3) O3/R5 仅在真机和自动化均通过后 DONE;4) R6 仍等待 R5 完成。","流程级验证:按 docs/trialrun/real-device-public-checklist.md 用测试成员执行;校验新合同、O3 合同和主 R5 合同;git diff --check。","manual|python3","TODO","TODO","TODO","docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_18-25-33-formal-approval-org-config.csv","[""S4""]","若无企业微信测试成员,S5/R5/O3 保持未完成;提交信息使用“测试组织账号解阻自动化验收真机待确认”。"
无法渲染此文件,因为它包含了意外字符,其位于第 4 行和第 423 列。