fix(tm):建立 Trusted 唯一性与 Supersede 治理

This commit is contained in:
2026-09-18 06:44:14 +08:00
parent e486f1aaaa
commit ff1adb91ee
37 changed files with 2679 additions and 530 deletions
@@ -74,7 +74,8 @@ Rust 窗口请基于当前真实代码生成或导出以下 JSON:
2. `catalog.status` available=false 响应。
3. `resource.manifest` 第一页响应,至少包含 1 到 2 个 entries。
4. 对应 release 的 `official-sync-snapshot.json`
5. Rust Glossary V2 的 `translation.glossary.query` 响应,至少包含 alias、approved
5. Rust Glossary domain/feature contract V1、SQLite persistence schema V2 的
`translation.glossary.query` 响应,至少包含 alias、approved
review、source provenance 和 created/approved history。
输出应来自 Rust 代码路径,而不是手写 JSON。允许使用 fixture resource root 或临时目录,但不能依赖开发机真实资源目录。
+8 -7
View File
@@ -152,17 +152,18 @@ official/localized distribution 均被阻断,普通查询不会自动重建。
更完整的查询/权限/损坏恢复、模糊 TM、bat.sock peer credential/perms、FFI 生命周期、
资源大小/限额与更强的持久化 fsync 语义仍按后续专项推进。
### G-012Translation Memory V1 已实现,扩展能力仍缺失
### G-012Translation Memory persistence schema V2 已实现,扩展能力仍缺失
Rust `bat` 已提供独立项目级 SQLite TM,当前 schema version 为 V1schema 打开遵守
Rust `bat` 已提供独立项目级 SQLite TM,当前 persistence schema version 为 V2schema 打开遵守
只读 preflight、fingerprint、transaction rollback 和 future/unknown fail-closed
契约。它记录 raw source/hash、完整 context、release/TextUnit/provider/run provenance
区分 candidate/trusted,只有显式 confirm 才能建立 trusted 记录;worker 只自动复用
trusted raw source + 完整 context exact match,并在复用前执行已批准 Glossary 的
确定性 QA。Go `bat-api` 已提供鉴权的 summary/query 只读接口和 confirm 转发,但 Go
不持有 TM 状态。仍缺少模糊匹配和更丰富的导入导出历史能力
区分 candidate/trusted,只有显式 confirm 或 conflict resolve 才能建立唯一 current
trusted 记录;worker 只自动复用 raw source + 完整 context exact match 的 current
trusted,并在复用前执行已批准 Glossary 的确定性 QA。Go `bat-api` 已提供鉴权的
summary/query/conflicts 只读接口和 confirm/resolve_conflict 转发,但 Go 不持有 TM 状态。
仍缺少模糊匹配和更丰富的导入导出历史能力。
### G-013Glossary V2 已实现,协作视图仍缺失
### G-013Glossary domain/feature contract V1、persistence schema V2 已实现,协作视图仍缺失
Rust `bat` 已提供独立项目级 `glossary.sqlite`,当前 schema version 为 V2V2 正式
吸收历史上未升版本的 `glossary_term_deletions` drift,并将历史 V1-A(无 deletion
+1 -1
View File
@@ -95,7 +95,7 @@
| 组件 | 路径 | 状态 | 说明 |
|---|---|---|---|
| Module | `go.mod``bat-api` | 已用 | 服务层模块名 |
| RPC client | `internal/backendrpc` | **完成** | Unix socket JSON-RPC transport + typed helpertyped helper 覆盖 daemon 已实现控制/查询、`resource.state/sync/verify/repair/manifest/list``release.attestation/status/list/distribution/cleanup``catalog.*``parse.*``localized.status/publish/rollback``task.*``translation.tasks``translation.handoff``translation.task.update``translation.worker.run``translation.proofread``translation.memory.summary/query/confirm``translation.glossary.summary/query/diagnose/add/update/approve/deprecate/delete` 和文件级 UnityFS patch 调用;`resource.manifest` typed params 固定 release/publication/manifest identity 和 verification generation`localized.publish` 的 typed params 支持 `translation_file``from_worker``patch_manifest` 三选一;`resource.index``patch.apply` 仍通过通用 `Call` 走同一 contractfake transport 单测和 `internal/api/testdata/contract/` mirror test 固化 Rust 输出字段 |
| RPC client | `internal/backendrpc` | **完成** | Unix socket JSON-RPC transport + typed helpertyped helper 覆盖 daemon 已实现控制/查询、`resource.state/sync/verify/repair/manifest/list``release.attestation/status/list/distribution/cleanup``catalog.*``parse.*``localized.status/publish/rollback``task.*``translation.tasks``translation.handoff``translation.task.update``translation.worker.run``translation.proofread``translation.memory.summary/query/confirm/conflicts/resolve_conflict``translation.glossary.summary/query/diagnose/add/update/approve/deprecate/delete` 和文件级 UnityFS patch 调用;`resource.manifest` typed params 固定 release/publication/manifest identity 和 verification generation`localized.publish` 的 typed params 支持 `translation_file``from_worker``patch_manifest` 三选一;`resource.index``patch.apply` 仍通过通用 `Call` 走同一 contractfake transport 单测和 `internal/api/testdata/contract/` mirror test 固化 Rust 输出字段 |
| 资源 bootstrap/分发 | `cmd/bat-api` + `internal/api` | **MVP+生产控制面** | RPC 发现 + 周期刷新/诊断 + `/v1/bootstrap` + `/v1/launcher/bootstrap` + `/v1/releases` + `/v1/distribution` + launcher 资源 metadata 兼容 + `/readyz` + CDN Range/缓存头 + 鉴权/限流/访问日志/反代适配 + OpenAPI + 管理控制白名单 + release/localized/TM/Glossary admin forwarding + 内嵌 dashboard + `.env` |
| 试验 CLI | `cmd/bat` | **试验** | doctor 固定 okmanifest/sync 走 FFI |
| FFI | `internal/ffi` | **可选** | 需 `build-ffi` |