nyaKazuha
34e2f0d907
refactor(cli): 模块化 Rust 前台输出
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
2026-09-02 17:42:16 +08:00
nyaKazuha
bd1e1a06f2
feat(resource): 增加历史 release 与 CAS 复用
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #47
2026-09-02 01:26:53 +08:00
nyaKazuha
fdd4075e7e
feat(resource): 增加 CAS 诊断与索引过滤优化
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补充 doctor cas 只读诊断、校验 CAS 对象分片布局,并将常用 ResourceRepository metadata 查询下推到 SQLite。
Refs G-011
2026-09-01 00:41:41 +08:00
nyaKazuha
4ed81f0030
feat(bat-api): 实现内嵌 dashboard
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #46
2026-08-31 23:17:23 +08:00
nyaKazuha
ab21344773
feat(i18n): 完成 localized patch 发布回滚闭环
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #45
2026-08-31 00:02:55 +08:00
nyaKazuha
f441f1810e
feat(i18n): 接入翻译 provider worker
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Closes #44
2026-08-30 21:13:31 +08:00
nyaKazuha
7f465523e1
fix(bat-api): 完成 issue #19 同机 live 联调
bat-rust / Build and test Go API (push) Canceled after 0s
bat-rust / Build and test Rust (push) Canceled after 0s
2026-08-29 22:58:01 +08:00
nyaKazuha
90083302a2
fix(unityfs): 加固基础容器解析校验
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补充 UnityFS 总大小、block/directory 计数、目录路径、重复项和边界校验,覆盖 LZMA 数据块与损坏输入回归。新增隔离真实 UnityPy bundle 测试入口,并用 /tmp 中的 char_118_yuki.ab 完成实际回归。复杂对象解析与发布级重打包继续保留在 G-005 后续范围。
Fixes #3
2026-08-20 12:13:04 +08:00
nyaKazuha
9d4f8d903c
feat(addressables): 补全 catalog 可校验字段
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补充 JSON/compact catalog 的 provider ID、bundle name、资源类型、hash、size、CRC 和依赖字段,并贯通 ResourceEntry、SQLite 资源索引和回归 golden。对 compact extra data 与 resource type index 的损坏返回明确错误,不再把 bundle name 当作 hash fallback。\n\n验证:cargo fmt --check;cargo test -p bat-core --locked;cargo test -p bat-adapters --locked;cargo test -p bat-infrastructure --locked;git diff --check。\n\nClippy 仍受既有 core/src/domain/game_client.rs:141 的 needless-question-mark 和 items-after-test-module 基线问题影响,未混入本 issue 修复。\n\nFixes #2
2026-08-19 23:10:16 +08:00
nyaKazuha
72c1a879a3
feat(bat): 补全工作流命令与人工校对状态
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Refs #43
2026-08-19 21:33:33 +08:00
nyaKazuha
550ee7fd9a
feat(bat): 补全翻译工作台编辑命令
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
Refs #43
2026-08-12 09:33:14 +08:00
nyaKazuha
974a6e18c3
feat(bat): 暴露翻译任务状态控制
...
Refs #43
2026-08-12 09:11:09 +08:00
nyaKazuha
1933d6acb0
feat(bat): 补全工作流校验与调度过滤
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
新增 parse clear-cache 和 i18n validate,补齐 schedule 的作用域过滤与单轮执行上限,并将列表过滤参数暴露给 bat-api dashboard。同步 RPC、OpenAPI、用户文档和回归测试。
Refs #43
2026-08-03 23:47:59 +08:00
nyaKazuha
0784d5b532
feat(bat): 完善工作流调度与 dashboard RPC
...
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
补全资源拉取、解析、翻译、重打包和本地化发布命令,支持单次、限定次数与周期调度。移除 TUI 计划并通过 schedule.* RPC 暴露给 bat-api dashboard。
Closes #43
2026-08-03 22:18:52 +08:00
nyaKazuha
3b103be8a9
docs: 对齐全部文档状态
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s
2026-08-03 12:19:06 +08:00
nyaKazuha
8b64cc94f3
fix: 完成下载并发与翻译交接链路
2026-08-02 22:34:23 +08:00
nyaKazuha
12c5d365ab
feat(translation): 增加离线任务状态查询
2026-08-01 19:04:54 +08:00
nyaKazuha
a05d3ee6af
fix(repository): 扩展资源索引查询面
2026-08-01 12:11:35 +08:00
nyaKazuha
8d930bf4d7
chore(docs): 增加状态一致性门禁
2026-08-01 10:55:43 +08:00
nyaKazuha
80e6718e8a
fix(sync): 对齐 localized 状态契约
2026-07-31 18:28:02 +08:00
nyaKazuha
df361cff28
test(api): 固化 Rust-Go RPC 契约
2026-07-31 18:20:37 +08:00
nyaKazuha
6af7706190
fix(api): 补齐 bat-api 控制与后端 RPC
2026-07-31 17:01:03 +08:00
nyaKazuha
4cc143f66d
fix(sync): 固化 release flow 状态码
2026-07-31 15:57:07 +08:00
nyaKazuha
03021ad649
docs(project): 同步维护冻结与运行文档
...
bat-rust / Build and test Rust (push) Canceled after 0s
补齐解析模块维护冻结规则,并同步 CURRENT_STATUS、CURRENT_GAPS、PROJECT_PLAN、RPC 参考、部署指南、用户指南和官方资源运行说明。
文档同时反映 bat-api 资源 bootstrap/分发边界、官方同步解析缓存、TextUnit 队列、双目录发布和 patch 入口的当前状态。
验证:未运行新命令;本轮已按要求停止重复构建/测试。
2026-07-31 00:45:46 +08:00
nyaKazuha
3e9bb20d79
feat(assetbundle): 完善官方资源解析与双目录发布
2026-07-25 20:51:01 +08:00
nyaKazuha
102b49b666
feat(rpc): 完成 issue #1 Go 调用边界
bat-rust / Build and test Rust (push) Failing after 3m17s
2026-07-24 17:58:34 +08:00
nyaKazuha
ecda08ed97
feat(rpc): 补齐 issue #1 资源后端接口
2026-07-24 15:55:37 +08:00
nyaKazuha
a729615a48
fix(sync): 移除多线程下载并补齐staging复用回归
2026-07-24 10:34:58 +08:00
nyaKazuha
3f5d2a8da7
fix(sync): 修复官方资源并发下载与媒体路径
...
bat-rust / Build and test Rust (push) Successful in 3m47s
daemon 子进程现会透传下载并发配置,下载进度按已完成数量单调上报。MediaCatalog 改为使用官方相对路径生成全局媒体 URL,覆盖 GameData、Prologue 等目录并补齐 jpg 资源,避免叶子文件名误拼媒体根目录导致 403。同步更新测试、smoke 断言和运行文档。
2026-07-23 11:56:34 +08:00
nyaKazuha
d76f6f1c88
ci(rust): 添加 Gitea host runner 工作流
...
补充自托管 Gitea host-runner workflow,并将项目状态、缺口、开发指南与路线图同步到当前实际情况。
2026-07-21 10:39:11 +08:00
nyaKazuha and Claude Fable 5
0ab3f3b953
feat(download): 多线程下载 + 重试指数退避(issue #17)
...
下载主循环由串行改为「并发下载 + 串行簿记」三段式:
- Phase A:无网络前置校验(官方性/目标路径/建目录)+ 判定跳过/需下载,
非官方 URL 在任何下载前 fail-fast
- Phase B:need-download 项经 scoped 线程池并发下载(默认并发 4,
可配 1..=256)。worker 只做只读 &self 的 pull_one(各 URL 独立
.part/目标文件),经 mpsc 把结果送回主线程;manifest/quarantine
簿记与进度回调全在主线程串行执行,无需加锁。首个失败或 should_cancel
置 cancel 标志,其余 worker 在任务边界停止
- Phase C:按 plan 顺序串行收尾——seed .hash 校验(顺序相关、可
fail-fast)+ 构建有序结果
fail-fast 与「不发布不完整资源」不变量保留;进度事件按 URL 配对但
顺序不再单调(并发下天然如此)。
curl 重试加指数退避(网络类 200ms→400ms→800ms…上限 5s;ETXTBSY 仍走
极短退避),并发下对官方 CDN 更礼貌;退避基值 cfg(test) 下为 0 不拖慢
单测。
并发度经 OfficialUpdateConfig.download_concurrency 贯通,CLI
--download-concurrency 与 BAT_DOWNLOAD_CONCURRENCY 可配,.env 模板
与 USERGUIDE/CURRENT_STATUS/CHANGELOG 同步。
验证:新增并发正确性测试(并发 8:每 URL 恰一次 started+finished、
全部落盘)、并发度钳制、退避时长计算、CLI/env 解析单测;progress
排序测试改为顺序无关不变量;workspace 全测试(20 套件) + fmt +
clippy --all-targets -D warnings 全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-18 03:25:04 -07:00
nyaKazuha and Claude Fable 5
3edbe7ccee
feat(daemon): 任务历史文件态持久化与 .env 无参启动(issue #1)
...
任务持久化:
- 任务历史落 <state-dir>/bat-tasks.json(版本化、0600 原子写、不跟随
symlink),生命周期转换时 write-through;seq 持久化避免 pid 复用撞 ID
- daemon 重启恢复历史,中断时仍 queued/running 的任务标记 failed,
新增错误码 TASK_INTERRUPTED(BAT-ERR-700005)
- 损坏文件改名 .corrupt 留证后从空历史开始;无法识别的记录计数跳过
- core 新增 ErrorCode::ALL 公开码表与 from_id 反查(持久化错误码往返)
.env 配置:
- 首次启动在二进制所在目录释放 .env 模板(0600、create_new 防竞态),
之后每次启动加载为进程环境变量(不覆盖已存在变量)
- 优先级:CLI > 进程环境变量 > .env > 内置默认;BAT_* 键映射到
CliOptions 默认值,BAT_WATCH/BAT_DAEMON 仅对无子命令 Run 生效且
CLI 显式模式/dry-run 时让位;Redis 键预留(未接入)
- 工具/代理"非默认"判断改按 env 应用后基线,status/stop/logs 在
.env 存在时不误判;BAT_SKIP_ENV_FILE=1 整体禁用
验证:新增 10 个单测(env 解析/优先级/守卫回归/持久化往返/中断标记/
损坏恢复/未知类型跳过);真机 e2e:.env 释放加载、daemon 纯 .env 启动、
catalog.refresh 任务带类型化错误码落盘并跨 daemon 重启恢复(含日志);
fmt / clippy --workspace --all-targets -D warnings / test --workspace 全绿
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 21:15:47 -07:00
nyaKazuha and Claude Fable 5
d22f9258ad
docs: 补 RPC Backend API 与 Go/FFI 边界章节,同步 issue #1 进展
...
- 架构文档新增 §7「RPC Backend API 与 Go 调用边界」:协议契约
(envelope、ApiError、任务模型、方法命名空间与实现状态,细节指向
USERGUIDE §6)、Go 层职责边界(HTTP/鉴权/分发 + RPC client,不嵌
FFI、不直接读 daemon 内部状态)、FFI 降级说明(bat-ffi 保留为可选
历史兼容边界,新能力一律先落 RPC)。对应 issue #1 文档要求第 8 项。
- CURRENT_STATUS:issue #1 条目由"待实现"改为"主体已实现 + 剩余清单",
下一步清单同步。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 10:27:44 -07:00
nyaKazuha and Claude Fable 5
4c123b9560
docs(official-sync): 推荐环境变量配置代理并同步凭据处理说明
...
- official-resource-test-pull.md §0.1:新增"带凭据代理优先用 HTTPS_PROXY 环境
变量"推荐(含 systemd EnvironmentFile 0600 用法),补充凭据处理说明——日志/
status 脱敏、经 ALL_PROXY 环境变量传 curl、daemon 经环境变量下传、bat-proxy.secret
复用与 clean-stable 清除;修正旧表述"代理参数写入后台子进程启动参数"。
- official-resource-backend.md 第 13 条:把"仅日志脱敏"扩写为全链路凭据不落
世界可读位置。
- CURRENT_STATUS.md 第 7 条:同步上述凭据处理描述。
- deployments/systemd/official-sync.env.example:新增注释版 HTTPS_PROXY/NO_PROXY
示例,并提示含凭据时按 0600 安装。
- CHANGELOG:新增"修复"(Unity 版本数值比较)与"安全"(代理凭据不落世界可读
位置)条目。
对应 issue #18 维护清单 1-1 / 1-2。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-16 06:58:11 -07:00
nyaKazuha
060b7d73e5
fix(official-sync): 复用失败 staging 避免重复全量下载
2026-07-16 00:35:24 +08:00
nyaKazuha
c123f6c0dc
feat(official-sync): 支持本地代理下载官方资源
2026-07-16 00:12:27 +08:00
nyaKazuha
169822abaf
fix(daemon): 区分当前下载与历史失败状态
2026-07-15 23:22:30 +08:00
nyaKazuha
5b31112e91
fix(daemon): 使用人类格式输出 RPC 下载进度
2026-07-15 23:05:28 +08:00
nyaKazuha and Claude Fable 5
9e83bbea11
docs(docs): 按 issue 状态同步当前状态与缺口文档
...
G-018 已关闭并进入长期运行测试阶段,运行报告后续提供;阻塞项和下一步按
open issue #1/#2/#3 重排,明确 daemon JSON-RPC 扩展为 Rust Resource
Backend API 的优先级和最小方法集。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-15 06:51:46 -07:00
nyaKazuha
b4b4f25cb3
refactor(ffi): 降级 FFI 为可选兼容层并整理文档
...
将 bat-ffi 明确收敛为无状态 C ABI 兼容层,默认集成路径改为 bat --json 进程边界或未来稳定 SDK。
同步 README、当前状态、项目计划、架构文档、开发指南和缺口清单,移除 FFI 作为主集成边界的表述。
新增 AGENTS.md 和 CONTRIBUTING.md,压缩 CLAUDE.md 为兼容入口,并归档阶段性报告、同步 .gitignore 规则。
2026-07-15 21:12:17 +08:00
nyaKazuha
90307a3243
feat: track official versions and import resources
...
Persist official version-state, extend CAS/ResourceRepository import classification, and add offline catalog and failure regression fixtures.
Fixes #13
Fixes #12
Fixes #8
2026-07-15 19:53:10 +08:00
nyaKazuha
4192d7ee4c
fix: classify official download failures
...
Distinguish terminal HTTP errors from retryable CDN/network failures, record quarantined resources, and report failed download progress.
Fixes #7
2026-07-14 01:30:12 +08:00
nyaKazuha
25c2c4d40f
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
2026-07-14 00:48:59 +08:00
nyaKazuha
2ff99ae9e3
feat: publish official resources atomically
...
Fixes #9
Fixes #11
2026-07-14 00:10:39 +08:00
nyaKazuha
45aba2fb2b
fix: harden official sync filesystem boundaries
...
Fixes #14
2026-07-13 23:17:52 +08:00
nyaKazuha
1bdbb47b52
docs: define production sync deployment
...
Fixes #15
2026-07-13 22:22:20 +08:00
nyaKazuha
599ead8391
fix: serialize daemon control commands
...
Fixes #10
2026-07-13 22:02:11 +08:00
nyaKazuha
e5fcf26e19
feat: validate official zip structure
2026-07-12 23:37:47 +08:00
nyaKazuha
bd9f50c85c
docs: update bat runtime documentation
2026-07-12 23:04:26 +08:00
nyaKazuha
264e78c440
feat: harden official sync scheduling and integrity
2026-07-11 01:06:02 +08:00