# Backlog — 延后任务 / 技术债 / 已知 bug

> **项目级真源**。所有 AI 工具（plan owner / executor）在新 session onboarding 时**必读**这个文件，识别：
>
> 1. 当前任务路径上是否需要顺手处理某条 backlog
> 2. 某条 backlog 的"触发查看"条件是否被当前任务命中
>
> 维护规则：
>
> - 完成的条目**直接删除**（具体改动在 git 历史，重要复盘在 `retrospection/`，高层摘要在 `STATUS.md` "已 ship" 段）
> - 新增条目按类别 prefix 编号：
>   - `CANONICAL-*`：canonical 层 bug / 视觉 / API
>   - `BRIDGE-*`：bridge layer (T2/T4) 任务 / 工作流
>   - `EXTRACT-*`：figma-sync extract pipeline 问题
>   - `META-*`：跨工具 / 元规则 / 协作机制
>   - `INFRA-*`：tsconfig / build / typecheck 等基础设施
> - 每条 entry 必须含：发现时间 + 触发查看条件 + 阻塞关系（避免 backlog 退化为"永远的未来 TODO"）

---

## Active

> **维护纪律**：完成条目**直接移除**（改动留 git 历史 / `retrospection/` / STATUS §已 ship），本节只保留**真·待做 / blocked / partial**。designer-action 项 relocate 到 [`design-review-queue.md`](./design-review-queue.md)。新增条目按类别 prefix 编号，先 grep 全部已用 ID（Active + git log）挑最大 +1。

> **INFRA-F55 全生命周期流程优化程序 — 已关闭 umbrella（2026-07-10，owner 拍板）**：program 主体已交付（支柱④ 上游 gate `c4691e51..c1b10a86` · 支柱① API 一致性 gate [[INFRA-F59]] + TS/JSON token 出口 `45e7edd8..e2157935` · F58 文档一致性核心 7 子项）。剩余项拆成独立可闭环 entry 各自跟踪，并按**两条轨道**归类（owner 2026-07-10 确认「团队/多工具采纳在推进，DS 与流程都要」）：**轨道 A 设计系统本体** = F57 / F60 / F65；**轨道 B 流程·多工具采纳** = F61（并入原 F56）/ F62 / F63 / F64 / F58。原 SoT §7 架构分叉已分入各相关 entry 并记录 owner 已拍默认。评估全文归档 [`full-lifecycle-assessment-2026-07-08.md`](../full-lifecycle-assessment-2026-07-08.md)（史实，不再作 active 入口）。

**━━━━━ 轨道 A — 设计系统本体（库 / token / 图标 / 文档 / 包的保真与可用）━━━━━**

### INFRA-F60: 支柱① 残余 — 组合契约随包发（`./composition` 出口）

- **轨道**：A（设计系统本体 · 可消费性产出物）
- **✅ 2026-07-13 shipped**：**薄路线**（`figma-sync/generate-composition-exports.mjs` + `dist/composition/` 三产物 + `audit:composition-exports` drift gate + package.json exports/build/prepare/prepublishOnly，12 vitest 绿）。**余**：厚路线（布局/间距规范，owner-gated）。
- **优先级**：Medium（补 T4b 页面级合成契约缺口；薄路线低成本、不 owner-gated，属可直接推进最小集）
- **发现时间**：2026-07-08（[[INFRA-F55]] 支柱①）；2026-07-10 scoping 完成
- **背景（实测）**：`docs/internal/component-affordances.json`（37 canonical 组件全覆盖，`_meta.is_source_of_truth`）已含**组合规则**（25 组件有 `contained_by` / 11 有 `contains` + `do_not_hand_compose` 反模式），已过 `audit:component-affordances` 双向覆盖校验；但 PROJECT_GOAL §T4b 要的**布局/间距规范完全真空**（唯一沾边的 `FormItem.labelWidth/layout` 是单组件自身 API，非组合级 spacing）。现仅内部不随包发。
- **待做（分薄/厚两路，见 [`_reports/2026-07-10-composition-contract-publish-scoping.md`](../_reports/2026-07-10-composition-contract-publish-scoping.md)）**：
  - **薄路线（推荐先做，~0.5-1 天，不需 owner 拍板）**：仿本仓 `figma-sync/generate-token-exports.mjs` 范式发 `dist/composition/`——但源头是结构化 JSON（`readFileSync + JSON.parse`，**无 parse 步骤**，emitter 仅几十行）。三产物 `composition.{json,js,d.ts}`（**DTCG 不套**——组合契约是组件关系图非原子 token；**TS 类型要做**：`ComponentName` union + 记录字段类型，编译期抓拼错组件名）+ `package.json` 加 `./composition` / `./composition/js` exports（照抄 `./tokens`）+ 新增 `audit:composition-exports` drift gate 挂 `prepublishOnly` + 挂 `pnpm build`。薄路线已交付 T4b 一半价值（防 AI 拼错组件层级/反模式）。**跨轨联动**：作为工具无关契约产物喂给 [[INFRA-F63]] 让 Codex/claude.ai 也能消费。
  - **厚路线（owner-gated）**：补 `composition.layout_hints:[{when, spacing_token}]`（引用已存在 `--sp-*` 真源，不发明数值），从 11 个 `contains` 非空组件起步。**需 owner 拍板**（[[figma-write-scope]]：哪些间距是"稳定可复用 pattern" vs "某 mockup 偶然值" 是判断题，AI 不能单方认定；抢发编造间距 = breaking 风险）。等真实消费反馈再补。
- **触发查看条件**：做支柱① 契约分发 / 消费方需页面级合成契约时。
- **阻塞关系**：不阻塞。薄路线可独立 ship；厚路线 owner-gated。

### INFRA-F65: 横切韧性 — echarts 打包策略（bundle 膨胀）+ 组件硬编码英文 i18n

- **轨道**：A（设计系统本体 · 真实缺陷）
- **优先级**：Medium（DS 包真实缺陷，独立可修）
- **发现时间**：2026-07-08（[[INFRA-F55]] 横切 P1）；2026-07-10 subagent 调查修正问题陈述（backlog 原述证伪）
- **⚠️ 调查修正（2026-07-10，逐项 file:line 实证）**：
  - **echarts 打包（原 Bug1「external 致运行时报错」证伪 + 原 Bug3 同根）**：echarts **根本没被 external，是 inline 进 bundle** —— `vite.config.ts:81` external 列表是 `chart.js`/`vue-chartjs`（迁移前旧库，**已非依赖 → 死配置 no-op**），无 echarts。`Chart.vue:3-6` 从 `echarts/core` tree-shaken import（全仓唯一 importer）；`echarts` 在 `package.json` **dependencies**（非 peerDeps）；`dist` 含 echarts 符号 = 确认 inline。真实缺陷 = **echarts 双重投递（inline + 又列 dependencies 让消费方再装一份）+ bundle 膨胀**：`dist/tvu-design-system.js` = **2.08MB 属实（未 minify）**，echarts tree-shaken 子集 ≈ **1.27MB = 61%**。
  - **组件硬编码英文（真 bug）**：**无任何 i18n 基建**（全仓无 useI18n/locale provider）。~8 组件 ~11 处**无 prop 覆盖路径**的英文字面量：`Pagination.vue:190/217/230`(Previous/Next/Page)·`Notification.vue:91`·`Message.vue:102`·`PopupBox.vue:226`(Close)·`InputBoxBase.vue:116`(Clear value)·`SelectBoxBase.vue:225/246`(Remove option/Clear value)·`InputNumber.vue:81/95`(decrement/increment)。另有一批 prop 默认英文但可覆盖（较轻）+ 一批已有 `$attrs['aria-label'] ?? '默认'` 兜底。
- **推荐决策（owner 目标=优化完善·非破坏；2026-07-10 self-audit 后拍）**：
  - **echarts → 非破坏 option (b)**：保持 inline（不 external，external 会 breaking 要求消费方自装）+ **从 dependencies 删 echarts**（已 inline，消费方无需再装；删前需验证无 runtime import 逃逸）+ **删 chart.js/vue-chartjs 死 external**（零风险 no-op 清理）+ **给 lib build 开 minify**（砍未压缩体积）。
  - **i18n → 轻量 provide/inject 或提为可覆盖 prop**（复用现有 `$attrs` 兜底范式，不引重型 i18n 库）。
