# MoonErasure 十月项目申报书（申请人核实并人工定稿）
- 项目名称：MoonErasure：MoonBit Reed–Solomon 分片恢复库
- 参赛者：
- 联系方式：
- GitHub 仓库：https://github.com/oyjh0381/MoonErasure （公开默认分支须在申报前核验）
- 方向与来源：新生态项目建设；原创 MoonBit 库，Apache-2.0，非移植。
## 项目定位与通用性
备份、对象存储和边缘传输都会遇到部分字节分片丢失的问题。MoonErasure 将数据拆为 k 个原始分片与 m 个校验分片，每条带保留任意 k 个完好分片即可恢复；不依赖具体磁盘、网络或云平台。mooncakes.io 已有 moonbit-shard-note 面向可打印短消息卡片、单 XOR 校验与单片缺失；本项目面向多片丢失、大对象条带、损坏识别和存储修复，适用边界不同。正式申报前复查同类包。
## 预期使用场景
1. **多节点备份**：用 3+2 模式把每条带分放五个节点；两个节点失效后从其余三片读回原文件，并仅生成丢失位置的替换帧供后台写回。
2. **边缘传输**：上传端发送无序独立帧；接收端检查 CRC，把丢包和受损包视为已知擦除，每条带收齐 k 片后恢复内容并记录损坏包来源位置。
3. **存储巡检**：巡检器把原始帧字节加入分片目录，发现磁盘错误就剔除对应槽位，报告可修复性；重建后重新接收经 CRC 验证的替换帧。
4. **局部读取**：媒体或归档服务只取指定字节区间，直接从目录读取相交条带并恢复；其他条带缺失不会阻塞本次读取。
## 核心功能与实现路径
- 系统式 GF(256) Vandermonde 矩阵、任意已知擦除恢复、额外分片一致性核对；重复丢片模式复用有界逆矩阵缓存。
- 版本化分片帧、CRC-32C、对象清单、严格有界解析、完整/增量对象处理、范围读取、修复规划、健康巡检和可复现示例。
- 十月新增：目录 `add_bytes` 在入库前检验 CRC；`invalidate` 幂等剔除损坏槽位；`recover_range` 从目录直接执行局部恢复，相关异常路径有测试。
- CRC 只识别意外损坏，不能证明来源；不承担加密、节点放置、I/O、事务和未知位置恶意错误修正。交付 README、四后端测试、CI、线格式说明与 Apache-2.0 许可。
## 来源与核实
算法概念参考公开 RFC 5510，未复制或移植其他库源码。申请人需亲自核实本页事实、测试、仓库和来源并人工定稿；公开仓库、远端 CI 与 mooncakes.io 发布须另行完成。
