import json
from datetime import datetime

with open('/tmp/case3_analysis_2026-11-11.json', 'r') as f:
    data = json.load(f)

# ── 第二步：Alert 逐筆分析 ──────────────────────────────────────────
alert_analyses = {
    1: {
        "analysis": "NVDA/Mercor.io 股權出售 — Siegfried 無持倉，LOW 置信度，交易方向模糊（同時含買入/賣出信號）。Mercor.io 為 AI 招聘新創，與 Siegfried 供應鏈金融業務無直接關連。無須追蹤。",
        "scf_impact": "none",
        "risk_level": "low",
        "recommended_action": "MONITOR",
        "verification_level": "LOW — 無持倉，無後續行動"
    },
    2: {
        "analysis": "AstraZeneca 收購 Omniose（臨床前疫苗生技）。SCP5 持倉 USD 10M。AZN 評等：Moody's A1（正面展望）、S&P A+（穩定），Q3 2026 淨負債/EBITDA 僅 1.2×，財務空間充裕。Omniose 係小型臨床前收購，財務條款未披露，對評等影響中性至微正。SCF 收款風險：可忽略。短期內無降評風險。",
        "scf_impact": "negligible — AZN 財務指標穩健，此收購不影響付款能力",
        "risk_level": "low",
        "recommended_action": "MONITOR",
        "verification_level": "MEDIUM — 有持倉 USD 10M，定期追蹤 AZN 評等即可"
    },
    3: {
        "analysis": "Siemens 收購 Lauterbach GmbH（嵌入式軟件調試工具廠商）。SCF + SCP6-2 合計持倉 USD 19.96M（SCF USD 11.86M + SCP6-2 USD 8.10M）。SIE 評等：Moody's Aa3/P-1（穩定）、S&P AA-/A-1+（穩定）。收購價未披露，但分析師預期整合後 D/EBITDA 維持遠低於 1.5×，現金流生成強勁。半導體設計/驗證策略性補強，非大規模槓桿擴張。SCF 付款能力不受影響。",
        "scf_impact": "negligible — Siemens 信用評等優異，此收購為策略性補強，不影響流動性",
        "risk_level": "low",
        "recommended_action": "MONITOR",
        "verification_level": "MEDIUM — 最大單一持倉 USD 19.96M，維持例行監控"
    },
    4: {
        "analysis": "LLY/Kesmalea 股權出售 — Siegfried 無持倉，LOW 置信度，交易方向模糊。Kesmalea Therapeutics 係小型生技，LLY 財務影響可忽略。無須追蹤。",
        "scf_impact": "none",
        "risk_level": "low",
        "recommended_action": "MONITOR",
        "verification_level": "LOW — 無持倉，無後續行動"
    },
    5: {
        "analysis": "0QGU LI（疑似 Vonovia SE ADR）合資企業移除。Siegfried 無持倉。交易方向 UNKNOWN，細節不明。無須追蹤。",
        "scf_impact": "none",
        "risk_level": "low",
        "recommended_action": "MONITOR",
        "verification_level": "LOW — 無持倉，無後續行動"
    }
}

for alert in data['alerts']:
    idx = alert['index']
    if idx in alert_analyses:
        alert.update(alert_analyses[idx])

