--- title: Checkpoint 2026-09-29 23:18:26 UTC [af45ce3094] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-23-18-26-utc-af45ce3094 stable_id: c59fe148-2424-4117-9363-e1a2cb1bef39 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: a2-endpoints-ready-20260930-0710 created_at: '2026-09-29T23:18:26.441603+00:00' updated_at: '2026-09-29T23:18:26.441603+00:00' tags: - ready-to-merge - A2 - admin - feat/a2-endpoints --- # 检查点:A2 端管理完成(ready-to-merge) ## 线 / 任务 - 后台接口 A · A2 端管理 - 分支:`feat/a2-endpoints`(已推送 `origin/feat/a2-endpoints`) - 提交:`419a641` feat: 实现管理后台端管理接口(A2) - 工作树:`e:\\code\\NixMsg-wt\\a2` - 基线:`origin/main` = `d357082` ## 完成内容 - 在 A1 Handler 上将端相关 501 换成真实现:列表(source/online/enabled/query)、开通、CSV 批量开通(BOM、整批校验最多 1000)、batch 停用/启用/删除、详情、PATCH、DELETE、kick、reset-login-password、talk-password、unlock - `Deps.KickEndpoint` 踢连接钩子;停用立刻 enabled=0 并清 session_hash - 生成密码不进日志;重置密码响应只出现一次并作废会话令牌 - `docs/DEVIATIONS.md`「后台接口 A」增补 A2 节,保留其他线各节 ## 验证 - `task check` 通过 - httptest:CSV 一行重复则全部不建并指出行号;重置密码只出现一次;无 CSRF 仍 403 ## 级联未做(留给 I5) - 停用/删除不作废消息与投递(endpoint_disabled/sender_disabled 等) - 删除不退群、不转让群主/解散、不清回执与发出记录(仅删 endpoints + talk_grants) ## 给下个会话 - 总控审阅后 ff-only 合并;接线注入 KickEndpoint 到 broker - I5 合入后 Disable/Delete 应接管完整级联 - 勿强推 main;本分支已 force-with-lease 非必要(普通推送新建远端分支)