# 开发验证记录 · 2026-10-26

环境：Python 3.12.14、NumPy 2.3.5。使用 Codex 捆绑科学计算环境执行；项目运行依赖仅 NumPy。没有调用真实被测模型，没有患者数据，也没有完成专业临床有效性认证。

## 已执行

```sh
python -m unittest discover -s tests -v
python -m scripts.check_pipeline
```

**21 项测试通过**，覆盖：圆孔首暗环解析规律、非相干圆孔 MTF 解析解、无孔理想补偿、无光焦度孔消融、透明孔能量、振幅平方律、偏心棱镜定律、散光方向旋转、多波长非相干叠加、物理采样加密、有限视场损失、共同角网格守恒、平滑相位采样不足拒绝、非法配置/提交拒绝、固定图失分、题面哈希校验、漏题零分、36 题覆盖及种子复现。

## 数值管道与负控

种子 `20261026`，24 例、6 族、12 对干预。以下是**构造的程序基线**，不是模型榜单：

| 程序 | 核心总分 | 透明孔分项 | 说明 |
|---|---:|---:|---|
| 相同参考实现 | 100.00 | 100.00 | 只证明生成/读取/评分管道一致 |
| 所有病例使用固定理想 PSF | 33.85 | 37.42 | 对参数变化没有响应 |
| 所有病例使用手画环形图 | 21.17 | 21.54 | 外观有环，但机制错误 |
| 正确实现其他参数、忽略中央孔 | 90.43 | 56.29 | 宏平均会掩盖局部机制缺陷，必须看分项 |

每组均 0 个格式非法输出。完整原始报告位于 `runs/<mode>/score.json`，重跑脚本可再生成。原始摘要也保存在 demo 的 `development-checks.json`。

**解释限制**：只验证一个种子的构造负控，未证明对不同真实 Agent 的区分度、可靠性或排序稳定性。完整专业轨道还需专家校准、独立求解器、多种子与盲测。参考自检 100 分不可作为模型结果发表。

## 发现并修复的数值问题

1. 普通双线性强度插值产生约千分之几的表观能量增益。已替换为以像素重叠面积为基础的守恒重采样；评分器将允许能量偏差收紧为浮点存储级 `1e-5`。
2. 大瞳孔超过光学区时，未矫正的边缘光束具有较大相位梯度，512 或 1024 瞳面网格可能不够。新增平滑相位梯度检查：每像素相位周期达到 0.45 则拒绝运行，提示增加真实瞳面采样，不能靠 FFT padding 绕过。
3. 大瞳孔 demo 使用 1536 网格，另以 2048 网格核对：条件 PSF L1 差异 `0.000554`，截获能量差 `0.0000624`；截获能量分别约 `0.716005` / `0.716067`。输出探测网格保持一致。这验证此示例的两个采样层级，不替代完整参数域收敛研究。

平滑相位梯度检查无法自动保证孔边界衍射、所有波前细节与视场都已收敛。专业轨道的多级收敛和独立参考要求仍然保留。

## 展示检查

用 `/browse` 打开本地 `examples/demo/index.html`，检查页面文字和计算结果图片。页面比较六种配置，保留固定光轴、固定曝光与原始线性数组；它只展示薄相位合成模型。

外部网页核验仍因浏览器地址安全检查受阻。文献和专业审查缺项见 `evidence.md`。
