目录

W45:一半时间在给 hy-check 堵漏洞,另一半在等 Kaggle 跑分

又到周末复盘时间。这一周名义上有 7 天,实际肝了 6 天,节奏大概是:周初泡在 Go-Hybrid 的 hy-check 里修 soundness 漏洞,周中突然被 Lean 的 import 顺序教育,周尾基本是在 mobius-attention 等 Kaggle 跑分。整体状态:忙、乱,但充实。

本周主线

1. hy-check 的标量宽度和集合类型漏洞(Go-Hybrid)

这周的主战场。核心问题一句话:HYB-E1002 的宽度检查有几条路径被绕过去了。channel 的 send 语句和 receive 表达式、slice/array 索引取值、struct 字段读取,这些地方值带着类型但没带标量宽度信息,该报的错没报,非要等 go build 才炸。对应 issue 是 #3172 和 #3136,我在自己 fork 里开了 fix-3172-channel-send-recv-scalar-widths 和 fix-3136-indexed-field-scalar-widths 两条分支逐个堵(其中一个修复)。

顺手还清了一批 set[T] 和 option 的烂账:index、slice、cap、close、clear、copy 作用在 set[T] 上本该报错(#2981),option 上调 .pop()、方法 arity 不对也该报(#2955),any 和 recover() 隐式赋给具体类型以前是直接放过的(#2962)。commit message 里 fixes #xxxx 排成一串,看着还挺壮观,实际每条背后都是一个能骗过检查器的反例。

2. mobius-attention:phase attention 的又一次折腾

信仰充值周,而且干得比较狠:把 legacy stack 整体归档,代码 reset 到最小 phase-attention 路径,eval 脚手架重新长出来,Ruff 那边 exclude archived legacy/ 之后 CI 才重新干净。

功能上补了 harmonic_entity_phase,专治“2π 内多次更新导致实体复活”这个见鬼的现象;又加了个不拷贝权重的端到端 learned-gate PoC(run_learned_poc.py)。

实验数据记了 Qwen2.5-0.5B 的 E2 oracle-boundary,还有 Qwen3-0.6B 和 Qwen3.5-0.8B 的 Kaggle E2 reversal 结果。最开心的是 Qwen3.5-0.8B entity_segment 那一组 4 条预注册标准全过——看到 preregistered criteria all passing 的时候,确实在屏幕前面挥了一下拳头。

3. mathlib4 和一点零碎

fork 里开 feat/odd-field-zero-node 分支折腾 Topology/Order/Antipodal,把 IsOddMap 相关定理 golf 了一遍,然后被 Lean4 教育了半天:模块 docstring 必须放 public section 前面,import 之间要空行,漏了就直接报错给你看。就……很 Lean。

另外给自己仓库 net-tools 提了 PR #1,chore 级别,格式化 spec markdown,居然成了本周唯一合并的 PR。

PR 与协作

开了 3 个 PR:#3139 和 #3179 都在 limitlessprojects/Go-Hybrid,分别对应索引/字段宽度和 channel 收发宽度。诚实地说,这两个目前都是 closed 未合并状态,之后怎么改还没聊定。issue 主要在 #3172、#3136、#2981 里评论跟进,#2962 和 #2978 的老帖也补了评论。自己新开的 issue 是 0。review 别人的 PR 数量也是 0——这周真没顾上,先欠着。

踩坑与修复

说个最具体的:E1002 的报错一度是“哑”的。emit_e1002 当初收的是 String 而不是 &str,option 方法检查里想把带上下文的 note 传进去都传不进去,报错就一句干巴巴的类型错误,debug 时完全看不出是哪条路径触发的。修法很朴素:把相关调用点统一改成传 &str note,MapLit 的 value 渲染顺手一起修了,过程中还经历了几次“改了 A 坏 B、回滚再来”的循环。教训就是:诊断信息的传参方式一开始要定好,不然每个调用点都要回来补课。

另一个坑是提交记录鬼打墙。activity 里躺着一堆 message 一模一样、SHA 各不相同的 commit,时间戳密密麻麻——问就是 rebase 的锅(也可能不是,但我不太想承认是手滑)。下周争取一次推对。

数字

  • commits:37
  • PR:开 3、合 1、review 0
  • 仓库:6 个
  • release:0
  • 活跃天数:6/7

下周打算

  1. 盯 #3139 和 #3179 的后续,该改的改,改完 push 要趁早,别再拖到周日晚。
  2. mobius-attention 把 Qwen3.5 的结果正式写进 RESEARCH_PLAN,然后想清楚 harmonic_entity_phase 到底是局部技巧还是值得推广。
  3. mathlib4 的 odd-field-zero-node 争取收尾出 PR,别烂尾。

周报写完了,bug 还遥遥无期——但至少咖啡是热的。


本文由 Step 5 Preview 根据我本周的 GitHub 公开活动自动整理,数据和链接均来自 GitHub。