Files
Agent-System-Dev/.task/archive/feature-iam-role-permission-linked-capabilities-u2a-perms-and-perms-api.md
T
weichen 35ef55822a
ci / svc-realcombo (pull_request) Failing after 2m7s
ci / test-pg (pull_request) Failing after 3m38s
ci / test (pull_request) Failing after 6m17s
Archive completed U1-U7 + blocked U5-RDM/U5-Frontend child task cards
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.
2026-10-19 23:16:44 +00:00

7.1 KiB
Raw Blame History

feature/iam-role-permission-linked-capabilities-u2a-perms-and-perms-api 任务卡

任务主记录:<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:71d6945;parent_pr:PR #628

  • 授权与交付终点:U2 在 cursor 3/3 fail-stop 后按治理拆分,本卡为 U2A 子单元;目标 RDM internal/perms + internal/rdmapp/{perms_api,member_search,accountdir};不开 PR、不入 main;不动 U2B 路径(system_projects/projects_api/project_resource_authz/settings_duties/runtime/plugins/rdm)。

  • 交付模式: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;父单元 U2 任务卡见 .task/feature-iam-role-permission-linked-capabilities-u2-single-role-authority.md

目标与非目标

目标:让 internal/perms 与 internal/rdmapp/perms_api.go / member_search.go / accountdir*.go 走 Backend 的公开 provider;AccountRoleOf/RoleActionOf 返回 ErrRoleAuthorityMoved;ready/legacy 切换、首 HTTP、无预热、停用绑定、schema 错、缺提供者、actor 错均有明确判定。

范围:见单元包 allowed_paths。

非目标:

  • 不动 system_projects、projects_api、project_resource_authz、settings_duties、runtime、plugins/rdm(U2B 子单元)。
  • 不动 Backend / Frontend / Documents / Dev。
  • 不引入新数据库表。
  • 不删除 AccountRoleOf/RoleActionOf 符号。
  • 不削弱既有拒绝。

验收条件:U2A 子单元 dispatch success;既有 role_migration_test.go 仍观察到 ErrRoleAuthorityMoved;新表覆盖七类场景全 PASS;C22 + C08/C09 不退化。

关联方向与规划

  • 主记录:方案 revision 3 /tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.md U2 + 父单元 U2
  • 前置:U1 capability-association(Backend L1 afb65c5)
  • 后继:U2B sub-unit(system_projects + projects_api + project_resource_authz + settings_duties + runtime + plugins/rdm)

阶段记录

阶段 对象版本 状态 决策/执行者 时间 依据
需求拆解 本卡 已完成 host 2026-10-19 U2 拆分决定
需求评估 本卡 已完成 host 2026-10-19 U2 cursor 3/3 fail-stop 收据
需求表确认 本卡 已完成 host 2026-10-19 范围
方案设计 单元包 JSON 已完成 host 2026-10-19 KTD7
实施计划 单元包 JSON 已完成 host 2026-10-19 allowed_paths/verification/timeout_seconds
实施与自检 RDM 1d9de398 (transport 255b63b7…/537daf57a809) 已完成 cursor-agent-stable 2026-10-19 scripts/agent-exec run terminal_status=success,9 文件改动全在 allowed_paths
正式测试与验收 RDM 1d9de398 SELF PASS host 2026-10-19 make evidence exit=0,perms + rdmapp + dhffidelity + dhfmatrix 全 ok
代码 Review 待独立会话 待执行 — — fresh session, --role review
合入 待 host 待执行 — — RDM L1 transport apply 已完成;待 host 后续 bump Dev modules/rdm gitlink + U2B 实施
合入核验与收口 待 host 待执行 — — L1 PR #628 base gate

同步记录

节点 sync_base_sha tested_head_sha checked_at
启动 71d6945 71d6945 2026-10-19T04:00:00Z

证据(Evidence)

时间(UTC) 命令 被测HEAD exit 来源 sha256(16)

Agent 实施收据

单元 ID 预期范围 配置摘要 角色 候选顺序 attempt CLI/模型 终态 transport fallback 源码外收据路径
iam-link-u2a RDM internal/perms/* + internal/rdmapp/{perms_api,member_search,accountdir*,*_test}.go + pins/{agent-system-backend,agent-system-core} AGENT-EXECUTION.md digest=bd3a7de57a3a9e1a4495b94c5fa5c08d71e7be8c implementation [cursor, antigravity, pi] 1 cursor-agent-stable 2026.10.14-0f9edde completed (success) refs/agent-exec/255b63b7fce6cfef8f38c24167bb2bd3/537daf57a809 → RDM commit 1d9de39870141cb4030f2020b8a1dc553423ce89 否 /tmp/iam-link-u2a-run.json (run_id 255b63b7… attempt 1)

结果与验证(完成后填写)

  • 结果:U2A 实施成功。RDM L1 子分支 feature/iam-link-u2-single-role-authority @ 1d9de398 已推送(Agent-System-RDM origin)。9 文件改动,938+/106-,分布:
    • internal/perms/role_provider.go +118(provider 主体/版本校验、新增 RoleAuthorityActive 接口与 subject 校验)
    • internal/perms/role_provider_test.go +153(新表 6 项 PASS)
    • internal/perms/role_migration_test.go +59(既有 ErrRoleAuthorityMoved 测试保留)
    • internal/perms/roles.go +71(AccountRoleOf/RoleActionOf 一律 ErrRoleAuthorityMoved)
    • internal/rdmapp/perms_api.go +254/-(HTTP 入口切到 RoleAuthority.PolicyForUser、新增 subject 校验)
    • internal/rdmapp/perms_test.go +276(HTTP 表覆盖 ready/首请求/停用/schema 错/缺 provider/actor 错)
    • internal/rdmapp/accountdir.go、member_search.go、member_search_test.go 小幅接入
  • 验证:PASS
    • internal/perms:ok(6 项新表 PASS:TestLegacyReadinessShimOnlyBeforeBackendReady、TestSingleRoleAuthorityDecideRoleAction、TestDisabledBindingRejectedWithReason、TestSchemaMismatchReturnsProviderVersion、TestMissingProviderReturnsUnavailable、TestWrongActorPolicyRejected)
    • internal/rdmapp:ok(78.3s,含既有 + 新表)
    • internal/rdmapp/dhffidelity / dhfmatrix:ok
    • go vet ./internal/... exit=0;git diff --check exit=0
    • 既有 role_migration_test.go 仍观察到 AccountRoleOf/RoleActionOf 返回 ErrRoleAuthorityMoved
  • 影响与剩余项:
    • U2B 子单元(system_projects、projects_api、project_resource_authz、settings_duties、runtime、plugins/rdm/*)尚未派发,依赖 U2A 的 RoleAuthority 接口稳定
    • 独立 Review 待 fresh session --role review
    • Dev modules/rdm gitlink bump + RDM L1→main 合入待 host 后续

合入与清理

  • Review 记录:NOT_RUN
  • 冲突记录:NOT_RUN
  • CI 记录:NOT_RUN
  • 合入记录:NOT_RUN
  • 清理记录:NOT_RUN