# 已执行验证与边界

2026-10-31，本地Windows。工具链moon 0.1.20261028 / moonc 0.10.18+6c83a7f62，Node.js 24.22.1。以下只记录BoxRIR，不继承NeedleRail等项目测试数。

| 检查 | 实际结果 |
|---|---|
| `moon check --target all --deny-warn` | 四目标严格类型检查通过 |
| `moon test --target wasm --deny-warn` | 12组，0失败 |
| `moon test --target wasm-gc --deny-warn` | 12组，0失败 |
| `moon test --target js --deny-warn` | 12组，0失败 |
| `moon run cmd/main` | 公开API示例断言通过：7路径、1632帧响应、16采样公共延迟 |
| `node --test tests/*.test.mjs` | 5组，0失败；包含32个上游场景、5个BFS场景、完整工作流、CLI不覆盖和错误输入 |
| `python scripts/verify_artifacts.py` | 四套产物（3个工作流）均由SciPy独立读取并验证；数据见artifact-verification.json |
| 浏览器 | 本地工作台实际生成4032帧双通道RIR及20031帧模拟录音；音频readyState=4、无解码错误，时长1秒/1.251938秒；确认计算期间输入禁用、结果/下载入口出现 |

核心测试覆盖每墙次数、总阶数、吸收极值、六墙不对称、互易性、等时路径保留、分数/整数延迟、完整核与公共时间轴、时间窗遗漏统计、FFT与独立直接卷积、资源上限、Float32不削峰、非有限音频、RIFF块边界、JSON数值控制。

## 独立对照

- 独立六墙反射BFS不是从生产枚举公式复制而来。0–4阶镜像数1/7/25/63/129，合计5场景225镜像；位置和六面墙次数精确比较。
- pyroomacoustics 0.10.1公共API：32场景2330镜像，包括24个固定种子随机非对称场景。数量、阶数精确一致；坐标atol2e-5/rtol2e-7，压力反射atol1e-7/rtol2e-6。上游内部float32，未要求虚假的Double逐位一致。没有拿其不同FIR的波形直接比较。
- SciPy独立WAV读取核对采样率、声道、帧数、Float32格式，脉冲核总增益与路径增益相符；六墙一阶反射在吸声处理前后分别比较，x低墙压力比为1/3，其余不变。
- 三麦克风录音使用1秒合成扫频，完整输出17951帧。独立FFT卷积误差实际数值见artifact-verification.json，不将其当作真实房间精度。
- 已提交产物是回归参照。跨平台报告数值与Float32采样采用tests/workflows.test.mjs中的明确容差，文件头与整数项精确相同，不承诺不同平台数学函数的浮点逐位一致。

## 审查修复

子代理先复核数学定义并生成独立fixture，随后检查实现时指出上游WAV元数据解析可能在错误块长度下产生异常分配。BoxRIR现先用Int64减法边界检查RIFF/chunk长度，丢弃非音频元数据，再把fmt/data交给上游；本地回归确认大长度、截断和不透明元数据的处理。未修改上游包，也未声称上游已修复。

浏览器将一份任务的输入冻结到结束；取消会终止计算Worker。试听统一增益明确标注且不写入下载文件。图只显示XY平面，不冒充三维反射轨迹。

## 尚未验证

未做现场测量、材料校准、主观完整听审、实时性能承诺或外部用户部署。本机缺MSVC工具，Windows Native实际执行未完成；Linux Native将由远端CI实际运行。公共网站、GitHub和Mooncakes状态以发布完成后的真实验证为准。
