# 架構決策

> 桶子索引（容器：只連不重寫）。一決策一卡，自包含 + trade-off。
> 新決策由 /wiki-capture 寫進本桶並在此 append 一行。
> 權威全文：`system-dev/docs/2-architecture/decisions/DECISIONS.md`；本桶是 AI 改寫過的可檢索版。

## 零件 / 工作流 / 能力補丁

- [[工作流是default零件是例外]] — 自用→工作流，全生態重用→才零件；「能包」≠「該包」
- [[自力救濟階梯-缺能力怎麼補]] — 自家API缺→補API／第三方→workflow補丁／純計算→code-node
- [[薄殼原則-能力長在API]] — CLI/MCP/lib 只暴露，齊的單位是「能力」不是「端點」
- [[薄殼規則晚於實作-MCP漂移是歷史債]] — 為何 MCP/CLI 不一致：紀律 2026-06-07 才補、補前漂移
- [[薄殼防複發-能力對照表加smoke]] — 防死端點假綠：對照清單 + 本機 smoke（非 CI），自驗能攔
- [[零件退役要清三源]] — 退役/降級零件清示例+parts.ts+（validate是設計）；沒對應 recipe 留 TODO 不硬塞 id（issue #13）

## 串接 / 部署

- [[service-binding-vs-cypher-binding]] — 零件走 HTTP URL，禁新增 service binding
- [[same-zone-1042用flag解不用binding]] — self-hosted cypher 加 global_fetch_strictly_public
- [[R2用途-平台零件不從R2讀]] — 平台零件 bundle 進 Worker，R2 只 Phase 5 用戶自製
- [[self-hosted部署-共享install加指紋跳過]] — root 共享 install + manifest content-hash 跳過未變動
- [[不依賴CI-執行鏈路vs零件投稿]] — 執行鏈路走 local script，零件投稿才走 PR/CI

## credential / recipe

- [[Recipe-UUID市場模型]] — canonical+uuid+author 多維身份，per-uuid 市場數據

## kbdb

- [[embedding是base-optional模組]] — binding 開才啟用，預設關降級 LIKE，精耕只 embed:true
- [[碰舊Mira需求先查頂層覆寫]] — mira 蒸發→當普世缺口，先查頂層 mira-dissolve 覆寫

## 平台目標

- [[Haiku能驅動是設計目標]] — Haiku 過＝設計達成；撞牆是介面缺陷訊號非換模型
