2.6 KiB
2.6 KiB
title, task_id, status, created, updated, owner, task_type, policy_revision, branch, worktree, base_dev_sha, write_scope, mutex, review_state, integration_state, deployment, cleanup, remote_sync
| title | task_id | status | created | updated | owner | task_type | policy_revision | branch | worktree | base_dev_sha | write_scope | mutex | review_state | integration_state | deployment | cleanup | remote_sync | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 修复 test 环境注册 INTERNAL | auth-register-internal-2026-09-28 | done | 2026-09-28 | 2026-09-28 | Cursor | fix | AGENTS.md + agent-worktree-workflow @ 2026-09-21 | fix/auth-register-internal-2026-09-28 | .worktrees/auth-register-internal-2026-09-28 | 4ba60c2c9d |
|
auth-register | accepted | merged_local_dev | test_restarted | pending | not_requested |
修复 test 环境注册 INTERNAL
用户目标与授权
用户在 test 环境注册新用户时收到 {"code":"INTERNAL","message":"请求无法完成","error":"INTERNAL"}。授权:完整修复(补种标准角色、重复用户名改为 400、500 补日志、回归与 test 实测)。
检索
- 检索词:注册、
role-guest、auth/register、INTERNAL、23503。 - ISSUES.md 无同因条目。catalog overlap(mutex
auth-register)hard/soft 均为空。 - 采纳:不改注册角色语义;修复缺失角色的自愈与唯一冲突误判。
根因
见 ISSUE-20260928-register-internal。
变更
| 项 | 说明 |
|---|---|
| 迁移 00077 | 幂等补种 role-director/tech-lead/engineer/guest,并置 is_system=true |
| CreateUser | 用户名/account_id 唯一冲突返回 ErrUsernameExists(400) |
| handler | 注册与登录的基础设施失败打 slog.Error(带 request_id);登录基础设施失败改为 500 |
验证
见 测试报告。
ISSUE-20260928-register-internal
- 预期:test 允许自主注册时,新用户名注册成功;重复用户名返回可理解的 400。
- 实际:test
POST /api/v1/auth/register必现 INTERNAL(复现req_diag_repro_002);dev 新用户名成功,重复用户名也是 INTERNAL(req_f0a8c723ed8e6c4a)。 - 已证实根因:test 库
system_roles缺role-guest,user_role_bindings.role_id外键 23503。00015 只保护role-admin,其余标准角色可删且启动引导不补种。重复用户名 23505 被insert user:判成基础设施 500。 - 修复:00077 +
ErrUsernameExists+ 500 日志。 - 状态:resolved。合入
9141741b;test 重启后 goose 记 version 77,注册 HTTP 200(req_regfix_after_restart,user_id 45,已删除)。
禁止
- 未授权
git push/ 晋升 test/main - 用
--build替换 rc 制品bin/agent-server-test