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>
This commit is contained in:
2026-07-17 10:27:44 -07:00
co-authored by Claude Fable 5
parent eac1edd455
commit d22f9258ad
2 changed files with 41 additions and 2 deletions
+2 -2
View File
@@ -266,7 +266,7 @@ GitHub issue 状态:#4#16 已全部关闭(#16 为 daemon status 版本失
下一阶段必须优先完成:
1. Issue #1P1):`bat` daemon 的 `bat.sock` Unix socket JSON-RPC 从运维控制通道扩展为面向 Go 服务层的本机 Rust Resource Backend API。方法按 `daemon.*``resource.*``catalog.*``patch.*``unityfs.*``task.*` 分层,统一响应 envelope`ok``status``error``data``request_id`,长任务返回 `task_id` 可轮询;首批最小方法集为 `daemon.status``daemon.logs``resource.sync``resource.verify``resource.state``task.status``task.list`。Go 层通过 RPC 调用 Rust backend,不走 FFI;现有 CLI 保持可用并可作为 RPC clientdaemon 不可用时保留兼容 fallback
1. Issue #1P1,主体已实现):`bat.sock` Unix socket JSON-RPC 扩展为面向 Go 服务层的 Rust Resource Backend API。统一 envelope`ok``status``error``data``request_id``BAT-ERR` 错误码模型已落地;`daemon.*`status/logs/stop/reload/refresh)、`resource.*`state/sync/verify/manifest)、`catalog.*`status/refresh/diff/versions)、`task.*`status/list/cancel/logs)已实现,长任务返回 `task_id` 可轮询(内存态任务执行器,单 worker FIFO,与 watch 循环互斥);错误码已接入下载、launcher/metadata、server-info/marker 与配置校验路径。剩余:`patch.*` / `unityfs.*`(被引擎阻塞)、`resource.repair`(待引擎独立修复模式)、`task.create`(按设计由语义方法创建)、任务持久化(内存态,重启即失)。Go 层通过 RPC 调用 Rust backend,不走 FFIFFI 降级说明见 `docs/architecture/official-resource-backend.md` §7
2. Go CLI 最小可用入口:`bat doctor`、稳定的 `bat --help` 命令结构,默认通过上述 RPC 或 `bat --json` 进程边界获取同步 report。
3. 官方同步结果接入 CAS + ResourceRepository 的用户级工作流(G-011 剩余部分:自动导入触发、schema 迁移、CLI 查询)。
4. Issue #3P2):AssetBundle UnityFS 基础解析校验。
@@ -281,7 +281,7 @@ GitHub issue 状态:#4#16 已全部关闭(#16 为 daemon status 版本失
立即任务:
1. 按 issue #1 实现 daemon JSON-RPC 协议基础设施和首批最小方法集`daemon.status``daemon.logs``resource.sync``resource.verify``resource.state``task.status``task.list`),并补齐 backend API 设计文档、任务模型、错误码和 RPC 测试
1. Issue #1 收尾:协议基础设施最小方法集`catalog.*`/`task.*` 全量、错误码模型与文档(USERGUIDE §5/§6、架构文档 §7)均已完成;剩余 `patch.*`/`unityfs.*`(待引擎)与任务持久化按后续里程碑推进
2. 实现 Go CLI 最小框架和 `doctor`,通过 RPC 或 `bat --json` 边界对接 Rust backend。
3. 跟进官方同步长期运行测试,收集并归档运行报告。
4. 开始 AssetBundle parser 的 UnityFS header/block/directoryissue #3),并继续扩展 Addressables catalog 可校验字段(issue #2)。