---
# ⚠️ 追溯填写（retro-fill）—— 两条边界，⛔ 读者与后续 agent 都别越过：
#   ① 本 artifact 于 2026-09-09 按 V4-2333 已完成的 design-record 回填，⛔ 不声称「upstream-gate 流程在 2026-07-09 设计时真的走过了」。
#   ② 它验的是量具（scripts/validate-upstream-gate.mjs）能不能对一份真 artifact 非 no-op 地跑，⛔ 不是「这条规则被遵守了」。
#   竞品段是 2026-09-09 的实时检索（agent WebFetch，各 URL 实测 HTTP 200），⛔ 不是设计当时的检索。
feature: v4-2333-transmission-test
understanding: RPS One（V4 LCD）在无音视频输入时，操作员无法在开播前验证「背包 → MCR」传输链路；本期新增一键 Test Signal（固定 HD SMPTE 彩条 + 1kHz 音频），推流中给完整 LIVE 视觉 + Receiver/Bitrate/Delay 遥测 + Stop Test；scope 权威来源是关联 bug FB-9937（Yves Tassel），⛔ 不是 V4-2333 单本身
sources_read: ["docs/specs/2026-07-09-v4-2333-transmission-test-design-record.md#1-问题与根因", "docs/specs/2026-07-09-v4-2333-transmission-test-design-record.md#2-scope--non-goals", "docs/specs/2026-07-09-v4-2333-transmission-test-design-record.md#4-设计--状态与指示模型", "docs/specs/2026-07-09-v4-2333-transmission-test-design-record.md#6-决策记录", "docs/PRODUCT_INTRODUCTION.md#32-lcd-直播状态样式参考standby--live--online--offline"]
competitive: [{"vendor": "Teradek (Cube 605 encoder)", "url": "https://teradek.com/products/cube-605", "finding": "产品页明写「configurable test pattern generator」：无视频源时可测推流、视频失锁时防中断。挂在固定式编码器上、非蜂窝聚合背包；页面未写触发方式与推流中遥测项"}, {"vendor": "LiveU (LU300S / LU800)", "url": "https://www.liveu.tv/products/create/lu300s", "finding": "未在公开产品页找到 test-signal / color bars / connection-test 类开播前链路自检；页面描述多模聚合与 2.2″ 屏。support.liveu.tv 知识库对抓取返回 403，用户手册未能核对"}, {"vendor": "Dejero (EnGo 3 family)", "url": "https://www.dejero.com/quick-start-guide-engo-family/engo-3/", "finding": "Quick Start Guide 描述开机进 Preview、按 Go Live 开播；未在公开资料找到 test pattern / connection test 功能。manualslib 上的用户手册对抓取返回 403，未能核对"}]
persona_ia: 现场操作员（RPS One 背包，无源态、开播前想确认链路通不通）与 MCR 接收端值班（看彩条 + 1kHz 到没到）；IA = LCD Online idle 屏加 Test Signal 主按钮（始终可点，未选 Receiver 时点击引导先选）→ 测试推流屏（红色 LIVE 色带 + 源字段「NO INPUT · Test Pattern / 1kHz」+ Receiver/Bitrate/Delay + 中央运行时间码 + Stop Test）
data_feasibility: {"fields": ["receiver", "bitrate", "delay", "running_timecode"]}
mvp_scope: 做：单一 Test Signal 入口 + 固定 HD SMPTE 彩条 + 1kHz + 与正常 Live 同源的遥测 + Stop Test；不做：多图案类型 / 可配置参数 / Config-T（无预览界面）/ 视频区 TEST 标签（后经 PM 评论派生出方案 B「整屏蓝 + ● TEST」身份标识，留 PM 拍）
---

# Upstream Gate — Transmission Test (RPS One LCD) · V4-2333 · **追溯填写**

> ⚠️ **边界（与 front-matter 头部两条相同，⛔ 别删）**
> ① 追溯：本文件 2026-09-09 按已完成的 [design-record](2026-07-09-v4-2333-transmission-test-design-record.md) 回填，⛔ 不声称流程当时真的走过。
> ② 验的是量具：让 `validate-upstream-gate.mjs` 第一次对真 artifact 非 no-op 地跑（此前 8 个仓 0 份 artifact ⇒ 闸恒 `no-op PASS`）；⛔ 不是「上游 gate 这条规则被遵守了」。
> 依据：tvu-design-system 那 16 条 mockup 判据的单测全部用合成节点树验量具 —— 用合成/追溯输入验量具是那个仓一直在做的事（ai-ds-lab `docs/2026-09-09-ds-automation-architecture-readings.md` §3.1）。

## 1. 需求复述（owner review：复述是否抓住真实意图）

RPS One 在**无音视频输入**时，操作员在正式直播前无法验证「背包 → MCR」链路是否连通可用；风险后置到开播时刻。
根因是无源态缺一个「主动打链路」的入口 —— 不是 bug，是能力缺口。
**scope 澄清**：V4-2333 单本身含糊（一度被读成「要做多类型测试图卡 + 参数化」），读关联 bug **FB-9937** 才拿到 Yves Tassel 的权威范围：**一个 Test Signal 入口 + 固定 HD 循环图卡 + 1kHz 音频**，不做多图案 / 可配参数。
（来源：design-record §1 / §2。）

## 2. 竞品分析（2026-09-09 追溯检索；owner review：相关性）

| vendor | 有没有开播前链路自检 | 来源状态 |
|---|---|---|
| Teradek Cube 605 | **有** —— 页面逐字 "A configurable test pattern generator allows you to test your stream without connecting a video source and prevents interruptions if video sync is lost." 但挂在固定式编码器；Prism 背包线只在第三方报道（Newsshooter）见 "failover test pattern generator"，定位是 failover 兜底非开播前自检 | HTTP 200 |
| LiveU LU300S / LU800 | **未在公开资料中找到** | 产品页 200；support 知识库 403 未核 |
| Dejero EnGo 3 | **未在公开资料中找到**；QSG 是 Preview → Go Live | QSG 200；manualslib 手册 403 未核 |

借鉴 / 规避：Teradek 把 test pattern 同时当「无源测流」与「失锁兜底」两用 —— 本期只做前者（FB-9937 范围），失锁兜底不在 scope。⛔ LiveU / Dejero 的「未找到」不等于「没有」。

## 3. Persona / IA（owner review）

- **现场操作员**：无源态、开播前，想一键确认链路通不通；不想被「未选 Receiver」挡在入口外 ⇒ 按钮始终可点、点击时引导先选（design-record 决策 #4）。
- **MCR 接收端值班**：看到彩条 + 1kHz 即确认链路；需要与真直播可区分 ⇒ 源字段文案 + 彩条画面（决策 #3），后续 PM 评论派生方案 B 整屏蓝 TEST 身份（决策 #14，留 PM 拍）。
- **IA**：两态（屏 1 无源 idle → 屏 2 测试推流中），沿用设备原生直播范式（红色 LIVE 色带克隆参考页 VECTOR，不自造）。

## 4. 数据可行性

`receiver`（已选接收端，未选留空）· `bitrate` · `delay`（与正常 Live 信号同源，owner 2026-07-10 确认）· `running_timecode`（中央毫秒运行时间码，非倒数）。
⚠️ TVU Pack 无 `docs/product-context.md` ⇒ validator 对本段 **SKIP + degradation_note**（不阻断）。这是如实降级，⛔ 别读成「字段已核」。

## 5. MVP 范围（owner review）

**做**：单入口 Test Signal · 固定 HD SMPTE 彩条 + 1kHz · 推流中完整 LIVE 视觉 + 遥测 · Stop Test · 中央运行时间码 + 彩条右上循环滚动（注释层表达）。
**不做**：多图案类型 / 可配置参数（FB-9937 排除）· Config-T（无预览界面）· 视频区 TEST 标签（owner 拍；后由 PM 评论重开为方案 A/B 对比 `9530:140`）。
**为什么**：权威 scope 来自关联 bug 的最新评论；无源自检不应被「未选端」挡住入口。