- **✅ 2026-07-13 shipped（echarts 双重投递修复）**：`echarts` 从 `dependencies` → `devDependencies`（消费方不再冗余装一份 echarts；DS 自身 build 仍能 inline）。前置验证三关全过：① ESM+UMD+dynamic-import 全无 `import/require('echarts')` 运行时逃逸（fully inline）② 无任何 shipped `.d.ts` 暴露 echarts 类型（Chart 公有面用本地 `ChartType`/`ChartDatasetInput`，`echarts.ECharts` 仅内部变量）③ devDep 化后 fresh build 成功 + 506 vitest 全绿 + bundle 不变。删 `vite.config.ts` 死 chart.js/vue-chartjs external（前序，零风险）。
- **⚠️ minify → DEFER（investigated，非省事跳过）**：Vite 的两个 minifier 在本 lib+dts+多格式(ESM/UMD)+code-split 组合下都失灵——`minify:'esbuild'` 逐字节 no-op；`minify:'terser'` 反而**膨胀** ESM（2.08→2.77MB）且忽略 `terserOptions`；手动 `esbuild --minify` 对产物有效（−15%/−7% gzip），但**改成 post-build 脚本会 import esbuild → 撞 `audit:scripts-stdlib` gate**。且**消费方 bundle app 时会自行 re-minify 本库** → 未压缩 dist 真实影响很小（仅 node_modules 磁盘 + 罕见直用 UMD）。结论：低 ROI + 卡在 Vite 集成/自家 gate，暂不做；vite.config 留诚实注释记录调查，出现干净的 in-pipeline minifier 再回来。
- **✅ 2026-07-13 shipped（i18n 本地化）**：`src/locale/index.ts` = `TvuLocale` provide/inject 字典（`defaultLocale` 冻结英文 + `TVU_LOCALE_KEY` + 命令式 `provideTvuLocale()` helper + `useLocale()` composable，注入 partial merge over 默认、响应式）+ 接入 7 个 shipped SFC 的 8 aria-label + 1 可见 `pageUnit`（Pagination prev/next+页单位·Notification/Message/PopupBox close·InputNumber dec/inc·InputBoxBase clear·SelectBoxBase remove/clear）+ `index.ts` 导出。**非破坏**（默认=逐字当前英文）。TDD：5 单测 + 4 集成测，全量 **515 vitest** 绿 + vue-tsc + lint:ds/hard-rule/slot-guard 绿 + build 出 locale 类型。SDD spec+plan 存 `docs/superpowers/{specs,plans}/2026-07-13-i18n-locale*`。
- **实质收口**：echarts 双重投递 + i18n 两个真缺陷已修；**唯一残余 = minify（deferred-indefinitely）**，见上 DEFER（Vite 集成失灵 + 低 ROI + 消费方自 re-minify），等干净 in-pipeline minifier 出现再回来（vite.config 留诚实 NOTE）。
- **触发查看条件**：修 bundle / i18n / 包体积时。
- **阻塞关系**：不阻塞，可独立修。

### INFRA-F57: 非颜色 token（Effect/Text Style + 间距）是否纳入 Figma 变量化 sync+gate（评估）

