Skip to content

[提案] 展示层忠实化:EvidenceLedger 证据契约 + 确定性提交门禁(收敛 #21 / #22 的统一优先级) #23

Description

@justDance-everybody

TL;DR(不同角色 30 秒读懂)

DeepGraph 的计算层是可靠的(真执行 + 诚实统计,连不显著的负结果也如实给出 verdict)。当前短板在展示/写作层:它会引入证据不支持的内容,把本来可信的结果"毁容"。本提案把展示层降级为忠实播报员——只渲染已验证证据,并补上确定性提交门禁。

1. 背景

本 issue 建立在两个既有讨论之上,并提出收敛后的新优先级:

一句话定位:#21 说了"门没闭环",#22 说了"计算/展示要分离、改动要稳"。本 issue 把两者合到一个根因上——展示层越权做了计算层的判断——并给出统一的修复顺序。

2. 现状观察(客观、工程化)

当前渲染产出中可观察到以下模式(均为展示层问题,与计算层无关):

# 现象 典型表现
a 未解析引用 正文/参考出现 ?Table ??Figure ?? 等未渲染占位
b 生图脚手架泄漏 caption / 正文混入生成指令或内部 plumbing 文本
c 跨 run 身份串台 标题、front-matter、图注与本稿锁定主题不符(混入其它 run 的方法名/概念)
d 模板 boilerplate 重复 同一句在 Related Work 等处复读多次
e 显著性子串判定 paper_completeness.py:591"p=" in p_text 判显著——p = 1.0(完全不显著)因含 p= 子串即被判为"有显著性"

3. 根因

以上都指向同一件事:展示层在做本应属于计算层的判断(例如"是否显著"应读 result_interpreter 已算出的 verdict,而不是在渲染阶段靠子串/模板拼)。缺的是一条**"计算 → 展示"的强制契约**:展示层只能渲染已验证证据,不能新增、改写或自行判定。

4. 提议

  1. EvidenceLedger 作单一事实源:计算层写入已验证字段(p / CI / verdict / 可回溯数字);展示层只能引用 ledger 里的字段,任何数字可回溯;result_interpreter 的 verdict(refuted / supported)强制约束 abstract / conclusion 的措辞(采纳 下一个改进方向的建议:严格产出完整性 —— 可验证性准入 + 结果绑定 + 提交硬校验 #21 建议 2)。
  2. 修 line 591:子串判定 → 数值 p < α,并与 verdict 绑定。
  3. require_submission_ready() 变真 block,补四个确定性硬检查(采纳 下一个改进方向的建议:严格产出完整性 —— 可验证性准入 + 结果绑定 + 提交硬校验 #21 建议 3),任一命中即 fail 禁止出稿:未解析引用 / 脚手架泄漏 / 跨 run 串台 / 模板复读。

5. 建议的新优先级顺序(供大家讨论)

6. 工程姿态

7. Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions