文件
hyb-oa/issues/2026-05-12_00-28-43-r6-create-wangzhiling-finance-user.csv

7 行
4.6 KiB
CSV

ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
WZ6-1,建档并确认账号缺口,为 R6 真实财务候选账号 wangzhiling 创建受控数据变更合同,复核当前公网未命中该员工账号。,"1) 本 CSV 存在且校验通过;2) 只读确认远端 employees 未命中 wangzhiling/zhiling;3) 本轮不改业务代码、不改远端 .env、不改审批链。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-12_00-28-43-r6-create-wangzhiling-finance-user.csv;ssh 只读查询 employees where employee_no/email/name like wangzhiling/zhiling;git status --short。",python3|ssh|manual,DONE,DONE,DONE,issues/2026-05-12_00-28-43-r6-create-wangzhiling-finance-user.csv,[],2026-05-12 R6-3 已记录只读未命中;本项只补执行合同。
WZ6-2,确定创建字段与安全交付口径,固定 wangzhiling 账号的最小字段、角色和一次性密码交付方式;未提供真实手机号时使用试运行占位号码,后续由管理员更新。,"1) employeeNo=wangzhiling;2) name=wangzhiling;3) [email protected];4) roles 包含 employee 和 finance;5) 一次性密码不打印、不提交,只写入仓库外 600 权限文件;6) 若唯一约束冲突则停止并记录。","流程级验证:人工核对本行 Notes;创建前查询 email/phone/employee_no 唯一性;检查仓库外凭据文件权限为 600 且不在 git status 中。",ssh|manual,DONE,DONE,DONE,external,"[""WZ6-1""]","默认 phone=19900000012、title=财务;display name 暂用 wangzhiling,避免猜测中文姓名;后续可在系统用户管理里更新真实手机号和姓名。"
WZ6-3,通过受控管理员接口创建 OA 用户,使用现有 /api/auth/login 和 /api/users 管理接口创建 wangzhiling,不直接手工插库;创建动作写系统审计。,"1) 管理员登录成功但不打印凭据;2) POST /api/users 返回新员工 id、employeeNo 和 oneTimePassword;3) oneTimePassword 仅写入 ~/.hyb-oa/wangzhiling-onetime.env;4) API 失败时停止,不改用未审计 SQL 插入。","流程级验证:source ~/.hyb-oa/live-smoke.env 后调用公网 API;请求体不含 secret;创建响应中密码重定向写入仓库外文件;确认文件 chmod 600;不在终端或文档输出密码值。",curl|node|manual,DONE,DONE,DONE,external,"[""WZ6-2""]","已通过公网 /api/auth/login + /api/users 创建;employeeId=0127a9e4-85b6-4268-ad45-c07dcefec850;一次性密码仅写入 ~/.hyb-oa/wangzhiling-onetime.env,权限 600;不修改远端 .env、组织规则或历史数据。"
WZ6-4,只读核验账号角色和财务权限,创建后只读确认 wangzhiling active、角色为 employee+finance,并具备财务付款/导出相关权限来源。,"1) employees 命中 wangzhiling 且 status=active;2) employee_roles 包含 employee 和 finance;3) finance 角色包含 expense.finance.pay、payment.batch.manage、expense.view_all、invoice.manage;4) 不自动绑定企业微信,不猜真实密码。","流程级验证:远端 psql 只读查询 employees/employee_roles;本地核对 server/src/constants/permissions.js finance 权限;不打印敏感字段。",ssh|rg|manual,DONE,DONE,DONE,external,"[""WZ6-3""]","只读核验:wangzhiling|[email protected]|19900000012|财务|active|employee,finance;审计存在 SYSTEM_USER_CREATED;finance 权限来源包含 invoice.manage、expense.finance.pay、payment.batch.manage、expense.view_all、travel.payment.manage。"
WZ6-5,回填 R6 准备状态并提交,把 wangzhiling 创建和核验结果回填到 R6 准备合同与试运行报告,解除 R6-3 的财务账号缺口。,"1) issues/2026-05-11_10-23-41-r6-small-trialrun-prep.csv 的 R6-3 Regression_Status 可在核验通过后置 DONE;2) docs/trialrun/manual-trialrun-report.md 的 wangzhiling 备注从待补账号改为已创建待本人登录;3) release-readiness R6 Notes 去掉真实财务账号未补齐阻断;4) git diff --check 通过;5) 提交中文 commit。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-11_10-23-41-r6-small-trialrun-prep.csv issues/2026-05-12_00-28-43-r6-create-wangzhiling-finance-user.csv;git diff --check;git status --short;人工核对不包含密码、secret 或隐私截图。",python3|git|manual,DONE,DONE,DONE,issues/2026-05-11_10-23-41-r6-small-trialrun-prep.csv|docs/trialrun/manual-trialrun-report.md|docs/trialrun/release-readiness-checklist.md,"[""WZ6-4""]",已回填 R6-3、试运行报告和 release readiness;提交信息:WZ6 创建 R6 财务试运行账号。