R23-6/R23-7:更新试点手册并完成准入收口

这个提交包含在:
2026-03-22 11:31:42 +08:00
父节点 3479792524
当前提交 5d4fc2bbe3
共修改 7 个文件,包含 87 行新增和 0 行删除
+10
查看文件
@@ -78,3 +78,13 @@
- [ ] 涉密正文与附件未上传到 OA
- [ ] 企业微信提醒仅包含脱敏标题 / 编号 / deeplink
- [ ] 员工可从企业微信进入 `Portal`,并继续完成周报、待办、项目更新
## R23 试点收口 Checklist
- [ ] `project_communication_log_v1` 已开启并可在项目详情页使用
- [ ] `project_closure_checklist_v1` 已开启并可自动 bootstrap
- [ ] 管理员已知晓“软约束”策略,不把收口面板误认为硬阻断审批
- [ ] 员工已知晓“24h 回填”规则
- [ ] 至少 1 个项目已验证:沟通回填 -> Portal 待跟进统计生效
- [ ] 至少 1 个项目已验证:收口清单 -> Portal 待收口统计生效
- [ ] 至少 1 条涉密合同或资料引用已验证搜索边界
- [ ] 每周五复盘模板中已加入“聊天/表格补流程案例”字段
+17
查看文件
@@ -39,3 +39,20 @@
- 本周是否达到试点预期:是 / 否
- 若否,主要原因:
- 最终验收建议:继续观测 / 可进入验收
## R23 试点收口观察补充
### 1. 客户沟通回填
- 本周需要回填的项目数:
- 实际按 `24h` 回填的项目数:
- 仍停留在聊天未回填的案例:
### 2. 项目收口红黄灯
- 本周待收口项目数:
- 主要待收口来源(交付 / 风险 / 报销 / 差旅 / 合同 / 交接):
- 选择 `waived` 的项目与理由:
### 3. 平台替代表现
- 仍靠聊天补流程的次数:
- 仍靠表格补流程的次数:
- 是否出现“员工不知道该回填到哪里”的情况:
- 下周需优化的制度或页面提示:
+21
查看文件
@@ -269,3 +269,24 @@ docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/
- 报销 / 差旅 / 周报挂项目覆盖率
- 是否还存在第二套项目台账或 Excel 主表
- 企业微信通知是否发生敏感字段泄露
## 7. R23 试点收口准入步骤
1. 打开以下功能开关并确认 DB 记录不是 `force_off`:
- `project_domain_v1`
- `project_linking_v1`
- `project_communication_log_v1`
- `project_closure_checklist_v1`
- `confidential_doc_refs_v1`
- `global_search_v1`
2. 抽样创建或选择 1 个真实项目,验证:
- 可以新增客户沟通回填
- 项目收口清单会自动生成
- 项目改为 `completed/archived` 时出现软告警而非硬阻断
3. 抽样验证 1 条涉密合同或资料引用:
- 敏感摘要关键字无法通过全局搜索命中
- 合同编号或资料编号可以命中
- 企业微信消息只发“有项目待跟进 / 有项目待收口”脱敏提醒
4. 向全员宣导两条试点纪律:
- 客户沟通影响项目时 `24h` 内回填
- 私聊可继续发生,但项目状态不能只留在聊天里
5. 进入真实 4 周试点前,至少保留一次通过记录:后端测试、前端 build、E2E 全绿截图或日志。
+7
查看文件
@@ -112,3 +112,10 @@
3. 若启用企业微信入口,补齐:`WECOM_*` 与 `WECOM_ALLOWED_RETURN_HOSTS`。
4. 将 `OPENAPI_DOCS_ENABLED` 保持为 `false`,不要在公网生产暴露文档入口。
5. 定期检查审计日志中的登录失败、Refresh 来源不匹配与涉密资料查看记录。
## 16. R23 试点收口纪律
- 客户沟通如果影响项目计划、交付、报价、风险或下一步动作,必须在 `24h` 内回填到 `项目 -> 客户沟通`。
- 回填只写结果摘要、下一步动作和下次跟进日期,不粘贴完整聊天记录,不上传私人微信截图。
- 项目经理每周至少检查一次 `项目 -> 项目收口` 面板,确认红黄灯来源是否已经处理。
- 若某项收口任务选择 `已豁免`,必须填写理由;豁免不代表永久忽略,只代表本周软约束放行。
- 试点期每周五复盘一次“仍靠聊天/表格补流程”的案例,并决定是补回填纪律还是补最小功能。
+11
查看文件
@@ -60,3 +60,14 @@
- 不要把涉密合同正文、涉密附件、敏感报价和成本细节上传到 OA 或企业微信通知里。
- 如果系统里只要求你填合同编号、归档位置、离线档案号,这是正常设计,不是少功能。
- 涉密资料正文继续按公司要求放在内网文件盘、NAS 或离线档案中。
## 12. 客户沟通回填规则(R23 试点期)
- 如果你通过私人微信、电话、会议、企业微信或现场沟通拿到了会影响项目推进的结果,请在 `24h` 内回填到 OA。
- 回填内容只写:沟通日期、渠道、结果摘要、下一步动作、下次跟进日期。
- 不要把完整聊天记录、截图、敏感报价或涉密正文复制到 OA。
- 项目是否推进、谁来跟进、下次何时联系,不能只留在聊天里。
## 13. 项目收口怎么配合
- 如果你负责交付、报销、差旅、风险或交接,请关注项目里的“项目收口”面板。
- 面板里看到待处理项并不代表不能继续推进,而是提醒你尽快补齐留痕。
- 如果管理员要求你补交付记录、合同归档位置或交接说明,请优先在 OA 里补齐,不要只在群里回复“已处理”。
+12
查看文件
@@ -356,3 +356,15 @@
- **R20 项目联动主链**:报销、差旅、周报、待办已支持挂项目;项目详情页可统一查看成员、里程碑、任务、风险、费用、差旅、周报、合同与交付记录。
- **R21 涉密与公网边界**:新增 `ContractRegistry`、`ConfidentialDocumentRef`;OA 只保存元数据和引用路径,Refresh 来源校验与企业微信 IM 脱敏规则已收口到公网安全基线。
- **运行口径**:员工真正操作仍集中在 `hyb-oa`;企业微信只做入口与脱敏提醒;涉密正文与附件继续留在内网文件盘、NAS 或离线档案中。
## R23 试点收口与项目治理轻增强
| Feature Flag | 默认值 | 作用 | 主要页面 / 路由 |
| --- | --- | --- | --- |
| `project_communication_log_v1` | `force_off` | 在项目详情页记录客户沟通结果摘要、下一步动作与跟进日期;不做聊天归档 | `client/src/pages/ProjectDetailPage.tsx`, `/api/projects/:id/communication-logs` |
| `project_closure_checklist_v1` | `force_off` | 为项目完成/归档提供软约束式收口清单与 Portal 待收口统计 | `client/src/pages/ProjectDetailPage.tsx`, `/api/projects/:id/closure-checklist`, `/api/portal/home` |
### R23 固定边界
- `ProjectCommunicationLog` 与 `ProjectClosureChecklistItem` 不进入全文搜索。
- `confidential` / `restricted` 合同与资料引用不按摘要全文命中搜索,只按编号、项目编号或最小必要标签命中。
- 企业微信提醒仅发送脱敏标题与 deeplink,不发送沟通摘要、收口备注或涉密标题全文。
@@ -0,0 +1,9 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
R23-0,R23执行合同建档与边界冻结,创建并校验 R23 试点收口合同并冻结本轮只做项目沟通回填 收口 checklist 涉密边界补强与关键 E2E 的边界,CSV 校验通过且明确本轮不扩展为第二套项目平台或聊天归档,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-22_09-29-14-r23-trial-hardening.csv,manual,DONE,DONE,DONE,issues/2026-03-22_09-29-14-r23-trial-hardening.csv|issues/2026-03-21_23-00-00-r18-r22-unified-internal-workbench.csv,[],默认软约束 24h 回填 企微仅发送脱敏提醒
R23-1,项目沟通回填模型与API,新增 ProjectCommunicationLog 模型与项目沟通回填接口 建立客户沟通结果最小留痕,项目成员可新增沟通回填 creator在24h内或 owner manager admin 可编辑 且沟通记录不进入全文搜索,cd server && npm run prisma:validate && npm test,manual,DONE,DONE,DONE,server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/projects.js|server/tests,"[""R23-0""]",none
R23-2,项目收口checklist与软告警,新增 ProjectClosureChecklistItem 与项目完成归档前的收口清单和 closureWarning 软告警,checklist 可自动 bootstrap waived 必须备注 项目完成归档时可返回 closureWarning 且不硬阻断,cd server && npm test,manual,DONE,DONE,DONE,server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/projects.js|server/tests,"[""R23-1""]",none
R23-3,项目页与Portal收口面板,在项目详情页和 Portal 上新增沟通回填与收口面板摘要 让员工和老板看到待跟进与待收口红黄灯,项目详情页可维护沟通回填与收口项 Portal 项目摘要显示待跟进和待收口数据,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/ProjectDetailPage.tsx|client/src/pages/PortalHomePage.tsx|client/src/api/projects.ts|client/src/api/portal.ts,"[""R23-1"",""R23-2""]",none
R23-4,涉密边界补强与通知测试,补强搜索与企微通知的涉密边界 确保沟通摘要和收口备注不进入搜索与企微正文,沟通摘要和 checklist 备注不进企微消息 confidential restricted 不按摘要全文命中搜索,cd server && npm test && ./scripts/regression-im-notifier.sh,manual,DONE,DONE,DONE,server/src/routes/search.js|server/src/services/notifications/imEnqueue.js|server/tests,"[""R23-1"",""R23-2""]",none
R23-5,关键PlaywrightE2E补齐,新增 wecom-entry project-workbench confidential-boundary 三个关键 E2E 作为试点前自动化验收,三个新增 E2E 用例稳定通过并覆盖企微入口 项目工作台 涉密搜索边界,cd client && npm run test:e2e,manual,DONE,DONE,DONE,client/tests/e2e|client/src/pages/LoginPage.tsx|client/src/pages/ProfilePage.tsx|client/src/pages/ProjectDetailPage.tsx,"[""R23-3"",""R23-4""]",none
R23-6,试点制度文档与操作手册,把 24h 回填和项目收口纪律写入管理员与员工手册及 trialrun 文档,管理员和员工手册写入 24h 回填与收口规则 且 observation 模板同步,git diff --check,manual,DONE,DONE,DONE,docs/admin-handbook.md|docs/employee-quickstart.md|deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|deploy/trialrun/observation-template.md|docs/feature-matrix.md,"[""R23-3"",""R23-4""]",none
R23-7,回归与试点准入验收,完成后端 前端 E2E 全量回归并更新 R23 状态 作为进入真实四周试点的准入闸门,主回归 前端 build 与全部 E2E 通过 并可进入真实四周试点,cd server && npm run prisma:validate && npm test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e,manual,DONE,DONE,DONE,issues/2026-03-22_09-29-14-r23-trial-hardening.csv|server/scripts/regression-all.sh|client/tests/e2e,"[""R23-5"",""R23-6""]",none
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 R23-0 R23执行合同建档与边界冻结 创建并校验 R23 试点收口合同并冻结本轮只做项目沟通回填 收口 checklist 涉密边界补强与关键 E2E 的边界 CSV 校验通过且明确本轮不扩展为第二套项目平台或聊天归档 python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-22_09-29-14-r23-trial-hardening.csv manual DONE DONE DONE issues/2026-03-22_09-29-14-r23-trial-hardening.csv|issues/2026-03-21_23-00-00-r18-r22-unified-internal-workbench.csv [] 默认软约束 24h 回填 企微仅发送脱敏提醒
3 R23-1 项目沟通回填模型与API 新增 ProjectCommunicationLog 模型与项目沟通回填接口 建立客户沟通结果最小留痕 项目成员可新增沟通回填 creator在24h内或 owner manager admin 可编辑 且沟通记录不进入全文搜索 cd server && npm run prisma:validate && npm test manual DONE DONE DONE server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/projects.js|server/tests ["R23-0"] none
4 R23-2 项目收口checklist与软告警 新增 ProjectClosureChecklistItem 与项目完成归档前的收口清单和 closureWarning 软告警 checklist 可自动 bootstrap waived 必须备注 项目完成归档时可返回 closureWarning 且不硬阻断 cd server && npm test manual DONE DONE DONE server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/projects.js|server/tests ["R23-1"] none
5 R23-3 项目页与Portal收口面板 在项目详情页和 Portal 上新增沟通回填与收口面板摘要 让员工和老板看到待跟进与待收口红黄灯 项目详情页可维护沟通回填与收口项 Portal 项目摘要显示待跟进和待收口数据 cd client && npm run typecheck && npm run build manual DONE DONE DONE client/src/pages/ProjectDetailPage.tsx|client/src/pages/PortalHomePage.tsx|client/src/api/projects.ts|client/src/api/portal.ts ["R23-1","R23-2"] none
6 R23-4 涉密边界补强与通知测试 补强搜索与企微通知的涉密边界 确保沟通摘要和收口备注不进入搜索与企微正文 沟通摘要和 checklist 备注不进企微消息 confidential restricted 不按摘要全文命中搜索 cd server && npm test && ./scripts/regression-im-notifier.sh manual DONE DONE DONE server/src/routes/search.js|server/src/services/notifications/imEnqueue.js|server/tests ["R23-1","R23-2"] none
7 R23-5 关键PlaywrightE2E补齐 新增 wecom-entry project-workbench confidential-boundary 三个关键 E2E 作为试点前自动化验收 三个新增 E2E 用例稳定通过并覆盖企微入口 项目工作台 涉密搜索边界 cd client && npm run test:e2e manual DONE DONE DONE client/tests/e2e|client/src/pages/LoginPage.tsx|client/src/pages/ProfilePage.tsx|client/src/pages/ProjectDetailPage.tsx ["R23-3","R23-4"] none
8 R23-6 试点制度文档与操作手册 把 24h 回填和项目收口纪律写入管理员与员工手册及 trialrun 文档 管理员和员工手册写入 24h 回填与收口规则 且 observation 模板同步 git diff --check manual DONE DONE DONE docs/admin-handbook.md|docs/employee-quickstart.md|deploy/trialrun/runbook.md|deploy/trialrun/checklist.md|deploy/trialrun/observation-template.md|docs/feature-matrix.md ["R23-3","R23-4"] none
9 R23-7 回归与试点准入验收 完成后端 前端 E2E 全量回归并更新 R23 状态 作为进入真实四周试点的准入闸门 主回归 前端 build 与全部 E2E 通过 并可进入真实四周试点 cd server && npm run prisma:validate && npm test && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build && npm run test:e2e manual DONE DONE DONE issues/2026-03-22_09-29-14-r23-trial-hardening.csv|server/scripts/regression-all.sh|client/tests/e2e ["R23-5","R23-6"] none