R20-2,项目联动后端接口,实现 link-project 项目费用摘要 差旅摘要 项目周报 合同台账与交付记录接口 并补业务校验,报销和差旅可绑定项目 项目详情可汇总人 事 费 交付 周报和风险,cd server && npm test && ./scripts/regression-all.sh,manual,DONE,DONE,DONE,server/src/routes/reimbursements.js|server/src/routes/travelRequests.js|server/src/routes/weeklyReports.js|server/src/routes/todos.js|server/src/routes/projects.js|server/src/routes/contractsRegistry.js|server/src/app.js|server/tests,"[""R20-1""]",none
R20-3,项目联动前端与合同台账页,在报销 差旅 周报 待办和项目详情页接入项目选择与联动面板 并新增 ContractsRegistryPage,员工可在现有流程里挂项目 管理层可在项目详情页查看统一执行面板 合同台账可维护元数据,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/ReimbursementsPage.tsx|client/src/pages/TravelRequestsPage.tsx|client/src/pages/WeeklyReportsPage.tsx|client/src/pages/TodosPage.tsx|client/src/pages/ProjectDetailPage.tsx|client/src/pages/ContractsRegistryPage.tsx|client/src/api/projects.ts|client/src/api/contractsRegistry.ts|client/src/router/index.tsx,"[""R20-2""]",none
R20-4,R20回归与验收收口,完成项目与审批 出差 报销 周报 待办 合同交付联动后的整体验收,一个项目在 OA 内可查看人 事 费 交付轻量执行面板 且原有请假 报销 差旅 周报零回归,cd server && npm test && ./scripts/regression-workflow-actions.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e,manual,DONE,DONE,DONE,issues/2026-03-21_23-00-00-r18-r22-unified-internal-workbench.csv|server/scripts/regression-all.sh|client/tests/e2e,"[""R20-2"",""R20-3""]",none
R21-1,涉密资料引用模型与 API,新增 ConfidentialDocumentRef 与项目文档引用接口 并实现等级控制和查看审计,OA 可保存涉密资料目录 链接 归档位置和离线档案号 但不保存正文附件 且查看高敏引用会写审计,cd server && npm run prisma:validate && npm test,manual,DONE,DONE,DONE,server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/confidentialDocRefs.js|server/src/routes/projects.js|server/src/app.js|server/tests,"[""R20-4""]",none
R21-2,搜索与通知的涉密脱敏规则,对合同 项目 文档引用统一增加 confidentiality 过滤和脱敏规则 防止搜索与通知泄露敏感信息,confidential 和 restricted 级对象不会在搜索和企微通知中暴露正文 摘要全文 价格 成本 毛利或高敏客户细节,cd server && npm test && ./scripts/regression-im-notifier.sh,manual,DONE,DONE,DONE,server/src/routes/search.js|server/src/routes/notifications.js|server/src/services/notifications/imEnqueue.js|server/src/services/integrations/im/wecom.js|server/tests,"[""R21-1""]",none
R21-3,公网访问安全强化,补齐公网模式下的安全配置与校验 包括 HTTPS CookieSecure 返回地址白名单 登录限流 弱密码拦截和关键会话校验,公网部署下可启用安全基线 企微免登和本地密码并存 且不需要把所有访问强制放到 VPN 后,cd server && npm test && ./scripts/regression-all.sh,manual,DONE,DONE,DONE,server/src/config.js|server/src/routes/auth.js|server/src/plugins/auth.js|deploy/trialrun/.env.example|server/tests,"[""R21-2""]",优先复用现有登录失败锁定与审计能力 不重写整套认证
R21-4,R21文档同步与安全回归,补齐 trialrun runbook checklist 和管理员手册中的公网安全与涉密边界说明 并完成 R21 回归,出差员工可公网访问项目过程数据 涉密正文仍离线且高敏访问边界和审计可追溯,cd server && npm test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|docs/admin-handbook.md|docs/employee-quickstart.md|docs/feature-matrix.md,"[""R21-1"",""R21-2"",""R21-3""]",none
R22-1,项目与合同台账最小导入方案,提供项目台账 成员分工 里程碑 合同登记 风险表的最小导入脚本和映射文档 支持 dry run 与 apply 两步,可把现有表格最小成本导入 OA 且涉密合同正文仍保持离线,cd server && npm test && node src/scripts/import-project-ledgers.js --help && git diff --check,manual,DONE,DONE,DONE,server/src/scripts/import-project-ledgers.js|docs/migration-mapping.md|deploy/trialrun/checklist.md,"[""R21-4""]",导入优先脚本化 不新增重型后台导入平台
R22-2,单平台默认路径与企微优先入口,把小团队默认配置切到 OA 单平台模式 企微作为首选入口 浏览器作为备用 并降噪重复主路径,员工默认从企微工作台进入 OA 浏览器仍可回退 采购 差旅 预算 AP 等不再干扰主导航路径,cd server && npm test && cd ../client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,server/src/scripts/seed-config.js|server/src/routes/systemWorkspace.js|deploy/trialrun/.env.example|client/src/components/navigation/NavLinks.tsx|client/src/pages/PortalHomePage.tsx,"[""R22-1""]",none
cd server && npm test && ./scripts/regression-workflow-actions.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e
cd server && npm run prisma:validate && npm test && ./scripts/regression-workflow-actions.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e