# json-regress：面向 JSON 与机器学习输出的 MoonBit 回归断言库

> AI 辅助参考稿，2026-09-15。官方申报要求本人撰写，请理解并用自己的表述重写；不是可直接冒充本人独立撰写的成稿。已形成 10 个开发阶段正式提交；GitHub 仓库已公开且首次远程 CI 通过，Mooncakes 包发布仍待登录。

**项目简介**：开发一个 MoonBit 回归测试库，在不改变业务字段严格比较的前提下，支持明确路径的易变字段忽略和数值容差。进一步面向机器学习迁移、重构后的固定输出检查，提供显式 shape/dtype/data 的数值数组适配，定位错误坐标并汇总全部超差元素。项目聚焦测试工具，不构建新的训练框架。

**三个使用场景**：

1. JSON 接口与实验结果回归：忽略请求编号等易变字段，对 loss 等数值设置容差，保留样本数、状态和数组顺序的严格检查；区分字段缺失与 null。
2. 世界模型检查点回归：使用真实 MoonXi-net CPU 层构成固定的 Linear–ReLU–Linear 小型动力学示例，对固定 observation/action/latent state 的一步及三步输出进行校验，每步记录 Linear、ReLU、latent 三个检查点。独立 Python 标量运算生成期望值；能识别维度/布局错误和单个 latent 超差，并定位至记录的层与时间步。该模型未训练，不宣称具备完整世界模型能力。
3. 强化学习轨迹回归：规范化 observation/action/reward/next_observation 及 episode、step、terminated、truncated，检查时间对齐、观测连续性、重置边界与终止类型。用两段确定性小环境轨迹展示正确结果与动作错位、奖励符号等错误，不以回报值判断算法优劣。

**技术特色与边界**：复用标准 Json 类型；核心无第三方运行时依赖。提供 compare、assert_matches、稳定文本与结构化差异；数值数组严格校验形状和源 dtype 元信息，统一应用明确容差，错误展示截断不影响完整统计。拒绝非有限值和不支持的数值幅度，公开 Double 精度限制；不提供广播、自动转置、自动 dtype 转换或自动更新期望值。

**文件交付能力**：提供独立 Native 命令，支持 JSON、tensor、trajectory、checkpoints 四模式；标准 JSON 报告和 0/1/2 退出码可用于 CI。先检查来源与结构，再报告数值偏差。失败包保存原始输入与规则，可在原文件缺失时重新比较，不把这种重放宣称为模型重新执行。

**已有进度**：本地 Wasm、Native 各 67 项测试通过；两个后端各 6 项真实 MoonXi CPU 集成测试通过，另有 19 项 CLI 进程验收。上游锁定提交和 MIT 许可证有记录，参考数据可重新生成并验证校验和。三步模型的九个检查点相对独立 Python 最大绝对误差约 `5.96e-8`；本次实际 Native/Wasm 输出差为 0。六个实际输出对照与七个注错/比较重放用例通过。已有 README、可运行用例、Apache-2.0 许可证和 CI 配置；[首次远程 CI](https://github.com/willzhang/json-regress/actions/runs/34912598554) 已通过。

**交付计划**：已完成本地署名配置和 10 个实质开发阶段提交，提交数量检查通过；公开仓库与首次远程 CI 已完成；后续完成 Mooncakes 登录与发包，报名可以直接使用现有公开仓库和本人修改的一页说明，不必等待发包。申报与验收能否通过不由本地测试结果保证。

**GitHub 仓库**：https://github.com/willzhang/json-regress。