# ── 第三步：WhiteList HIGH 深度巡查 ───────────────────────────────────
data['whitelist_deep_scan'] = {
    "run_date": "2026-11-11",
    "high_severity_analysis": [
        {
            "company": "Kimberly-Clark Corp.",
            "funds": ["SCP2", "SCP5", "SCP6-2"],
            "current_ratings": {
                "sp": "A（負面展望）",
                "moodys": "待確認（S&P 負面展望已確認）",
                "sp_short_term": "A-1"
            },
            "distance_to_threshold": "S&P A → BBB+ 需降 2 格。當前負面展望表示 12-24 個月內可能降至 A-（仍在門檻以上）。若整合失敗、2年後槓桿仍高於 ~2×，才會觸及 BBB+ 降評風險。",
            "leverage_status": "收購日槓桿 3.0×；公司目標 2028 年底達 2.0× 淨槓桿；S&P 要求 2 年內回落至低 2× 區間，否則降評。",
            "forced_exit_trigger": "若 S&P 降至 BBB- 以下，Siegfried 需強制退出此買家持倉。目前距 BBB- 有 3 格緩衝，非即時風險，但負面展望須持續追蹤。",
            "scf_specific_risk": "高度整合風險：Kenvue ERP 整合 2029 年完成前，應收帳款管理（收款天數、扣帳爭議）可能出現波動。Q3 零售商去庫存已拖累有機增長 130bps。若 Siegfried 在 SCP2/SCP5/SCP6-2 有應收帳款，需監控付款準時性。",
            "exposure_estimate": "持倉基金：SCP2、SCP5、SCP6-2（金額待確認）",
            "recommendation": "INVESTIGATE",
            "recommendation_detail": "需 Derek 確認 KMB 在各基金的當前餘額及到期日。S&P 負面展望 + 3.0× 槓桿 = 信用邊際壓力上升。建議：(1) 新增業務暫緩；(2) 設定槓桿觸發器（若 2027 Q2 財報槓桿未降至 2.5× 以下則升級評估）；(3) 優先使用短期限工具。"
        },
        {
            "company": "Hyundai Mobis Co., Ltd.",
            "funds": ["SCP2", "SCP5", "SCP6-2"],
            "current_ratings": {
                "sp": "無 2026 直接評級行動（待確認）",
                "moodys": "Baa2（正面展望）— 2026 年 1 月修訂",
                "note": "Moody's Baa2 = S&P BBB，低於 Siegfried 門檻 Baa1/BBB+"
            },
            "distance_to_threshold": "⚠️ 重要：Moody's Baa2 = BBB，已低於 Siegfried 門檻 Baa1（BBB+）。正面展望意味 Moody's 可能在未來升至 Baa1，屆時才達門檻。當前評等嚴格而言低於 Siegfried 投資等級標準。",
            "spin_off_credit_impact": "燈具業務分拆（2027 年 4 月）+ 出售予 OPmobility（~€4 億，2027 下半年）。S&P 認為 OPmobility 此收購不增加其槓桿，對 Hyundai Mobis 而言，剝離低利潤率資本密集業務並回收現金，信用中性至微正。",
            "nov24_shareholder_vote": "2026 年 11 月 24 日股東特別大會：若異議股東申購超 KRW 2,300 億，交易可能撤回。需監控投票結果。",
            "scf_specific_risk": "應收帳款正在擴大（預測 ₩14.6 兆 vs 2024 年 ₩9.9 兆）。Q3 India 廠房火災造成 ₩287 億營業損失，顯示運營中斷風險存在。二、三線供應商流動性壓力上升（₩5,000 億保證計劃覆蓋高風險供應商）。",
            "forced_exit_trigger": "若 Moody's 由 Baa2 降至 Baa3（BBB-），Siegfried 需強制退出。當前正面展望方向相反，但需監控評等是否維持。",
            "recommendation": "MONITOR",
            "recommendation_detail": "Moody's 正面展望是關鍵正向信號，分拆方向對信用中性。建議：(1) 2026 年 11 月 24 日後跟進股東大會結果；(2) 確認 Siegfried 信用框架是否允許 Baa2（若僅接受 Baa1+，需立即升級評估）；(3) 監控 Moody's 是否在 2027 年升評至 Baa1。"
        },
        {
            "company": "Haleon PLC",
            "funds": ["SCP6-2"],
            "current_ratings": {
                "sp": "BBB+（穩定展望）",
                "moodys": "A3（穩定展望）",
                "sp_short_term": "A-2",
                "moodys_short_term": "P-2"
            },
            "distance_to_threshold": "🔴 S&P BBB+ = 正好在 Siegfried 門檻邊緣。任何一格降評至 BBB，Siegfried 需評估是否退出。Moody's A3 有更多緩衝（距 Baa1 有 3 格）。",
            "china_centrum_risk": "Centrum OTC 中國暫停進口：FY2025 年收入 £7,500 萬，Q3 2026 拖累有機增長 ~50bps，Q4 2026 + 2027 全年持續影響。Jefferies 估計 2027 年營業利潤損失 ~£5,000 萬（EPS 影響 ~2.5%）。管理層稱短期無回市場路徑。",
            "guidance_cut": "FY2026 有機增長指引由 3-5% 下調至 ~2.5%。槓桿當前 ~2.5×（淨負債 £75 億），符合管理目標範圍。3 月 2027 有 $20 億到期債務需再融資。",
            "forced_exit_trigger": "若 S&P 降至 BBB（BBB+下一格），Siegfried 需立即啟動退出評估。當前穩定展望尚無降評信號，但 China 問題長期持續 + Q4 再次低於指引，S&P 可能重新審視。",
            "recommendation": "INVESTIGATE",
            "recommendation_detail": "S&P BBB+ 在門檻邊緣，不能視而不見。建議 Derek：(1) 確認 SCP6-2 對 Haleon 當前餘額及到期日；(2) 若 Q4 2026 業績再次低於指引，立即上報 Silver；(3) 新業務暫緩；(4) 設定 S&P 展望由穩定轉負面為 ESCALATE 觸發點。"
        }
    ],
    "proactive_risks": "（本批次 wl_monitor_latest.json 中無 proactive_risks 欄位，以 MEDIUM findings 代替，各已在 case3_summary 列出。如需個別 1 次 web_search 分析，請在下次排程加入。）"
}

