fix(glossary): 绑定 QA identity 与人工 override
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s

This commit is contained in:
2026-09-09 00:25:49 +08:00
parent 0275a890bc
commit 68c6c91b1e
22 changed files with 844 additions and 92 deletions
+24 -5
View File
@@ -89,7 +89,23 @@ bat i18n set \
--translated-text '中文文本'
```
也可以使用 `--translated-file` 读取 UTF-8 文本。需要复核单条内容时:
也可以使用 `--translated-file` 读取 UTF-8 文本。
如果译文触发 blocking Glossary QA,需先从 diagnose/任务结果取得当前
`qa_identity`,并与 reviewer、reason、provenance 一起提交;系统不会根据 workbench
中旧的 QA 自动补填:
```bash
bat i18n set \
--translation-file /tmp/bat-workbench.json \
--translation-id <text-unit-id> \
--translated-text '人工确认的译文' \
--glossary-qa-identity <qa-identity> \
--glossary-reviewer operator \
--glossary-reason '人工确认术语偏离' \
--glossary-provenance workbench
```
需要复核单条内容时:
```bash
bat i18n get \
@@ -166,7 +182,8 @@ Glossary V1 是 Rust `bat` 持有的独立项目级 SQLite 资产,默认位于
`BAT_GLOSSARY_PATH``[translation.worker].glossary_path` 指定。worker 只把
`approved` term 转成 provider-neutral constraints,并在 TM 复用、provider 返回
和人工工作台/任务回写时执行相同的确定性 QA。冲突或不符合推荐/允许译法的结果会
阻止自动完成;必须提交带 reviewer、reason 和 provenance 的显式 override。
阻止自动完成;必须提交带当前 `qa_identity`reviewer、reason 和 provenance 的显式
override。
常用 Glossary 操作:
@@ -303,7 +320,9 @@ Rust `translation.tasks` / `translation.handoff`,不在 Go 侧维护状态。
`translation.task.update`。人工校对流程提交译文时必须使用 `status=completed`
并为每个 `translation_results[]` 提供 `unit_id``source_text`
`translated_text`Rust 会用当前 `official-textunit-index.json` 校验 unit、
source text、destination 和 archive entry 后再落库。
source text、destination 和 archive entry 后再落库。blocking Glossary QA 还必须提交
与当前 QA 完全相等的 `glossary_override.qa_identity`;旧或缺少 identity 的 override
不会授权。
`POST /admin/control/translation-worker-run` 会触发 Rust 侧
`translation.worker.run`,请求字段为 `provider``fixture_path`
@@ -320,8 +339,8 @@ source text、destination 和 archive entry 后再落库。
release,校验工作台与当前 TextUnit 索引的 source/location 一致后,写入已有支持
范围内的 TextAsset、TypeTree string field 和 managed-reference string field
patch。校验通过后才原子切换 `localized/current`,并在 release manifest 中记录
源/目标 BLAKE3、字节数、patch kind、TextUnit、provider、review 和 rollback
信息。ZIP 内 bundle 不会被静默改写。
源/目标 BLAKE3、字节数、patch kind、TextUnit、provider、review、发布时重新计算的
Glossary QA/override 和 rollback 信息。ZIP 内 bundle 不会被静默改写。
使用人工编辑的工作台发布: