mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:14:55 +08:00
feat(release):完成双 release 运维闭环
This commit is contained in:
@@ -32,7 +32,7 @@ directory 形态和未修改对象/字段,并明确拒绝未知压缩或无法
|
||||
回归和 `bat-infrastructure` 的解析缓存、ZIP 内 bundle 发布测试。新增格式覆盖必须
|
||||
同时补真实 fixture、回归测试和文档。
|
||||
|
||||
### G-006:通用 Patch 的复杂格式和运维视图仍未完成
|
||||
### G-006:通用 Patch 的复杂格式和运维扩展仍未完成
|
||||
|
||||
状态:**V1 已完成(当前支持类型),复杂格式和运维扩展继续推进**
|
||||
|
||||
@@ -41,13 +41,16 @@ rollback 元数据;`LocalizedPatchService` 已使用同一有序 generic manif
|
||||
Binary/JSON/Text 与当前支持的 UnityFS TextAsset、TypeTree string/semantic field
|
||||
写入及 localized publish/rollback。发布会在独立 staging 中校验 source/target identity、
|
||||
逐操作 precondition、ZIP 内层重解析和实际字段替换,并保留 TextUnit/TM/Glossary/review
|
||||
provenance;`localized.publish`、`i18n publish` 和 bat-api typed forwarding 均已接入。
|
||||
provenance;UnityFS 目标身份至少包含 archive entry、serialized file、path ID 和实际
|
||||
field path,同对象 sibling field 可并存,重复、父子、whole-object/field 结构重叠会拒绝;
|
||||
`localized.publish`、`i18n publish` 和 bat-api typed forwarding 均已接入。
|
||||
|
||||
仍需完成:
|
||||
|
||||
- 任意复杂 AssetBundle 重打包和完整翻译文件集合构建;当前 localized publish 已支持
|
||||
可验证 ZIP 内 bundle 的外层 ZIP 重写,但不扩大 UnityFS 结构支持范围。
|
||||
- 原版 release 与 localized release 双发布后的更丰富查询、分发和清理策略。
|
||||
- generic manifest 已冻结为当前支持类型的 V1;复杂 AssetBundle 结构仍需真实样本驱动,
|
||||
不在本项中扩展 Patch 格式。
|
||||
|
||||
所有发布产物必须先进入独立 staging,通过完整性校验后再原子发布;失败不得改变
|
||||
已发布的 `bat-resources/current` 或 `bat-localized/current`。
|
||||
@@ -106,14 +109,21 @@ format 等资源级过滤,`parse.text_units` / `parse.errors` 和翻译任务
|
||||
- 从同一 manifest fingerprint 追溯资源、解析缓存、翻译任务和发布产物。
|
||||
- 更多 schema 迁移、权限、并发和损坏恢复场景验证。
|
||||
|
||||
### G-011D:双 release 的完整查询与运维策略仍未完成
|
||||
### G-011D:双 release 查询、分发与安全清理
|
||||
|
||||
状态:**发布闭环完成,查询/清理扩展继续推进**
|
||||
状态:**V1 已完成**
|
||||
|
||||
官方原版和 localized release 已分离,受支持 patch 可独立 staging、校验、发布和
|
||||
rollback,`localized.status` 能校验当前官方 release 与 patch manifest 的一致性。
|
||||
rollback。Rust `release.status` 提供统一 current/source/match、manifest contract、
|
||||
artifact/distribution integrity、历史 release、legacy/stale/damaged 摘要;
|
||||
`release.list` 查询两个 namespace,`release.distribution` 只允许当前或显式历史且已
|
||||
验证的 official/localized release,默认仍为 official;`release.cleanup` 提供 dry-run
|
||||
`plan_id` 和执行前重验证,只删除确定未被 current、rollback、staging、source、状态、
|
||||
manifest、CAS 或未知归属引用的普通目录。`localized.status` 还区分 schema/contract 与
|
||||
artifact integrity,损坏产物返回 degraded/corrupt,不自动回滚或删除。
|
||||
|
||||
仍需完成复杂重打包、双 release 查询/分发视图和清理策略。
|
||||
rollback 与 cleanup 保持独立;缺少 generic manifest 的旧 localized release 仍可读,
|
||||
明确标记 `legacy`/`unknown`,不会被自动重写。
|
||||
|
||||
### G-012:Translation Memory V1 已实现,扩展能力仍缺失
|
||||
|
||||
@@ -148,7 +158,8 @@ Rust `bat` 已提供独立项目级 `glossary.sqlite`:term/alias/recommended/a
|
||||
## 3. 后续推进顺序
|
||||
|
||||
1. 继续 G-005:更多真实 AssetBundle 样本、复杂字段解析、版本差异和任意结构重打包。
|
||||
2. 继续 G-006/G-011D:复杂 AssetBundle 兼容和双 release 查询/清理策略。
|
||||
2. 继续 G-006:复杂 AssetBundle 兼容和真实样本覆盖;G-011D 的双 release 运维 V1
|
||||
已完成,后续 retention scheduler 不属于本次闭环。
|
||||
3. 继续 G-011/G-012/G-013/G-014:资源查询、TM/Glossary 扩展和 Provider
|
||||
扩展体系。
|
||||
4. 在隔离环境执行 `make official-smoke`,补充真实网络长期运行报告。
|
||||
|
||||
Reference in New Issue
Block a user