--- title: Checkpoint 2026-09-30 07:31:26 UTC [82584f16a5] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-31-26-utc-82584f16a5 stable_id: 189a13b3-37e9-4ec6-9169-bf720edf880a scope: project memory_type: checkpoint project_id: 25464650-ed5d-440e-b362-190f2852d451 usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active revision: 1 request_id: h07-checkpoint-20260930-cedd57b created_at: '2026-09-30T07:31:26.930787+00:00' updated_at: '2026-09-30T07:31:26.930787+00:00' tags: - ready-to-merge - lane/admin - H-07 --- ## 后台接口 H-07(Gitea #50)已完成并推送(未 merge main) - **任务**:H-07 重置登录密码踢线失败被吞、审计仍记 ok - **工作树**:`E:\\code\\NixMsg-wt\\r2-h07`(未占用 H-02 的 `r2-h` / `feat/fix-admin-web`) - **分支**:`feat/fix-h07-reset-kick`(已普通推送到 origin,非 force) - **未 merge main**,未关 issue #50 ## 基线与合并 - 从 `origin/feat/fix-admin-web` @ `08c0eb0` 建分支(H-01/H-03–H-06) - `git merge origin/feat/fix-broker-b01-b12` → `b27f50e`(`merge: broker for KickAfterFrame`),无冲突;DEVIATIONS 自动保留双方 - 开工后 `feat/fix-admin-web` 无新 H-02 提交,未再 merge - `serve.go` 无冲突,未改接线:`PasswordResetKick` 仍走 `sess.ResetPassword`(B-04 `PublishThenDisconnect`),回退仍走 `KickEndpoint`/`sess.Kick` ## 提交 - `cedd57b` fix: 重置密码踢线失败时回退断开并记 ok_kick_failed ## 关键实现 - `passwordResetKick`:`PasswordResetKick` 出错则回退 `KickEndpoint`,写错误日志,把原错误返回给调用方 - 重置成功 HTTP 仍 200(密码已改);审计 `result=ok_kick_failed` - 停用/删除钩子出错只写日志,不改审计、不回退 KickEndpoint(identity 自有兜底) - 未改 H-02 审计框架,仍用现有 `audit()` slog - `docs/DEVIATIONS.md` 后台接口 A 追加 `### 复审修复 H-07` ## 验证 - `go test ./internal/admin/ ./internal/broker/ -count=1` 通过(admin 2.6s,broker 6.2s) - 覆盖:注入报错的 `PasswordResetKick` → 调用 `KickEndpoint`、审计 `ok_kick_failed`、仍返回一次性密码;停用/删除钩子失败写日志且不回退 KickEndpoint ## 下一步 总控审阅后 ff-merge(建议在 H-01/H-03–H-06 与 B-04 之后、H-02 之前)。不要强推 main。不要删 `E:\\code\\NixMsg-wt\\fix3`。 ## 给下个会话 - 复用工作树 `E:\\code\\NixMsg-wt\\r2-h07` 与已推送分支 `feat/fix-h07-reset-kick` - 不要在 `E:\\code\\NixMsg-wt\\r2-h` 上改 H-07(那是 H-02 的 admin-web 工作树) - 不要 merge main;H-02 若后合入,冲突时保留双方 DEVIATIONS,serve.go 只接踢线最小改动 - 标签:ready-to-merge