Files
Agent-System/.doc/ops/short-term/2026-09-28-auth-register-internal.md
T

2.6 KiB
Raw Blame History

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
deploy
internal
.doc
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