feature/frontend-rdm-u6-pages
main
方案 r1 U6/KTD5:RDM 侧已合入的角色(#260)、成员/建项守卫(#254)、文档职责与整文审签(#262)命令面缺用户入口;页面须按命令面门控(普通基座零暴露、fail-closed)。
npx vitest run test/rdm-management.test.ts
npx vitest run
npm run build
npx tsc -b
src/rdmManagement.ts
src/components/adminRdmSections.tsx
方案 r1 U6/KTD5(Documents proposals/2026-10-12-rdm-function-implementation-plan.md);RDM #254/#260/#262
Why: U6 页面接线的门控/载荷是纯逻辑,先行红证模块缺失。 Evidence: npx vitest run test/rdm-management.test.ts → 1 failed (module not found);收据 /tmp/fe-u6-red-receipt.txt。 Impact: 仅测试文件。 Refs: 方案 r1 U6/KTD5
Why: 方案 r1 U6/KTD5——已合入的 rdm.role.* / rdm.project.member.* / rdm.review.assign.doc / rdm.review.doc.* 命令无用户入口;系统管理与项目设置需按命令面门控接线(普通基座零暴露)。 Evidence: 红:vitest rdm-management 1 failed(模块缺失,收据 /tmp/fe-u6-red-receipt.txt);绿:npx vitest run 25 files / 124 tests 全过(含 design-guard)+ npm run build 成功(tsc -b 干净);收据 /tmp/fe-u6-vitest.txt、/tmp/fe-u6-build.txt。 Impact: 新增 src/rdmManagement.ts(门控+载荷纯逻辑,8 测试)与 adminRdmSections.tsx(RdmRolesPanel/RdmMembersSection/RdmDutiesSection);AdminZone 增 rdm-roles 分区(管理员+rdmRolesAvailable);ProjectSettingsModal 增成员/文档职责页签(按 rdmMembersAvailable/rdmDocReviewAvailable);store 刷新命令面时计算三门控标志。样式仅复用既有类。 Refs: 方案 r1 U6/KTD5;RDM PR #260/#262/#254
No dependencies set.
The note is not visible to the blocked user.
Why
方案 r1 U6/KTD5:RDM 侧已合入的角色(#260)、成员/建项守卫(#254)、文档职责与整文审签(#262)命令面缺用户入口;页面须按命令面门控(普通基座零暴露、fail-closed)。
Evidence
npx vitest run test/rdm-management.test.ts→ 1 failed(模块缺失);npx vitest run25 文件 / 124 测试全过(含 design-guard 棘轮、rdm-management 8 项);npm run build(tsc -b + vite)成功;npx tsc -b干净Impact
src/rdmManagement.ts(三组命令清单 + ready 判定 + 载荷构造 + ROLE_ACTIONS/parseReviewers,纯逻辑全测);src/components/adminRdmSections.tsx(RdmRolesPanel:建角色/动作默认与上限/绑定账号/停用;RdmMembersSection:成员增删查;RdmDutiesSection:文档三权分配 + 整文提交/审核/驳回/终批/状态)Refs
方案 r1 U6/KTD5(Documents proposals/2026-10-12-rdm-function-implementation-plan.md);RDM #254/#260/#262