Use verified project identities for member workflows #82

Merged
weichen merged 6 commits from feature/project-member-access into main 2026-10-13 11:52:28 +00:00
Owner

Why: 项目成员、职责和权限入口现在使用服务端提供的领域项目身份,成员在非就绪项目中不会回退创建默认会话。登录切换丢弃旧请求,失败的项目变更如实返回错误。

Evidence: 独立审阅者 /root/frontend_review 对 2ba275b991 重放 259 项测试、构建及 5 个职责浏览器场景通过(原工具收据保持 SELF,独立执行身份提供 REPLAY)。最终组合 GATE 由 Dev PR 的精确 gitlink CI 提供;本仓无独立 Actions workflow。原始输出在 Dev 任务证据保存,未把局部测试称为部署验收。

Impact: 保留当前主干的成员 Picker、职责目录和权限矩阵,归档项目保留只读入口;首轮审签可提交,查看不触发保存确认,迟到文档请求不会把其他文档的职责写到当前选择。

Refs: Dev feature/project-member-access;系统项目协作契约 r1;Documents PR #97。

Why: 项目成员、职责和权限入口现在使用服务端提供的领域项目身份,成员在非就绪项目中不会回退创建默认会话。登录切换丢弃旧请求,失败的项目变更如实返回错误。 Evidence: 独立审阅者 /root/frontend_review 对 2ba275b9917249c6b6b6facde35b1250b86ae768 重放 259 项测试、构建及 5 个职责浏览器场景通过(原工具收据保持 SELF,独立执行身份提供 REPLAY)。最终组合 GATE 由 Dev PR 的精确 gitlink CI 提供;本仓无独立 Actions workflow。原始输出在 Dev 任务证据保存,未把局部测试称为部署验收。 Impact: 保留当前主干的成员 Picker、职责目录和权限矩阵,归档项目保留只读入口;首轮审签可提交,查看不触发保存确认,迟到文档请求不会把其他文档的职责写到当前选择。 Refs: Dev feature/project-member-access;[系统项目协作契约 r1](https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/src/commit/61e0aef39c71bb2fde1c2b8399cd6aba90741959/docs/proposals/2026-10-13-system-project-membership.md);Documents PR #97。
weichen added 5 commits 2026-10-13 10:44:08 +00:00
Why:
Project members need RDM commands to address the registered domain project.
Failed project states and responses from a previous account must not create
work, report a rejected mutation as successful, or restore private content.

Evidence:
SELF npm test: 32 files and 251 tests passed, including project command,
mutation rejection, archived history, and delayed account response coverage.
SELF npm run build and git diff --check passed. Original regressions were
observed before implementation; root owns composition and independent replay.

Impact:
Keep host IDs for conversation and base settings APIs; send the decorated
domain ID to RDM project commands. Reuse existing sidebar, settings and toast
states. Reset identity projections and invalidate old asynchronous responses.
No deployment, database change, push, merge, or workspace cleanup.

Refs:
Dev feature-project-member-access task card and implementation plan Task 4
Why:
An identity can change after an operation has passed its first response guard.
Later project loads, cleanup calls, and attachment refreshes must not reopen
private context or return the previous account's result to the new session.

Evidence:
SELF regressions failed before the guards: delayed project opening, task
creation success, completed-card cleanup, and upload artifact-ID return.
SELF npm test, npm run build, and git diff --check passed; full command
receipt: /tmp/project-member-frontend-final-checks-20261013.json.

Impact:
Guard post-await continuations with the same identity epoch. Preserve the
original server-side result and ignore stale client projections; do not undo
the previous account's already completed work.

Refs:
Dev feature-project-member-access implementation plan Task 4
Why:
Project readiness is a write gate. Applying it to member, permission, and
document status queries hides history that the backend intentionally keeps
readable after archival or closure.

Evidence:
SELF archived and closed read regressions failed before the fix. Full npm
test, npm run build, and git diff --check passed with the amended code.
Receipts: /tmp/project-member-frontend-archived-read-red-20261013.json and
/tmp/project-member-frontend-archived-read-green-20261013.json.

Impact:
Resolve canonical project IDs separately from command readiness. Preserve
known read commands and existing settings tabs for historical projects;
keep mutations and new work blocked with existing disabled controls.
Server authorization remains authoritative.

Refs:
Dev project-member-access Task 4; independent Frontend review P2
Why: Current main supplies member pickers and duty catalogs that must keep verified project identity.

Evidence: Frontend 259 tests and build pass after resolving panel conflicts; final canonical set-role dispatch and fixed combo checks follow.

Impact: Preserve upstream panels with canonical project commands and read-versus-work state guards.

Refs: feature/project-member-access; origin/main c294835
Why:
Fresh documents had no first-submit action, reading active duties opened
confirmation dialogs, and delayed detail or status queries could overwrite
another selection and send its document ID with the wrong duty draft.

Evidence:
SELF real-browser regressions observed the missing action, render-time
dialogs, detail/status races, and a follow-up query after panel unmount.
Five focused Playwright scenarios passed after the fix, together with the
full npm test, npm run build, and git diff --check commands. Receipts:
/tmp/project-member-duties-browser-green-20261013.json and
/tmp/project-member-duties-full-build-green-20261013.json.

Impact:
Offer first submission independently of an existing review round. Ask for
invalidation only on a dirty save click. Guard queries and continuations
with project lifetime, selection, and request sequences; keep the existing
Picker, canonical project routing, controls, and UI tokens.

Refs:
Dev project-member-access Task 4; independent synchronized Frontend P2 review
weichen added 1 commit 2026-10-13 11:36:31 +00:00
Why: Current main carries the same corrected lowercase command ID as this member candidate.

Evidence: Preserve the canonical wrapper and set-role ID; compare the final tree against the independently tested 2ba275b object.

Impact: Update ancestry only; no intended product behavior change.

Refs: Frontend PR83; project-member-access
weichen merged commit eb2d6d32f9 into main 2026-10-13 11:52:28 +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-Frontend#82