diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index 06408996..6bcfb0f8 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -13,6 +13,8 @@ | owner | task | branch | worktree | mutex | status | |-------|------|--------|----------|-------|--------| +| Cursor | 2026-09-17-document-author-only-u5 | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | web + document-duty-policy | done | +| Cursor | 2026-09-17-document-author-only-u4 | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | projectinstance + docgov + document-duty-policy | done | | Cursor | 2026-09-17-document-author-only-u3 | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | docgov + docduty + bizdev + document-duty-policy | done | | Cursor | 2026-09-17-document-author-only-u2 | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | projectinstance + document-duty-policy | done | | Cursor | 2026-09-17-document-author-only-u1 | feature/document-author-only-plan | .worktrees/feature-document-author-only-plan | sysadmin + document-duty-policy | done | diff --git a/.doc/ops/short-term/2026-09-17-document-author-only-u4.md b/.doc/ops/short-term/2026-09-17-document-author-only-u4.md new file mode 100644 index 00000000..76c08e55 --- /dev/null +++ b/.doc/ops/short-term/2026-09-17-document-author-only-u4.md @@ -0,0 +1,47 @@ +--- +title: "文档编制人兼任:U4 动作鉴权与审计" +status: done +created: 2026-09-17 +updated: 2026-09-17 +owner: Cursor +branch: feature/document-author-only-plan +worktree: ".worktrees/feature-document-author-only-plan" +mutex: projectinstance + docgov + document-duty-policy +--- + +# 文档编制人兼任:U4 动作鉴权与审计 + +## 目标 + +ABAC 门禁识别 `duty_policy=author_only` 派生职责;审计 Details 携带 duty_policy。 + +## 范围 + +- `duty_action` / `stage_access` / `gate` 改用 `ResolveDocTaskDuty` +- `state_machine` Transition* Details 补 `duty_policy` +- author_only 动作矩阵与阶段可见性测试 + +## 非目标 + +- U5 UI / U6 浏览器闭环 + +## 步骤 + +1. [x] ABAC 三文件 +2. [x] 审计详情 +3. [x] 测试与提交 + +## 验收标准 + +- [x] author_only 规范存储(仅 Author ID)下 A 可 run/edit/submit/review/approve +- [x] 非 A 拒绝;阶段门禁将 author_only 视为 approvalManaged +- [x] 审计 Details 含 duty_policy + +## 相关链接 + +- Plan: U4+U5 实施计划 +- 依赖:U1–U3 + +## 证据 / 备注 + +- `go test -short ./internal/projectinstance/ ./internal/docgov/ ./internal/app/ ./internal/server/` PASS diff --git a/.doc/ops/short-term/2026-09-17-document-author-only-u5.md b/.doc/ops/short-term/2026-09-17-document-author-only-u5.md new file mode 100644 index 00000000..a71bfaf0 --- /dev/null +++ b/.doc/ops/short-term/2026-09-17-document-author-only-u5.md @@ -0,0 +1,48 @@ +--- +title: "文档编制人兼任:U5 系统设置与逐文档 UI" +status: done +created: 2026-09-17 +updated: 2026-09-17 +owner: Cursor +branch: feature/document-author-only-plan +worktree: ".worktrees/feature-document-author-only-plan" +mutex: web + document-duty-policy +--- + +# 文档编制人兼任:U5 系统设置与逐文档 UI + +## 目标 + +前端识别 `duty_policy` / `author_only_policy`;项目设置可逐文档开启兼任。 + +## 范围 + +- `projectSettings.ts` 类型 +- `projectSettingsDuties.ts` resolveClientDocTaskDuty + 校验 +- `ProjectSettingsModal` 兼任勾选与预览 +- SettingsSection 不改(白名单通用渲染) + +## 非目标 + +- U6 多职责动作栏 / 浏览器 E2E + +## 步骤 + +1. [x] 类型与 lib +2. [x] UI +3. [x] 测试与提交 + +## 验收标准 + +- [x] author_only 客户端校验通过且不计三人门槛 +- [x] 总开关关闭时兼任勾选禁用并提示 +- [x] 预览展示兼任文档计数 + +## 相关链接 + +- Plan: U4+U5 实施计划 + +## 证据 / 备注 + +- `npx tsc --noEmit` PASS +- `npm test` PASS(含 projectSettingsDuties author_only 用例)