Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-iam-role-permission-linked-capabilities-perm-ux.md; R0=7716b28cfff5200e7cfe9ec75aff5bcd71b234ed.
Impact: task metadata only; the feature workspace starts at 90317d02a7.
Refs: .task/feature-iam-role-permission-linked-capabilities-perm-ux.md
Why: include the current parent initiative baseline before verification.
Evidence: resolved feature/iam-role-permission-linked-capabilities=a99dbfcd9ac48d09038c76e09dc59e074c11ab7d.
Impact: integrate parent initiative changes without rewriting task history.
Refs: task-sync
Why: the child task implements the approved permission UX plan U1-U6 on
top of the L1 association contract (afb65c5); governance requires the
scope, component branch strategy and coordination notes on the card
before the first project write.
Evidence: precheck READY receipt /tmp/iam-perm-ux-precheck.json; L1
state verified via task-sync (sync_base a99dbfc, L1 U1 completed).
Impact: task card only (.task/** host-exempt path).
Refs: plan /tmp/iam-permission-ux-plan-20261019-1dehpj7l/plan.md; L1 PR #628
Why: permux-U1 (catalog categories + read-only multi-role preview) was
implemented by an external cursor session and applied as transport
bc09721 on the backend working branch; the first successful run was not
transportable because the host invoked run with a relative --repo, which
is recorded verbatim.
Evidence: host verification receipt /tmp/permux-u1-verify.json (build,
filtered go tests, vet, deps untouched); run receipts /tmp/permux-u1-run.json
and /tmp/permux-u1-run2.json.
Impact: task card only.
Refs: L1 PR #628; plan U1.
Why: permux-U2 (atomic batch patch, batch role assignment, copy-and-assign,
role member directory, user directory role projection) was implemented by a
fresh external cursor session and applied as transport 6851ee6; host review
confirmed patch-preserves-unmentioned-rows, single epoch step per batch and
read-only previews.
Evidence: host verification receipt /tmp/permux-u2-verify.json (build,
filtered tests incl. Batch/CopyAssign/Members, vet, deps untouched);
run receipt /tmp/permux-u2-run.json.
Impact: task card only.
Refs: L1 PR #628; plan U2.
Why: permux-U3 (category matrix default view, three-state controls,
multi-role draft with unified preview and atomic batch save, narrow-screen
focus) was implemented by a fresh external cursor session and applied as
transport 4be7362 on the frontend working branch.
Evidence: host verification receipt /tmp/permux-u3-verify-b.json (vitest
role-permissions suites + design guard, tsc -b); run receipt
/tmp/permux-u3-run.json. Note: first capture attempt aborted on a missing
modules/ui node_modules (environment, fixed by npm ci in the ui submodule).
Impact: task card only.
Refs: L1 PR #628; plan U3.
Why: permux-U4 (user table role column, explicit cross-page multi-select,
previewed batch assignment, copy-role-and-assign dialog, role member
sub-view wired from the matrix) was implemented by a fresh external cursor
session and applied as transport d965732.
Evidence: host verification receipt /tmp/permux-u4-verify.json (vitest
account-users/role-members/role-permissions suites + design guard, tsc -b);
run receipt /tmp/permux-u4-run.json.
Impact: task card only.
Refs: L1 PR #628; plan U4.
Why: permux-U5 delivered the truthful subset of project effective-permission
explanations: consume the L1-U1 linkedCapabilities field from /api/me,
document-duty condition notes, creator/role source label mappings, and an
explanation card in the RDM self-check view. Creator-source display and
member shared-read semantics remain NOT_RUN pending L1 U2/U7 and are
recorded as such, not mocked.
Evidence: host verification receipt /tmp/permux-u5-verify.json (vitest
permission-explanations/role-members/design-guard, tsc -b); run receipt
/tmp/permux-u5-run.json.
Impact: task card only.
Refs: L1 PR #628; plan U5.
Why: composition transport 7b25169 pins the permux component branches; the
first affected-run capture was defective (a tail pipe swallowed the nonzero
exit of the knip ratchet) and is explicitly disqualified; the umask-induced
identity test failure is recorded as environmental.
Evidence: knip repair receipt /tmp/permux-knip-run.json (50 <= 51 after fix).
Impact: task card only.
Refs: L1 PR #628; plan U6.
Why: final composition bdd058f (backend 4130ad7 + frontend 46a63f02) passed
the affected gate and the full live-browser suite 8/8 on the real combo;
receipts for all composition and repair transports are recorded, with
honest NOT_RUN notes for scenarios owned by L1 U2/U7 and undeployed C16.
Evidence: /tmp/permux-final-affected.json, /tmp/permux-final-live.json.
Impact: task card only.
Refs: L1 PR #628; plan U6.
Why: the Gitea endpoint stopped serving TLS (WRONG_VERSION_NUMBER) and its
plain-HTTP listener returns a 501 proxy error page for the API, so the PR,
pr-check, CI wait and merge steps are blocked; git/SSH pushes succeeded and
all branches are on the remotes.
Evidence: endpoint probes recorded in this note; remote branches verified
via git ls-remote over SSH.
Impact: task card only; delivery pauses per governance until the platform
recovers.
Refs: L1 PR #628.
Why: the child PR against the L1 branch is open and passes task-pr-check
(base/head/kind verified); PR link recorded on the card.
Evidence: /tmp/permux-prcheck.json.
Impact: task card only.
Refs: PR #629.
Why: the rerun of the lightweight child CI passed on 374ce2d (the first run
failed on a load-timing project-events replay test that passes locally and
was not touched by this diff); evidence recorded before independent review.
Evidence: /tmp/permux-ci-success.json (CI_SUCCESS).
Impact: task card only.
Refs: PR #629.
Why: a fresh-session reviewer (pi) audited the full permux range and
returned PASS with zero blocking findings and five non-blocking
suggestions, recorded verbatim with the review report in .task/reviews.
Evidence: review receipt /tmp/permux-review2-run.json; report file applied
as transport 347586d.
Impact: task records only (.task/** host-exempt).
Refs: PR #629.
Why: include the current parent initiative baseline before verification.
Evidence: resolved feature/iam-role-permission-linked-capabilities=e1e0887e12501158e04477659d4567262dc44a73.
Impact: integrate parent initiative changes without rewriting task history.
Refs: task-sync
Why: task-sync merged the latest L1 head (e1e0887) which only added child
task registrations (u2a/u2b/u7/u7a) — no code or component changes; the
composition pins and prior gate evidence remain valid for the tested
object.
Evidence: /tmp/permux-final-sync.json (changed=1, cards only).
Impact: task records only.
Refs: PR #629.
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-iam-role-permission-linked-capabilities-perm-ux.md -> .task/archive/feature-iam-role-permission-linked-capabilities-perm-ux.md; status 已完成(合入前闭合); PR #629https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/629.
Impact: task metadata only; the card is archived within PR #629 and lands with its merge commit.
Refs: task.sh close --self
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
目标与范围(任务卡即本 PR 描述)
按源码外方案(2026-10-19 评审稿,U1-U6)交付「角色与人员权限配置」闭环,作为 L1 #628 的子任务:
证据
Impact
Refs