# golden task set — tvu-ds

> spec §7.5（冻结 + 季度版本桥接）· §14 第二轮第 10 步。
> ⚠️ **别照 §14 抄「补 10–15 条」** —— 那句话的两个前提实测都不成立，见勘误 **E25 / E26**
> 与 [`reports/2026-08-25-round2-step10-golden-set.md`](../../reports/2026-08-25-round2-step10-golden-set.md)。

## 当前冻结版本

| 版本 | 条数 | 冻结于 | 主键 |
|---|---:|---|---|
| **v1** | **3** | 2026-08-25 | `(4a68e02d, <见 run.json>, pt-v1)` |

校验（**每次用之前跑，⛔ 不是一次性动作**）：

```bash
node metrics/golden-set-freeze.mjs --pin ~/.ai-ds-lab/pins/tvu-ds-4a68e02d
```

任一项不过 → exit 1。重新冻结用 `--freeze`（⚠️ 那是「改冻结物」，不是「校验」）。

## 为什么是 3 条，不是 §14 写的 10–15 条

条数不是审美选择，是**被 6′ 的成本倒推出来的**，且取的是**悲观口径下仍跑得起**的数：

| 口径 | 单次注入 token | × 3 条 × N=5 | × 15 条 × N=5 |
|---|---:|---:|---:|
| **上界**（声明规则文档集口径，14 份） | 254,846 | **3.82 M** | 19.11 M |
| **下界**（入口文件口径，`CLAUDE.md` + `AGENTS.md`） | 25,142 | 0.38 M | 1.88 M |

两个口径差 **10.1 倍**，而真值要等第一次 run 的 `contextManifest`（§5.1）才知道。
⇒ **在真值未知时按上界选条数**（fail closed）：3 条在上界下 3.82 M 可承受，15 条 19.11 M 不可。
⇒ 6′ 跑完拿到真实注入量后，v2 的条数**按实测倒推重定**，判据写在下方。

另有一条独立佐证：DS 自己 2026-07-24 的 P0 计划 §P2 给批量重测定的规模就是
**「2-3 个任务（列表台 / 表单流 / 数据可视化）× 每环境 n≥5」** —— 与本 set 的 3 条三 archetype 同构。

## 候选池（§7.5「新需求进入候选池」）

真实需求语料 = `docs/internal/_metrics/phase0-ledger.md`，**56 条**（**ledger 日期行口径** —— 以 `| YYYY-MM-DD |` 起头的数据行）。
append-only 台账，含日期 / 产品 / 类型 / 任务简述 / Element 数 / 覆盖列 / 备注。

> ⛔ **不要机器按列取数。** 实测该文件对列切分不可靠，三处独立证据：
> ① L69 单元格内嵌竖线 ⇒ 朴素 `split('|')` 错列；
> ② 文档内**两张表**都有 `日期` 表头（L17 列说明表 2 列 / L43 数据表 9 列）⇒ 自动定位表头会抓错；
> ③ 数据行列数本身不齐（L45–118 为 9 列，L120–126 为 10 列）。
> ⇒ golden task 的出处**人工选 + 由 `golden-set-freeze.mjs` 机械校验引文可定位**，不是机器抽取。

⚠️ **候选池的形态边界**：ledger 56 条**全部**是 Figma mockup（类型列无一条 `code`），
而 golden task 的产出形态是 **HTML**。这是一次**形态转写**，沿用 DS 自己 3-way 实验的先例
（那次也是 HTML + Playwright 渲染）。⇒ **别把 golden set 读成「团队真实工作流的复刻」。**

## v2 升级判据（§7.5「每季度一次 set 升级」）

§7.5 只写了一个升级触发条件（需求变了）。实测还缺三个，一并登记：

| 触发 | 来源 | 动作 |
|---|---|---|
| 到季度 | §7.5 原文 | 常规升级 |
| **6′ 跑出真实 `contextManifest`** | 本轮新增 | 按实测注入量重定条数（上表两个口径收敛后） |
| **re-pin 后 citation 定位不到** | 本轮新增 | 出处被删/被搬 ⇒ 必须换出处或换 task。⚠️ GT-002 的出处**已在 `archive-triage` 桶三待删清单上** |
| **grader 形态换代** | N28 | 判据脚本改了发射形态 ⇒ 绑定失效，重取 |

升级当轮**新旧 set 各跑一遍做桥接**（§7.5），否则历史 baseline 全废。
