# 任务产出与数据交付


**Submission** 保留贡献者提交的内容；**Accept** 形成验收结果；交付处理整理并写入可供后续使用的数据。已提交、已接受、已交付、已获授权和已实际获取是不同状态。

只看某次工作内容，从 **Campaign → Reviews → Review** 开始。安排字段和工作流保存时使用 Builder；程序取数使用[已授权 API](/versions/2026-10-08/api/api-data)。

## 决定交付字段

**ETL** 声明原字段如何映射为输出字段，不改写原始提交。例如，将表单的 `answer` 映射到程序需要的 `category`，只是字段关系示意，不是真实响应样本。

映射时明确输出名、来源、多个来源的取值方式、值转换和缺失处理。必需字段缺值且没有默认值时，该记录不能按映射交付。

配置映射后，默认只交付映射列出的字段；没有映射时，原提交字段保持原样交付。不同分支应分别核对。

## Sink 与 API

Accept 的接受分支可直接连接 **Sink**，或先经 ETL 再连接 Sink。Sink 保存工作流记录，其 JSON / CSV 选项不等于已经生成下载文件。

API 交付采用相应 ETL 映射。Campaign 来源的提交需要被接受并完成奖励授予，才进入可读取范围；能否返回仍取决于实际交付、订阅和筛选。

因此，Sink 保存成功不能证明订阅已有可读数据；没有 Sink 也不能单独解释 API 为空。

## 链上记录与实际文件

链上锚定保存标识、摘要和文件引用；原始文件和元数据通常由链外存储承载。**哈希用于核对内容，URI 用于定位内容。**

查到链上记录，不等于已经取得原始文件或使用授权，也不能据此推断所有内容已加密或永久保存。需要查看来源与对应关系，继续[溯源说明](/versions/2026-10-08/data/lineage)。

