create: Checkpoint 2026-09-30 07:06:30 UTC [8e039b35de]

MemRelay-Operation: checkpoint-save:chk-c04-c07-20260930-r2c
MemRelay-Resource: b9de5fee-70bf-43fc-b162-577d9e7d9161
This commit is contained in:
2026-09-30 15:06:55 +08:00
parent b8fa264b98
commit be26e34ea8
@@ -0,0 +1,53 @@
---
title: Checkpoint 2026-09-30 07:06:30 UTC [8e039b35de]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-06-30-utc-8e039b35de
stable_id: b9de5fee-70bf-43fc-b162-577d9e7d9161
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: chk-c04-c07-20260930-r2c
created_at: '2026-09-30T07:06:30.453834+00:00'
updated_at: '2026-09-30T07:06:30.453834+00:00'
tags:
- ready-to-merge
- lane/message
- C-04
- C-05
- C-06
- C-07
---
# 检查点:消息线复审 C-04–C-07(未合 main)
## 线 / 任务
- 线:消息核心 M
- 任务:C-04(#35) C-05(#36) C-06(#37) C-07(#38)
- 分支:`feat/fix-message-c04-c07`
- 工作树:`E:\\code\\NixMsg-wt\\r2-c`(未改主工作区,未删 fix3)
- 基线:`origin/main` `4059a15`
- **未做**:C-01(#32) C-02(#33) C-03(#34);未 merge main
## 提交
- `ac90495` fix: 作废投递走统一终态函数并写回执收尾(C-04)
- `af8278d` fix: 上行分发前统一限速,send 不再单独扣桶(C-05)
- `e95062d` fix: 推送 meta 用 UseNumber 保留超过 2^53 的整数(C-06;同文件含群分发 `joined_at <= send_at`)
- `786fe35` fix: 补提交校验、停用检查、入群过滤与按完成时刻清理(C-07)
## 关键实现
- C-04:导出 `RejectPendingTx` / `TryFinalizeTx` / `FinalizeMessageTx`;group void.go 与 identity lifecycle 作废路径改调用。不改 group emit,不改 kickFlushDelay/Disconnect。
- C-05:导出 `AllowRequest`;`HandleUplink` 分发前检查(ack/receipt_ack 除外);Submit 不再扣桶。
- C-06:`decodeMetaJSON` 用 `protocol.Unmarshal`。
- C-07:ttl<=0、delay 先比上限再加法;发送方停用 `unauthorized`;清理用投递 `updated_at`/send_at 近似完成时刻(`completed_at` 列依赖 C-03 未做)。未删 message largeSem(C-01)。对话密码锁键未改(U-03)。
## 验证
- `go test ./internal/app/message/ ./internal/app/group/ ./internal/app/identity/ ./cmd/nixmsg/ -count=1` 通过。
- `TestUplinkDMOfflineGroupRecall` 曾因 #3 死锁窗口超时一次,重跑通过。
## 给下个会话
- 总控可审阅后 ff-only 合 main;勿强推 main。
- C-01/02/03 仍开放。C-07 的 completed_at 等 C-03 迁移后再改清理 SQL。
- 标签:ready-to-merge