五配置执行矩阵验证¶
本报告验证同一生成程序在四后端、五个编译配置中的构建、结果比较与源码重放。 2026-10-21 的验证覆盖 100 个固定种子,全部配置均取得有效结果且输出一致。
验证对象与环境¶
被测源码为提交 7c836bc32fd7f6ab6c5f78d760cdaef6643195c0,使用其 native debug CLI。
生成器固定为 template-rules-v1;下述结论只适用于该版本、输入范围和工具链,
后续生成器默认值变化不改变本次实验的输入定义。
| 项目 | 实际值 |
|---|---|
| 宿主 | Darwin 27.0.0 arm64 |
| Moon | 0.1.20260920,提交 914d7da |
| 编译器与 core | 0.10.14+7d59c7ec9,2026-09-18 |
| moonrun | 0.1.20260920,提交 914d7da |
| Node.js | v26.3.1 |
| 生成器 | template-rules-v1,Int/Bool、绑定、分支与无环函数子集 |
| 种子范围 | 0..99,共 100 个 |
| 生成预算 | 128 节点、深度 6、256 次构造尝试 |
| 每次编译 / 运行超时 | 30000 / 2000 毫秒 |
| 配置顺序 | native-debug、native-release、wasm-gc-debug、wasm-debug、js-debug |
| 归约预算 | 16 个候选;本批没有输出分歧,未启动归约 |
方法与判定标准¶
原实验通过 just build 产出的 native debug 可执行文件启动任务。
独立复测时,可在相同源码版本下准备开发环境,
通过以下 CLI 源码入口启动相同参数的任务:
moon run modules/cli/src/cmd/moonsmith --target native --deny-warn -- \
run --config acceptance.toml --set sample_count=100 --set seed_start=0 \
--set 'name="five-config-pilot"' --set 'output.directory="runs/five-config-pilot"'
任务读取该版本的 acceptance.toml,使用表中的生成预算与超时。 每份输入先通过内部完整程序检查,再按既定顺序执行五配置。判定标准为:
- 每个配置的构建和执行均正常退出,输出满足该程序的 Int 或 Bool 观察协议。
- 五个规范结果一致;构建失败、超时、无效输出或缺失观察不计作一致。
- 保存案例包含源码、构建描述符、配置与原始观察,外部运行时版本探测完成。
- 对保存案例重放时取得新的执行证据,原例和原任务汇总保持不变。
观察协议与执行行为分别由 MoonBit 模块和 CLI 模块定义。
验证结果¶
| 验证项 | 实测结果 |
|---|---|
| 计划 / 已尝试种子 | 100 / 100 |
| 完整程序生成与内部检查通过 | 100 / 100 |
| native-debug 基线编译通过 | 100 / 100 |
| 五配置都取得规范结果 | 100 / 100 |
| 五配置一致 / 输出分歧 / 比较未完成 | 100 / 0 / 0 |
| 操作错误 | 0 |
| 成功构建 / 构建总数 | 500 / 500 |
| 成功执行 / 执行总数 | 500 / 500 |
| Int / Bool 结果协议 | 59 / 41 |
| 命令退出码 | 0 |
逐样本核对了种子连续性、执行计划、构建与运行状态,以及 moonrun、Node.js 版本探测。 种子 0 的保存案例另行重放,五配置继续取得有效且一致的结果,退出码为 0; 重放追加执行记录,没有重新生成源码或改写原任务数据。
整次任务的墙钟时间为 141.25 秒,包含生成、版本探测、构建、执行、存储和报告。
该计时使用 /usr/bin/time -p,未控制宿主负载与文件缓存,不用于算法性能比较。
结论与适用范围¶
本次固定输入范围验证了五配置执行、正常结果比较、运行时存证与源码重放路径。 没有观察到输出分歧或未完成比较,也没有启动归约。
这 100 个样本不计入申报书要求的 10,000 个样本及其中 1,000 例五配置实验。 原始逐样本记录未随源码发布;本文给出固定版本、输入条件、复现方法和汇总结果, 不提供原始数据下载。独立复测应保留新的生效配置、逐样本观察和任务汇总。