create: Checkpoint 2026-09-29 22:47:58 UTC [99329660b1]

MemRelay-Operation: checkpoint-save:i1-register-ready-20260930-064800
MemRelay-Resource: ff8132b0-d7c6-429a-998e-dc3ebc8645ab
This commit is contained in:
2026-09-30 06:48:19 +08:00
parent 8773d1291e
commit bbfc987165
2 changed files with 71 additions and 0 deletions
+20
View File
@@ -107,6 +107,26 @@
{ {
"kind": "directory", "kind": "directory",
"value": "e:/code/nixmsg-wt/t04" "value": "e:/code/nixmsg-wt/t04"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/p"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/m"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/w"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/s1"
},
{
"kind": "directory",
"value": "e:/code/nixmsg-wt/s2"
} }
], ],
"created_at": "2026-09-29T15:42:27.642284+00:00", "created_at": "2026-09-29T15:42:27.642284+00:00",
@@ -0,0 +1,51 @@
---
title: Checkpoint 2026-09-29 22:47:58 UTC [99329660b1]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-47-58-utc-99329660b1
stable_id: ff8132b0-d7c6-429a-998e-dc3ebc8645ab
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: i1-register-ready-20260930-064800
created_at: '2026-09-29T22:47:58.818501+00:00'
updated_at: '2026-09-29T22:47:58.818501+00:00'
tags:
- ready-to-merge
- i1
- line-I
- feat/i1-register
---
# 检查点:I1 注册接口 ready-to-merge
## 完成内容
- 实现 `POST /api/client/register` 为可挂载 `http.Handler`(`identity.NewRegisterHandler` / `NewServer().Handler()`)。
- 覆盖 DEVELOPMENT 6.9:开关、安全码常量时间比较、IP 锁定、CORS/OPTIONS、4KiB 体、字段规则、`source=self`、日志不含安全码/密码。
- httptest + 临时 SQLite 覆盖 F23 验收;`task check` 通过。
- 写 `docs/DEVIATIONS.md`「身份 I」五条。未改 PRD、cmd、listener。
## 分支 / 路径 / 提交
- 分支:`feat/i1-register`(已推送 origin,未推 main)
- 工作树:`E:/code/NixMsg-wt/i`(基于 origin/main `22c56d1`)
- 提交:`3f6f942` feat: 实现端自助注册 HTTP 接口与 F23 验收测试
## 挂载方式
```go
mux.Handle("/api/client/register", identity.NewRegisterHandler(identity.RegisterConfig{
DB: db, Hash: hashPool, Locks: loginLocks, // P3 实现
}))
```
## 验证
- `task check`:web build、embeddist、golangci-lint 0、go test ./... 含 identity F23
## 没做完
- 未接线到 cmd/listener(等 N/总控)
- 依赖 P3 真实 HashPool/LoginLocks;测试用 StubHashPool + 测试用 register IP 锁定器
- I2–I5 未做;trusted_proxies IP 由接线注入 ClientIP
## 给下个会话
- 可 rebase origin/main 后由总控 ff-merge;勿强推 main;勿改主工作区 e:/code/NixMsg