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
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: 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: 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: 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: 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: U1+U2 done (Backend afb65c5, RDM 8725ed3); U7 can now start per dependency chain U1→U2→U7→U3→U4→U5→U6.
Evidence: U2 child card .task/feature-iam-role-permission-linked-capabilities-u2-single-role-authority.md (RDML1 8725ed3); U7 plan in /tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.md revision 3.
Impact: U7 dispatch ready; targets RDM internal/projects + internal/rdmapp decoupling from doc.read and publishedKnowledgeSource; member chat work via Backend projectWork DTO already in place.
Refs: plan revision 3 U7; PR #628.
Why: U2B (RDM system-projects-and-plugins) succeeded with cursor-agent attempt 1 (run_id=d7b60010…) terminal_status=success; transport refs/agent-exec/d7b60010…/aafb85b82f70 fast-forwarded to feature/iam-link-u2-single-role-authority @ 8725ed3f on Agent-System-RDM, then pushed to origin. Combined with U2A (1d9de398), U2 implementation is complete.
Evidence: U2B run receipt /tmp/iam-link-u2b-run.json terminal_status=success, transport.commit=8725ed3fe005106fc0693ee58a7d32dd3553d2d3; U2B verify receipt /tmp/iam-link-u2b-verify-20261019.json (perms+rdmapp+dhffidelity+dhfmatrix+plugins/rdm all-ok).
Impact: U2 implementation complete (U2A perms + U2B system-projects-and-plugins); RDM L1 branch @ 8725ed3f has the cumulative changes; L1 PR #628 base gate remains for Dev gitlink bump + independent Review; U3-U6 remain blocked on U7 which depends on U2.
Refs: plan revision 3 U2; PR #628.
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: 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: U2 cursor 3/3 attempts all fail-stop per AGENT-EXECUTION.md explicit fail-stop; redesign the unit as two narrower sub-units instead of retrying the same unit.
Evidence: U2 child card .task/feature-iam-role-permission-linked-capabilities-u2-single-role-authority.md (cursor 3/3 receipts); U2A sub-unit card .task/feature-iam-role-permission-linked-capabilities-u2a-perms-and-perms-api.md.
Impact: U2 split into U2A (perms + perms_api + member_search + accountdir) and U2B (system_projects + projects_api + project_resource_authz + settings_duties + runtime + plugins/rdm); U2B child card deferred until U2A transport lands.
Refs: plan revision 3 U2; PR #628.
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: 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: 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: cursor attempt 3 (run_id=004a0ddb…) also failed-unknown despite widened allowed_paths (49 paths including pins/ and production entry points). cursor 3/3 attempts all hit explicit fail-stop per AGENT-EXECUTION.md.
Evidence: receipts /tmp/iam-link-u2-run.json run_ids 58bf349c / f88af22e / 004a0ddb; U2 child card .task/feature-iam-role-permission-linked-capabilities-u2-single-role-authority.md.
Impact: U2 in blocked state; per explicit fail-stop rule, no other normal candidate retry, no codex emergency; U3-U6 remain blocked on U2.
Refs: plan revision 3 U2; PR #628.
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-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-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: 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: 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: enable U2 dispatch via agent-exec run on Agent-System-RDM; child branch lives on the L1 initiative until host bumps Dev's RDM gitlink.
Evidence: parent L1 charter .task/feature-iam-role-permission-linked-capabilities.md (PR #628, head=f23ce7b).
Impact: U2 child card registered; RDM-side dependency recorded in the goal (no Backend edits from this unit).
Refs: /tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.md revision 3 U2; PR #628; U1 commit afb65c5.
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: enable U1 dispatch via agent-exec run; the child branch lives on the L1 initiative and will be merged back via transport apply, not its own PR.
Evidence: parent L1 charter task card .task/feature-iam-role-permission-linked-capabilities.md (L1 PR #628, head=90317d0).
Impact: child card registry updated; U1 implementation unit now schedulable per AGENT-EXECUTION.md (cursor → agy → pi, 3 attempts each + codex emergency).
Refs: /tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.md revision 3 U1; PR #628.
Why: establish the initiative's charter, scope, and registered children before any implementation unit starts.
Evidence: precheck receipt /tmp/iam-perm-precheck-20261019.json receipt_sha256=8ff8d4dd5f4fe50bf0b779d5de7c989c8eab122babf7bee5ba6237de8640f2af; triage receipt /tmp/iam-perm-triage-20261019.json verdict=NEW.
Impact: L1 initiative charter for plan revision 3 (R1-R17, KTD1-KTD10, C01-C31); U1/U2/U3/U4/U5/U6 registered as required children; feature/iam-role-project-design (R0=3fb8210, 52 behind) explicitly deprecated.
Refs: /tmp/iam-role-permission-plan-20261019-sqfu_4g4/plan.md; PR #628
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-iam-role-permission-linked-capabilities.md; R0=7716b28cfff5200e7cfe9ec75aff5bcd71b234ed.
Impact: task metadata only; the feature workspace starts at 7716b28cff.
Refs: .task/feature-iam-role-permission-linked-capabilities.md
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-u3-account-directory-recovery.md -> .task/archive/feature-iam-u3-account-directory-recovery.md; status 已完成(合入前闭合); PR #626https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/626.
Impact: task metadata only; the card is archived within PR #626 and lands with its merge commit.
Refs: task.sh close --self
Why: card must reflect the re-sync, reviews and component merges before closing.
Evidence: card text only; CI and merge records refer to platform runs.
Impact: task card only.
Refs: Dev PR #626, Frontend PR #86, RDM PR #380
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=d9ac28f89159e17781e2a8ef3094965130f29d2f.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: the user approved Frontend PR #86 stage 7 on 2026-10-14; the card still showed it pending.
Evidence: card text only.
Impact: task card only.
Refs: Frontend PR #86
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/feature-regkb-corpus-wiring.md -> .task/archive/feature-regkb-corpus-wiring.md; status 已完成(合入前闭合); PR #625https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/625.
Impact: task metadata only; the card is archived within PR #625 and lands with its merge commit.
Refs: task.sh close --self
Why: Test evidence is written by make evidence.
Evidence: tests/integration/regulations-kb/run.sh PASS on rdm 377d427 / kb 393555b (SELF).
Impact: Task card only.
Refs: .task/feature-regkb-corpus-wiring.md
Co-authored-by: Cursor <cursoragent@cursor.com>