diff --git a/.task/feature-auth-password-management.md b/.task/feature-auth-password-management.md index 019d4bb1..2ca4dbdd 100644 --- a/.task/feature-auth-password-management.md +++ b/.task/feature-auth-password-management.md @@ -9,17 +9,21 @@ - 分支类型:standalone;root_target:main;immediate_target:main;accepting_requirements:false - 需求分流:verdict=NEW;selected_initiative=无;requirement_sha256=5ccd19151c14c62ba8bfa8a7510ba7dec04d621b8fe994670f67080f8d22b8b5;triage_receipt=/tmp/agent-system-dev-auth-triage.json;receipt_sha256=219deab6c8c449f3871f351f6466f8756b08545ff581ea2d02fac87e0bd8b587 -- 授权与交付终点:<本次允许的动作与终点;未授权事项写明> +- 授权与交付终点:整改页面用户创建、管理员密码重置/管理与密码登录入口;完成 Backend/Frontend 变更、直接相关测试、Review、当前 HEAD CI 与合入收口。保留网页端一次性 Key 分发/管理及非登录页兑换能力,不删除其后端契约。 - 交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进) - 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md) - 合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入) - 人工决策点:仅限目标/范围/验收变更、重大取舍、高后果操作或无法自动判定的业务验收 -- 当前阶段:需求拆解;当前增量:I1(待定义) +- 当前阶段:实施与自检;当前增量:I1 用户密码管理闭环 - 流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位) ## 目标与非目标 -<预期结果、受影响入口/模块/契约;明确不做什么。> +预期结果:管理员可在页面创建带初始密码的可登录用户;初始密码可由管理员输入或服务端随机生成,首次登录强制改密;管理员重置密码只能获得服务端生成的临时随机密码,用户首次使用后强制改密;登录界面只接受用户名+密码。 + +范围:Backend 管理员建号/重置接口、事务与测试;Frontend 登录页、用户管理页与对应测试。 + +非目标:不移除网页端一次性 Key 的分发/管理,不删除 Key 后端接口、历史数据或非登录页兑换流程;不做部署、数据迁移或无关 UI 重构。 ## Agent 实施收据 @@ -27,7 +31,8 @@ | 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 | |---|---|---|---|---|---|---|---|---|---|---| -| 待定义 | — | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | NOT_RUN | — | +| backend-password-management | 管理员建号/随机重置接口、事务与测试 | implementation | Cursor→Antigravity→PI→Codex emergency | 进行中 | — | — | — | — | — | — | +| frontend-password-login | 登录页密码唯一入口、用户管理创建/重置与测试 | implementation | Cursor→Antigravity→PI→Codex emergency | 进行中 | — | — | — | — | — | — | ## 关联方向与规划 @@ -39,13 +44,15 @@ | ID | 描述 | 项目符合度及依据 | 优先级 | 验收条件 | 依赖 | 结论 | |---|---|---|---|---|---|---| -| R1 | 待填写 | 待评估 | 待定 | 待定义 | 待确认 | 待评审 | +| R1 | 页面创建用户不再依赖服务端 CLI 初始化;管理员可设置或生成初始密码 | 符合现有管理员 API、must-change 与 argon2 存储模型 | P0 | 页面创建成功即返回一次性可交付的生成密码或确认管理员输入密码;无需 CLI | Backend/Frontend | 纳入本增量 | +| R2 | 管理员重置只能生成随机临时密码,用户使用后必须改密 | 现有管理员重置事务已具备会话吊销与 must-change 基础,HTTP 入口待恢复 | P0 | 请求含 password 字段被拒绝;随机密码可登录但只能进入强制改密;旧会话/旧密码失效 | Backend/Frontend | 纳入本增量 | +| R3 | 登录界面不再提供一次性 Key 登录 | 现有 LoginPage 双 tab;Key 分发/管理为非目标 | P0 | 登录界面只渲染用户名/密码;现有网页 Key 分发/管理保持 | Frontend | 纳入本增量 | ## 方案与计划 -- 方案引用:待填写(含对象版本) -- 实施计划引用:待填写(含增量与需求 ID) -- 测试计划引用:待填写(含需求 ID 与验收条件) +- 方案引用:本次对话确认的密码管理闭环;保留一次性 Key 分发/管理契约 +- 实施计划引用:I1 分为 Backend 与 Frontend 两个互不重叠单元,先测试后实现 +- 测试计划引用:Backend HTTP/store 回归 + Frontend 单测/Playwright 契约检查 + 组合构建 ## 阶段记录