# DESIGN — 2meet Data Optimizer Collab AddOn > 父外掛架構決策見 [`../2meet-data-optimizer/DESIGN.md`](../2meet-data-optimizer/DESIGN.md) --- ## 角色定位 本 AddOn 是 `2meet-data-optimizer` 的整合層,負責將 `2meet-collab` 的 EAV 模式(postmeta / 自訂表)橋接到核心反 EAV 引擎。 - **不**修改 `2meet-collab` 本身 - **不**繞過 `2meet-data-optimizer` 核心 - 只透過公開合約(`TMDO_API`、`tmdo_register_*` hook)參與 --- ## 啟動順序 ``` plugins_loaded:4 2meet-data-optimizer (core) 啟動 plugins_loaded:5-6 本 AddOn bootstrap → 註冊 hook callback plugins_loaded:6+ 2meet-collab 本體啟動 init:0 核心 fire tmdo_register_* → 本 AddOn 的 callback 執行 ``` 詳見 plan 文件第 3 章「載入順序」。 --- ## 為什麼是獨立 AddOn 而非塞進核心 - 核心 `2meet-data-optimizer` 對外承諾「零依存任何業務外掛」 - 整合層發版節奏應跟隨 `2meet-collab` 而非核心 - 站台不用 `2meet-collab` 時不需被迫載入這段程式碼 --- ## 邊界檢查清單 - [ ] 不直接 `SELECT FROM wp_*meta` - [ ] 不繞過 Hook Bus - [ ] 所有 SQL 走 `$wpdb->prepare()` - [ ] DB 表名走 `TMDO_DB::table()` - [ ] 對外只 expose `TMDO_Collab_*` 命名空間