Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
2026-04-18 下午(台北時區)—— ogt + Claude Opus 4.7 (1M)
Live-fire test (report_id=80a34b58) 暴露兩個 bug:
## Bug 1: LLM JSON 被 NEMOTRON wrapper 吞掉
根因: openclaw.call() 經 NEMOTRON 路由時強制回 {description,...} 結構,
我的 prompt 要 {narrative, items} 無法穿透。
(同 1ff3405 早前碰過的 JSON 裸奔問題根源)
修復: 三路 fallback 解析
- Path 1: 直接我們的 {narrative, items}(Ollama 或 LLM 守規矩)
- Path 2: NEMOTRON wrapper,description 巢狀 JSON 含我們結構
- Path 3: description 是純敘述 → 當 narrative + Python fallback_items
## Bug 2: tags 參數 asyncpg DataError
根因: 傳 '{drift,type4d,llm_summary}' 字面量字串,asyncpg 要求 Python list
'(a sized iterable container expected (got type str))'
修復: tags 改傳 ['drift','type4d','llm_summary'] Python list,移除 CAST AS text[]
asyncpg 自動推斷 text[]
Live-fire 結果驗證:
- narrative ✅ 生成(fallback path)
- items ⚠️ 只 1 筆(NEMOTRON 未吐我們結構)
- DB write ❌ tags 型別錯
- Telegram ✅ 送出(雖 fallback 內容但視覺 OK)
本 commit 後預期:
- LLM 回應走 Path 2/3 → narrative + Python fallback items(5 筆 smart summary)
- DB write 成功 → automation_operation_log + ai_collaboration_trace 皆有記錄
- 若 LLM 未來學會走 Path 1(給我們 {narrative, items}),自動升級
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>