# Runtime SDK Spec ## 目標 定義 SDK 的部署、模式、payload 套用與追蹤邏輯,支援網站端實驗運行。 ## SDK 雙模式 ### Edit Mode - 配合 editor 做選取與變更預覽 - 提供 overlay / bridge 事件 ### Runtime Mode - 正式流量分流 - 套用 payload 變更 - 回傳 impression / conversion 事件 ## 部署拓撲 - 商家網站 -> 載入 SDK(CloudFront) - SDK -> 呼叫 FastAPI Runtime API - Origin 由自有 VPS 提供靜態檔 ## 變更規則(DOM Change) - change_type:replace_text / set_attribute / set_style / insert / remove / toggle_visibility - selector 必須穩定可重建 - payload 必須可序列化與回放 ## Assignment 與 Payload - assignment 由 runtime API 決策 - payload 由 release 快照提供 - 套用前必須驗 selector 是否存在 ## 事件策略 - FastAPI 先收事件,再依策略轉送 GA4/GTM - 事件層次:audit event、runtime event、forwarded analytics event ## 風險與檢查 - CSP - iframe / script injection - DOM 穩定性 - style 汙染與 z-index 衝突 - cookie / storage 相容性