协议版本历史顺序修正 + 交接文档欠账清账

This commit is contained in:
zlt 2026-07-30 09:10:52 +08:00
parent a7ad878bad
commit d1626aeb1a
2 changed files with 10 additions and 5 deletions

View File

@ -527,5 +527,5 @@ QMT 侧如有本表未覆盖的拒绝场景,请在定稿时补充,**不要
|---|---|---| |---|---|---|
| V0.9 | 2026-07-28 | 初稿。依据 QMT 侧对《QMT_INTERFACE_REQUIREMENTS.md》六项问询的答复将指令通道由表轮询改为 WebSocket 双向长连接;补齐签名、幂等、序号补发与对账兜底 | | V0.9 | 2026-07-28 | 初稿。依据 QMT 侧对《QMT_INTERFACE_REQUIREMENTS.md》六项问询的答复将指令通道由表轮询改为 WebSocket 双向长连接;补齐签名、幂等、序号补发与对账兜底 |
| V0.9.1 | 2026-07-28 | 按双方最终意见调整:①**不启用 TLS**,改为明文 `ws://` + 内网 IP 白名单,并补充取舍说明与相应的安全补偿(签名升格为必需、承担身份认证职责)②`hello` 去掉 `client_version` ③签名方案锁定 Ed25519原 Q5 二选一取消)④补齐 §2.1.1 测试向量与参考实现,消除规范化串的实现歧义 | | V0.9.1 | 2026-07-28 | 按双方最终意见调整:①**不启用 TLS**,改为明文 `ws://` + 内网 IP 白名单,并补充取舍说明与相应的安全补偿(签名升格为必需、承担身份认证职责)②`hello` 去掉 `client_version` ③签名方案锁定 Ed25519原 Q5 二选一取消)④补齐 §2.1.1 测试向量与参考实现,消除规范化串的实现歧义 |
| **V1.0** | 2026-07-28 | **定稿**。回填 R1/R2旧通道**即刻停用**、端点定为 `ws://192.168.16.98:8080`;补 §10.1.1 部署前检查清单白名单、公钥交换、Redis 持久化、密钥只走 `.env`);调整 §9 灰度策略(旧通道已停,无从并行,改为小仓位实跑) |
| V0.9.2 | 2026-07-28 | 回填 QMT 侧 Q1~Q11 答复§10并据此补齐四处①新增下行消息 **`ack_seq` 累积确认**§4.5)——对方的「按最后未 ack 的消息续发」实现依赖它,原协议缺失 ②`trade_no` 定为 `{broker_order_id}#{n}`§5.5)——券商原生只有委托号,一委托多成交时无法逐笔去重 ③手续费**不摊入持仓成本**、新增 `fee_estimated` 标志§5.5)——对方明确逐笔费用可能有误差,避免污染安全垫 ④`CANCELLED`/`EXPIRED` 改由 PMS 侧自记§7.2),不再要求下游区分。另记录 `total_filled` 口径存疑及规避方式§10.2)。剩余阻塞项收敛为 R1/R2 两条§10.1 | | V0.9.2 | 2026-07-28 | 回填 QMT 侧 Q1~Q11 答复§10并据此补齐四处①新增下行消息 **`ack_seq` 累积确认**§4.5)——对方的「按最后未 ack 的消息续发」实现依赖它,原协议缺失 ②`trade_no` 定为 `{broker_order_id}#{n}`§5.5)——券商原生只有委托号,一委托多成交时无法逐笔去重 ③手续费**不摊入持仓成本**、新增 `fee_estimated` 标志§5.5)——对方明确逐笔费用可能有误差,避免污染安全垫 ④`CANCELLED`/`EXPIRED` 改由 PMS 侧自记§7.2),不再要求下游区分。另记录 `total_filled` 口径存疑及规避方式§10.2)。剩余阻塞项收敛为 R1/R2 两条§10.1 |
| **V1.0** | 2026-07-28 | **定稿**。回填 R1/R2旧通道**即刻停用**、端点定为 `ws://192.168.16.98:8080`;补 §10.1.1 部署前检查清单白名单、公钥交换、Redis 持久化、密钥只走 `.env`);调整 §9 灰度策略(旧通道已停,无从并行,改为小仓位实跑) |

View File

@ -129,8 +129,13 @@ S3 密集测试正是高发场景,值得再确认一次。
## 8. 文档欠账 ## 8. 文档欠账
`QMT_WS_PROTOCOL.md`V1.0 定稿)的版本历史表里,**V1.0 那行排在 V0.9.2 上面** **✅ 已清2026-07-30用户批准**`QMT_WS_PROTOCOL.md` §11 变更记录里 V1.0 那行原本
`ack_seq` 恰恰是 V0.9.2 补进来的。对端照着表从上往下读到「V1.0 定稿」就停了, 排在 V0.9.2 上面,而 `ack_seq` 恰恰是 V0.9.2 补进来的——对端从上往下读到「V1.0 定稿」
`ack_seq` 因此被漏掉,直接导致了上面那个自激循环。 就停,`ack_seq` 因此被漏掉,直接导致了 §7 那个自激循环。现已改为
V0.9 → V0.9.1 → V0.9.2 → V1.0。**纯调两行顺序,条款一字未动**(总行数不变,可 `git show` 核)。
**顺序修正(纯顺序,不动条款)需要用户许可,问过三次未得答复,仍待处理。** **遗留一项(待定夺,暂不动)**:端点在 `README.md`「ws 通道实现清单」与协议 §11 的 V1.0
那行里都写作 `ws://192.168.16.98:8080`,而 `config/settings.py:94` 实际是
`ws://192.168.16.98:9443/pms`(提交 `0a1a932 调整端口`)。**代码是对的、文档是旧的**
联调不受影响(运行时读 settings / 运行参数,不读文档),但下一个接手的人会按文档去连 8080。
改的是定稿协议正文里的一处事实值,故未擅动。