--- title: Checkpoint 2026-09-29 22:53:35 UTC [d445e380d4] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-53-35-utc-d445e380d4 stable_id: acc1b400-897d-43fd-a25c-2a607acdf737 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: p-platform-p1-p4-20260930-ready created_at: '2026-09-29T22:53:35.227926+00:00' updated_at: '2026-09-29T22:53:35.227926+00:00' tags: - ready-to-merge - line-P - feat/p-platform - P1 - P2 - P3 - P4 --- # 检查点:平台线 P1–P4 ready-to-merge ## 完成内容 - 分支 `feat/p-platform`(基于 origin/main `22c56d1`)完成 P1–P4 并推送。 - 工作树:`e:\code\NixMsg-wt\p`(未改主工作区)。 - 提交: - `d777a1e` feat: 实现配置校验与运维命令及优雅停机(P1) - `f2fe4bd` feat: 实现写入队列合并事务与 SAVEPOINT 隔离(P2) - `47d627c` feat: 实现 argon2 哈希池、令牌与登录锁定计数(P3) - `bbdd4af` feat: 注册 Prometheus 指标与 Handler(P4) ## 关键实现 - P1:`internal/config.Validate`(拒 max_body_bytes>262144);命令 admin init/set-password、backup、check-config、healthcheck;slog JSON;serve 需已 init;/readyz;停机 Drain≤10s。 - P2:写 goroutine 合并(≤256 或 2ms)、SAVEPOINT;`store.ErrBusy` + Ready。 - P3:`auth.Pool`(argon2id 19MiB/t=2/p=1,池=CPU)、Session/API 令牌、MemoryLocks。 - P4:`internal/metrics` 注册表与 Handler(未挂路由)。 - 未改:protocol/listener/broker/web/sdk、wire.go、PRD;DEVIATIONS 仅「平台 P」。 ## 验证 - 工作树内 `task check` 通过(build/lint/test)。 - 推送:`origin/feat/p-platform`(普通推送,未强推,未推 main)。工作区干净。 ## 没做完 / 给下个会话 - `wire.go` 仍用 auth Stub;真实 `NewPool` 等需接线。 - `/metrics` 未挂 serve(A 线访问规则)。 - 停机路径尚无 MQTT 长连接踢除(等 N 线)。 - 写队列 commit 耗时未自动打到 metrics(字段已提供,接线时绑定)。 ## 下一步 - 总控审阅后 ff-merge `feat/p-platform`;各线 rebase。