Files
Arcrun/system-dev/wiki/cards/decisions/Recipe-UUID市場模型.md
T
uncle6me-web 558e80b4da chore(wiki): wiki-init 補骨架 + system-dev-template 安裝/更新腳本
wiki 已初始化過(push 檔活躍維護),本次補從沒建的 pull 層 + arcrun 化範本:
- cards/decisions/ 14 張決策原子卡(含 gloss/實體/typed-edge 三元組):
  從 decisions-summary 全量改寫 13 + 新增「薄殼規則晚於實作-MCP漂移是歷史債」1
- TAXONOMY 從 PKM 範本換成 arcrun 軸(子系統 零件架構/cypher/credential/recipe/kbdb/
  薄殼/部署/平台原則 + 形態 架構決策/踩坑/機制說明/禁令/案例經驗)
- principles 填 13 條跨全局原則(從 rules/ + mindset 蒸餾)
- INDEX 真實視圖(子系統角度 + 決策角度,指向 cards)
- system-dev/scripts/ + scripts/ install/update 安裝腳本(template 接入)

純基建/文檔,無業務 code(功能 code 見前一 commit)。
raw source(docs/)0 異動、wiki 卡際連結無斷鏈。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 17:53:37 +08:00

45 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
tags: [recipe, 平台原則, 架構決策]
gloss: 多作者同 canonical recipe 用 UUID 並存,市場統計 per-uuid 區分版本,用戶 pull 時自動選最佳版本或按 author 指定。
---
# Recipe UUID 市場模型
← [[decisions/00-INDEX]]
**來源**`system-dev/wiki/decisions-summary.md`Recipe UUID 模型)、`docs/3-specs/arcrun/kbdb-base/` design.md §7.5
**最後更新**2026-06-27
## 摘要
Recipe 的身份由 canonical_id + uuid + author 三維度組成。同一 canonical 的多個版本用不同 uuid 存在 D1,市場統計(成功率)per-uuid 記錄,用戶 pull 時自動選市場最佳版本或明確按 author 指定。
## 重點
- **舊模型(已廢)**canonical_id 是唯一鑰匙,新版覆蓋舊版,多作者無法共存。
- **新模型(UUID**
- `canonical_id`:服務名標籤(gmail_send
- `uuid`:版本身份(Leo 的 gmail_send ≠ John 的 gmail_send
- `author`:誰寫的
- 真正的 KV/D1 鑰匙 = `recipe:{uuid}`
- **App Store 設計**
- `acr recipe pull gmail_send` → 後端搜 canonical_id=gmail_send 的所有 uuid → 按市場統計排序 → 回傳成功率最高的版本(自動選)
- `acr recipe pull gmail_send --author john` → 明確指定 John 的版本
- **市場統計 per-uuid**:每個 uuid 的 execution stat 分開記錄(success/fail/latency)→ 才能區分作者貢獻
- **向後相容**:舊 workflow 用 canonical_id → resolveRecipe 要能找到;migrate-uuid endpoint 把舊 key 轉新 uuid(冪等)
- **暴露警示**mindset §6):新 `submit-recipe` 需要用戶明示同意暴露(讓市場統計追蹤效果)
## 實體
- **Canonical ID**(规范ID)— 服務名標籤(gmail_send、slack_post),用於搜索,不是 KV 鑰匙。
- **UUID**(通用唯一標識符)— Recipe 版本身份,真正的 KV/D1 鑰匙 `recipe:{uuid}`
- **Author**(作者)— Recipe 的創作者身份,用於區分多作者同 canonical 的版本。
- **Market stat**(市場統計)— per-uuid 的成功率/失敗率/延遲,用於自動版本選擇。
- **App Store**(應用市場)— 公開 recipe 倉庫及版本選擇機制。
## 關聯
### 內文知識關係
- Canonical ID >> 標籤 >> UUID 群組
- UUID >> 記錄 >> Market stat
- Market stat >> 驅動 >> 自動版本選擇
- Author >> 並存於 >> 同 canonical 不同 UUID
- 舊 workflow >> 需要 >> 向後相容
### 卡片關係
- (相關 memory`recipe-trust-via-market-not-verification` — recipe 信任靠市場非人力防偽;屬 auto-memory 非 card