Parent roadmap: #250
目標
消除 MCP tool definitions 與 OpenAI-compatible export 的手寫重複規格,讓新增 format、name 等欄位只需要修改一個 canonical definition。
這是結構整理任務;不得改變現有工具數量、名稱、描述、required fields、defaults 或 runtime 行為。
工作內容
- 將 canonical JSON tool definitions 放在 transport-neutral module。
- MCP advertisement 與 OpenAI-compatible export 都從該 module 取得規格,不再各自手寫。
- Zod/runtime schemas 保持輸入驗證權威。
- 建立完整 parity tests,比較名稱、欄位、required、enum、defaults 與 additionalProperties,而非只比較工具數量。
- 保持產出的 serialized definitions 與目前版本相同;任何差異必須被列出並獨立授權。
- 不新增 registry framework、code generator 或 extension system;使用最少的新概念完成單一來源。
完成證據
相依關係
Blocked by #252 baseline freeze,避免 refactor 影響基準身份。完成後 unblock #254 與 #256。
Parent roadmap: #250
目標
消除 MCP tool definitions 與 OpenAI-compatible export 的手寫重複規格,讓新增
format、name等欄位只需要修改一個 canonical definition。這是結構整理任務;不得改變現有工具數量、名稱、描述、required fields、defaults 或 runtime 行為。
工作內容
完成證據
相依關係
Blocked by #252 baseline freeze,避免 refactor 影響基準身份。完成後 unblock #254 與 #256。