文件
hyb-oa/issues/2026-02-08_17-05-00-p3-full-delivery.csv
T
wangsli 4d4866d10e chore(issues): 新增 P2/P3/P4 执行合同快照
- P2: 2026-02-08_14-20-25-p2-ci-and-tests.csv
- P3: 2026-02-08_17-05-00-p3-full-delivery.csv
- P4: 2026-02-08_21-50-09-p4-trialrun-ready.csv
2026-02-08 23:09:02 +08:00

14 行
4.6 KiB
CSV

ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
D1,CSV快照收口,创建P3全量交付快照,承接C2~C5并扩展D6~D12执行合同,新CSV通过校验且依赖关系正确,旧快照保持不变,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-02-08_17-05-00-p3-full-delivery.csv,manual,DONE,DONE,DONE,issues/2026-02-08_17-05-00-p3-full-delivery.csv,[],旧快照保持不可变
D2,审计接口自动化回归,新增审计回归脚本覆盖权限/分页/筛选/参数非法,regression-audit.sh 可重复执行并覆盖 PERM_001/分页/筛选/VALID_001,cd server && ./scripts/regression-audit.sh,manual,DONE,DONE,DONE,server/scripts/regression-audit.sh | server/src/routes/audit.js | server/README.md,"[""D1""]",复用现有回归脚本模式
D3,OCR自动化回归(Mock优先),新增mock OCR provider与回归脚本,覆盖状态流转与并发锁,regression-ocr.sh 在 mock 模式可跑通 pending_ocr->available、重复票据、失败重试、并发唯一认领,cd server && ./scripts/regression-ocr.sh,manual,DONE,DONE,DONE,server/src/services/ocr/index.js | server/src/services/ocr/mock.js | server/scripts/regression-ocr.sh | server/scripts/regression-all.sh,"[""D1""]",真实腾讯凭据测试为可选非阻塞
D4,平台级回归CI补强,新增可选全回归工作流,支持workflow_dispatch和nightly,新增workflow可在CI中完成DB+migrate+seed+server+全回归脚本执行,manual: GitHub Actions workflow_dispatch 触发通过,manual,DONE,DONE,DONE,.github/workflows/ci-regression.yml | server/scripts/regression-all.sh,"[""D2"",""D3""]",保留ci-minimal不变
D5,工作流详情与转审候选API,新增任务详情与候选审批人接口并增强任务列表分页,新增 /api/workflow/tasks/:taskId 与 /api/workflow/approvers,列表返回分页字段,cd server && node --check src/routes/workflow.js,manual,DONE,DONE,DONE,server/src/routes/workflow.js | server/README.md,"[""D1""]",保持既有动作接口语义不变
D6,前端待办列表+详情+动作,替换待办占位页,落地列表、详情与approve/reject/return/transfer动作,审批角色可在前端完成待办闭环,动作后列表与详情同步刷新,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/WorkflowTasksPage.tsx | client/src/pages/WorkflowTaskDetailPage.tsx | client/src/api/workflow.ts | client/src/router/index.tsx,"[""D5""]",引入react-query统一缓存失效
D7,报销列表API,新增报销分页列表接口并支持状态筛选与权限范围,/api/reimbursements 支持 page/pageSize/status/scope 且权限行为正确,cd server && node --check src/routes/reimbursements.js,manual,DONE,DONE,DONE,server/src/routes/reimbursements.js | server/README.md,"[""D1""]",仅增不破
D8,前端报销页落地,实现报销列表/详情并联调创建提交撤回支付,employee/finance角色可完成报销基础流程并正确处理错误码,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/ReimbursementsPage.tsx | client/src/pages/ReimbursementDetailPage.tsx | client/src/api/reimbursements.ts,"[""D7""]",支付动作遵循后端幂等语义
D9,票据池列表API,新增票据池分页列表接口支持状态与ownerScope筛选,/api/invoice-pool 返回分页列表并按 invoice.manage / own 权限过滤,cd server && node --check src/routes/invoicePool.js,manual,DONE,DONE,DONE,server/src/routes/invoicePool.js | server/README.md,"[""D1""]",保持既有上传/绑定接口不变
D10,前端票据页落地,实现票据中心列表上传轮询OCR绑定与签名预览,票据页可上传并展示OCR状态,支持绑定报销与签名预览,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/InvoicePoolPage.tsx | client/src/api/invoicePool.ts,"[""D9""]",ocr_failed显示错误并支持重试提示
D11,前后端错误语义统一,统一前端错误映射与mutation后缓存失效策略,同类错误提示一致,动作后相关页面数据自动刷新,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/api/types.ts | client/src/api/errorMessages.ts | client/src/main.tsx | client/src/query/*,"[""D6"",""D8"",""D10""]",优先复用react-query成熟能力
D12,全链路验收与发布清单,补齐文档、回归入口与发布回滚清单,server/client README 更新且 regression-all 支持 audit/ocr 分层入口,cd /home/shunli/Projects/hyb-oa && ./scripts/check-minimal.sh,manual,DONE,DONE,DONE,server/README.md | client/README.md | server/scripts/regression-all.sh,"[""D4"",""D11""]",最终交付需回归证据可复现