7.8 KiB
7.8 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | R7ENM-0 | R7E 非人工剩余项合同建档 | 建立 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|manual | DONE | DONE | DONE | issues/2026-05-14_16-30-00-r7e-nonmanual-closeout.csv | [] | 2026-05-14 校验通过;公网 /ready ok=true;public bundle findings=0;live smoke env ready;本轮不部署。 |
| 3 | R7ENM-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|node | DONE | DONE | DONE | client/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。 |
| 4 | R7ENM-2 | 财务付款闭环 | 若 AP API 可见该报销,则用财务创建 R7E 非人工付款批次,财务主管复核,财务执行,并验证报销详情和 AP 台账进入已付款;管理员执行付款必须失败或无权限。 | 1) 财务创建付款批次成功;2) 财务主管复核成功;3) 财务执行成功;4) 报销详情和 AP 台账显示已付款;5) admin-only 不能执行财务付款动作。 | 流程级验证:R7E_BROWSER_FLOW=finance-closeout 公网 Playwright 通过;报告记录 paymentBatchId、报销状态、AP 台账付款状态和管理员权限边界摘要。 | playwright|node | DONE | DONE | DONE | client/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,不绕过业务规则。 |
| 5 | R7ENM-3 | AP 缺陷修复预留 | 仅当 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|manual | DONE | DONE | DONE | server/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、未部署。 |
| 6 | R7ENM-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|npm | DONE | DONE | DONE | client/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。 |
| 7 | R7ENM-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|manual | DONE | DONE | DONE | client/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;临时服务已关闭。 |
| 8 | R7ENM-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|manual | DONE | DONE | DONE | issues/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 通过;本轮未部署。 |