MemRelay-Operation: checkpoint-save:m1-submit-ready-20260930-cd7a7e4 MemRelay-Resource: 766540ee-5b26-4fd8-be52-1782fd515a3d
2.3 KiB
2.3 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-09-29 22:50:54 UTC [06e1b6eb09] | checkpoint | main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-50-54-utc-06e1b6eb09 | 766540ee-5b26-4fd8-be52-1782fd515a3d | project | checkpoint | 25464650-ed5d-440e-b362-190f2852d451 | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | m1-submit-ready-20260930-cd7a7e4 | 2026-09-29T22:50:54.769615+00:00 | 2026-09-29T22:50:54.769615+00:00 |
|
检查点: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/main22c56d1) - 提交:
cd7a7e4feat: 实现消息提交防重配额授权与最小分发 - 已推送:
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