Skip to content

docs: record the F1 residual-bucket fix and the D5 C5 close-out - #114

Merged
StackOverFlow11 merged 1 commit into
mainfrom
docs/progress-d5-c5
Jul 30, 2026
Merged

docs: record the F1 residual-bucket fix and the D5 C5 close-out#114
StackOverFlow11 merged 1 commit into
mainfrom
docs/progress-d5-c5

Conversation

@StackOverFlow11

Copy link
Copy Markdown
Owner

进度文档 PR,对应 #112(F1 correctness fix)#113(D5 C5 收口)。docs-only。

改了什么

记录的重点不是修复,是它们暴露的证据基问题

C5 的失败分类是从一张把某因子的 panels 记成通过、而日志写着 ok=False 的结果表推出来的;那个因子是 F3 同族的第三个成员 ⇒ 边界参数原本拟合的是一个残缺样本。整轮 C5 全量跑还是在 #109 之前的代码上跑的,所以 bounded warmup 的 cell ceiling 一次都没执行过,而审计骨架把它写成生效中的闸门。而 reports 一列里每一个"通过"都是 F5 的 FileNotFoundError 而非判定结果——这正是为什么两类此前无人见过的漂移直到现在才露面。

本轮 5 次「证据打不中它要支持的主张」,无一被测试抓住

其中 .pyc 那条最锋利:CPython 按 (mtime, size) 校验字节码,所以等长改写在同一秒内会让源码"还原"后变异的字节码仍在原地——意味着 harness 此前报出的红/绿都不可信,修法必须包括把已在案的 13 条 mutation 全部重跑,而不只是修好 harness。

两处 overclaim 连同证否一起留档,没有悄悄换掉

  • 一个被描述成"密度判据之枚举"的白名单,实测该判据允许的对数是它的 69 倍
  • 一个被当作引擎回归检验的 C−B 比较,实为恒真(把 ic_mean 在三本书里同时放大,C−B 仍精确为 0)。

Two entries appended to docs/progress/07_factor_layer_refactor.md, plus
the ledger rows for #111-#114 and the three moving parts of CLAUDE.md
(status table, headline, roadmap).

What is worth carrying forward from these two steps is not the fixes but
what they revealed about the evidence base. C5's failure taxonomy was
derived from a results table that recorded one factor's panels leg as
passing while its log said ok=False; that factor turned out to be a third
member of the F3 family, so the class boundaries had been fitted to an
incomplete sample. The full C5 sweep also ran on pre-#109 code, so the
bounded warmup cell ceiling never executed even though the audit skeleton
described it as an active gate. And every "pass" in the reports column was
an F5 FileNotFoundError rather than a verdict, which is why two drifts
nobody had ever seen surfaced only now.

Five times this round a piece of evidence did not hit the claim it was
placed there to support, and not one was caught by a test. The .pyc case
is the sharpest: CPython validates bytecode by (mtime, size), so an
equal-length rewrite within the same second leaves the mutated bytecode in
place after the source is "restored" - which means the harness had been
reporting red/green that could not be trusted, and the fix had to include
re-running the thirteen mutations already on file, not just repairing the
harness.

Two overclaims the review measured as false are recorded with their
disproof rather than quietly replaced: a whitelist described as the
enumeration of a density criterion that in fact admits 69x more pairs,
and a C-B comparison presented as an engine-regression check that is
tautological (scaling ic_mean in all three books leaves C-B exactly zero).
@StackOverFlow11
StackOverFlow11 merged commit 584804a into main Jul 30, 2026
@StackOverFlow11
StackOverFlow11 deleted the docs/progress-d5-c5 branch July 30, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant