> ## Documentation Index
> Fetch the complete documentation index at: https://niceeval.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Record：已发布结果

> 理解 Record 如何保存已发布的 Run，以及如何安全地选择、查看和分享结果。

Record 是 NiceEval 的已发布结果集。你可以整体复制它、放进 Git，或交给 `show`、`view`、`clean` 与 `migrate`；应用代码不需要也不能解析其中的实现细节。

一个 Run 发布后不会修改。重新运行、自动沿用或人工采用都会形成新的 Run，因此历史结果仍可被明确查看和比较。

## Record 保存什么

Record 保存每次运行的范围、每个预期位置是否有结果，以及结果实际来自哪个 Attempt。它还保存 NiceEval 收集的断言、诊断、事件、用量、文件变化和来源信息，以便之后在同一份历史结果上查看。

这些事实由 NiceEval 写入并验证。应用、Adapter 和 Plugin 没有通用接口去添加任意持久数据、注册自定义数据族或改写历史结果。需要新的长期能力时，应使用已有的 NiceEval API，或让 NiceEval 提供相应支持。

## 从选择到报告

查看或生成报告时，数据沿一条固定链路前进：

```text theme={null}
Record + CLI 选择条件
        ↓
Sample：已选范围与分母
        ↓
Analysis：Measure + aggregate() / query()
        ↓
ClosedRows / MetricValue / DomainView
        ↓
Report
        ↓
show：一个选中的 Page；view / static export：完整站点
```

不带 locator 或 `--run` 的命令选择仍匹配当前项目的结果；使用 locator 或 `--run` 可以查看明确的历史结果。`Sample` 保留完整分母，并标出 `included`、`not-recorded`、`core-invalid` 与 `excluded`，但它不会把底层结果读取能力交给页面。

Analysis 只在某个 Measure 或领域视图实际需要时取得相应事实，并将结果关闭为可显示的值。Report 可以呈现这些值，却不能更改历史结果、扩大选择范围或再次读取原始数据。

## 版本与维护

NiceEval 负责识别已支持的结果格式。需要迁移时运行 `niceeval migrate`；无法安全解释的历史数据会在依赖它的查看内容中明确显示问题，而不是被猜成空值或零值。

写入没有完成的结果不会进入查看范围。可以运行 `niceeval clean` 清理这类未完成的残留，再重新运行受影响的评估。

## 下一步

* [查看结果](/docs/zh/tutorials/viewing-results)：选择 Sample，并查看 `show` 与 `view` 的结果。
* [结果数据 API](/docs/zh/reference/results-data)：在 Report 中使用 Measure 和闭合结果。
* [报告 API](/docs/zh/reference/report-components)：定义 Page、组件与 Report。
* [发布静态报告](/docs/zh/tutorials/publish-report)：分享一份已关闭的完整报告站。