# ── 第四步：UnitedHealth 持續監控更新 ─────────────────────────────────
data['continuous_monitor'] = [
    {
        "name": "UnitedHealth Group",
        "ticker": "UNH US",
        "has_alert": False,
        "alert_count": 0,
        "as_of": "2026-11-11",
        "doj_investigation": {
            "status": "持續中，尚無結案或起訴公告",
            "latest": "2026 年 1 月 12 日美國參議院司法調查報告指控 UNH 透過家訪評估及圖表審查等方式虛增 Medicare Advantage 風險調整付款；CMS 擬自 2027 年起排除未關聯圖表審查診斷於風險計算中。聯邦法官允許投資者訴訟繼續（不代表已裁定違法）。DOJ 未公開宣布任何正式起訴或和解。",
            "severity": "medium — 調查尚無結論，主要後果仍是國會審查 + CMS 規則收緊 + 私人訴訟，非即時刑事暴露"
        },
        "credit_ratings": {
            "sp": "A+（負面展望）— 12-24 個月內若槓桿未回落至 ~40% FFO/Debt，S&P 可能降一格至 A",
            "moodys": "A3（負面展望）",
            "fitch": "A（穩定展望）",
            "summary": "S&P 與 Moody's 均為負面展望，顯示信用邊際壓力。核心問題：醫療成本高企 + Medicare Advantage 利潤率壓縮 + DOJ 調查不確定性。距 BBB+/Baa1 門檻仍有多格緩衝（A 級以上），非即時退出觸發點。"
        },
        "siegfried_exposure": "查無持倉記錄（非 Siegfried SCF 買家）",
        "scf_impact": "none — UNH 非 Siegfried 供應鏈金融買家，持續監控為資訊性追蹤",
        "risk_level": "medium",
        "recommended_action": "MONITOR",
        "monitoring_frequency": "每週（DOJ 進展 + 季報追蹤）",
        "next_milestone": "UNH Q3 2026 財報（如未公布）+ DOJ 任何公開聲明"
    }
]

# ── 寫回 JSON ──────────────────────────────────────────────────────────
data['analysis_completed_at'] = datetime.now().strftime('%Y-%m-%dT%H:%M:%S+08:00')
data['analysis_version'] = "v2 — web_search 深度分析完成"

with open('/tmp/case3_analysis_2026-11-11.json', 'w') as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

print("✓ JSON updated successfully")
