chore: initial snapshot of 2meet-data-optimizer-spoke-addon v0.1.0
Baseline before backporting wp-data-optimizer v3.0.1-v3.4.6. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TbG1keQQ7XBa7qMQY16KCY
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# DESIGN — 2meet Data Optimizer Spoke AddOn
|
||||
|
||||
> 父外掛架構決策見 [`../2meet-data-optimizer/DESIGN.md`](../2meet-data-optimizer/DESIGN.md)
|
||||
|
||||
---
|
||||
|
||||
## 角色定位
|
||||
|
||||
本 AddOn 是 `2meet-data-optimizer` 的整合層,負責將 `2meet-spoke-sso` 的 EAV 模式(postmeta / 自訂表)橋接到核心反 EAV 引擎。
|
||||
|
||||
- **不**修改 `2meet-spoke-sso` 本身
|
||||
- **不**繞過 `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-spoke-sso 本體啟動
|
||||
init:0 核心 fire tmdo_register_* → 本 AddOn 的 callback 執行
|
||||
```
|
||||
|
||||
詳見 plan 文件第 3 章「載入順序」。
|
||||
|
||||
---
|
||||
|
||||
## 為什麼是獨立 AddOn 而非塞進核心
|
||||
|
||||
- 核心 `2meet-data-optimizer` 對外承諾「零依存任何業務外掛」
|
||||
- 整合層發版節奏應跟隨 `2meet-spoke-sso` 而非核心
|
||||
- 站台不用 `2meet-spoke-sso` 時不需被迫載入這段程式碼
|
||||
|
||||
---
|
||||
|
||||
## 邊界檢查清單
|
||||
|
||||
- [ ] 不直接 `SELECT FROM wp_*meta`
|
||||
- [ ] 不繞過 Hook Bus
|
||||
- [ ] 所有 SQL 走 `$wpdb->prepare()`
|
||||
- [ ] DB 表名走 `TMDO_DB::table()`
|
||||
- [ ] 對外只 expose `TMDO_Spoke_*` 命名空間
|
||||
Reference in New Issue
Block a user