fix(agent99): deliver visual lifecycle cards
This commit is contained in:
@@ -50,10 +50,23 @@
|
||||
"safe_next_action": "retain incident, suppress duplicate WOL, verify power/network and exact host identity before recovery close"
|
||||
},
|
||||
"source_change": {
|
||||
"source_verified_at": "2026-07-15T17:30:53+08:00",
|
||||
"gitea_main_deployed": false,
|
||||
"feature_branch_only": true,
|
||||
"windows_ast_error_count": 0,
|
||||
"focused_tests_passed": 82,
|
||||
"host_recovery_focused_tests_passed": 83,
|
||||
"telegram_and_durable_outbox_tests_passed": 140,
|
||||
"telegram_visual_delivery": {
|
||||
"status": "source_verified_not_deployed",
|
||||
"primary_method": "sendPhoto",
|
||||
"duplicate_message_created": false,
|
||||
"send_once_identity_preserved": true,
|
||||
"max_png_bytes": 1048576,
|
||||
"fixed_dimensions": "1200x760",
|
||||
"sha256_required": true,
|
||||
"legacy_text_reuse_false_green_blocked": true,
|
||||
"raw_visual_stored": false
|
||||
},
|
||||
"github_used": false
|
||||
},
|
||||
"secret_value_read": false,
|
||||
|
||||
@@ -2745,3 +2745,28 @@ Bonjour `.80` 位址均失聯。Agent99 已自動 Detect 並執行 allowlisted W
|
||||
|
||||
機器可讀 incident evidence:
|
||||
`docs/operations/agent99-host112-host111-recovery-readback-2026-07-15.snapshot.json`。
|
||||
|
||||
### 16.8 2026-07-15 Agent99 Telegram 視覺事件卡 durable delivery
|
||||
|
||||
Windows99 原本已能產生 1200x760 PNG,但 canonical lifecycle ingress 只送
|
||||
`sendMessage`,因此 evidence 會正確顯示 `visualSent=false`。修正後,Agent99 對已啟用
|
||||
視覺卡的 lifecycle 使用同一 send-once identity 送出單一 `sendPhoto` 主訊息與短 caption;
|
||||
不得再先送長文字、再補一張圖片造成雙倍噪音。
|
||||
|
||||
視覺傳輸合約:
|
||||
|
||||
- 只接受 `agent99_system_drawing_v1` 產生的 PNG;固定 `1200x760`、上限 `1 MiB`,並驗證
|
||||
PNG header、IHDR dimensions 與 SHA-256。不得接收檔案路徑、raw screenshot path、任意
|
||||
media URL、Bot token、raw log 或 secret。
|
||||
- PNG 只在記憶體中經 Agent99 lifecycle ingress 轉成 Telegram multipart;AWOOOI outbox、
|
||||
LOG、KM 與 API receipt 只保存 hash、media type、delivery state 與 provider message ID,
|
||||
`raw_visual_stored=false`。
|
||||
- `sendPhoto` 必須沿用相同 `delivery_id / incident_id / state_key / run_id`、canonical route、
|
||||
reservation、destination binding、provider ack 與 incident reply markup;圖片不是第二條旁路。
|
||||
- caption 必須是繁體中文優先、行動裝置可掃讀,且在 escape 前逐欄 bounded,禁止直接從
|
||||
4096 字文字卡粗暴截斷,避免切斷 HTML entity/tag。
|
||||
- `visual_sent=true` 只在 provider image delivery 與 destination verifier 都通過時成立。
|
||||
舊版文字訊息即使同 identity 回 `sent_reused`,若 outbox 沒有 visual delivery evidence,
|
||||
仍必須回 `visual_sent=false`,不得假綠。
|
||||
- 圖片渲染或傳輸失敗時文字 lifecycle 仍可送達,但 terminal 只能是 partial/degraded,
|
||||
`visualError` 與 `visual_delivery_status` 必須留在 evidence,待同一 incident 後續修復。
|
||||
|
||||
Reference in New Issue
Block a user