create: Checkpoint 2026-09-29 22:01:20 UTC [b12c120b2c]

MemRelay-Operation: checkpoint-save:t02-checkpoint-20260930-ready
MemRelay-Resource: e7becf00-932c-44df-a1ad-ba9c4d07f1f4
This commit is contained in:
2026-09-30 06:01:23 +08:00
parent 93f42aa588
commit de8e6f2391
@@ -0,0 +1,36 @@
---
title: Checkpoint 2026-09-29 22:01:20 UTC [b12c120b2c]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-01-20-utc-b12c120b2c
stable_id: e7becf00-932c-44df-a1ad-ba9c4d07f1f4
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: t02-checkpoint-20260930-ready
created_at: '2026-09-29T22:01:20.722902+00:00'
updated_at: '2026-09-29T22:01:20.722902+00:00'
tags:
- t02
- ready-to-merge
- line-L
- feat/t02-protocol
---
## T0.2 协议包完成(线 L)
- **任务**:T0.2 `internal/protocol`
- **分支**:`feat/t02-protocol`(已普通推送到 origin,非 force)
- **工作树**:`E:/code/NixMsg-wt/t02`(`git rev-parse --show-toplevel` = `E:/code/NixMsg-wt/t02`,非主工作区)
- **基于**:`origin/main` @ `86dc10a`
- **提交**:
- `31d92f8` feat: 实现 internal/protocol 帧类型、编解码、校验与请求指纹
- `f9351e8` docs: 记录 T0.2 协议包实现偏差
- **关键实现**:第 6 节全部 MQTT 帧类型 + 6.9 注册请求/响应 + hello `session_token` + `self.logout`;6.10 错误码常量;`Marshal`/`Encode` 用 `json.Encoder`+`SetEscapeHTML(false)` 并去掉尾换行;字段校验(端编号小写、消息号可大小写、正文/meta 大小、send_at_ms/delay_ms 互斥、登录密码禁 `nst_`);7.3 请求指纹(meta 键序无关);`FrameBytes`
- **验证**:工作树内 `task check` 通过(web build、embeddist build、golangci-lint 0 issues、go test 全绿含 protocol 表驱动)
- **偏差**:`docs/DEVIATIONS.md`「总控 L」T0.2 四条(指纹布局、有效默认值、去尾换行、校验范围)
- **未做**:T0.3/T0.5/T0.4;未改 PRD;未改主工作区
- **下一步**:总控审阅后 ff-merge 进 main;各线 rebase
- **给下个会话**:复用工作树 `E:/code/NixMsg-wt/t02` 与分支 `feat/t02-protocol`;指纹布局以 fingerprint.go 为准,SDK 须对齐;合并前再 `task check`