Skip to content

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

@justDance-everybody

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions