Why: the duty page needs one record for the four domain rulings, and the earlier settings plan must show which duty-page sections it no longer owns. Evidence: SELF review of the proposal text against the approved implementation plan. Impact: r1 section 4 and the duty-page parts of P5 and P7 point at r2. Settings, members, and the permission matrix stay in r1. Refs: docs/proposals/2026-10-15-rdm-duty-matrix-rework.md Co-authored-by: Cursor <cursoragent@cursor.com>
3.8 KiB
title, date, type, execution, artifact_contract, product_contract_source
| title | date | type | execution | artifact_contract | product_contract_source |
|---|---|---|---|---|---|
| 文档职责矩阵整改 | 2026-10-15 | feature | code | rdm-duty-matrix/v1 | legacy-requirements |
文档职责矩阵整改 r2
负责人:weichen;编制日期:2026-10-15。 本记录是文档职责整改的唯一主记录。它取代 r1 增量方案 第四节,以及该方案 P5、P7 中“文档职责页”的交互;r1 的设置归属、成员、权限矩阵与其余工作包继续有效。
候选分支 feature/rdm-settings-completion 里的文档职责界面暂停合入。系统设置、成员选择、权限矩阵和已落地的后端安全能力不在本暂停范围内。本任务从当时的 origin/main 另起兄弟分支 feature/rdm-duty-matrix,不把该候选当作父分支。
四项领域裁定
- 职责只到文档级。项目设置不再新增章节级职责;历史章节审签只读保留。
- 项目设置只分配已有受控文档的编制、审核、批准职责。不创建文档、不从模板生成、不提交审核、不审核通过、不驳回、不终批。
- 每份文档恰好一名编制、至少一名审核、恰好一名批准。同一人在同一文档上只担一个职责。审核可以有多人。
- 与文档职责完全一致的旧章节覆盖可以归并为文档级。同一文档下章节人员不一致的,列出清单,由项目负责人逐文档确认,不自动覆盖。
项目负责人可以分配职责,但不因负责人身份自动成为编制、审核或批准人。当前职责与已冻结的审签名单分开保存;修改当前职责不改写已批准版本和历史名单。
姓名来源仍按 r1 评审补充第 3 条待证。本页用账号标识展示,不把未证实的姓名字段写进契约。
契约
读:rdm.duty.matrix。view 为 member、document 或 matrix。筛选在分页之前。文档页上限 20。响应给出文档完整性、dutyVersion、章节覆盖数、在途轮次、成员资格、单元格 none|author|reviewer|approver,以及当前操作人是否可分配。单元格只投影当前文档级职责。没有 duty.assign 的调用直接拒绝,避免矩阵列头泄露不可见文档。
写:唯一入口仍是每份文档的完整目标,rdm.review.assign.doc 与 rdm.review.assign.doc.batch(1–20 项,整批原子)。带 expectedDutyVersion 与 confirmInvalidation。rdm.review.assign 只返回“章节级职责已停用,请在文档级设置”。
预览:rdm.duty.preview 与写载荷相同,只读返回替换对象、在途失效和缺人原因,不写数据。保存时服务端重新校验。
迁移:rdm.duty.legacy.scan 只读;rdm.duty.legacy.apply 只清除与文档职责完全一致的章节覆盖。
三视图
按人员、按文档、成员×文档矩阵共享同一份服务端数据和同一份未保存草稿。单元格由文档三权反推。把唯一编制或批准改成其他值可以继续编辑,但在指定接替人前不能保存。替换已有编制或批准时提示“将替换某某”,保存时一次替换。窄屏不压缩整张矩阵,改走前两个视图。一次保存最多 20 份文档。请求带递增序号,过期响应丢弃。写入结果未知时重读,不自动重放。
页面顶部写明:本页只分配已有文档的职责,不创建或生成文档。
验收
单文档三权恰好、多审核人、一人一责、三视图草稿一致、替换提示与原子替换、缺人禁止保存、成员失效保存被拒、版本冲突、批量整批失败不写、影响预览与历史不变、无私密文档列头泄露、无创建/生成/审签按钮、迟到响应不覆盖、design-guard、make test 与 make build。部署和真实账号浏览器验收另行授权。