Explorar o código

docs(cockpit): 建立票面九项验收证据映射

ChenJZ hai 7 horas
pai
achega
e9bce010bb
Modificáronse 1 ficheiros con 18 adicións e 0 borrados
  1. 18 0
      docs/cockpit-video-lifecycle-acceptance.md

+ 18 - 0
docs/cockpit-video-lifecycle-acceptance.md

@@ -72,6 +72,24 @@ Standards 与 Spec 在不同子代理中独立运行,未用 Lead 的自查替
 
 这四个新增坏响应参数用例后,再次完整 `mvn -o -fae ... test`(无 failure.ignore)通过:**270 + 844 + 22 + 96 = 1232 项**,0 失败/错误/跳过。前面的 1228 项 clean test 是修复前一阶段的真实记录,不覆盖历史。最终日志见[完整确认回归](<E:/pipe-ner-server/.scratch/video03-lifecycle/round-final-confirmation.log>)。
 
+## 票面九项验收证据映射(2026-11-13)
+
+逐项对照 `.scratch/cockpit-video-monitoring/issues/03-三入口统一与观看资源生命周期.md` 第 17–25 行:
+
+| # | 票面要求 | 结论 | 可执行证据 |
+|---|---|---|---|
+| 1 | 三宿主同一入口/唯一面板 | 完成 | `hosts.mjs` 9 项:浮动/无位置固定/地下均经真实 Root→设备详情→最新指标 TAB→监控,断言全局面板唯一 |
+| 2 | 刷新、锚点暂隐不重建 | 完成 | `hosts.mjs:263` 三宿主刷新后同一 `<video>` 节点,prepare=1、stop=0 |
+| 3 | 关闭/离开/切模式/选择失效/离页/隐藏清理并手动恢复 | 完成 | `hosts.mjs:222`(切模式同轮往返)、`journey.mjs:251`(visibilitychange)、`journey.mjs:162`(Escape)、`journey.mjs:85`(选择失效) |
+| 4 | 统一模式切换旧流结束接缝,供历史/云台票消费 | **部分** | 仅覆盖 managed live(`hosts.mjs:222`、`RtpServerLifecycle` 测试);PLAYBACK 仍走 legacy 无代次路径。票面第 38 行明示“未完成的历史/云台功能不作为本票关闭前置”,故不阻断本票 |
+| 5 | 新设备不被旧请求覆盖;取消后迟到响应释放 | 完成 | `session.mjs` 6 项:并发 open、同轮关闭、STARTING 轮询、取消未确认、迟到响应隔离、prepare 归属 |
+| 6 | 媒体已启动但登记失败有补偿;不以未收到 sessionId 推断无资源 | 完成 | `VideoPreparedSqlTransactionTest` 23 项(真实 MyBatis/H2):ACTIVE 落库失败/提交失败/ack 丢失补偿;`bd80b6a4` 补 CREATING→OPEN 回执失败时关闭已建端口 |
+| 7 | 多匿名+既有用户共存,最后一位才回收共享底流 | 完成 | `VideoPreparedSqlTransactionTest` 混合观看用例(两种退出顺序);`VideoLiveSharingTest` 共享回收决策 |
+| 8 | 归属/有效性明确,错误归属不能操作他人资源,清理失败如实等待 | 完成 | `journey.mjs:115`(另一会话的 HTTP 成功不能确认当前清理)、`journey.mjs:333`(清理失败阻断新请求)、后端 `isSipTerminated`/`CLEANUP_PENDING` 语义 |
+| 9 | 三宿主+对抗旅程回归,只记实际完成的合同验证 | 完成(离线) | 前端 43 项 + 后端 1326 项;票面明示物理停止由 06/07 覆盖 |
+
+九项中 8 项完成、第 4 项部分(且按票面切片边界不阻断);物理停止与真实部署不在本票验收范围。
+
 ## 第六轮:契约定案与回执保留期(2026-11-13,仍未关闭)
 
 `a5a0a707`: