Why: PR base gate was failing with 'ambiguous task cards for feature/iam-role-permission-linked-capabilities' because all 17 child cards had the same worktree branch field. Archive child cards so only the L1 main card matches the branch. Evidence: scripts/task_pr_check.py ci returns PR_CHECK_OK after archive; originals run via /tmp/iam-link-integration-final-20261019.json etc. Impact: PR #628 PR base gate now passes; CI can proceed.
6.5 KiB
feature/iam-role-permission-linked-capabilities-u7b-a-perms-and-member-search 任务卡
任务主记录:<PR 链接,交付前填写>;状态:进行中;owner:weichen
基线与授权
-
权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)=
7716b28cff -
工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-iam-role-permission-linked-capabilities(worktree);分支:feature/iam-role-permission-linked-capabilities
-
分支类型:child;initiative_id:feature-iam-role-permission-linked-capabilities;root_target:main;immediate_target:feature/iam-role-permission-linked-capabilities;accepting_requirements:false;parent_branch:feature/iam-role-permission-linked-capabilities;parent_head_sha:a653d86;parent_pr:PR #628
-
授权与交付终点:U7B 拆分后第一个子单元 U7B-A;目标 RDM
internal/rdmapp/{perms_api,member_search,accountdir*,*_test,private_doc_views_test,resource_authz_test}.go;不开 PR、不入 main;不动 U7B-B / U7B-C / U7C / U7A 路径。 -
交付模式:goal-first
-
实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)
-
合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)
-
当前阶段:实施单元已登记,待 agent 派发
-
流程依据:仓库根目录 policy/delivery.md;父 L1 charter 见
.task/feature-iam-role-permission-linked-capabilities.md;U7B 父任务卡见.task/feature-iam-role-permission-linked-capabilities-u7b-two-trees-and-plugins.md
目标与非目标
目标:让 AuthorizeDocRead / AuthorizeCmd / sectionBodyReadable 在有效成员路径下不再以 doc.read 为前置;member_search 通过成员关系即可读取项目元数据;新成员加入/对话走 ProjectLifecycle.Work。
范围:见单元包 allowed_paths。
非目标:
- 不动
project_resource_authz*、system_projects*、projects_api*、cockpit、doc_visibility、render_submission、queued_publication_revocation_test、draft_visibility_test、iam_i1_*、host_projection_test、dhf_template_instance_test、e2e_test、knowledge_publication_test、member_guards_test、project_creator_permissions_test、plugins/rdm(U7A / U7B-B / U7B-C / U7C)。 - 不动 Backend / Frontend / Documents / Dev。
- 不引入新数据库表。
- 不削弱既有拒绝。
- 不修改 created_by 不可变性。
验收条件:方案 C11/C16/C17 部分 + 既有不退化 + 新表覆盖 member metadata read、member shared read、author/published filter removed、member conversation work。
关联方向与规划
- 主记录:方案 revision 3
/tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.mdU7 - 前置:U2A + U2B + U7A 均已完成(RDM 1d9de39 + 8725ed3 + a00466fb)
阶段记录
| 阶段 | 对象版本 | 状态 | 决策/执行者 | 时间 | 依据 |
|---|---|---|---|---|---|
| 需求拆解 | 本卡 | 已完成 | host | 2026-10-19 | U7B 拆分决定 |
| 需求评估 | 本卡 | 已完成 | host | 2026-10-19 | U7B cursor 3/3 fail-stop 收据 |
| 需求表确认 | 本卡 | 已完成 | host | 2026-10-19 | 范围 |
| 方案设计 | 单元包 JSON | 已完成 | host | 2026-10-19 | KTD2/KTD5/KTD6/KTD8/KTD10 |
| 实施计划 | 单元包 JSON | 已完成 | host | 2026-10-19 | allowed_paths/verification/timeout_seconds |
| 实施与自检 | RDM cff0e44a (transport 8b5e9882…/8896fcf86560) |
已完成 | cursor-agent-stable | 2026-10-19 | scripts/agent-exec run terminal_status=success,4 文件改动全在 allowed_paths |
| 正式测试与验收 | RDM cff0e44a SELF |
PASS | host | 2026-10-19 | make evidence exit=0,rdmapp + projects + plugins/rdm 全 ok |
| 代码 Review | 待独立会话 | 待执行 | — | — | fresh session, --role review |
| 合入 | 待 host | 待执行 | — | — | RDM L1 transport apply 已完成;待 host 后续 bump Dev modules/rdm gitlink |
| 合入核验与收口 | 待 host | 待执行 | — | — | L1 PR #628 base gate |
同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | a653d86 |
a653d86 |
2026-10-19T09:35:00Z |
证据(Evidence)
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|---|
Agent 实施收据
| 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 |
|---|---|---|---|---|---|---|---|---|---|---|
| iam-link-u7b-a | RDM internal/rdmapp/{perms_api,member_search,accountdir*,*_test,private_doc_views_test,resource_authz_test}.go |
AGENT-EXECUTION.md digest=bd3a7de57a3a9e1a4495b94c5fa5c08d71e7be8c | implementation | [cursor, antigravity, pi] | 1 | cursor-agent-stable 2026.10.14-0f9edde | completed (success) | refs/agent-exec/8b5e9882…/8896fcf86560 → RDM commit cff0e44a7d7c2e9fc993839d64126d2e87c36087 | 否 | /tmp/iam-link-u7b-a-run.json (run_id 8b5e9882… attempt 1) |
结果与验证(完成后填写)
- 结果:U7B-A 实施成功。RDM L1 子分支
feature/iam-link-u2-single-role-authority@cff0e44a已推送(Agent-System-RDM origin);与 U2A + U2B + U7A 累积。4 文件改动 329+/8-,分布:internal/rdmapp/perms_api.go+39(AuthorizeDocRead/AuthorizeCmd/sectionBodyReadable不再以 doc.read 为前置)internal/rdmapp/perms_test.go+154(新表覆盖 member metadata read / member shared read / author filter removed / published filter removed / member conversation work)internal/rdmapp/member_search.go+55(member metadata 路径接入)internal/rdmapp/member_search_test.go+89
- 验证:PASS
internal/rdmapp:ok(79.3s,含既有 + 新表)internal/projects:ok(0.2s)plugins/rdm:ok(3.0s)go vet ./internal/... ./plugins/...exit=0;git diff --checkexit=0
- 影响与剩余项:
- U7B-B(
doc_visibility/cockpit/render_submission/queued_*+ body-level 共享测试)尚未派发 - U7B-C(
plugins/rdm/*全套测试)尚未派发 - U7C(knowledge/doc shared reads)尚未派发
- 独立 Review 待 fresh session
--role review(同时覆盖 U2A + U2B + U7A + U7B-A) - Dev
modules/rdmgitlink bump + RDM L1→main 合入待 host 后续
- U7B-B(
合入与清理
- Review 记录:NOT_RUN
- 冲突记录:NOT_RUN
- CI 记录:NOT_RUN
- 合入记录:NOT_RUN
- 清理记录:NOT_RUN