OG T
6baa2e91da
CD Pipeline / build-and-deploy (push) Successful in 10m26s
fix(telegram): 修復死卡按鈕 + 重複渲染 + 智能截斷三連修
問題 1 — 批准/拒絕按鈕消失(死卡)
根因:_build_inline_keyboard 有 alert_category 動態按鈕時走 category 路徑,
approve/reject 行被跳過 → requires_human_approval 卡片無審核扳機
修復:新增 requires_human_approval 參數;True 時強制在動態按鈕後插入批准/拒絕行
影響:decision_manager 傳入 proposal_data.requires_human_review
問題 2 — TYPE-8M 三欄重複渲染
根因:diagnosis/system_impact/probable_cause 全用 reasoning[:100] → 同一段字
修復:新增 _parse_debate_summary(),拆分 debate_summary 的「診斷/方案/安全審查/質疑」
各欄位填入不同語意的組件
問題 3 — 幽靈截斷「質疑:無(通」
根因:粗暴 [:N] 在括號/中文字中間切斷
修復:新增 _smart_truncate(),在句子邊界(。!?;,)截斷,補 …[截斷] 標記
驗證:verify_telegram_ui.py 全部通過(括號平衡 ✅、欄位不重複 ✅、按鈕存在 ✅)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 13:57:42 +08:00
..
2026-03-25 16:08:49 +08:00
2026-04-09 15:05:16 +08:00
2026-03-25 09:26:58 +08:00
2026-03-28 18:51:52 +08:00
2026-04-16 02:54:34 +08:00
2026-03-26 16:06:20 +08:00
2026-04-03 13:22:36 +08:00
2026-04-03 13:22:36 +08:00
2026-04-16 00:03:04 +08:00
2026-04-15 18:56:26 +08:00
2026-04-12 22:50:20 +08:00
2026-04-14 14:39:14 +08:00
2026-04-16 22:57:50 +08:00
2026-04-15 19:21:21 +08:00
2026-04-16 20:07:15 +08:00
2026-04-15 22:28:48 +08:00
2026-03-31 16:25:00 +08:00
2026-04-16 22:57:50 +08:00
2026-04-09 12:26:18 +08:00
2026-04-15 16:06:54 +08:00
2026-04-14 20:34:14 +08:00
2026-04-14 20:43:40 +08:00
2026-04-10 22:35:37 +08:00
2026-03-29 16:00:46 +08:00
2026-03-26 15:32:52 +08:00
2026-03-29 15:57:04 +08:00
2026-03-23 23:51:37 +08:00
2026-04-17 13:57:42 +08:00
2026-04-15 16:06:54 +08:00
2026-03-26 21:55:50 +08:00
2026-04-05 00:39:29 +08:00
2026-04-04 12:35:05 +08:00
2026-04-16 20:50:06 +08:00
2026-04-17 10:27:39 +08:00
2026-04-17 13:28:16 +08:00
2026-04-05 00:22:38 +08:00
2026-03-22 18:57:44 +08:00
2026-04-15 15:34:33 +08:00
2026-04-11 20:45:53 +08:00
2026-03-29 16:00:46 +08:00
2026-04-16 16:26:07 +08:00
2026-04-09 19:10:27 +08:00
2026-04-16 20:50:06 +08:00
2026-04-15 20:57:43 +08:00
2026-04-16 01:42:14 +08:00
2026-04-15 20:05:49 +08:00
2026-03-31 16:06:35 +08:00
2026-04-15 16:06:54 +08:00
2026-04-01 11:11:50 +08:00
2026-03-24 12:57:36 +08:00
2026-03-31 16:06:35 +08:00
2026-04-15 19:51:01 +08:00
2026-04-09 23:36:36 +08:00
2026-04-07 11:17:40 +08:00
2026-04-11 20:45:53 +08:00
2026-03-26 19:25:52 +08:00
2026-03-31 22:47:54 +08:00
2026-03-31 22:47:54 +08:00
2026-04-15 22:28:48 +08:00
2026-03-29 22:17:27 +08:00
2026-03-31 11:23:38 +08:00
2026-03-26 21:55:50 +08:00
2026-04-12 17:52:57 +08:00
2026-04-16 08:54:11 +08:00
2026-04-10 10:43:53 +08:00
2026-04-11 20:45:53 +08:00
2026-04-02 09:02:41 +08:00
2026-04-15 21:00:18 +08:00
2026-04-11 20:45:53 +08:00
2026-04-15 15:34:33 +08:00
2026-04-11 20:45:53 +08:00
2026-04-15 13:08:38 +08:00
2026-03-26 10:01:57 +08:00
2026-04-09 10:52:40 +08:00
2026-04-15 22:29:09 +08:00
2026-03-26 12:49:30 +08:00
2026-04-09 14:55:04 +08:00
2026-03-31 16:06:35 +08:00
2026-04-16 22:34:48 +08:00
2026-04-06 11:46:05 +08:00
2026-04-10 11:35:10 +08:00
2026-04-15 21:09:01 +08:00
2026-04-04 12:02:03 +08:00
2026-04-15 23:49:56 +08:00
2026-04-14 15:19:54 +08:00
2026-04-15 13:08:38 +08:00
2026-04-16 20:50:06 +08:00
2026-04-08 16:36:18 +08:00
2026-04-15 15:47:05 +08:00
2026-04-09 18:34:50 +08:00
2026-03-26 16:03:16 +08:00
2026-04-14 18:46:25 +08:00
2026-03-29 16:00:46 +08:00
2026-04-15 16:06:54 +08:00
2026-04-16 02:46:17 +08:00
2026-04-15 13:08:38 +08:00
2026-04-05 13:40:52 +08:00
2026-03-29 15:27:49 +08:00
2026-04-01 16:20:57 +08:00
2026-04-08 21:47:38 +08:00
2026-04-16 15:35:19 +08:00
2026-03-26 15:32:52 +08:00
2026-03-29 15:27:49 +08:00
2026-04-17 13:57:42 +08:00
2026-03-30 01:52:59 +08:00
2026-03-24 09:20:56 +08:00
2026-03-26 16:06:20 +08:00
2026-04-15 15:47:05 +08:00
2026-04-15 18:56:26 +08:00
2026-03-26 22:13:10 +08:00
2026-04-08 16:36:18 +08:00
2026-04-07 13:02:20 +08:00