Skip to main content

Module bench

Module bench 

Source
Expand description

评测基准自动层(U10,对齐 RepoDocBench 协议的可落地子集)

code-repo-wiki bench 对目标仓库跑五维自动评测,输出 Markdown/JSON 报告:

  1. Coverage 实体提及率:AST 提取实体清单(复用 ingest 解析), 统计每个实体在 Wiki 产物中的被提及数 → 提及/总数(RepoDoc 定义: 文档覆盖 public API 的比例)。
  2. Doc Info 文本统计:页面数 / 词数 / 交叉引用数 / 代码块数 / Mermaid 图数(全部确定性统计,不调用 LLM)。
  3. lint 健康:复用 lint 6 类检查(孤儿页/断链/过时/bad-citation/ entity-coverage/bad-mermaid),问题数即质量分。
  4. Update Recall 增量召回:git commit 回放(最多 20 个),逐个 checkout 后跑增量更新,统计“有源码变更的 commit 中成功触发 重生成的占比“——增量链路正确性的可复现指标(对齐 RepoDoc 的 Update Recall:正确更新的组件 / 需更新的组件)。
  5. Time 耗时:扫描/增量生成各阶段耗时(LLM 侧用 mock provider, 耗时反映流水线确定性开销,与模型无关)。

LLM 裁判层(TQS 打分)在 U11,需真实 API key,独立子命令。

第二档评测(v21 E 组):bench-manifest 多仓库清单批量跑分见 manifest 子模块(仓库×维度矩阵,mock 可跑)。

Modules§

manifest
第二档评测:多仓库清单跑分框架(v21 E 组,t10)

Structs§

BenchReport
评测报告(Markdown 与 JSON 的公共数据源,JSON 由 serde 直出)
CompletenessReport
维度 3(v32 6.3 FR-104):Completeness@K 文档可检索性
CoverageReport
维度 1:实体覆盖率
DocInfoReport
维度 2:文本统计(+ v32 6.2:LLM 信息性判定并存)
LintReport
维度 3:lint 健康
RubricReport
维度 7:Rubric 层级完整性打分(v14 C 组,CodeWikiBench 协议,–judge 启用时)
TimeReport
维度 5:耗时
TqsReport
RepoDocBench 协议:对同一模块的旧文档(导出快照)与当前产物, 裁判按五维 0-10 打分(Clarity/Readability/Conciseness/Richness/ Structure),交换文档顺序两轮取平均消除位置偏差(position bias)。 裁判模型与温度由 config.llm 决定(默认配置 mock/未配置 key 时 本维度被跳过,report.tqs = None)。
UpdateRecallReport
维度 4:增量召回

Functions§

render_markdown
渲染 Markdown 报告(人类可读,CI/人工复跑对比用)
render_repodoc
v32(6.4 FR-101):RepoDocBench 对齐五维聚合摘要。
run_bench
运行自动层评测,返回报告
run_rubrics_only
运行纯裁判层评测(–rubrics-only):只执行快维度(Coverage/Doc Info/lint) 与 LLM 裁判维度(TQS/Rubric),跳过 Update Recall 的 git commit 回放