4.4 KiB
Round 08 runner / analyzer 实现审阅与处置
审阅日期:2026-07-30
Grok 会话:019fb1f0-bb24-7202-8123-295edda7518f
身份:正式文件完成前的外部模型只读实现审计,不是结果或论文证据
1. 审阅边界
Grok Headless 只读检查:
- 冻结协议与 manifest;
train.py/verify.py/analyze.py/run_matrix.py;- 父 runner 的 salt、schema 与 DepthMixer 算术路径。
明确禁止读取 Round 08 raw formal results、运行训练、修改文件、web search 与 subagents。
2. 对正式 4×3 路径的确认
审阅确认:
- 新 protocol ID 没有进入父
window_startsalt; - selected 路径用 constant-zero FP32 logits 和父
softmax+einsumkernel; - 非空 selector 的 query / key norm hook、AdamW state 与 final=initial gate 自洽;
- historical pairing 比较的字段在父 JSON 中真实存在;
- replay payload 正确排除 run kind、timing、path、parent self hash 与 GPU/version metadata, 同时保留模型、optimizer、diagnostics、history、selector 与 reachability;
- analyzer 强制 4×3 identity、step 8,000 主判定、1-based layers 21–25、finite/positive、
D=(ref-variant)/ref、BPCvariant-ref与 descriptiveI67; - 12 formal + 1 replay、65,536,000 bytes/cell 与最大两进程算术正确。
没有发现会改变正在运行的四个非空 formal variants 数值语义的 blocking error。
3. Blocking finding:smoke-only empty selector 的空审计
learned_reference 直接调用父 forward,没有递增 wrapper 的 visit counters。因此:
forward_calls = 0
all depth/output visits = 0
visit_gate = all(0 == 0) = true
selected reachability = all([]) = true
这不会影响四个正式变体,它们全部是非空 selector;而 empty selector 另有 20-step
parent-equivalence gate,模型/optimizer/evaluations/diagnostics/history/hash 已 exact。
但 forward_intervention.passed 本身不能在修复前被当作 learned census 证据。
处置:
- formal matrix 完成后,删除
selected_indices为空时的父路径 early return; - 让 empty selector 也走同一 copied forward,其中
mix对 64 个节点逐个调用父DepthMixer.forward; - 加入
forward_calls > 0; - 重跑 step-0、parent smoke、wrapper smoke 与 parent equivalence;
- 只有 copied path 仍逐字段 exact 才保留。
这项修复只强化 smoke audit,不更改任何正式 variant 的 selector 或 forward。
4. Non-blocking findings 与处置
| finding | 处置 |
|---|---|
smoke_compare 整体比较 manifest.path |
规范化 path 后比较 scientific manifest fields |
| unselected gate 额外要求 optimizer state | 保留为强实现 gate,但在文档中标成 protocol 之外的额外审计,不用于科学 status |
GPU/version 差异只有 metadata_equal,没有 warnings 数组 |
aggregate 增加显式 metadata warnings |
run_matrix 失败后只 terminate、不 wait/kill,invalid file 会阻塞重跑 |
加入 terminate→wait→kill 清理,并在 cell failure 时标明 exact invalid target |
| step-0 CE 只比较 Python float | 追加 scalar tensor SHA-256 |
EXPECTED_SOURCE_COUNTS 未使用 |
用于 runner↔manifest 交叉校验 |
上述修订不读取结果、不改变冻结阈值或主公式。
5. 矩阵结束后的处置结果
13 个单元全部退出后才应用上述修订;四个正式非空 selector 的 raw 文件未被重写。 修补后的前置闸门结果:
- step-zero 五个 variant 的 logits、loss tensor、evaluation 与 diagnostic exact;
- smoke-only learned wrapper 实际执行
39次 forward,64 个 depth mixer 与 output mixer 的 visit census 全部非零且 exact; - parent 与 wrapper 的 architecture、seed、schedule、model、optimizer、hash、 evaluation、diagnostic、history、gradient gate 与 scientific environment 共 15 组字段全部 exact;
- primary smoke 的 selected 参数仍为 0 hook、无 optimizer state、final=initial;
- unselected optimizer-state 条件继续作为额外实现闸门,不进入科学 status。
结果后 Grok 会话 019fb28b-a9e1-7643-8e43-06f5e16a2077 在只读 sandbox 中独立
复算 13 个 raw、三个 historical references 与 aggregate,报告
blocking_errors=0、status_confirmed=true、replay_confirmed=true。详细数字与
claim boundary 见 research/K3_ATTNRES_FORWARD_TRAINING_AUDIT.md。