Record goal and plan for the account chain UI alignment
Why: the forced-change gate and recovery proposal UI fixes need a task card recording scope, units and acceptance before the pin bump lands. Evidence: precheck receipt /tmp/precheck-account-chain-ui-20261016b.json (SELF). Impact: task card only; no product code. Refs: frontend #95, backend 8dfc223, b9c0a34
This commit is contained in:
@@ -7,17 +7,19 @@
|
||||
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= e665bfb574fe3311bb1ffa02212c0620c4e310f7
|
||||
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-account-chain-ui(worktree);分支:fix/account-chain-ui
|
||||
|
||||
- 授权与交付终点:<本次允许的动作与终点;未授权事项写明>
|
||||
- 授权与交付终点:修复账号链路剩余两处前后端契约断裂(用户报告问题 1 与问题 2,2026-10-16 诊断报告获批「按方案完成」)。终点为:frontend 仓契约对齐 PR 合入 → Dev 仓 bump frontend pin 合入 → 共享 dev 重新部署后改密门(current_required 带当前密码)与恢复提案(管理端提案 + 属主确认)链路实测可用。部署共享 dev 属已批准验证路径。不授权改后端契约、不合入 feature/iam-u3-account-ui 整体(其 CI 基建与 duties 重构属 IAM 线另行评审)、不做死账号 DB 手术(P1-B 仅记录预案)。
|
||||
- 交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进)
|
||||
- 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)
|
||||
- 合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)
|
||||
- 人工决策点:仅限目标/范围/验收变更、重大取舍、高后果操作或无法自动判定的业务验收
|
||||
- 当前阶段:需求拆解;当前增量:I1(待定义)
|
||||
- 当前阶段:实施与自检;当前增量:I1(前端契约对齐单元)+ I2(Dev pin bump transport 单元)
|
||||
- 流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位)
|
||||
|
||||
## 目标与非目标
|
||||
|
||||
<预期结果、受影响入口/模块/契约;明确不做什么。>
|
||||
- 背景:backend `8dfc223`/`b9c0a34`(2026-10-14)把强制改密拆为 grant_setup / current_required 两模式(后者必须校验当前密码),并把「管理员直接签发登录 Key」替换为属主确认制恢复提案契约;frontend pin(I1 前 3bbb918)的设密门仍提交空 current(每个初始密码账号被锁在设密门外,用户报告问题 1),且无任何 recovery-proposals 客户端(用户报告问题 2「无法生成一次性 Key」的根因)。
|
||||
- 目标(I1 前端契约对齐,frontend e895a4f,PR #95,叠于已合入的 #94 之上):ChangePasswordGate 按服务端 passwordChangeMode 派生(current_required 显示并提交当前密码,grant_setup 免);api.ts 增加恢复提案/本人资料客户端方法与类型;adminSections.UsersPanel 增加恢复提案面板(发起/状态/撤销,OWNER_PROOF_UNAVAILABLE 文案区分);SettingsModal 增「账号」分区挂 MyAccountSettings(资料编辑 + 属主确认 + 就地兑换);recovery.ts 纯函数 + vitest 锁定文案与模式判定。
|
||||
- 非目标:后端任何改动;rotate/管理端单查等非必需端点的 UI;死账号在线恢复能力(契约使然,预案记录见交付报告);e2e 场景(另有 #581 在途适配)。
|
||||
|
||||
## Agent 实施收据
|
||||
|
||||
@@ -25,25 +27,28 @@
|
||||
|
||||
| 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| 待定义 | — | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | — |
|
||||
| u1-frontend-account-chain(已按 frontend 仓自有规则由主模型实施,先例同 I1 卡路由裁定:frontend 无实施路由条款,Dev 侧仅 transport 提交 pin bump) | frontend src/{api.ts,recovery.ts,recovery.test.ts,components/{LoginPage,MyAccountSettings,SettingsModal,adminSections}} | SELF 验证 vitest 300 通过 / tsc build ok / knip 54<=55 | implementation | (frontend 仓直接实施,见左注) | 1 | 主模型 | success | 不适用(frontend 仓 PR #95) | 否 | 提交 e895a4f 内 Evidence 段 |
|
||||
| u2-dev-frontend-pin-bump | Dev 仓 modules/frontend gitlink → e895a4f6(frontend #95 head) | 配置对象 AGENT-EXECUTION.md | implementation | cursor,antigravity,pi | 待派发 | — | NOT_RUN | NOT_RUN | 否 | /tmp/u2-account-chain-pin-receipt.json;单元包 /tmp/unit-account-chain-u2.json |
|
||||
|
||||
## 关联方向与规划
|
||||
|
||||
- 适用状态:待核对(无适用规划时说明原因)
|
||||
- 主记录路径/版本:待核对(路径按仓库根目录定位,归档后不变;只引用唯一正文)
|
||||
- 对应里程碑:待核对
|
||||
- 适用状态:部分适用——缺陷源自 IAM/账号管控线(backend 8dfc223/b9c0a34)的 frontend 跟进缺口;完整 U3 账户 UI(feature/iam-u3-account-ui,PR #86 WIP)属 IAM 线待阶段 7 人工结论,本卡只做交付层最小对齐,不修改其规划正文。
|
||||
- 主记录路径/版本:RDM 仓 requirements(唯一正文);2026-10-16 账号链路诊断报告(本会话,用户批「按方案完成」)。
|
||||
- 对应里程碑:账号管控交付层可用性(问题 1、2 关闭)。
|
||||
|
||||
## 需求分析
|
||||
|
||||
| ID | 描述 | 项目符合度及依据 | 优先级 | 验收条件 | 依赖 | 结论 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| R1 | 待填写 | 待评估 | 待定 | 待定义 | 待确认 | 待评审 |
|
||||
| R1 | 初始密码首登(current_required)可在设密门输入当前密码完成改密并重登 | 符合:backend accounts.go changePassword→CompleteForcedPasswordChecked;frontend LoginPage 门按 /api/me passwordChangeMode 派生 | P0 | 部署后实测:初始密码登录→门显当前密码框→带 current 提交 200→新密码重登成功 | #583(I1)先合入 | 纳入本增量 |
|
||||
| R2 | 管理员可为用户发起恢复提案并查看/撤销;属主可在设置→账号确认提案并就地兑换设密 | 符合:backend recovery 契约(提案→属主确认→grant→兑换);OWNER_PROOF_UNAVAILABLE 语义区分 | P0 | 部署后实测:管理员建提案→属主确认得 grant→兑换→设密→旧密码 401、新密码 200 | R1 同一部署 | 纳入本增量 |
|
||||
| R3 | 无合格会话证明/已有活动提案的 409 在 UI 呈现为人话并指引本地处置 | 符合:recovery.ts recoveryProposalErrorMessage 纯函数 + vitest | P1 | vitest 覆盖 + 部署后触发一次 409 路径验证文案 | R2 | 纳入本增量 |
|
||||
|
||||
## 方案与计划
|
||||
|
||||
- 方案引用:待填写(含对象版本)
|
||||
- 实施计划引用:待填写(含增量与需求 ID)
|
||||
- 测试计划引用:待填写(含需求 ID 与验收条件)
|
||||
- 方案引用:2026-10-16 账号链路诊断报告(用户批准「按方案完成」):仅迁移 frontend,不改后端契约;改密门实现摘自 feature/iam-u3-account-ui 已评审实现(LoginPage 门 + MyAccountSettings),恢复提案管理端按主检出 UsersPanel 形态最小重写。
|
||||
- 实施计划引用:I1 = frontend e895a4f(PR #95,叠于 #94);I2 = host 集成:#95 合入后 task-sync → u2 transport pin bump → PR/CI/合入 → RDM 级联与部署。
|
||||
- 测试计划引用:R1/R3 → frontend vitest(recovery.test.ts 锁定模式判定与 409 文案)+ tsc build + knip 基线;R1/R2 验收 → 共享 dev 部署后真实链路(curl 级契约重放 + 部署产物含新代码核对);权威 GATE = Dev 组合 CI(PR HEAD)。
|
||||
|
||||
## 阶段记录
|
||||
|
||||
|
||||
Reference in New Issue
Block a user