Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-50-54 UTC [06e1b6eb09].md
T
memrelay b538ee30d1 create: Checkpoint 2026-09-29 22:50:54 UTC [06e1b6eb09]
MemRelay-Operation: checkpoint-save:m1-submit-ready-20260930-cd7a7e4
MemRelay-Resource: 766540ee-5b26-4fd8-be52-1782fd515a3d
2026-09-30 06:51:06 +08:00

58 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Checkpoint 2026-09-29 22:50:54 UTC [06e1b6eb09]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-50-54-utc-06e1b6eb09
stable_id: 766540ee-5b26-4fd8-be52-1782fd515a3d
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: m1-submit-ready-20260930-cd7a7e4
created_at: '2026-09-29T22:50:54.769615+00:00'
updated_at: '2026-09-29T22:50:54.769615+00:00'
tags:
- ready-to-merge
- m1
- line-M
- feat/m1-submit
---
# 检查点:M1 消息提交 ready-to-merge
## 完成内容
- 在 `internal/app/message` 实现 `App.Submit`(保留 Service 接口与 Stub):请求指纹防重、conflict、大小/目标/延迟定时互斥、成员或对话授权、回复授权、配额 `max_pending_per_sender`、速率桶(50/s 突发 100)、到点最小分发。
- 表驱动测试:防重命中、冲突、配额、授权、延迟/定时互斥、先防重再校验(对方停用仍返回原结果)、群分发去掉发送者、rate_limited。临时 SQLite。
- `docs/DEVIATIONS.md`「消息 M」四条。
## 分支 / 路径 / 提交
- 分支:`feat/m1-submit`
- 工作树:`E:/code/NixMsg-wt/m`(基于 origin/main `22c56d1`)
- 提交:`cd7a7e4` feat: 实现消息提交防重配额授权与最小分发
- 已推送:`origin/feat/m1-submit`(未推 main)
## 验证
- `task check` 通过(web build、embeddist build、golangci-lint 0、go test ./... 含 message)
- 工作区干净
## 未完成的分发规则(留给 M2)
- 停用成员投递 `rejected/endpoint_disabled`
- 接收端 `queue_full`
- `expire_at` / keep / 离线宽限 / `dropped offline`
- 发送者不在群 / 无其他成员 → `completed` + reason
- 无未完成投递时 `completed` 并删正文
- 回执写入
- 唤醒推送循环、推送窗口与确认超时
## 其他偏差
- 突发容量固定 100;未改 `cmd/nixmsg`(仍 Stub)
- 防重键在消息行已删时返回 `not_found`
## 下一步
- 总控可审阅合并 `feat/m1-submit`;接线时把 `wire.go` 的 `message.NewStub` 换成 `message.New`
- M2 做完整 7.4/7.5
## 给下个会话
- 只在 `E:/code/NixMsg-wt/m` 工作;勿改主工作区与 `cmd/nixmsg`/`internal/protocol` 帧/`internal/listener`
- 标签 ready-to-merge