- **轨道**：A（设计系统本体 · token 保真）
- **✅ 2026-07-13 shipped**：推荐②的 **Effect/Text Style → code 对齐 audit**（`scripts/audit-style-contract.mjs`，canonicalToken 查表零启发式，10 token checked·真实数据 0 drift，9 vitest，挂 prepublishOnly）。**余**：间距抽象 scale（③ 短期维持 / ① 真变量化留长期，需设计师配合）。
- **优先级**：Low（owner-gated 架构评估；非 bug，现状值对齐可用）
- **发现时间**：2026-07-08（[[INFRA-F55]] brainstorm，token 架构实测拆出）；2026-07-10 scoping 完成
- **背景（实测，见 [`_reports/2026-07-10-f57-noncolor-token-eval.md`](../_reports/2026-07-10-f57-noncolor-token-eval.md)）**：54 个 Figma Variable **全是颜色**，已 sync+gated（`audit:token-contract`）。scoping 证伪"间距完全 silent-drift"——间距/尺寸在**组件消费层**已被 930 条 render-verification manifest + CI release-gate 实质 gate 住；真正 100% 未覆盖的只有 **Effect/Text Style**（Figma 里是 Style 非 Variable，无等价 runtime gate）。
- **推荐（分层，非整体三选一）**：**Effect + Text Style → 选②**（写 Style→code 值对齐 audit：`extract.mjs` 已实时重抓 + `figma-styles.json` 已标 `canonicalToken`，照抄 `audit-token-contract` 52 行同构脚本，近乎免费关真实缺口）；**间距消费层 → 选③**（render-manifest 已覆盖）；**间距抽象 scale → 选③ 短期、①留长期触发**（真变量化是跨 Figma 节点迁移，需设计师配合，等支柱①契机再评）。
- **owner 决策点**：是否批准写 Effect/Text Style 对齐 audit（低成本纯增量）。
- **触发查看条件**：owner 决定收口 Effect/Text 保真时；或做 token 分发时顺带。
- **阻塞关系**：不阻塞；纯增量。

**━━━━━ 轨道 B — 流程 / 多工具采纳（质量与工具解耦 · 系统自触发 · 团队协作安全）━━━━━**

> **轨道 B 主线**：今天几乎所有强制都活在 Claude Code hooks/skills 里 → 同事用 Codex/claude.ai 吃不到任何 gate。轨道 B 的命门 = 把强制从"单一工具 hook"搬到**工具无关落点（git hook / CI / 消费仓库 scaffold）**。F61 + F62-b + F63 合起来做这件事。
>
> **owner 已拍架构决策（2026-07-10，"同意建议"→ 按推荐默认落地）**：① **实质改动走 PR + 分支保护，trivial 保 fast-lane**（待落地到 AGENTS.md 硬规则 #7 措辞）② **mockup handoff 进消费仓库 git**（→ chokepoint 挂消费仓库 commit/PR）③ **视觉/render job 走 GitHub 镜像仓跑**（避开 Gitea runner 无 root）。**待 owner 一次性动作**：配只读 Gitea token（存本地 gitignore/env）——PR 雷达 + consumer 冒烟的前置。

### INFRA-F61: 支柱② 代码网 + gate 平权 + open-PR 雷达（原 F56 并入）

- **轨道**：B（流程 · 工具无关强制 + 团队协作）
- **优先级**：Medium（治真痛点：owner 直推路径 gate 覆盖不全 + stale PR 无人发现致 merge 冲突炸 + consumer/API-breaking 无 CI 冒烟）
- **发现时间**：2026-07-08（[[INFRA-F55]] 支柱② + owner 提"直推 master 如何也过审查 + 提交时能否发现待 merge PR"）
- **根因（实测）**：① owner 直推 master 绕过 PR-only gate——今 `pr-checks.yml` 在 `push:[master]` 已跑 vue-tsc/vitest/prepublish，但支柱② 将来新增的 consumer 冒烟/API-diff/视觉若只挂 `pull_request` 就漏 owner 这条最高频路径。② commit 纯本地不 fetch；无 hook surface open PR；团队 PR 在 Gitea，Gitea API 要登录 token（实测 `Only signed in user is allowed`），GitHub 镜像 `gh pr list` 空 → PR 等多天无人发现、merge 时冲突炸。
- **待做**：① **gate 平权原则** —— ✅ **现有 gate 已满足**（2026-07-10 复核：`pr-checks.yml` 因 INFRA-F40 已 `on: pull_request:[master] + push:[master]`，vue-tsc/vitest/prepublish 两路都跑）。剩为**设计约束**：支柱② 将来新增的 consumer 冒烟/API-diff/视觉 gate 必须同挂 `push:master`（别只挂 `pull_request`）。② **扩 Gitea `pr-checks`**：consumer 冒烟 + API-breaking diff + 风险分诊 + 分支保护（未来 gate）。③ **open-PR 雷达**（自触发脊梁一员）：session 起手列 Gitea open PR + pre-push 冲突预警。**侧效应护栏**：查 Gitea 必 timeout + 失败不阻塞 push；token 仅本地。备选：Gitea 定时→Slack stale-PR 推送 / CI 自动 rebase。
- **前置**：配**只读 Gitea token**（owner 一次性，见轨道 B 头 owner 待动作）——否则 PR 雷达/consumer 冒烟做不了。
- **架构决策（owner 2026-07-10 已拍）**：**PR-for-all**（实质改动走 PR + 分支保护，trivial fast-lane；待落地 AGENTS #7）· **Gitea runner 无 root → GitHub 镜像仓跑视觉/render job**。
- **触发查看条件**：启动支柱② 实现时；或 owner 配好 Gitea token 想先做 PR 雷达独立小胜。
- **阻塞关系**：不阻塞其他。PR 雷达可独立于整张网先做（前提 Gitea token）。

