# 080 最小报告器 只用 Python 标准库;实际执行 Python 3.9.6 / CPU。无需 pip 安装。原 079 实验环境是 Python 3.12.14 / NumPy 2.3.5,这里只读取它的 JSON,不重新训练。 从本文目录运行: ```bash python3 code/report.py python3 code/audit.py PYTHONPYCACHEPREFIX=/tmp/080-pycache python3 -m py_compile code/report.py code/audit.py ``` 程序按自身路径读取输入,重复执行会重建 `results/` 下本示例报告。关键形状 `[3,5,4]` 表示运行、预算、攻击,不是独立样本张量。 ## 输入与溯源 - `input/source_summary.json`:079 的摘要原件副本,哈希保存在 manifest。原文件在 `../../2026-09-21_079_adversarial_robustness_attack_audit/code/results/summary.json`(相对于本 code 目录)。 - `input/manifest.json`:三个种子 79/80/81、五个预算、四种方法、源环境和协议。manifest 的 source 路径相对于本文目录。 - `input/runs.jsonl`:60 行,逐个复制源 runs/budgets/attacks 下四种方法的 robust_accuracy、failures。n_examples=2048 由079脚本明确的测试规模得出。排除 zero_gradient_fixture 是因为它是诊断样例。 重建输入的方法:遍历 source 的 `runs`,再遍历 `budgets`,再遍历 manifest 中四种 method;复制 seed、epsilon 和攻击分数及 failures,附上 manifest 的 protocol_sha256、test 划分、robust_accuracy 指标、ok 状态。状态仅对应这些已有成功日志,不表示程序能自动证明上游运行成功。不要加入伪造运行。 ## 输出 - `results/report.json`:20 组均值、ddof=1 SD、逐种子值及预算0.2的配对差值。 - `results/table.csv`:全部预算/方法;`table.md`:正文子集,百分比均值和百分点 SD。 - `results/bootstrap_exact.json`:有放回抽3个运行的27个有序等概率样本均值。 - `results/verification.json`:实际环境、运行时间、错误日志拒绝记录、随机种子80的一万次抽样比较。 - `results/audit.json`:独立分数/计数审计。源码不导入 report.py,使用多项式权重恢复经验分布。 区间采用逆经验CDF分位数(nearest rank),不是线性插值。三个运行的区间仅为教学,未验证总体覆盖率;穷举经验分布不等于精确置信推断。配对单位是一整次数据生成+训练+评测运行,共享模型和测试样本,不是单独的测试题。 九类错误输入会抛出 ValueError:重复、缺失、failed、null、NaN、越界、协议不符、非法失败数、分母不符。程序不会自动删除失败运行,也不会决定如何处理非随机缺失。恒定差值、同方法、日志乱序另有控制检查。 `paired_bootstrap` 为三个配对专用,运行数变化时主动报错。真实项目应实现并验证适合其层级的重采样器,不能把该函数直接扩展为通用统计库。 ## 证据边界 本次审计只从既有摘要计数到表格;未回放079逐样本预测、未重训、未执行官方 rliable/SciPy、未跑强化学习榜单、未做覆盖率或多重比较实验。以上均待人工核验。原始生成脚本与逐样本证据保留在079目录。