# 写入任务输入 输入为 UTF-8 JSON 文件。文件只放业务数据,不放凭据、员工会话或主密钥。命令不接收任意云函数名,也不接收可注入的 client、callFn、confirmationEvent 或离线跳过确认的选项。 ## 已有采集结果入库:ingest 根字段为 `requestKey`、`source`、`runKey`、`run`、`records`、`producer`。调用模块为培训包 `client/collection-bridge.mjs` 的 `ingestCollectedRecords`。 - `requestKey` 和 `runKey`:沿用同一实际采集或导入批次的稳定键;不得为重试任意换键。 - `source`:`title`、`sourceKind`、`dataMode`、`rawText` 必填。`rawText` 是取得的完整原文,来源指纹由程序重算。 - `run`:必须明确提供 `dataMode`、`status`;另按已取得的实际采集事实提供平台、工具、采集时间与追踪号。不从 `collectionMode` 猜 `dataMode`。 - `records`:每批 1–200 条;每条含 `itemKey`、`className`、`externalKey`、`data`。`data.dataMode` 必填。来源和执行的 Pointer 由程序取得真实编号后补入。 - `producer`:提供实际 `skillName`、`skillVersion`。 逐表字段、原始记录指纹、噪声范围参考冻结 r7 的: ```text /opt/data/ksf-baseline/r7/unpacked/skill/references/raw-table-field-allowlists.json /opt/data/ksf-baseline/r7/unpacked/skill/vendor/shared-fingerprints.mjs ``` 保留 `rawPayload`、`payloadHash`、`payloadLevel: voc_normalized`、`collectedAt`、`recordIndex` 和真实的 `idOrigin`。缺失的点赞数不填 0,没有原平台 ID 就标缺失,不编造 ID。`payloadHash` 与噪声内容指纹用途不同。噪声判定不能混在通用入库数据里。 流程是来源登记 → 执行登记 → 同一份 items 预检 → 提交 → 取完回执并逐条核对。预检失败之前,来源和执行记录可能已经登记;不能笼统说“数据库零写入”。结果只输出经过核对的业务编号、计数和条目状态,不输出原文与凭据。 采集入库前先按references/workshop-tasks.md的workshop-dedup只读查重,并确认服务合同deduplication.schema=ksf.ingest-dedup.v1;随后ingest仍走既有冻结入口。来源登记和实际提交由新版服务端再次精确查重,因此不能仅凭不同requestKey/externalKey判为新资料。复用真实编号,变化的数据保留新快照/版本;重复采集仍有审计日志,不承诺数据库完全不增长。 ## 报告:report-preview / report-submit JSON 根字段只接受: ```json { "reportDir": "/绝对路径/报告目录", "seriesKey": "沿用实际报告系列键", "version": 1, "reportType": "integrated_banmian_rd_report", "dataMode": "sample", "stageCode": "S5" } ``` `reportDir` 中必须存在 `report.html`。所有码值先在本地校验;`workshop_auxiliary` 另需 `artifactSubtype`。`stageCode` 的 S1–S5 是当前客户端约束,不声称服务端实施相同枚举。 `report-preview` 只建立预览,返回 `previewId` 与确认页 `confirmationUrl`,不代表确认、入库或发布成功。 `report-submit` 需要在同一 JSON 中加入服务端返回的 `previewId`。版本与文件内容必须和预览时相同;确认人和事件从服务端读取。程序不接收用户自行拼的确认事件,也不代替员工点击。 本轮培训样例固定 `sample`,只能展示或按明确要求建立预览;这个入口会在联网前阻止它执行 `report-submit`。其他数据模式按真实取得方式填写;不得为了发布修改模式。 提交调用新版桥接层,桥接层复用冻结 r7 的报告流程。确认、上传、预检或回执任一失败即停。当前命令不提供“跳过确认”“沿用任意回执发布”或自动重试接口。失败时输出已经得到的 jobId、artifactId 和停在哪一步,先查状态再决定后续操作。