### INFRA-F62: 支柱② 设计网缺口 A — mockup conformance 强制自动跑 + 报告防伪

- **轨道**：B（流程 · 工具无关强制；(a) 报告防伪可直接做，(b) chokepoint 已解锁待做）
- **✅ 2026-07-13 shipped**：**(a) 报告防伪**（`audit:mockup-conformance --report` 落盘结构化 JSON + `audit-mockup-handoff-evidence.mjs` 改验 report 文件〔存在/exitCode 全 0/24h 时效〕，手打 Integrity 文本失效，10 vitest + 冲烟 + §M-DISCIPLINE.SYNC 措辞更新）+ **(b) 消费仓库 chokepoint**（`templates/consumer-product/.githooks/` 零依赖 hook，变体 A/B 通用，node 唯一硬依赖，fail-open + SKILL.md Step 2.7；修 pwd→pwd -P symlink bug）。**余**：(c) 活体比对（Figma `lastModified` 交叉校验，需 Figma token 才能测，**defer**）+ 变体 B produce 侧走 sibling clone 路径排期。
- **优先级**：Medium（堵 `I1=pass` 粘贴洞；(a) 报告防伪独立可做属可直接推进最小集）
- **发现时间**：2026-07-08（[[INFRA-F55]] 支柱②-③）；2026-07-10 scoping 完成
- **根因（实测，两层洞，见 [`_reports/2026-07-10-design-net-gapA-scoping.md`](../_reports/2026-07-10-design-net-gapA-scoping.md)）**：**洞①** `audit-mockup-handoff-evidence.mjs` 只对 handoff `.md` 做正则文本存在性扫描（`/Integrity audit:\s*I1=/`），从不重跑审计、不校验数值/时效/Figma 活体状态——手打一行即过。**洞② 更严重**：这道弱闸只挂 DS 自己仓库 `.husky/pre-commit`，而 handoff 实落**消费产品仓库** `docs/handoffs/`，消费仓库从未 scaffold 此 hook（变体 B Design-only 连 npm/husky 基建都没有）→ 绝大多数真实 mockup 交付连"查文本"假闸都不存在，唯一强制机制是 Claude-Code-only `post-figma-write.sh`（只注入提醒不拦截）。
- **待做（三步，见报告 §4.1）**：
  - **① 报告防伪机制（最高杠杆，独立可做，不需 owner 拍 chokepoint）**：`audit:mockup-conformance` 加 `--report <path>` flag 落盘结构化 JSON（`fileKey`/`nodeIds`/每子审计 `{key,exitCode,findingsCount}`/`timestamp`/`figmaLastModified`）；重写 `audit-mockup-handoff-evidence.mjs` 从正则改为「解析 report 路径引用 + 校验文件存在/可解析 + `exitCode` 全 0 + 时效窗口」；进阶可选活体比对（现取 Figma `lastModified` vs report 记录，跑完又改则判失败）。改 2 脚本 + 单测（沿用 `checkHandoffEvidence` 纯函数 vitest 模式）+ 一处 `mockup-conventions.md §M-DISCIPLINE.SYNC` 措辞更新。**中等工作量，不涉新基建、不依赖 owner 架构决策。**
  - **② chokepoint 落地（owner 已拍"handoff 进消费仓库 git" → 解锁）**：变体 A 追加 pre-commit 段（照抄 code net `staged_md` 范本）；变体 B 需为纯设计仓库新建零依赖 git hook 基建（owner 已定 handoff 进 git → 值得建）；走 PR 者复用支柱④ `pr-checks.yml` job（视觉 job 走 GitHub 镜像仓，同 F61 决策）。
  - **③ 活体比对进阶防伪**（owner 认可后）：Figma `lastModified` 交叉校验，处理 token 不可用降级（同支柱④ UNVERIFIED 哲学）。
