# 分享期候选定稿 —— 窗口 2026-09-10 → 2026-10-10

> **这是候选定稿，不是成稿。** 判据真源 = [`../README.md`](../README.md)，⛔ 本文件不放判据。
>
> | 项 | 值 |
> |---|---|
> | 定稿日 | 2026-09-11 |
> | 窗口 | 2026-09-10 → 2026-10-10（定稿时**才过 1 天**，素材少是预期不是异常） |
> | 受众 | 领导 + UX 同事（混合 ⇒ 两侧判据权重的交集是**判据 3 前后对比**） |
> | 时长 | 15 分钟 |
> | 分享日 | **待定**（本文件名取的是定稿日；分享日定下来后可改名） |
> | 发布档 | 🔴 **未定 —— owner 尚未拍** |
>
> ⛔ **发布档未定期间的硬边界**：本文件是[档 A](../README.md#发布档位-这一条-2026-09-10-被读错过一次别再读错)（仓库内、不上公网）⇒ 可写真实
> issue key / node id / 仓路径。**⛔ 别把本文件或它派生的任何材料 commit 进 `playground/public/`
> 或 `playground-dist/`** —— 那一步把整层脱敏义务拉回来，且**不可逆**（公网已可索引）。
> 要发档 B，先过下方 §出稿前要做的。
>
> ⛔ **本文件不抄取数单印得出来的数**（README §素材池 逐字「能现取 ⇒ 不沉淀」）。
> 要数就跑：`pnpm report:design-share --since=2026-09-10 --until=2026-10-10 --consumer=<消费仓绝对路径>`

---

## owner 已拍的（2026-09-11）

- ✅ **主线 = 候选 1「假绿出在判据之外」**（走查回流线）
- ✅ 判据 2 的候选面**放宽到「一条真实交付」** —— 见下方 §判据 2 怎么处理的
- ✅ 排法：主线 + 第二节 + 收尾，候选 4 压成主线的举例，候选 5 只给新窗口 delta
- ✅ 判据 6b 只取 `INFRA-F146` 那条（形态与上期用掉的不同）

## ✅ 发布档已拍：**档 A · 仅本地**（2026-09-11）

owner 逐字：**本地文档 / 靠 Gitea 访问**，不上公网。
⇒ 下方 [§出稿前要做的](#出稿前要做的) 那 5 项脱敏**全部不做**，材料里可用真实单号 /
真实 node id / 真实仓路径。上方表格「发布档」一行的 🔴 未定已随之作废。

⛔ **别把这条读成「两道闸也不用过了」** —— 那是两件事，射程不同：

| 闸 | 档 A 下还适用吗 | 为什么 |
|---|---|---|
| `audit:no-hardcoded-design-tokens` | **不适用** | README §出稿前要过的闸 标题逐字写着「**档 B 专属**」 |
| pre-commit 视觉门（`VISUAL_COMMIT_APPROVED`） | **仍然适用** | 它拦的是 staged `.html`，判据与发布档无关 |

✅ **成稿 deck 已落库 —— `d07be8e9`（2026-09-11 14:30）**。签核链两步都由 owner 亲自出口：
① 他看过**去图后那一版**（此前看的是带图版）后说「看过了，OK」·
② 再逐字「授权你设这次」，AI 才代设 `VISUAL_COMMIT_APPROVED` 提交一次。
⛔ **别把这条读成「AI 可以自设了」** —— 规则（`.husky/pre-commit:145`）没变：
批的人必须是 owner，这次只是**执行**那一步经他逐字授权。
⚠️ 取证形态记一下（下期照做）：本地服务 `127.0.0.1:8900` 起一个预览页
（机检读数 + 真页面 iframe 可滚动选字 + 底部「你答什么我做什么」三分支），
给链接前自验过 index/子资源/去前缀 404 阴性对照。⛔ 没走 Claude Artifact ——
档 A 材料送外部服务与「仅本地」裁定冲突。
⚠️ **一条诚实边界**：deck 在 `docs/internal/` ⇒ **不在 `audit:no-hardcoded-design-tokens`
的 TARGETS**（`src/components` · `src/canonical` · `playground/public`）内
⇒ 那次 pre-commit 全绿**不代表** deck 用的是 token。档 A 下这一层没有机器在管。

---

## 候选清单

| # | 候选 | 命中判据 | 证据落点（可复核） | 篇幅 |
|---|---|---|---|---|
| **1 ★主线** | **绿的闸不等于检查过 —— 假绿出在判据之外**。同一轮抓到两次：`source-link-integrity` 报绿，但它报的是 `checkedUnits=0`（判据按「同一个 TEXT 内有没有溯源字样」判射程，而 PRD 的 Source 段是段标题 + 引用行的**兄弟节点** ⇒ 8 处引用整批落在分母外）；补完射程后同轮又抓到反向一例：元素已经是 cyan、看起来能点，`hyperlink` 却是 null | 1 · 3 · 4 · 6 · 6b | 复盘 [`2026-09-10-false-green-lives-outside-the-criterion.md`](../../retrospection/2026-09-10-false-green-lives-outside-the-criterion.md) §一 · 规则修补 `178f26a6`（射程放宽到直接兄弟 + 可点视觉提示由建议升强制）· `16352be8`（补反向判据「染了 cyan 却没链接 = 假可点」） | 4 分 / 2–3 页 |
| **2** | **给分享会自己做的取数工具，第一次真用就被自己拦下**。取数单先自证历史向量再出数；本期第一次跑自证红 ⇒ 整份材料的数当场判为不可用、EXIT=1、不出数。红的原因是那条向量**自身的形态问题**（它把「今天有没有人提交过代码」当成了口径的健康信号），修成两条（端到端恒真锚 + 源码自省）后全绿 | 1 · 3 · 4 · 5 · 6 | 线的起点 `dc598071` · 上闸 `cb746b0c` · 首次修裸日期 `58fcec29` · **本次修判据 `bf12df11`**（含三臂故障注入记录，写在 commit body 里） | 3–4 分 / 2 页 |
| **3** | **两个数至今印 `UNKNOWN`，不填**。上一期页面写的那两个数，今天从仓库复现不出来（候选口径各得几个值，无一相等）⇒ 印 `UNKNOWN` + 写明「不代表页面的数错了，是口径没被记下来」 | 5 · 6 · 1 | 取数单「口径未钉」整段（每个候选口径随行印出它的命令）· ⛔ 数现跑取，本文件不抄 | 1–2 分 / 1 页，贴在候选 2 后做收尾 |
| **4** | **新建的闸被仓库里既有的元闸判成「假 L5」**。`audit:share-frontmatter` 原本只挂 pre-commit，`audit:gate-ci-parity` 当场判它 L4-only 并警告「无参恒 exit 0 的闸裸接进 CI 会得到一个永远绿的 step，比 L4-only 更糟」⇒ 新增 `--range` 档 | 4 · 6 · 1 | 🔴 **落点已订正，⛔ 别引复盘转述**：因果逐字写在 [`scripts/audit-share-frontmatter.mjs`](../../../../scripts/audit-share-frontmatter.mjs) **头注释**（闸每次运行自印）+ `cb746b0c` 对 `.gitea/workflows/pr-checks.yml` 的 diff | 压成候选 1 的举例，1 分 |
| **5**（时长不够就砍） | 窗口内的量 delta（`audit:*` 与 backlog Active 两根线；两条棘轮常量窗口内无拐点） | 1 · 5 | ⛔ **数现跑取数单**，本文件不抄。⚠️ 见下方 §与往期的重合 | ≤1 分 / 半页 |

⛔ **不进材料**：「本期做了 N 件」这一类。判据 1 逐字排除罗列条数。

---

## 主线：为什么拿它举例（判据 2 要求显式写）

它是本窗口内唯一一个**完整闭环**：owner 一眼看出 PRD 卡超链接不对 → 查出闸当时是绿的 → 查出绿的含义是「没有可判对象」不是「判过了」→ 改判据 → **同一轮里立刻又抓到反向一例**。

对两类听众各有落点：

- **领导侧**：可信度不是靠「我们建了 N 道闸」建立的，是靠「闸自己也会假绿、我们抓到了并且当场修了」。
- **UX 同事侧**：复盘里那三个自查问法可以直接抄走 —— ① 分母是怎么来的？② 反过来那一侧谁管？③ 这条判据是在真实数据结构上验过的，还是在我想象的结构上？

最能讲的一句是那个闸的行为原文：它报 `checkedUnits=0` 并且是**绿的** ——「那个绿的含义是『没有可判对象』，不是『判过了』」。

---

## 判据 2 怎么处理的（⛔ 这一节别读丢，它推翻了上一轮的框架）

上一轮登记的缺口是「判据 2 机器取不到素材，两条路：(a) 人工翻存量复盘补标记位 / (b) 等消费仓出新 design-record」。**两条都没走**，理由是现取出来的两件事：

1. **(b) 已由 owner 关闭，不是「等」** —— 现取：消费仓 `MicroApps` 最后一次 commit 停在 2026-08-07，
   产品设计交付停在 2026-07-17，定稿日已停 35 天 ⇒ 当时判为「押注不是等待」。
   🔴 **2026-09-11 owner 逐字答「不启动」** ⇒ 这条从「押注」变成**明确关闭**，⛔ 别再把它挂成待办等着。
   **重开条件**（⛔ 变了，别照旧版读）：**不是**「该仓出新 design-record」，而是 **owner 说那条产品线启动了**。
   ⚠️ B 侧是 **warn-only**、不会自动提醒 ⇒ 即便真出了 record 也得有人主动看，别指望有信号。
   <br>🔴 **2026-09-11 下半场订正本条的射程 —— ⛔ 别把它读成「B 侧整个关了」。**
   owner 那句「不启动」说的是 **`MicroApps` 这一条产品线**，而 B 侧不止这一个消费仓。
   现取（`--consumer` 带上全部 5 个有 design-record 的仓跑取数单）：**窗口内 B 侧有 1 份**，
   来自 **`TVU Pack`** —— `2026-09-10-v4-1646-lcd-wifi-other-design-record.md`，
   **正是主线候选 1 那条走查交付的产品侧记录**。
   ⇒ 两件事因此都要改口径：**①** 「(b) 路已关闭」只对 `MicroApps` 成立，对 B 侧整体**不成立**；
   **②** 取数单要带**全部**消费仓路径，只给一个 `MicroApps` 会让 B 侧假装是空的。
   ⛔ 这**不推翻**下面走的第三条路（判据 2 不要求主线在窗口内）—— 那条仍然成立、也仍然更好；
   变的只是「B 侧没素材」这个**事实**判断，它是假的。
2. **(a) 达不成它声称的目的** —— 窗口内那批是 DS 内部工程复盘，补完标记位机器是读得出了，但读出来的仍然不是「一条真实交付」。它解的是**下期以后的可读性**，不是本期的判据 2。
   ⛔ **别批量填 `share_worthy: no`**：闸的契约里 `no` 只需 1 个字段（刻意低摩擦），但填完机器照样捞不出东西 = 纯浪费。要补就只给真打算讲的那几份补全 4 字段。

⇒ **走的是第三条**：判据 2 逐字要的是「**有一条真实交付做主线**，逐步走一遍，且显式写为什么拿它举例」——
**没要求它在窗口内，也没要求它是产品设计交付**。上一轮把「真实交付」默认成「窗口内的产品交付」，那是从上期主线（Wi-Fi Other）反推出来的习惯，不是判据的字面要求。松开这层假设，缺口当场就不存在。

⚠️ **这不是把判据改宽了** —— 判据一个字没动，改的是上一轮对它的读法。

---

## 与往期的重合（对 [`../ledger.md`](../ledger.md) 逐条核）

| 本期候选 | 关系 | 处置 |
|---|---|---|
| 1 · 2 | 新（候选 2 那条线起于 2026-09-10，上期成稿时还不存在） | ✅ 可讲 |
| 3 | 与上期直接相关但不重复 —— 讲的是「复现不出来所以印 UNKNOWN」 | ✅ 讲法有约束：⛔ 不能讲成「上期的数错了」 |
| 4 | 新实例、同族 | ✅ 压成候选 1 的举例 |
| 5 | 🔴 **命中 ledger 明示避让** | ⚠️ 只给新窗口 delta，⛔ 不重放上期那段轨迹（那两段正是取数单的自证向量，只在「数为什么可信」处一笔带过） |
| 主线 | 上期主线 = Touch Screen v7.7→8.0 Wi-Fi Other · Figma `10340:2`，本期不是它 | ✅ 无冲突 |
| 判据 6b | ⚠️ 上期「五角色核查后一个都没建」已用掉；本期三个候选形态相同（都是「核查后决定不建」） | ⚠️ 只取 `INFRA-F146`「建了但裁定不升级」——形态不同 |

---

## 出稿前要做的

🔴 **2026-09-11 owner 拍了档 A ⇒ 下表 5 项全部不做。**
⛔ 表**不删**（它是裁定表不是待办表）：留着是为了「将来若改发档 B」有现成清单，
届时**逐项重核一遍再用**，⛔ 别当它还是新鲜的。

~~若定档 B（上公网），下面 5 项全部要处理~~（scout 标的疑似敏感项）：

| 项 | 在哪 | 怎么处理 |
|---|---|---|
| 真实 issue key `V4-1646` | 候选 1 | 改写为描述性说法 |
| Figma node id（`10366:840`，及上期的 `10340:2`） | 候选 1 | 同上 |
| `bm1047` / `bm1083` 单号 | 消费仓 design-record 文件名 | 本期不进材料；若讲 B 侧覆盖率会带出来 |
| 消费仓绝对路径 | 取数单命令行本身 | 命令抽象化（口径要留、路径不必露） |
| 走查涉及的产品界面 | 候选 1 若配图 | ⛔ 禁嵌真实截图，须 HTML/CSS 抽象重绘 |

**两道闸**（README §出稿前要过的闸）：

- `pnpm audit:no-hardcoded-design-tokens` —— 它在「独立分享页」这一档上 **fail-open 且奖励偏离标度**，已登记 [[INFRA-F147]]。⛔ 出稿前读那条 entry，别以为闸绿就等于页面对。
- docs 站视觉改动的 pre-commit 视觉门要 `VISUAL_COMMIT_APPROVED` —— **AI 不得自设**，含义是「owner 看过实际效果并说出口了」。

---

## 已知不足（判据 6 —— ⛔ 别只报喜）

- **「这套东西省了 owner 多少时间」没有读数，也无法有。** 那是**费率**不是事件，git 与 work-log 里结构上没有采集面 ⇒ 讲这条时⛔ 不许给数字，只能引 owner 原话「每期我都得盯着 AI 挖数据、太占我时间」。
- **本期量的幅度很小**：两条棘轮窗口内无拐点，判据 3 的「量的前后对比」只剩两根细线。⛔ 别把它撑成一节。
- **backlog Active 的增量容易被读成「待办变多 = 退步」** —— 两条新增在同一窗口内都已工程闭合、只余 owner 取舍。这一层要么讲清楚，要么别讲。
- **候选 4 的那句警告在活源里现在取不到** —— 2026-09-11 现跑 `audit:gate-ci-parity` 是 PASS、且关于该闸一个字都没有，因为缺口已被 `cb746b0c` 修掉、警告自然消失。⇒ 讲它必须标明**是当时的输出**，⛔ 别写成「现在跑还能看到」。可复核落点见候选表第 4 行。

---

## 为什么 ledger 里暂时没有本期这一行

[`ledger.md`](../ledger.md) 自陈「**这是记录表，不是待办表**…（它是历史）」。本期**尚未开讲** ⇒ 现在加行就是把待办混进记录表，而那份文件逐字警告过「待办表 vs 裁定表混在一起」的代价。

⇒ **本期讲完后再加那一行**（届时「产物」「发布档」两列才有真值）。为免下期选材重复，已在 ledger 顶部加一条**进行中指针**指向本文件 —— 指针不进表。
