fix(repo):统一发布健康与只读质量门禁
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-13 22:09:44 +08:00
parent 32fc64fa83
commit c17904ee1c
25 changed files with 869 additions and 184 deletions
@@ -370,8 +370,11 @@ JSON-RPC 2.0 服务,是面向上层服务(Go 层)的**主要跨语言边
- 只读提供 Rust `bat` 已发布 release 中的资源字节(官方 CDN host/path 形态)。
- CDN path 支持 `GET` / `HEAD` / Range / 条件请求;ETag 优先使用 download
manifest 中的 BLAKE3,响应包含 Last-Modified、Accept-Ranges 和长期缓存头。
- 版本/清单发现优先走 RPC:先 `daemon.status`,再 `daemon.doctor`,再
`catalog.status` / `resource.manifest`(可用 `--socket` 指定 socket 文件)。
- 版本/清单发现优先走 RPC:先 `daemon.status`,再 `daemon.doctor`,再读取
Rust `release.status` 的 whole-release `official_distribution_ready`,最后
读取 `catalog.status` / `resource.manifest`(可用 `--socket` 指定 socket 文件)。
Go 不重新实现 release verifier;普通 current CDN 只有在该 Rust health fact
和本地只读 manifest 快照都允许时才分发。
- `/v1/releases``/v1/distribution` 和受保护的 `/admin/releases/status`
`/admin/releases` 只转发 `release.status/list/distribution` 的 Rust typed
结果;localized 或历史分发不会绕过 Rust 完整性判断。
+6 -3
View File
@@ -382,9 +382,12 @@ Addressables 改写后客户端拼接:
1. `daemon.status`
2. `daemon.doctor`
3. `catalog.status``version.resource_root``addressables_root`、app/bundle
4. `resource.manifest` 分页(url / destination / bytes / blake3
5.`resource_root` 上 Lstat 校验 Present / size
3. `release.status`,消费 Rust 返回的当前 official `official_distribution_ready`
及其 `status` / `status_code` / integrity 事实
4. `catalog.status``version.resource_root``addressables_root`、app/bundle
5. `resource.manifest` 分页(url / destination / bytes / blake3
6.`resource_root` 上 Lstat 校验 Present / size;该检查只验证 Go 读快照,
不替代 Rust release verifier
**不读** `bat-status.json` / `bat-tasks.json` 作为常规路径。