文件
hyb-oa/issues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv

7.8 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2R7ENM-0R7E 非人工剩余项合同建档建立 R7E 非人工剩余项处理合同,限定本轮只处理审批边界、财务 AP/付款闭环、移动矩阵前置和证据回填;不部署、不清理生产试运行数据、不改 API/schema/权限模型/workflow 状态机。1) CSV 列完整并校验通过;2) 范围限定 client/tests、必要的 server/src/server/tests、docs、issues;3) 不部署;4) 不记录密码、token、票据内容或隐私明文。流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv;人工核对 Files 不含部署脚本或生产配置。python3|manualDONEDONEDONEissues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv[]2026-05-14 校验通过;公网 /ready ok=true;public bundle findings=0;live smoke env ready;本轮不部署。
3R7ENM-1财务 AP 诊断用 live 凭据对已审批报销 BX-20260514-0016 做 API 级诊断,确认 AP 台账、报销详情和付款批次中的真实状态,优先排除 UI 等待或筛选误判。1) /api/ap-operations/reimbursement-ledger?q=BX-20260514-0016 有明确结果;2) /api/reimbursements/:id 状态有记录;3) /api/payment-batches 关联状态有记录;4) 若 AP 不可见但报销 approved,不直接猜测修复。流程级验证:set -a; . ~/.hyb-oa/live-smoke.env; set +a; cd client && PLAYWRIGHT_MANUAL=1 E2E_MODE=live LIVE_SMOKE_BASE_URL=https://oa.hyinda.com R7E_BROWSER_TRIALRUN=1 R7E_BROWSER_FLOW=finance-closeout npx playwright test tests/e2e/manual/r7e-browser-business-trialrun.spec.ts --workers=1 --reporter=list;核对 report-finance-closeout.md。playwright|nodeDONEDONEDONEclient/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts|artifacts/r7e/browser-business-trialrun["R7ENM-0"]2026-05-14 finance-closeout 通过执行且记录 SKIP 诊断:报销 40876ef3-0652-4972-aa14-1aad1a855ae0 / BX-20260514-0016 状态 approved;AP 台账 API 和 payment-batches API 均返回 payment_batch_v1_disabled / flag_force_off;证据 report-finance-closeout.md。
4R7ENM-2财务付款闭环若 AP API 可见该报销,则用财务创建 R7E 非人工付款批次,财务主管复核,财务执行,并验证报销详情和 AP 台账进入已付款;管理员执行付款必须失败或无权限。1) 财务创建付款批次成功;2) 财务主管复核成功;3) 财务执行成功;4) 报销详情和 AP 台账显示已付款;5) admin-only 不能执行财务付款动作。流程级验证:R7E_BROWSER_FLOW=finance-closeout 公网 Playwright 通过;报告记录 paymentBatchId、报销状态、AP 台账付款状态和管理员权限边界摘要。playwright|nodeDONEDONEDONEclient/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts|docs/trialrun/人工试运行报告.md["R7ENM-1"]2026-05-14 已按条件执行:因 AP/payment-batches API 均被 payment_batch_v1_disabled / flag_force_off 门禁关闭,未创建付款批次、未复核、未执行付款;R7E-14 保持 DOING,不绕过业务规则。
5R7ENM-3AP 缺陷修复预留仅当 R7ENM-1 证明服务端台账 API 漏掉已审批报销且本地可复现时,补最小后端修复和单测;否则只记录 live 数据或配置问题。1) 本地失败单测先复现;2) 最小修复只触及 financeLedger/AP 查询层;3) server 语法、Prisma validate 和相关单测通过;4) 未部署时不得把公网 R7E-14 写成已通过。流程级验证:必要时执行 cd server && npm run prisma:validate && node --check src/services/financeLedger.js src/routes/apOperations.js src/routes/paymentBatches.js && npm test -- tests/unit/services/financeLedger.test.js tests/unit/routes/paymentBatches.reimbursement.test.js tests/unit/routes/exports.apOperations.test.js;若未触发修复则人工记录 N/A。node|npm|manualDONEDONEDONEserver/src/services/financeLedger.js|server/src/routes/apOperations.js|server/src/routes/paymentBatches.js|server/tests/unit["R7ENM-1"]N/A:公网返回明确功能门禁 flag_force_off,不是本地可复现的 AP 查询漏数缺陷;本轮未修改 server/src、未部署。
6R7ENM-4审批边界补测新增 R7E 自动化 flow,覆盖申请人本人和 admin-only 对真实待办的越权拒绝,并由经理正常通过收尾;结合既有 workflow 单元证据关闭审批边界。1) 申请人对本人待办调用审批接口被拒绝;2) admin-only 调用审批接口被拒绝;3) 经理正常通过,申请人回看状态和历史;4) workflow 单元测试通过。流程级验证:set -a; . ~/.hyb-oa/live-smoke.env; set +a; cd client && PLAYWRIGHT_MANUAL=1 E2E_MODE=live LIVE_SMOKE_BASE_URL=https://oa.hyinda.com R7E_BROWSER_TRIALRUN=1 R7E_BROWSER_FLOW=approval-boundary npx playwright test tests/e2e/manual/r7e-browser-business-trialrun.spec.ts --workers=1 --reporter=list;cd server && npm test -- tests/unit/routes/workflow.batch.test.js tests/unit/routes/workflow.permissions.test.js。playwright|npmDONEDONEDONEclient/tests/e2e/manual/r7e-browser-business-trialrun.spec.ts|server/tests/unit/routes/workflow.batch.test.js|server/tests/unit/routes/workflow.permissions.test.js["R7ENM-0"]2026-05-14 approval-boundary 通过:请假 b0cd3e00-2e67-4f51-9aaf-63aa2c53b47e / task 2cf30190-f569-4cce-ac9e-a0fe183bd460;申请人和 admin-only 均被 PERM_002 拒绝;经理正常通过;workflow 单元测试 2 files 14 tests passed。
7R7ENM-5移动矩阵前置修正启动本地 Vite 前端服务后重跑 dg7-mobile-information-dedupe,确认上次 127.0.0.1:3000 连接失败属于前置服务未启动而非移动矩阵缺陷。1) 本地 Vite 服务启动在可用端口;2) dg7-mobile-information-dedupe 通过或失败原因可解释;3) 临时服务关闭;4) QAOPS8-17 Notes 补充前置修正结论。流程级验证:cd client && E2E_BASE_URL=http://127.0.0.1:<port> npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list;人工确认 dev server 已关闭。playwright|manualDONEDONEDONEclient/tests/e2e/dg7-mobile-information-dedupe.spec.ts|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv["R7ENM-0"]2026-05-14 启动 Vite http://127.0.0.1:5173 后执行 E2E_BASE_URL=http://127.0.0.1:5173 npx playwright test tests/e2e/dg7-mobile-information-dedupe.spec.ts --workers=1 --reporter=list;5 passed;临时服务已关闭。
8R7ENM-6状态回填与收口回填 R7E、QAOPS8 和试运行报告;若运行时代码修复未部署,不把公网 R7E 结果写成已通过;完成 CSV、文档、diff 校验和中文提交。1) R7E-11/R7E-14 只在证据满足后回填;2) R7E-9/R7E-15/R7E-18 不因自动化提前关闭;3) QAOPS8-17 补充非人工剩余项结果;4) 试运行报告有摘要;5) git diff --check 通过并中文提交。流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_17-11-44-r7e-human-trialrun.csv;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|manualDONEDONEDONEissues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv|issues/2026-05-13_17-11-44-r7e-human-trialrun.csv|issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv|docs/trialrun/人工试运行报告.md["R7ENM-2","R7ENM-4","R7ENM-5"]2026-05-14 状态回填完成;R7E-11 DONE,R7E-14 保持 DOING;R7E-9/R7E-15/R7E-18 未提前关闭;audit-docs registry errors=0 warnings=1;git diff --check 通过;本轮未部署。