Files
Agent-System/.doc/ops/short-term/2026-09-13-document-revision-reviewer-duty-sync.md
T
weichenandCursor ec89b4c8b0 docs(ops): record independent-review duty-sync tighten
Document assigned-authoritative heal, member-change sync, owner
non-demotion, isolated PG command, compatibility, and remaining 6145 risk.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 22:16:44 +00:00

3.0 KiB
Raw Blame History

title, status, created, updated, owner, branch, worktree, mutex
title status created updated owner branch worktree mutex
项目 reviewer 同步到受控文档职责 in_progress 2026-09-13 2026-09-13 Cursor-Auto fix/document-revision-reviewer-duty-sync - document-revision-reviewer-duty-sync

项目 reviewer 同步到受控文档职责

目标

堵住第17轮 UI-13a:UI-01 已把 USER_B 设为 reviewer,但 doc_proj6145_intake 矩阵为 viewer。项目创建时的 reviewer 必须成为后续每份受控文档的权威 reviewerId。

范围

  • project_members.document_duty 迁移与成员 upsert
  • 任务生成/账本创建解析项目职责;禁止硬编码 2/3
  • 已有文档缺失/非成员占位的服务端自愈
  • 前端立项 persist document_duty + 职责互斥
  • audit / remediation / CURRENT

非目标

  • 不 merge、不启停/重建容器、不跑/声称真实 UI E2E、不 push
  • 不删不改证据目录
  • 不向用户索要 token;不提交账号密码

步骤

  1. 从 dev@639969f 开分支并登记 mutex
  2. RED/GREEN:解析、自愈、成员 duty、前端映射
  3. gofmt / go vet / go test -short / 相关 -race / npm test / npm run build
  4. 原子提交
  5. 独立审查收紧(暂不合入):Heal 以 assigned 为权威;成员变更带 duty 并同步文档;缺 role 不降 owner;写权精确断言;迁移多 owner 确定回填;并发 upsert PG 用例;自愈失败不假成功

验收标准

  • A=author、B=reviewer、C=none;第二文档继承;重复执行幂等;旧文档缺失回填
  • 服务端写操作仍按权限拒绝
  • 前端不按名字提升
  • 现场 UI-13a(未跑)

相关链接

证据 / 备注

  • mutex:document-revision-reviewer-duty-sync(新 mutex,不占用已有 in_progress)
  • 基线:dev@639969f
  • 证据(只读):.doc/test-reports/assets/2026-09-13-document-revision-runtime-ui/schema30-ui13a-reviewer-duty-sync-failure/
  • 验证:go test -short ./... PASS;go test -short -race ./internal/docduty/ ./internal/authz/ ./internal/bizdev/ PASS;cd web && npm test PASS;npm run build PASS
  • PG 集成已写 heal/空 assigned/多 owner 回填/并发 upsert;-short 或无 TEST_DATABASE_URL 时跳过
  • 隔离跑法:scripts/run-isolated-duty-sync-pg-tests.sh(TEST_DATABASE_URL 或 PG_ADMIN_URL 建临时库)。拒绝 agent_system_dev
  • 本轮已在已运行的 context Postgres 上 CREATE DATABASE agent_duty_sync_itest_*,串行跑通后 DROP;未 env-service、未动共享库数据
  • 兼容:旧二进制不读 document_duty 仍可运行;新代码在 assigned 为空时不臆造 reviewer。6145 的 B 仍是空 duty,须再走成员 API
  • 未跑真实 UI-13a,不得标 done;不得 merge / 启停容器 / E2E / push