mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 07:24:55 +08:00
bat-rust / Build and test Rust (push) Canceled after 0s
补齐解析模块维护冻结规则,并同步 CURRENT_STATUS、CURRENT_GAPS、PROJECT_PLAN、RPC 参考、部署指南、用户指南和官方资源运行说明。 文档同时反映 bat-api 资源 bootstrap/分发边界、官方同步解析缓存、TextUnit 队列、双目录发布和 patch 入口的当前状态。 验证:未运行新命令;本轮已按要求停止重复构建/测试。
60 lines
2.7 KiB
Markdown
60 lines
2.7 KiB
Markdown
# 解析模块维护冻结
|
|
|
|
状态:**生效中**
|
|
|
|
生效时间:2026-07-30
|
|
|
|
冻结目标:停止继续扩大 UnityFS / AssetBundle / Addressables / TypeTree 解析能力,把当前工作重心切换到运行稳定性、代码审核问题、文档一致性和发布链路可靠性。
|
|
|
|
## 冻结范围
|
|
|
|
冻结覆盖以下 Rust 解析相关模块和对外入口:
|
|
|
|
- `crates/bat-assetbundle`
|
|
- `adapters/src/unity*`
|
|
- `infrastructure/src/official_parse.rs`
|
|
- `infrastructure/src/resources.rs` 中解析缓存、TextUnit 索引和解析状态相关逻辑
|
|
- `unityfs.*`、`parse.*`、`text.*` 相关 RPC / CLI 契约
|
|
- Addressables catalog、UnityFS、serialized file、TypeTree、TextUnit、AssetBundle patch 相关文档声明
|
|
|
|
## 允许变更
|
|
|
|
冻结期只允许以下解析相关变更:
|
|
|
|
- 修复编译失败、格式化失败、clippy 报错和测试失败。
|
|
- 修复真实运行中已经复现的 panic、错误状态污染、重复解析、缓存失效、状态不一致或诊断误导。
|
|
- 补充回归测试,前提是测试覆盖的是已存在能力的稳定性问题,不宣称新增解析能力。
|
|
- 修正文档、CLI 帮助、RPC 参考和状态文件中与当前实现不一致的解析能力声明。
|
|
- 改善错误信息、日志字段、状态记录和失败恢复,但不得改变解析输出契约,除非是修复错误契约且同步迁移说明。
|
|
|
|
## 禁止变更
|
|
|
|
冻结期禁止以下解析相关变更:
|
|
|
|
- 新增 TypeTree 语义类型、字段族、managed reference 变体、Unity 内建结构体覆盖或 Addressables catalog 结构覆盖。
|
|
- 用纯合成 fixture 推进“完整解析”并把它记录为已支持能力。
|
|
- 开放新的写入型 `unityfs.*` / `patch.*` RPC 或 CLI。
|
|
- 修改解析结果 schema、TextUnit schema、patch field JSON 语义或缓存状态格式,除非它是阻断级 bug 修复并附带兼容策略。
|
|
- 将解析器和官方同步、汉化发布、Go API、Crowdin 或客户端流程进一步耦合。
|
|
|
|
## 解冻条件
|
|
|
|
解析扩展重新启动前必须同时满足:
|
|
|
|
- Rust `bat` 官方同步、daemon、status、校验、断点续传、增量更新和解析缓存链路稳定。
|
|
- 当前 P0/P1 维护 issue 已关闭或被明确降级。
|
|
- `bat-api` 与 Rust RPC / CLI 契约完成字段统一和联调验证。
|
|
- 真实资源 fixture、验证命令和验收标准已写入文档,不能只依赖合成样本。
|
|
|
|
## 冻结期验证
|
|
|
|
解析相关维护变更至少运行:
|
|
|
|
```bash
|
|
cargo fmt --check
|
|
cargo test -p bat-assetbundle --locked
|
|
cargo clippy -p bat-assetbundle --all-targets --locked -- -D warnings
|
|
```
|
|
|
|
如果变更影响 `bat` CLI、RPC、官方解析缓存或 TextUnit 索引,还必须补充对应 `bat-infrastructure` 测试或说明未运行原因。
|