## moonsbe 项目申报书

**基本信息**

- 项目名称：moonsbe：SBE 标准消息编解码与 MoonBit 代码生成库
- 参赛者：马昀昀
- 联系方式：1498657823@qq.com
- GitHub 仓库链接：[https://github.com/liyun6666/moonsbe](https://github.com/liyun6666/moonsbe)
- 项目方向：MoonBit 标准协议基础库 / 跨语言消息互操作 / 开发者工具
- 是否为移植项目：否，原创 MoonBit 实现，引用上游标准示例用于独立验证

**项目简介**

moonsbe 面向需要将 MoonBit 接入已有 SBE 消息系统的开发者。项目读取标准 XML Schema，提供二进制消息编解码、类型化 MoonBit 代码生成和版本兼容性检查，使 MoonBit 服务能够与采用相同消息定义的 Java、C++ 等系统交换数据。适用场景包括跨语言服务通信、已有二进制记录读取及消息定义升级验收。

**核心功能范围**

- 编译 SBE XML Schema，解析基础类型、枚举、集合、复合类型、常量与显式提供的 XInclude 资源。
- 支持标准消息头、双字节序、完整 64 位整数、浮点、嵌套重复组和可变长数据。
- 生成可编译的 MoonBit 结构体、枚举及编解码适配器，提供独立消费包示例。
- 校验数值范围、空值、消息截断、长度与资源上限，支持 acting version 和固定字段追加。
- 提供库 API、CLI、Schema 变化检查、业务样例及持续集成。
- 固定上游 Java 工具进行双向互通与完整字节验证，已复现官方 Car 样例的 207 字节消息。

**移植或参考说明**

- 参考规范：FIX Trading Community SBE 1.0 with Errata November 2020。
- 参考项目：[aeron-io/simple-binary-encoding](https://github.com/aeron-io/simple-binary-encoding)，固定版本 1.35.0。
- 上游许可证：Apache License 2.0，所用 Schema 和示例 Java 源码保留版权声明。
- 本项目许可证：Apache License 2.0。

兼容矩阵列明首版支持范围。生成代码使用共享校验运行时，跨语言验收日志和消息文件可在 CI 复现，手写代码、测试与生成产物分别统计。
