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

依据参赛者在 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 核心测试块、82 个 JS 测试块；独立互操作 215 个真实文件场景，使用 libtorrent、torf 与 Python 哈希。分别统计，不把场景数加成测试块数。 |
| 8. 发布 Mooncakes | [0.14.2 包页](https://mooncakes.io/docs/Novanke/swarmcrate@0.14.2)。按[发布流程](releasing.md)先测试与公开 CI，再发布并用独立消费工程安装精确版本，执行真实创建/核验，最后匹配 Git 标签。 |
| 9. OSI 许可证与来源 | Apache-2.0；[LICENSE](../LICENSE)、[THIRD_PARTY.md](../THIRD_PARTY.md)列明依赖及来源。按公开 BEP 独立实现，未复制第三方客户端源码，crypto 依赖不计入自写代码量。 |

## 本轮实际补强

- 复现 0.14.1 在 Windows 输入根末尾有点/空格时的保护缺口：规范身份比较失败后只保留词法路径，仍可将报告写入正常拼写的声明载荷目录。即使核验报缺失，也不应生成载荷文件。
- MoonBit 现在同时保留原输入保护键和保守的 Win32 别名保护键，并再次解析已有短路径祖先。仅用于输出保护，不重写读取路径或宣称支持这些输入形式；POSIX 合法点/空格目录保持独立。
- 保持坏任务/未选路径的错误隔离，安全的外部汇总仍能处理后续有效任务。输出路径仍严格校验，不支持的输出形式不会获准写入。
- 55 个核心/82 个 JS 测试块；输出安全脚本覆盖输入末尾点/空格、短路径组合、三种报告与批量汇总，以及外部安全输出和 POSIX 合法目录反例；准确场景数见[输出维护证据](output-safety.md)。完整原有互操作、取消、暂存与精确版本消费验证随发布执行。

## 仍需如实说明的边界

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