# 2026 年 10 月赛验收自查

核对日期：2026-10-28。核对依据：[MoonBit 2026 黑客松官方赛程与验收标准](https://moonbitlang.github.io/Hackathon2026/)。

| 官方验收项 | 仓库证据 | 状态 |
| --- | --- | --- |
| MoonBit 为主要实现语言 | 照片模型、分类、指纹、分组、CLI 参数、审核清单校验和复制决策由 MoonBit 实现。2026-10-28 本次检视 16 个 `.mbt` 文件共 3,600 行，其中测试文件 1,164 行、其余 2,436 行；该计数包括空行、注释和 `.mbt` 中嵌入的 JavaScript，不能等同于有效 MoonBit 代码行数。Node.js 负责本地文件适配、PNG 压缩流转换和 HTML 输出。 | 已核对，评审由组委会决定 |
| 仓库公开并保留可追踪开发记录 | 仓库为 `ppyj663/moon-photo-merge`，默认分支 `main`，GitHub 状态为公开；2026-10-22 至 10-28 的提交包含功能、测试与修复。本轮复核更新可结合最新提交核对。 | 已核对原有公开记录 |
| README、可运行示例和必要测试 | README 提供扫描、审核、只读预检和复制步骤；`scripts/demo.mjs` 可生成本地演示报告；GitHub Actions 执行 MoonBit 格式/接口检查、构建、测试、端到端测试、演示和基准脚本。 | 已核对 |
| 已有项目包含本期实质工作 | 已有 `check` 只读审核预检、线性路径索引、基准工具及文件系统边界集成测试；本轮修复空参数异常、报告硬链接改写风险及部分 PNG 的 JS 栈溢出。 | 请结合最新提交核对 |
| 开源许可与来源说明 | 根目录使用 Apache-2.0；[第三方来源](第三方来源.md)列出直接和传递依赖的版本及模块声明，提示检查上游 Go 版权声明和子目录独立许可证；README 说明项目没有移植同类应用。 | 已核对可见信息 |
| AI 辅助工作可解释 | README 说明使用 Codex 辅助，并列出 MoonBit 与 Node.js 的职责、分类规则、限制和复现方式。 | 已核对 |

## 本机复现

```powershell
moon update
moon info
moon fmt --check
moon check --target js
moon build --target js
moon test --target js
node scripts/integration-test.mjs
node scripts/demo.mjs
node scripts/benchmark.mjs examples/fixtures/library examples/fixtures/incoming --runs 2
```

演示仅操作临时副本。已有[公开照片基准](../benchmarks/README.md)：6 张不同照片，另有复制扩展到 70 个文件的测量；扩展组不是 70 张不同照片。也可将自己的现有相册和备份目录传给 `scripts/benchmark.mjs`；基准摘要不包含文件路径、名称、哈希或图像内容。现有基准不代表真实个人相册的性能或识别准确率。

## 验收边界

项目覆盖本地 JPEG/PNG 的重复筛查、疑似相似提示、同名冲突复核和用户确认后的复制；PNG 解压数据上限 128 MiB，不承诺识别所有近似照片，不处理 HEIC、RAW、视频或云端相册。参与者仍需能解释目标、技术选择和结果，并按组委会通知完成提交；能否通过由组委会决定。
