# Moon7z 项目申报说明

**1、项目名称：** Moon7z——MoonBit 7z 归档读取、校验与安全导入库。报名表名称应同步填写 Moon7z。

**2、项目简介：** 为 MoonBit 开发者提供无需调用外部 7-Zip 的归档 API，处理目录、成员、完整性校验和解包，服务数据导入与资源包管理。

**3、方向与通用性：** 通用文件处理基础库；核心支持 Wasm、Wasm-GC、JavaScript、原生目标，文件 I/O 与 CLI 支持 Wasm、原生。独立价值集中于完整兼容路线、有界成员处理、审计对比和安全发布。

**4、完整使用场景：**

- 数据导入：接收归档→检查目录与限额→全量校验→读取清单和数据；失败时拒绝进入业务系统。
- 资源获取：查看目录和文件头→按成员 ID 选择资源→校验所在 solid 块→导出到新目录；失败清理暂存内容，已有目标不覆盖。
- 版本维护：比较新旧归档的内容与元数据→生成变化报告→对损坏归档逐块审计→定位需要重新获取的归档数据。

**5、核心功能与最终目标：** 已实现 Copy/LZMA/LZMA2、Delta、x86/ARM64/ARM/ARM-Thumb/PowerPC/IA64/SPARC 过滤器、Swap2/4、明文/压缩头、solid 成员、CRC/限额、区间读取、选择导出及对比审计。目标是完成明确的 7z 0.3/0.4 常用读取兼容集，覆盖多输入图/BCJ2、其余列明编码与过滤器、加密头/数据、分卷及元数据保留；这些补齐项尚未完成，不能当作当前能力。验收条件与生产者版本矩阵见[兼容性终点](compatibility.md)。不开发归档写入。

**6、项目性质与差异：** 自主开发容器及导入工作流，复用解码库并含局部算法移植。与 `Sxy11112/moon7z` 的基础读取存在重叠；其检查版本明确不做的过滤链、加密、BCJ2 等属于本项目兼容补齐目标。已有的有界按 ID 处理、审计对比和安全发布 API 是具体差异，不能据此宣称生态唯一。详见[对比与复用边界](ecosystem.md)。

**7、来源与许可证：** [lzma-mbt](https://github.com/aurora0x27/lzma-mbt)（Apache-2.0）提供 LZMA/LZMA2 和部分过滤器；[bodgit/sevenzip](https://github.com/bodgit/sevenzip)（BSD-3-Clause）为容器参考；[7-Zip Bra86.c](https://github.com/ip7z/7zip/blob/21.07/C/Bra86.c)（Public Domain）为 x86 BCJ 局部移植来源。项目代码采用 Apache-2.0，完整清单见 [SOURCES.md](../SOURCES.md)。

**8、仓库与记录：** [Wyh123456559/moon7z](https://github.com/Wyh123456559/moon7z)，已有超过 10 项实质提交，覆盖实现、边界测试、互操作语料和 CI。以[公开提交记录](https://github.com/Wyh123456559/moon7z/commits/main/)及各版本 CI 为准；不以提交数量替代兼容性完成度。

**兼容证据：** 已用官方 7-Zip 19.00/23.01/24.09/25.01/26.05 与 libarchive 3.8.9 生成并逐字节验证 21 个基础用例，覆盖实际 0.3/0.4 归档；[结果与再现方法](producers.md)不代表待补齐功能已完成。
