# 验收自查与证据入口 — 0.14.0

依据参赛者在 2026-10-25 提供的九项最终验收指南核对。已通过初审的选手，验收前无需再提交表格，只需持续开发并上传对应内容到 GitHub。本记录由 AI 辅助整理，提供可复现的技术证据，最终验收由主办方评定。

| 验收项 | 当前证据与复现入口 |
| --- | --- |
| 1. MoonBit 为主要语言，moonc ≥ 0.10.14 | 根库实现元数据、布局、创建、核验与报告；CLI 策略也用 MoonBit 实现，JS 桥只做 OS I/O。本版验证 moonc 0.10.16；CI 用 `scripts/check_toolchain.py` 强制检查编译器下限。 |
| 2. 公开 GitHub、提交清晰 | [公开仓库](https://github.com/Novanke/swarmcrate)保留正常连续历史、功能提交和版本标签。[实现记录](implementation-record.md)只将真实功能工作列为功能里程碑。 |
| 3. 源码结构与核心功能 | 根包是可移植库，`host/` 是文件 I/O，`cli/` 是命令处理。交付“文件→标准种子/磁力链接”“种子+文件→核验报告”及“多任务清单→身份绑定汇总”的完整离线流程；见[设计说明](design.md)、[接口约定](API.md)。 |
| 4. README 可复现 | README 说明目标、工具链下限、安装、构建、参数、退出码、库调用、完整演示、兼容范围与资源限制。依赖固定为 `moonbitlang/x@0.5.5`。 |
| 5. CI 覆盖检查、构建、测试 | Windows/Linux × Node 22.16.0/24 执行版本、格式、接口差异、Wasm GC 检查、双后端测试、优化 JS 构建、双后端库示例、真实文件演示及第三方互操作；见 `.github/workflows/ci.yml`。 |
| 6. 可运行示例 | `moon run examples/library --target wasm-gc --release --deny-warn`，也可换为 `js`；无需外部文件，三个模式均演示完整创建/检查/核验及损坏检测。`node scripts/demo.mjs --output ./artifacts/my-demo` 演示实际文件链路。 |
| 7. 核心路径测试 | 55 个 Wasm GC 核心测试块、78 个 JS 测试块；独立互操作 215 个真实文件场景，使用 libtorrent、torf 与 Python 哈希。分别统计，不把场景数加成测试块数。 |
| 8. 发布 Mooncakes | [0.14.0 包页](https://mooncakes.io/docs/Novanke/swarmcrate@0.14.0)。按[发布流程](releasing.md)先测试与公开 CI，再发布并用独立消费工程安装精确版本，执行真实创建/核验，最后匹配 Git 标签。 |
| 9. OSI 许可证与来源 | Apache-2.0；[LICENSE](../LICENSE)、[THIRD_PARTY.md](../THIRD_PARTY.md)列明依赖及来源。按公开 BEP 独立实现，未复制第三方客户端源码，crypto 依赖不计入自写代码量。 |

## 本轮实际补强

- 0.14.0 新暂存使用操作 ID、绝对路径、原目录/data 身份、进程与本机私有记录绑定；MoonBit 有界解析与判断，旧版无记录或不匹配内容保留。
- 提供只读 `staging-list` 和指定单项 `staging-clean --operation`；活动/复用 PID、未知进程状态、未知成员、符号链接及变化的对象拒绝清理。
- 仅接受实际检查构建的 opaque 计划，独占声明后再次核对快照，只 unlink 固定成员并非递归 rmdir；正式输出始终保留，错误不冒充成功。
- 两个便携核心测试块、三个主机回归块，以及实际进程/故障场景覆盖活 writer、强退前后、两任务选择、双 cleaner、目录替换及中途删除失败；见[暂存清理](staging-cleanup.md)。当前合计 55 个核心/78 个 JS 测试块；旧互操作、取消与发布故障链继续运行，场景数单独统计。
- 该功能面向可信本地目录，不认证恶意同用户进程，也不承诺清理所有崩溃窗口；缺记录、旧版或 stale lock 留给人工诊断。清理失败可能留下部分残留，未实现递归/强制回收。

## 仍需如实说明的边界

- 本项目是离线元数据与完整性核验组件；未实现下载、做种或 Tracker 服务。演示和说明应保持已申报的离线工具范围。
- 兼容性采用明确安全子集；不声称支持全部历史扩展、任意文件属性或符号链接。具体约定见 API 文档。
- 源文件身份与时间信息检查不是原子快照，内容哈希不证明发布者身份；创建发布包时使用稳定文件。
- 当前证据来自合成负载、实际磁盘流程和独立实现比较，尚无广泛真实用户反馈或生产级长时间稳定性数据。
- 参赛者应亲自运行示例，能解释 v1/v2、虚拟补零、部分核验范围、错误处理和依赖来源。无需再次填表，但仍需保持 GitHub 与 Mooncakes 的实际版本一致。
