Skip to content

机制:四条未决项各交出实测结论,能算的一半进 CI - #126

Merged
hpleapfrog merged 3 commits into
mainfrom
feat/open-questions-mechanized
Oct 21, 2026
Merged

hpleapfrog merged 3 commits into
mainfrom
feat/open-questions-mechanized

Conversation

@hpleapfrog

@hpleapfrog hpleapfrog commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • 未决 1 · 录入成本(决定项目生死):第二条分段实测(HTTP 451 / ev-153)。选题 → 中文正文写完 4 分 9 秒,骨架 319 ms,全量校验 2.2 秒;破预算的是双语平行结构与登记,不是读写本身。同时核掉了本库自己的假设:「P7→P9 是纯结构抄写、可整段脚本化」只对 5 个学科成立——学科索引表共 7 种表头形状,其中 4 种的列(证据等级 / 位置+错误类型 / 目标+自检 / 禁忌)是内容不是格式,证据表又分 3 个批次块、定位列是手写核读记录。因此本轮没有实现那个脚本(把一个只对一半的假设写成工具,比不写更贵)。人类计时仍未测:代理计时把「读完 283 行原文」记成 17 秒,这对人不成立。
  • 门槛单位已由作者定下(第二个提交):「5 分钟」= 双语一条(中文正文 + 英文译本 + 两份登记),不是单语言一条。于是这条未决项从「没法比」变成有量化缺口,但缺口只测到上界:双语一条墙钟 13 分 16 秒 = 至多 2.6 倍(第一次试测约 12 分钟 ≈ 2.4 倍),未达标。P7→P9 的 547 秒含一次会话中断(完成时刻为补记、P8/P9 共用同一时间戳),所以纯工作量的倍数尚未测出;记录里已把下一步定为「证据行中/英 · 英文正文 · 索引与计数」四个打点。更硬的一层:门槛 300 秒里,只写完中文正文就用掉 249 秒(这段没有中断),留给「英文正文 + 两份登记 + 索引」的只剩 51 秒,而这一段墙钟 547 秒(至多 10.7 倍)。所以记录里写明这是结构三选一(改英文页生成方式 / 门槛退回单语言 / 承认双语一条 > 5 分钟并改推算),本轮不替作者选。
  • 未决 2 · 三个高等级状态全 0:新增 R-SCHEMA-19,让「改一个字段就拿到 已确证 / 争议 / 已推翻」变成校验失败(三条守卫各配注入样本)。实测:全库 攻击 边 4 条,被攻击条目已全部满足「≥2 论证」——差的不是代码,是攻击没有对手(已确证 另外需要一名非作者复核,AI 不能充当)。
  • 未决 3 · 学科之外的前置(Issue 前置在学科之外时,先修 表达不了 #17):真实例子从 1 例攒到 7 例(「几何的角」×4 · 「矢量」×2 · 「角速度方向」×1),「进阶」另有 3 处实例,正文里已自发长出 后续 惯例——「等 3–5 例再动结构」的触发条件已过。推荐选项 1(可选字段 外部先修,只机检「是否声明过」与「同名反复出现 ≥2 次 ⇒ 提示建节点」)。schema 本轮未动:这里交出的是那次评审的输入,不是评审结果。
  • 未决 4 · 支持边独立性 / 覆盖度:两句都拆成「能算的一半」与「要人判的一半」。R-GRAPH-06 实测 教材内建分组教学变体#a3 = 42 条支持边 · 21 份证据 · 1 个来源标识(OpenStax《Physics》×21);R-GRAPH-07 实测 15 个学习成果全部「有」覆盖、其中 11 个(73%)只讲一次,深度维度全部 全文。跨来源是否真独立仍归 M-03(人判)。
  • 一次假干净 + 它的回归样本:R-GRAPH-07 第一版按列位解析编排表,把读不懂的表格报成「没有冗余问题」。新增 sample_graph07b 专盯这个输入形状(把「覆盖」列挤出末列 + 注入只被一个环节覆盖的 o9),并用「把实现退回第一版」实测其分辨力:报出单环节覆盖的路径从 4/4 掉到 2/4。sample_graph07 自身也按同一理由改成扫全部单元格,否则它会对换列序的表格静默 SKIP。
  • 附带新条目 HTTP 451 因法律要求拒绝访问且不暗示资源存在与否(中英双份,knowledge/computing/claims/),其中依据表曾凭记忆写下一个「看着比真标题更像原文」的 RFC 7725 标题;抓住它的正是登记那一步,订正行两份变更记录都留着。

Test plan

  • python tools/kbcheck.py → 结果:全部通过(674 个对象 / 1444 份文档;5 条提示级 = 4× R-GRAPH-07 + 1× R-GRAPH-06)
  • python tools/kbcheck.py --write-index 已重生成 index.json / citations.json / evidence.json 与各文档生成块,并与内容同提交
  • docs/RULES.md 机械规则 42 条全部带注入样本(新增 3 条规则的 ✅ 已落到生成表)
  • 本轮改动过的两条 R-GRAPH-07 样本单独跑通,并在退回旧实现的副本上确认其 FAIL
  • 46 条全量注入自测已在 CI 跑通:46/46 个样本成功触发(覆盖 42 条规则);同一条流水线里 kbcheck 报 结果:全部通过(1444 份文档 / 674 个对象)
  • 合并前还需作者定的:Issue 前置在学科之外时,先修 表达不了 #17 选项 1(外部先修)是否批准动 schema;以及门槛定下之后,英文页要不要改成「脚本出结构骨架、人只核论证与定位」(记录里的三选一之一,按现有证据是唯一同时保住双语承重与成本方向的路,但需要它自己的分段实测才能立项)

明确没做

  • 没动 schema,没改任何 edges 关系定义;没给勘误条目改贴学科标签。
  • 没实现「登记/索引行脚本化」——前提被本轮自己核伪,范围缩小后另议。
  • 没提交人类录入计时;没伪造 争议 / 已推翻 状态来消除那个 0。
  • 门槛单位定下之后,没有为了让数字好看而把中文正文的 4 分 9 秒说成「达标」——按墙钟它只是双语成本的前 31%;也没有把含一次中断的墙钟说成测准的工作量:13 分 16 秒与 547 秒都按上界写。

README 里那四条未决长期只有判断、没有数据。本轮把能算的部分真的算出来,
算不了的部分写清楚卡在哪个环节,而不是一句「待完善」带过。

- 未决 1(录入成本,决定项目生死):第二条分段实测(HTTP 451 / ev-153)。
  选题 → 中文正文写完 **4 分 9 秒**,骨架 **319 ms**,全量校验 **2.2 秒**;
  破预算的是双语平行结构与登记,不是读写本身。同时**核掉本库自己的假设**:
  「P7→P9 是纯结构抄写、可整段脚本化」只对 5 个学科成立——学科索引表共 **7 种表头形状**,
  其中 4 种的列(证据等级 / 位置+错误类型 / 目标+自检 / 禁忌)**是内容不是格式**;
  证据表分 3 个批次块,`定位`列是手写核读记录。故本轮**未实现**该脚本。
  代理计时不等于人类计时:**人类计时仍未测**。
- 未决 2(`已确证`/`争议`/`已推翻` 全 0):补 `R-SCHEMA-19`,把「改一个字段就拿到高状态」
  变成校验失败,并给出三个 0 各自的成因(缺的是复核者与守方,不是代码)。
  实测:全库 `攻击` 边 4 条,被攻击条目**已全部满足**「≥2 论证」——差的只是攻击没有对手。
- 未决 3(学科之外的前置,Issue #17):真实例子从 1 例攒到 **7 例**(角 ×4、矢量 ×2、
  角速度方向 ×1),「进阶」另有 3 处,正文里已自发长出 `后续` 惯例——**触发条件已过**。
  推荐选项 1(`外部先修`,只机检「是否声明过」与「同名反复出现」)。
  **schema 本轮未动**:交出的是那次评审的输入,不是评审结果。
- 未决 4(支持边独立性 / 覆盖度只算「有没有」):两句都拆成能算的一半与要人判的一半。
  `R-GRAPH-06` 实测 `教材内建分组教学变体#a3`=**42 条支持边 · 21 份证据 · 1 个来源标识**;
  `R-GRAPH-07` 实测 15 个学习成果全部「有」覆盖、其中 **11 个(73%)只讲一次**。
  跨来源是否真独立仍归 `M-03`。

一次**假干净**的教训连同它的回归样本一起入库:`R-GRAPH-07` 第一版按列位解析编排表,
把读不懂的表格报成「没有冗余问题」。新增 `sample_graph07b` 专盯这个输入形状,并用
「把实现退回第一版」实测其分辨力:报出单环节覆盖的路径 **从 4/4 掉到 2/4**。
`sample_graph07` 自身也按同样的理由改成扫全部单元格(否则它会对换列序的表格静默 SKIP)。

附带:新条目 [HTTP 451 因法律要求拒绝访问且不暗示资源存在与否](中英双份)。
其依据表里曾凭记忆写下一个**看着比真标题更像原文**的 RFC 7725 标题,
订正它的正是「慢的那一步」——证据登记要求写下下载文件头部与哈希。变更记录两份都留了订正行。

验证:`python tools/kbcheck.py` **全部通过**(674 个对象 / 1444 份文档,5 条提示级);
机械规则 42 条全部带注入样本;改动过的两条 R-GRAPH-07 样本单独验过,
46 条全量自测在本 PR 期间继续跑,结果会在 PR 上补记。
@hpleapfrog

Copy link
Copy Markdown
Owner Author

补记(提交信息里承诺过的那一条):46 条全量注入自测已由 CI 跑完。

扫描 1444 个文档,识别知识对象 674 条,事件 2 条
结果:全部通过
46/46 个样本成功触发(覆盖 42 条规则)

两条流水线的作业都绿:运行 kbcheck 与 规则自测(注入失败样本)。
本地并行跑的那条重复长跑在中途 5/46 时中止(同一脚本、同一棵树,CI 的版本覆盖 PR 合并基),
没有用它做结论,只是不再需要。

新增的 sample_graph07b 的分辨力另外单独验过,方式不是「跑通就算」:
把 tools/kbcheck.py 的成果编号取值退回第一版(只扫 cells[-1])后跑同一个样本——

实现 样本 报出单环节覆盖的路径
现行(扫全部单元格) PASS 4 / 4
退回列位解析 FAIL 2 / 4

也就是说这条样本真的在盯那个 bug,而不是在盯规则 ID。

单位是上一轮 PR 正文里留给作者的两项决定之一,现已定:**双语一条**
(中文正文 + 英文译本 + 两份登记)。README 第 1 条未决、`templates/README` 的标题、
分段实测记录与决策索引,全部按这个口径改写;本库不再并列两个口径。

改完之后要说的是坏消息,而且要说准:

- 双语一条实测 **13 分 16 秒** = 门槛的 **2.6 倍**;第一次试测约 12 分钟 = **2.4 倍**。
- **「中文正文 4 分 9 秒」不再是「达标」**——它只是双语成本的**前 31%**;
  按新单位,门槛 300 秒里**留给「英文正文 + 两份登记 + 索引」的只剩 51 秒**,
  而这一段实测 **547 秒**,是它的 **10.7 倍**。
- 因此这不是「再压一压」的量级问题。上一轮已经核掉「P7→P9 是纯抄写可整段脚本化」
  (索引表 7 种形状、4 种的列是内容),**把可脚本化部分全做到零也省不掉英文页重写**——
  而英文页在本库是第二个可核对入口,不是包装纸。
- 记录里因此写明**三选一**(改英文页生成方式 / 门槛退回单语言口径 / 承认双语一条 > 5 分钟并据此改推算),
  **本轮不替作者选**。

未决项 1 的状态:从「未测、无法判定」**推进为「已判定为未达标,且缺口可分解」**——
这是这条生死门槛第一次拿到能拿来算账的数字。新增下一步:按新口径重跑 ≥3 条分段实测;
人类计时那一半仍未测。

验证:`kbcheck --write-index` + `kbcheck` → **结果:全部通过**(674 对象 / 1444 文档,5 条提示级不变)。
顺带修一处英文页指向中文模板 README 的链接(`templates/README.en.md`)。
P7 完成时刻为补记、P8/P9 共用同一时间戳,中断占掉多少没有单独计时。
所以「2.6 倍 / 要省 8 分 16 秒」只能写成上界,README、模板与决策索引同步改口径;
下一步新增「证据行中/英 · 英文正文 · 索引与计数」四个打点,拆开后才谈平均值。
@hpleapfrog
hpleapfrog merged commit b422a9f into main Oct 21, 2026
1 check passed
@hpleapfrog
hpleapfrog deleted the feat/open-questions-mechanized branch October 21, 2026 00:48
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