U2: enforce creator management authority in RDM projects #640

Merged
weichen merged 4 commits from feature/project-access-lifecycle-u2-creator-management into feature/project-access-lifecycle 2026-10-19 21:18:05 +00:00
Owner

目标(计划 U2:R2/R3/R11)

把 RDM 项目管理动作(项目设置、成员管理、状态管理入口)的授权收敛为唯一规则:enabled 账号 + 有效项目访问(provider 的 project.create 能力 allowed&&capAllowed,与 Backend U1 归一化一致)+ 认证 actor == 规范项目不可变 createdBy。override(perm.set/unset)不再参与管理判定——既不能把管理权授予非 creator(owner 标签/系统管理员/RDM 域管理员/调用方字段同样不行),也不能阻挡合格 creator。账号停用/权限撤销在写边界重验;provider 缺失/未就绪 fail-closed。文档职责域机械适配,功能不变;两树一网共享读取、会话隐私、宿主投影不动。

证据

  • RDM 交付:分支 feature/project-access-lifecycle-u2-creator-management @ aa1a7d2(基线 5a27d78=RDM main,已含 #450)。12+3 文件。
  • 独立 Review(全新 cursor 会话):BLOCKED(2)→修复后闭环。①legacy readiness 管理判定 fail-open → 改为任何模式强制 creator+enabled,provider 未就绪 fail-closed 拒绝;②13 个 host_projection 回归测试被 Skip → 全部恢复并按新语义通过。rdmapp 全量 3 包 ok、Skip=0、perms/members/projects ok、vet 干净。
  • 派发过程环境摩擦(cursor 网络 TLS ×2、local_config 监管 ×2、pins 嵌套依赖物化、终态记录 ×2)全部如实记录于任务卡收据行;-modfile 配方与 pin 自愈步骤已沉淀。

Impact

本 PR 携带任务卡(RDM 代码在 Agent-System-RDM 仓同名分支,随 L1 交付组合)。不改 Dev 组件 gitlink(RDM 非本仓子模块)。

Refs

计划 2026-10-19-1440 U2;L1 PR #634。

## 目标(计划 U2:R2/R3/R11) 把 RDM 项目管理动作(项目设置、成员管理、状态管理入口)的授权收敛为唯一规则:enabled 账号 + 有效项目访问(provider 的 project.create 能力 allowed&&capAllowed,与 Backend U1 归一化一致)+ 认证 actor == 规范项目不可变 createdBy。override(perm.set/unset)不再参与管理判定——既不能把管理权授予非 creator(owner 标签/系统管理员/RDM 域管理员/调用方字段同样不行),也不能阻挡合格 creator。账号停用/权限撤销在写边界重验;provider 缺失/未就绪 fail-closed。文档职责域机械适配,功能不变;两树一网共享读取、会话隐私、宿主投影不动。 ## 证据 - RDM 交付:分支 feature/project-access-lifecycle-u2-creator-management @ aa1a7d2(基线 5a27d78=RDM main,已含 #450)。12+3 文件。 - 独立 Review(全新 cursor 会话):BLOCKED(2)→修复后闭环。①legacy readiness 管理判定 fail-open → 改为任何模式强制 creator+enabled,provider 未就绪 fail-closed 拒绝;②13 个 host_projection 回归测试被 Skip → 全部恢复并按新语义通过。rdmapp 全量 3 包 ok、Skip=0、perms/members/projects ok、vet 干净。 - 派发过程环境摩擦(cursor 网络 TLS ×2、local_config 监管 ×2、pins 嵌套依赖物化、终态记录 ×2)全部如实记录于任务卡收据行;-modfile 配方与 pin 自愈步骤已沉淀。 ## Impact 本 PR 携带任务卡(RDM 代码在 Agent-System-RDM 仓同名分支,随 L1 交付组合)。不改 Dev 组件 gitlink(RDM 非本仓子模块)。 ## Refs 计划 2026-10-19-1440 U2;L1 PR #634。
weichen added 3 commits 2026-10-19 21:09:37 +00:00
Why: establish the authorized task workspace and its initial baseline.

Evidence: preserved precheck receipt in .task/feature-project-access-lifecycle-u2-creator-management.md; R0=2b7fdc39a1f44163f4766701429d61ffd6926f1a.

Impact: task metadata only; the feature workspace starts at a32e2227b0.

Refs: .task/feature-project-access-lifecycle-u2-creator-management.md
Why: the U2 RDM unit centralizes creator management authority (effective
project access + exact immutable createdBy; overrides can neither grant
management to others nor block the eligible creator) and was delivered on
the RDM working branch 853121d after an environment-heavy dispatch series
documented verbatim in the receipt row.

Evidence: /tmp/pal-u2-verify.json (package builds, perms/members/projects
tests, full rdmapp suite 4 packages ok, vet, clean tree).

Impact: task card only.

Refs: plan 2026-10-19-1440 U2; PR #634.
Record U2 review blockers fixed and verification
ci / test-pg (pull_request) Skipped
ci / svc-realcombo (pull_request) Skipped
ci / test (pull_request) Successful in 8m0s
c454d119c5
Why: the independent reviewer blocked on a legacy-mode fail-open management
bypass and 13 skipped host-projection regression tests; the repair transport
aa1a7d2 enforces fail-closed in every mode and restores all 13 tests under
the new semantics (rdmapp full suite green, Skip count 0).

Evidence: /tmp/pal-u2-verify2.json.

Impact: task card only.

Refs: plan 2026-10-19-1440 U2; PR #634.
weichen added 1 commit 2026-10-19 21:09:41 +00:00
Fold-close the task card before merge
ci / svc-realcombo (pull_request) Skipped
ci / test (pull_request) Successful in 7m58s
ci / test-pg (pull_request) Skipped
788f08b5d7
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-project-access-lifecycle-u2-creator-management.md -> .task/archive/feature-project-access-lifecycle-u2-creator-management.md; status 已完成(合入前闭合); PR #640 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/640.
Impact: task metadata only; the card is archived within PR #640 and lands with its merge commit.
Refs: task.sh close --self
weichen merged commit 03ab4d3c8b into feature/project-access-lifecycle 2026-10-19 21:18:05 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Dev#640