# 提号长期优化补证操作顺序

本文档用于把 `docs/tihao-experience-optimization-plan.md` 里的长期优化目标，拆成商务、投放、技术和下一轮 AI 可以直接执行的补证顺序。当前结论仍是：本地能力和验收入口已较完整，但客户效果、真实视频提升和真实 live 长跑还不能宣称完成。

## 总原则

- 不要把 sample、smoke、dry-run、模板数据、provider fallback 或接口 200 当成业务证明。
- 不要在 CSV、Markdown、JSON、日志、截图或聊天里写入 sessionToken、模型 token、Authorization、npm token 或内部鉴权参数。
- 每一轮先做真实材料预审，再启动长跑；预审不通过时，不允许扩大运行规模。
- 客户效果只能由 `customer-effect:audit` 证明；缺客户选择、历史人工补号量基线或本轮人工补号量时，只能标记为待补证。

## 操作顺序

以下 15 步必须按顺序推进；前置材料未通过时，不进入后续长跑或效果宣称。

| 顺序 | 负责人 | 目标 | 输入材料 | 执行命令 | 通过标准 | 不通过处理 |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | 商务 | 生成统一收集包 | 无 | `npm run data:intake-template -- --output outputs\data-intake-pack-latest` | 生成历史数据模板、商务复核模板和填写说明。 | 先不要手写零散表格，统一用模板收集。 |
| 2 | 投放/商务 | 生成视频资源收集包 | 无 | `npm run video:intake-template -- --output outputs\video-intake-pack-latest` | 生成参考视频和候选视频资源模板。 | 没有真实视频 URL 时，视频分析只能标记待补证。 |
| 3 | 商务 | 填真实历史 Brief | 5-10 个真实 Brief、人工名单、客户选择、拒绝原因、历史人工补号量基线 | 无 | 每个 Brief 都有客户原始需求、人工最终名单、客户选中/拒绝、拒绝原因和历史人工补号量基线。 | 缺客户选择或人工补号基线时，只能做流程验证。 |
| 4 | 商务/投放 | 填真实视频资源 | 参考视频 URL、候选视频 URL、封面、ASR、帧图或正文证据之一 | 无 | 至少一个真实参考视频和一个真实候选视频可用于 A/B。 | 只填主页链接或示例 URL 时，视频 A/B 不启动。 |
| 5 | 技术/AI | 真实材料预审 | `outputs\data-intake-pack-latest`、`outputs\video-intake-pack-latest` | `npm run intake:readiness -- --data-pack outputs\data-intake-pack-latest --video-pack outputs\video-intake-pack-latest --output outputs\intake-readiness-latest` | `overallReady=true` 且 `failureCount=0`。 | 按报告逐项退回补字段；不能进入 full-matrix 长跑。 |
| 6 | 技术/AI | 历史数据导入 | 已填历史数据 CSV | `npm run history:from-csv -- --input <历史数据CSV> --output <history-dataset目录>` | 输出历史数据集 JSON。 | 修正 CSV 表头、空值、示例占位和重复 brief。 |
| 7 | 技术/AI | 历史数据审计 | 历史数据集目录 | `npm run history:audit -- --input <history-dataset目录> --output <历史审计输出目录> --strict` | `readyForCustomerEffectProof=true`。 | 缺字段时回到第 3 步补真实数据。 |
| 8 | 技术/AI | 视频资源就绪审计 | 已填视频资源 CSV | `npm run video:resource-readiness -- --input <video-resource-template.csv> --output <视频资源审计输出目录> --strict` | `readyForVideoAbPreflight=true` 且 `failureCount=0`。 | 缺 URL、封面、ASR、帧图或正文证据时回到第 4 步。 |
| 9 | 技术/AI | 长跑前门禁 | intake readiness、proof-gap request、历史审计、视频资源审计 | `npm run longrun:readiness -- --mode full-matrix --intake-readiness outputs\intake-readiness-latest\intake-readiness-summary.json --proof-gap outputs\proof-gap-request-latest\proof-gap-request-summary.json --output outputs\long-run-readiness-latest` | `ready=true` 且 fail 数为 0。 | 不要启动 overnight；先关闭 readiness 失败项。 |
| 10 | 技术/AI | 运行策略矩阵 | 真实历史数据、有效 provider 配置、真实 token 运行环境 | `npm run optimization:pipeline -- --history-csv <历史数据CSV> --review-csv <已标注CSV> --current-manual-supplement-count <本轮人工补号量> --output <输出目录> --strict` | 每个 Brief 至少一个策略通过，软件端重复键为 0，排名连续。 | 只优化一个主要失败原因后重跑，避免同时改多处无法归因。 |
| 11 | 技术/AI | 视频 A/B 验收 | 真实 sessionToken/company/provider、真实参考视频和候选视频 | `npm run acceptance:video-ab` | video-enhanced 强推荐数、Top10 综合分、参考风格分不低于 baseline，证据命中候选增加，泄密为 0。 | 不能说视频分析提升命中率；回到视频资源或 provider 配置排查。 |
| 12 | 商务 | 人工复核标注 | AI 输出的软件端 CSV、商务复核模板 | 无 | 负样本必须有归因类型；客户选择和拒绝原因必须填写。 | 负样本归因不满 100% 时，不能升级团队规则。 |
| 13 | 技术/AI | 商务复核指标 | 已标注 CSV | `npm run review:metrics -- --input <已标注CSV> --output <复核指标输出目录> --strict` | 负样本率低于 10%，负样本归因覆盖率为 100%，分策略指标齐全。 | 按失败归因选择下一轮唯一优化主题。 |
| 14 | 技术/AI | 客户效果审计 | 已标注 CSV、历史审计 JSON、本轮人工补号量 | `npm run customer-effect:audit -- --review-csv <已标注CSV> --history-audit <historical-dataset-audit.json> --current-manual-supplement-count <本轮人工补号量> --output <客户效果输出目录> --strict` | 客户选中率、参考链路客户选中率、历史人工补号基线、本轮人工补号量和人工补号减少率全部通过。 | 客户效果不可宣称，继续标记 `blocked_by_external_data`。 |
| 15 | 技术/AI | 刷新证据和交接 | 本轮全部输出 | 优先运行 `npm run round:refresh -- --output-root outputs --strict`；如需单独排查，再分别运行 `npm run proof-gap:closure -- --output outputs\proof-gap-closure-latest`、`npm run evidence:index -- --output outputs\evidence-index-latest`、`npm run handoff:summary -- --output outputs\optimization-handoff-latest`、`npm run latest-form:index -- --output outputs\latest-form-index-latest --strict`、`npm run round:deposition -- --output outputs\round-deposition-latest --strict` | `round-refresh-summary.json` 10 步全部通过，`latest-form-index` 能指向最新补证表单、候选名单和负责人行动文件，`round:deposition` 通过，且仍未证明边界被明确记录。 | 缺沉淀或任一刷新步骤失败时，不允许口头宣布本轮完成。 |

## 长跑允许启动条件

满足以下条件后，才允许跑一晚上级别的 full-matrix 或 live 长跑：

- `intake-readiness-summary.json` 中 `overallReady=true`。
- `intake-readiness-summary.json` 中 `failureCount=0`。
- `history:audit --strict` 通过，并能支撑客户效果证明。
- `video:resource-readiness --strict` 通过；如果本轮不测视频，必须在报告里明确视频不参与本轮验收。
- `longrun:readiness` 显示 `ready=true`。
- 当前输出不含 token、Authorization、sessionToken、npm token 或模型 key。

## 长期完成判定

只有同时满足以下条件，才可以把长期优化目标标记为完成：

- `optimization:status` 中没有 `ready_not_proven` 和 `blocked_by_external_data`。
- `proof-gap:closure` 中 `openCount=0` 且 `complete=true`。
- `customer-effect:audit --strict` 通过。
- 软件端表格表头固定、中文不乱码、重复键为 0、每个 brief 排名连续。
- 视频提升若被纳入结论，必须有真实视频 A/B 通过证据。
- 每轮实施日志、证据台账、交接摘要和沉淀审计全部刷新。
