diff --git a/memrelay-manifest.json b/memrelay-manifest.json index 1ab3f9b..3f53748 100644 --- a/memrelay-manifest.json +++ b/memrelay-manifest.json @@ -107,6 +107,26 @@ { "kind": "directory", "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", diff --git a/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-47-58 UTC [99329660b1].md b/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-47-58 UTC [99329660b1].md new file mode 100644 index 0000000..ba52b5f --- /dev/null +++ b/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-47-58 UTC [99329660b1].md @@ -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 \ No newline at end of file