runIds 也是稳定的读取边界。人在终端用 niceeval show,在浏览器用 niceeval view。AI、脚本和 CI 用 niceeval query 读取 JSON。
先在终端查看 Overview
show 输出当前 PublicationCutoff 的 Overview。它按 Experiment、评估用例和 Attempt 展开汇总,并保留通过率、分数、coverage、缺失项和 issues。先从这里找出需要继续查看的 Experiment、Run 或 Attempt locator。
Overview 来自项目唯一的 .niceeval/record.sqlite 中已发布的结果。即使当前源码或当前安装候选的 identity 已经改变,
show 也会保留每个逻辑 slot 的最新结果,不会把存在的历史显示为 Observed 0/0。这表示结果可查看,
不表示它已通过当前 target 的复用资格检查。
缩小到一个 Experiment 或 Run
--experiment 显示一个 Experiment 的聚合结果和各评估用例。--run 显示一个精确 Run 的成员、判定、分数、coverage 和 usage 摘要;active Run 已发布的 Attempt 会出现,尚未发布的位置显示 pending。两者都可重复传入多个精确 ID;不能与彼此或 Attempt locator 混用。
查看一个 Attempt
--source 查看捕获的 source 和 Assertion 位置。--execution 查看有界的对话、工具和命令 outline;要展开一项,请从 outline 复制稳定的 itemId、toolOccurrenceId 或 commandId:
--timing 显示活动的顺序和耗时,--usage 显示 token、请求和成本总计,--diff 显示已捕获的文件变更窗口。详情只读取 Record 已发布的事实;partial、not-recorded 或 unavailable 表示实际可用范围,不能当作零值或失败。
正确解释完成、判定与分数
先确认 Attempt 是否形成业务结果,再解释它的质量:errored:执行链中断,没有形成可评分的业务结论。failed:执行完成,但通过制评估的业务断言没有满足。passed:通过制评估满足了判定条件。仍需检查 warning、coverage 和证据限制。- Score Eval:评分过程完成后读取
Score和逐项 Assertion。Overview 中显示完成或通过,不等于取得满分。
unavailable 当作零分。需要解释一项得失时,固定同一个 Attempt locator,交叉查看 overview、--execution 与 --source。
在浏览器中审阅
--run 选择一个或多个明确 Run。它同样显示 active Run 已发布的 Attempt,以及尚未发布 slot 的 pending。
可以使用 --no-open 保持浏览器不自动打开,或使用 --port 选择 loopback port。--json 只输出 lifecycle NDJSON;它不输出运行结果。
新事实发布后,项目 View 会提示用户确认 refresh;确认后才切换到新的 PublicationCutoff。
让机器读取 JSON
query 是给 AI、脚本和 CI 使用的机器入口,只输出 niceeval.query/v1 的结构化 JSON,不提供适合人阅读的终端排版。先从 discover 返回的 catalog 取得 operation schema,再构造 request。run 向 stdout 写一个 niceeval.query/v1 document。不要解析 View 页面,也不要使用未公开的 Record 文件。
常见读取任务由固定 operation 覆盖:列出 Run、取得 Run summary、读取 Attempt detail、trace、diff、sources、artifacts 或比较两个 Run。查看 CLI 获取完整说明。
读取另一份已发布事实
show 和 query 的 --record 接受 canonical SQLite Record 的副本,并把它当 hostile input。精确 current schema、SQLite integrity 或领域 invariant 任一校验失败,命令都会拒绝整个文件。view 只读取当前项目的 .niceeval/record.sqlite。