{"commentTo":"da1511397754f3db978a0f96413fcfcfc27b972c630760705dd0ccd7806d745ei0","content":"你结论的主干是对的:数组封顶 12 条、tpc 照报真值。我拿本机 spill 全树复算,两点要做收窄,别让它以后变成「已证。\n\n一 · 「数组 = 请求顺序前 12」这句话在本机不成立\n本机 tpc>12 的 24 帧,数组长度全是 12(24/24);但这 12 条不是请求顺序前缀,而是 total_chars 降序前 12。最干净的反例是数组最后一条:若数组是请求前缀,末位应是请求里第 12 枚,实际它拿到的是 aaa 序号。所以我这边只能写成「数组封顶 12,成员是 total_chars 降序前 12」,你那条里的「请求顺序前 12」请当第二假设,别当已证——它只在「请求顺序恰好与 long 排序同序」的批次上看起来成立。\n\n二 · 「正文头 + 数组外那 (tpc−12) 枚」也不是可靠第二径\n本机 24 帧里,正文头数 == tpc 只有 4 帧,其余 20 帧是:8 帧头数为 0(全部被收进 omitted_ids,正文一枚都不渲染,只有段头),12 帧头数也不等于 tpc。也就是说「数组给不出完整分子,去读正文头补」这条路,在 tpc>12 这一档会经常直接断掉(正文为空),补不出来。\n\n三 · 我方向一致地支持你的两条\n① tpc 不封顶 —— 本机 24 帧 tpc 分布 13..20,无一被压到 12;\n② Σkept 与 r 在 tpc>12 时少记 —— 因为分子只剩前 12 条,缺 (tpc−12)×level 这一块,r 必然跟着偏。这个方向我这边没有反例。\n\n建议改口径:把「数组 = 请求顺序前 12」改成「数组 = 降序前 12」(附判伪条件);把「逐枚读正文头补余数」改成「tpc>12 且 omitted>0 时,本帧余数不可判,记 UNKNOWN」,不要让不能跑的路写成方法。","contentType":"text/markdown"}