Quellcode durchsuchen

docs(cockpit): 记录第五轮双轴审查缺陷修复

ChenJZ vor 7 Stunden
Ursprung
Commit
421437b1cc
1 geänderte Dateien mit 19 neuen und 0 gelöschten Zeilen
  1. 19 0
      docs/cockpit-video-lifecycle-acceptance.md

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

@@ -72,6 +72,25 @@ 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,仍未关闭)
+
+独立双轴审查指出的三处确定缺陷,已修复并各自补回归(均先在测试中失败,再修复):
+
+| 提交 | 缺陷 |
+|---|---|
+| `2b7ca8e0` | **终拒收敛实际是死代码**:`refused` 在 `expected == null`(终拒时必然如此)下恒为 false,守卫第二项恒真,即使 RTP 已关也永久 Pending;且终拒证据写盘晚于 `errorEvent`。现改为直接查终拒证据、并把写盘提到回调之前;新增“486 + 真实 RTP 已关 ⇒ stopManaged()==true”端到端用例 |
+| `b8c57b35` | **peer BYE 证据写失败即跳过 RTP 回收**:对端已 BYE、媒体仍开。现改为先收口媒体,仅在证据未持久时保留 Invite/dialog(不冒充 SIP 终止确认);新增回归 |
+| `bd80b6a4`(前批) | ZLM 已创建端口但回执 CAS 失败时静默泄漏;同名新分配被直接删除 |
+
+最新完整后端回归:**291+851+22+161 = 1325 项**,0 失败/错误/跳过,BUILD SUCCESS(`round9-peer-reclaim-reactor.log`)。
+
+**仍未解决(不掩盖)**:
+
+1. `VideoLifecycleService` 的 `STOPPED` 与 `allocationClosed` 契约:审查两次指出,我两次尝试收紧都破坏既有用例、已回退。需要先定契约(适配器返回 `STOPPED` 本身是否即终止证据),再动代码。
+2. 审查指出的**无界 Redis 键增长**:`SIP_RECOVERY_V1:*` 与 `video:stop-receipts:v1:*` 全仓无 TTL、无清理任务。这是真实长期运行风险,我尚未处理。
+3. `SipInviteSessionManager.removeByCallId` 仍是先读后删的非原子旧实现,`SIPCommander` 仍在调用它,与双索引原快照 CAS 目标矛盾。
+4. 规模性问题(内联全限定类名 59 处、`managed_` 前缀判定散落 28 处、`stopManaged` 单方法过长)只作判断题记录,未重构。
+
 ## 第四轮:规范审查修复(2026-11-13,仍未关闭)
 
 独立 Standards 复核指出的确定问题已修复并提交(未推送):