feat: add official full pull smoke

Emit runtime download progress and validation summaries for official sync.

Add repeatable real-network full pull smoke runbook and script.

Fixes #4

Fixes #6
This commit is contained in:
2026-07-14 00:48:59 +08:00
parent 2ff99ae9e3
commit 25c2c4d40f
15 changed files with 435 additions and 57 deletions
+9 -8
View File
@@ -1,9 +1,9 @@
# BlueArchiveToolkit 当前工作区状态
- **更新时间**2026-07-11
- **更新时间**2026-07-14
- **状态来源**:本地工作区盘点、代码验证和最新提交
- **状态分支**`experiment`
- **最新已推送功能提交**`2bdc55a feat: support cancellable official sync`
- **最新已推送功能提交**以当前 `git log --oneline -1` 为准
- **权威计划**`PROJECT_PLAN.md`
---
@@ -26,7 +26,7 @@ Rust 侧官方日服资源链路已经从实验验证推进到正式入口:
10. 官方同步会拒绝危险输出目录、路径逃逸和现有 symlink 路径组件;下载目标、`.part`、manifest、snapshot、PID、status、log 和控制锁文件不会跟随 symlink,daemon 状态类文件默认以 `0600` 权限创建。
11. `bat status` 会显示最后成功时间、下次检查时间、最后错误摘要、当前阶段、当前下载 URL 进度、结构化日志路径和轮转日志路径。
仍需明确:这不是完整产品完成。Go CLI 最小入口、完整 AssetBundle 解析、Patch、翻译系统、API Server 和 Web 仍是后续工作;真实官方网络全量下载 smoke test 尚未记录在仓库文档中
仍需明确:这不是完整产品完成。Go CLI 最小入口、完整 AssetBundle 解析、Patch、翻译系统、API Server 和 Web 仍是后续工作;真实官方网络全量拉取 smoke 已固化为可重复脚本和 runbook,真实大文件产物与运行报告默认保存在 `/tmp` 隔离目录,不纳入 Git
---
@@ -36,6 +36,7 @@ Rust 侧官方日服资源链路已经从实验验证推进到正式入口:
- `PROJECT_PLAN.md`:最终目标、里程碑和近期任务。
- `DOCS_INDEX.md`:文档阅读顺序和索引。
- `docs/guides/official-resource-test-pull.md`:官方资源拉取与自动更新用户指南。
- `docs/guides/official-full-pull-smoke.md`:真实官方全量拉取 smoke runbook 和可重复命令。
- `docs/architecture/official-resource-backend.md`:官方资源后端设计和审核说明。
- `docs/reports/CURRENT_GAPS.md`:当前缺口和关闭顺序。
@@ -134,7 +135,7 @@ Rust 侧官方日服资源链路已经从实验验证推进到正式入口:
待完成:
- 将官方同步下载结果作为用户级流程自动导入 CAS + ResourceRepository。
- 真实线上全量下载建立受控 smoke test 记录。
- 真实线上全量下载 smoke 已固化为 `scripts/official-full-pull-smoke.sh``make official-smoke`;实际运行报告由脚本写入隔离输出目录。
- 增加更多失败恢复和权限场景测试。
### `bat-assetbundle`
@@ -220,7 +221,7 @@ git status --short
未执行:
- 真实官方网络全量下载 smoke test
- 本次状态更新未执行真实官方网络全量下载 smoke;该流程已由 `docs/guides/official-full-pull-smoke.md``scripts/official-full-pull-smoke.sh` 固化,运行后会在隔离目录生成 `SMOKE_REPORT.md`
- Go CLI 端到端测试,因为 Go CLI 尚未实现。
- Web/API 测试,因为 Web/API 尚未实现。
@@ -257,7 +258,7 @@ cargo run -p bat-infrastructure --bin bat -- \
2. 官方同步结果接入 CAS + ResourceRepository 的用户级工作流。
3. AssetBundle UnityFS 基础解析。
4. Addressables parser 对更多官方 catalog 结构的覆盖。
5. 真实官方网络全量下载 smoke test 记录
5. 按 smoke runbook 在具备网络和磁盘窗口的环境中执行真实官方全量拉取,并保留本地报告
6. Patch 和翻译系统仍应后置。
---
@@ -268,11 +269,11 @@ cargo run -p bat-infrastructure --bin bat -- \
1. 实现 Go CLI 最小框架和 `doctor`
2.`bat` 增加发布型构建/安装说明和服务化验证。
3. 端到端 smokedry-run、真实下载到隔离目录、二次运行静默 up-to-date、本地损坏后 repair。
3. 端到端 smoke runbook 执行 dry-run、真实下载到隔离目录、二次运行静默 up-to-date、本地损坏后 repair。
4. 开始 AssetBundle parser 的 UnityFS header/block/directory。
---
- **当前总体完成度**:约 22%
- **当前基线状态**:Rust 官方资源同步链路已具备可运行闭环;产品级 CLI/API/Web 仍未完成。
- **下一工程里程碑**:Go CLI 最小可用 + 官方同步端到端 smoke + AssetBundle 解析起步。
- **下一工程里程碑**:Go CLI 最小可用 + 官方同步结果接入 CAS/ResourceRepository + AssetBundle 解析起步。