nyaKazuha
43e1a33b88
fix(ci): 移除 Gitea workflow 外部 action 依赖
...
bat-rust / Build and test Rust (push) Failing after 1s
改为在 linux runner 中手动 fetch 当前提交,避免自托管 runner 准备阶段通过 gh-proxy 克隆 actions/checkout 和 dtolnay/rust-toolchain 时被 403 拦截,并同步开发文档与缺口说明。
2026-07-21 11:53:39 +08:00
nyaKazuha
924cff5f51
ci(rust): 切换 Gitea runner 标签为 linux
...
bat-rust / Build and test Rust (push) Canceled after 14m5s
保留 .gitea/workflows/bat.yml 作为实际工作流入口,删除冗余副本,并同步项目计划与当前缺口文档。
2026-07-21 11:35:59 +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
d9332299ef
docs: G-008 并入 G-009(bat-api 仿官方 API),调整关闭顺序
...
- G-008(Go CLI)关闭:用户命令入口由功能完整的 Rust bat 承担,
Go 侧转向仿官方 API 的 bat-api(issue #19)
- G-009 重定义为 bat-api:仿 BlueArchive 官方 API 的 Go HTTP 服务,
含鉴权/签名验签,经 daemon RPC + current/ 发布布局对接
- 关闭顺序改为先完善 Rust bat 后端(issue #2/#3/#17)再做 bat-api
- PROJECT_PLAN 近期任务同步为 Rust 后端优先
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 21:55:03 -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
ec40ed4660
docs: 关闭 G-017(决策不引入托管 CI)并同步 CURRENT_GAPS
...
- G-017 按决策关闭:不加入 GitHub Workflows,质量门禁由本地
fmt/clippy/test 与 Makefile/scripts 可重复脚本承担
- G-008 补记对接边界现状:issue #1 RPC Backend API 已就绪,
实现 Go CLI 时应重写 cmd/bat 现有 cgo 骨架
- 关闭顺序移除已关闭的 G-018,更新时间与结语同步
- PROJECT_PLAN 里程碑 11 的 CI 交付物改为本地可重复验证,
与 G-017 决策一致
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-17 20:44:01 -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
17b86ab9fa
docs: 修正文档漂移,与当前实现和 G-018 状态对齐
...
- PROJECT_PLAN:"真实官方网络 smoke 尚未记录/未完成记录" 与 G-018 已关闭矛盾,
改为"命令已固化(G-018 已关闭),真实运行处于长期运行测试阶段、报告待后续提供"。
- PROJECT_PLAN §6 标题"近期 10 个具体任务"实列 8 条,去掉误导性数字。
- official-resource-test-pull.md 重复的 "## 8" 编号(代码入口/验证)修正为 8/9。
- CURRENT_GAPS G-008 "cmd/bat 无 main.go" 已过时(main.go 存在但为 cgo 最小
骨架、非产品入口),更正现象描述。
对应 issue #18 维护清单 4-1、4-2、4-3、4-4。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-16 10:04:09 -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
7890b667d7
fix(daemon): 去重失败版本并优化状态输出
2026-07-15 22:32:27 +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
0d07b9f4ce
docs(docs): 记录提交信息 scope 规则
...
要求提交标题统一使用 type(scope): 中文说明,并在开发指南和贡献指南中补充示例。
2026-07-15 21:28:22 +08: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
nyaKazuha
f704ec18c5
feat: add official sync startup banner
2026-07-07 23:00:02 +08:00
nyaKazuha
ea0920e4e3
feat: add official sync progress logging
2026-07-07 22:13:07 +08:00
nyaKazuha
b2d6871926
fix: harden official resource sync retries
2026-07-07 01:14:54 +08:00
nyaKazuha
e0d43fb994
fix official auto discovery for current launcher manifest
2026-07-06 23:02:52 +08:00
nyaKazuha
5e76ea4ae3
docs: align project status with official sync pipeline
...
Update the authoritative docs, guides, architecture notes, gap list, deployment guidance, handoff notes, and changelog to reflect the current Rust official resource sync boundary.
2026-07-06 00:34:22 +08:00
nyaKazuha
789402c887
feat: add official resource sync pipeline
...
Add the production-facing official update service and bat-official-sync watch CLI for unattended resource synchronization.
Support launcher-resource discovery without installing the launcher, remote marker snapshots, local manifest audit and repair, official seed hash validation, bootstrap caching, richer Addressables coverage, SQLite resource persistence, and FFI JSON helpers.
2026-07-05 23:49:56 +08:00
nyaKazuha
99e66a48d7
docs: add status handoff
2026-06-30 22:20:01 +08:00
nyaKazuha
adc1cd5b91
feat: prepare experiment push package
2026-06-30 00:08:36 +08:00
nyaKazuha
b202d7b231
feat: implement production cas v1
2026-06-28 12:39:17 +08:00
nyaKazuha
dd53e3054e
chore: establish development baseline
2026-06-28 01:27:09 +08:00