- **架构决策（owner 2026-07-10 已拍）**：**设计产出入口 = mockup handoff 进消费仓库 git**（chokepoint 挂 commit/PR，非纯 Figma）→ 变体 B 建 git hook 基建值得做、mockup 纳入 PR 流程。**残余缺口显式承认**：若某次交付纯 Figma 全程不碰 git，机械 chokepoint 落空，靠 owner design-walkthrough 兜底。
- **触发查看条件**：做设计网强制化 / mockup 交付防伪时。
- **阻塞关系**：① 独立可做；②③ 已解锁（架构决策已拍），排在 ① 之后。

### INFRA-F63: 支柱③ 每工具薄适配器 + 元层

- **轨道**：B（流程 · 质量与工具解耦的关键 —— 让非 Claude-Code 工具也吃到 guardrails）
- **✅ 2026-07-13 shipped**：**claude-design-bundle 补全**（`export-claude-design-bundle.mjs`：README 补上游 gate〔reference/14〕导航〔原孤儿〕+ scenario 前置「动手前走上游 gate」+ DTCG token 随包发 + **组合契约随包发**〔`reference/composition.json` = `component-affordances.json` 机器可读孪生 / [[INFRA-F60]] 薄路线 `dist/composition/composition.json` 产物，照 DTCG 同款 `COMPOSITION` const + optional `copyInto` + `hasComposition` README 三处导航〔目录结构 + mockup/code 两场景〕；端到端跑 export 验产物字节一致 + MANIFEST 追踪〕）+ **L2 Codex 适配器**（`docs/internal/_prompts/upstream-gate-codex.prompt.md`：同 schema/产出物、Codex 能跑 node 做确定层真机校、STOP 不自 commit）。**余**：元层（学习闭环 / 可观测埋点）。
- **优先级**：Medium（团队多工具采纳确认后从 Low 升级：Codex/claude.ai 用户当前吃不到任何 gate）
- **发现时间**：2026-07-08（[[INFRA-F55]] 支柱③ + 元层）
- **背景**：现状仅 Claude Code（hooks + skills 全套）就位，Codex 半套、claude.ai/其它工具适配未齐（assessment §2 工具耦合）。目标 = 质量与"用哪个工具"解耦。
- **待做**：① **L2 Codex 适配器**（支柱④ 遗留，upstream-gate spec §9 允许后补）② **claude-design-bundle 补全**（非 Claude Code 平台的 Project Instructions 分发轨道）③ **元层**：学习闭环 + 可观测埋点。**依赖**：工具无关契约（[[INFRA-F60]] 组合契约 + token 出口）+ CI 级 gate（[[INFRA-F61]]）先在，适配器才有可分发的东西。
- **架构决策（owner 2026-07-10 已拍）**：**每消费产品补"活的 roadmap + product-context"**（采纳杠杆骑现有消费 scaffold）。
- **触发查看条件**：owner 要收口多工具产出质量一致性时。
- **阻塞关系**：软依赖 F60/F61 契约与 CI gate 就绪。

### INFRA-F64: 自触发脊梁（git hooks + `ds start` 统一入口）

- **轨道**：B（流程 · 系统自触发，使用者不必懂流程）
- **优先级**：Low（基建；bug 已拆出 [[INFRA-F65]] 归轨道 A 独立修）
- **发现时间**：2026-07-08（[[INFRA-F55]] 支柱⑤）；2026-07-10 从原 F64 拆出（bug → F65）
- **✅ 2026-07-13 shipped**：`scripts/ds-start.mjs`（`pnpm ds` 统一起手入口：分支/git status 摘要 + STATUS 起手链路 + backlog 轨道 A/B 计数）+ `.husky/post-checkout`（切分支提示，非阻塞）+ `.husky/pre-push`（warn-only 静态协作提醒，绝不 block）。**余**：pre-push 真实 open-PR 冲突雷达属 [[INFRA-F61]]（需 Gitea token）。
- **待做（余）**：脊梁与 [[INFRA-F61]] 雷达合流后可基本收口。
- **触发查看条件**：做自触发流程基建时。
- **阻塞关系**：与 [[INFRA-F61]] open-PR 雷达同属自触发脊梁、可协同（pre-push 冲突预警是脊梁一员）。

