test(vector): lock authority protocol contracts

This commit is contained in:
youzini
2026-06-09 11:38:27 +00:00
parent 01f8368e25
commit 091ee17f8b
4 changed files with 29 additions and 0 deletions

View File

@@ -51,6 +51,10 @@ HTTP 错误400/401/403/429/502 等)会带状态码和响应体抛出,而
> BME 在 payload 里发送 `vectorSpaceId` 和 `observedDim`(顶层 + 每项元数据。DOA 按批校验 vectorSpaceId/observedDim 一致性,拒绝混合维度,返回带类型的校验错误。失败/404/旧 DOA 时回退到旧 Authority Trivium 路径或本地。
协议身份字段有严格分工BME 节点 id 只作为 `externalId` / `nodeId` / `payload.nodeId` 发送;`id` 保留给 Trivium 内部 numeric idBME 不会把字符串 node id 塞进顶层 `id`。边关系使用 Trivium public reference 形状:`src/dst = { externalId, namespace }`,由 Authority 解析到内部 id。
搜索请求也必须携带 `namespace` / `collectionId` / `chatId`。如果 Authority 返回带 namespace 的命中BME 会保守过滤掉不属于当前 namespace 的结果;老后端不返回 namespace 时结果仍保留,以避免过度破坏兼容性。
## 连接测试
`testVectorConnection()` 测的是**真实批量 embedding 路径**(走 `embedBatch`),而不是单条短文本——因为"测试通过但实际 embedding 失败"的根因就是测试只测了单条短文本而运行时用的是批量长文本。