### INFRA-F58: 文档一致性 + SoT 单一化（跨文档 stale/假承诺清理 + 版本单一真源 + 自动检测）

- **轨道**：B（流程 · SoT governance + 规则文档瘦身）
- **优先级**：Medium（治"AI 读多份文档不知以谁为准"；属 [[INFRA-F55]] 元层 SoT governance）
- **✅ 核心 7 子项 shipped（2026-07-09，commit `21c8c819` + follow-up `2a6eee5e`）**：broken Button quickstart 修（实测 static `style=` 坏 → 文档用默认 filling + `:style` 绑定注 + React `variant` 对照）· 版本单一真源（STATUS 唯一字面版本 + de-mirror 闸扩 5 份 per-file mode + PLUGIN stale 修）· code→Figma 表述按边界重述（manifest 930 + 唯一库 `YbsPRUVmNdsbN40NNwh1Gn`）· README（1:1 措辞 + token 仅 CSS 注）· STATUS 能力×成熟度表 + SoT 归属表 · `doc-sync-map.json` + `audit:doc-sync` 闸 · MIGRATION/API_STABILITY stale API/版本修（follow-up）。**拆出 [[INFRA-F59]]**（外观变体 prop 统一）。
- **残余精简 worklist（3-subagent review 2026-07-09 产出；`1b6f684d` 已删 222 死件）**：
  - ✅ 已删：`_prompts/archived`(163) + `_plans/archived`(36) + prompt-library-index + t2-sample 死簇(21) + 空目录（git 留痕，stale-anchors 零孤儿）。
  - **待 owner 定 policy（delete vs move retrospection）**：`conformance-issue-log.md`(1507行自 redirect 台账,被6文件引用) · `long-term-plan-2026-04-28`/`-v2-2026-04-29` · `token-layer-strategy` · 顶层 pixel-review/completeness-audit/phase-*-report(April 一次性,下沉 internal/retrospection)。
  - **归 [[INFRA-F55]] 支柱① 规则三层化重构**（review M1/S1-S3，最高精简杠杆，需专门 plan）：code-conv R14-R23 ↔ mockup-conv M31-M43 镜像 MERGE（省~500-700行）· meta-rules(820) SPLIT 可移植契约+实证档案 · design-process 六段式 SPLIT 正文/档案 · AGENTS §640-738 Team Comms 拆出。
  - **元层 SoT 小型 dedup（nuanced,逐行做,勿盲删）**：C1 session-handoff/multi-session 第二 onboarding 链路→指针化 STATUS · C2 AGENTS §398-417 ↔ meta-rules §4 行为约束 dup · D1 目标/能力 4处 · D2 颜色规则 4处 · D3 AGENTS M-number 3处枚举 · A7 tombstone（AGENTS §312-316 + working-principles 决策Log 6.2-6.8 计划;⚠️ F25 条是活 rationale 勿删）。
- **四角色文档缺口（owner #7）**：不属 F58/F55——由 `audit:docs-site` + `site-review-manifest.json` views 字段单独跟踪。
- **触发查看条件**：做文档一致性/发版流程/SoT governance/规则精简时。
- **阻塞关系**：核心已 shipped;残余不阻塞;规则三层化归 [[INFRA-F55]] 支柱①。

---

## 元说明

- 本文件**不是** v2 plan 的延伸——v2 plan 是 roadmap（路线 / 轨道 / 里程碑），backlog 是**已知问题清单**（可以独立排期）
- 当前散落在 retrospection 多份 `.md` 的"待办"段（如 [t4-spike-validated.md](retrospection/2026-04-30-t4-spike-validated.md) 的"隐性风险扫描"段）**未** consolidate 进本文件——**后续可单独决策是否迁移**
- 已加入 [AGENTS.md 必读链路](../../AGENTS.md) 第 6 项 + Quick Reference（commit 同步）
