docs(spec): artifact-sharing leo 三補點 — deps_summary 搜尋層可見 + author 信譽經濟 + 資料完整性優先於界面

leo review 方向確認後的三個補點(2026-07-07,總管轉達):

1. deps_summary:搜尋結果每項就顯示配套需求(從 dependency_manifest 聚合的輕量摘要,
   submit 時算好存 metadata_json)。low-code 關鍵:判斷「裝不裝」的資訊要在搜尋層,
   不是 pull 之後才發現缺東西。design(R1 模型/端點/R5/驗收)、requirements(US-4/R3)、
   tasks(1.1/1.2/2.2)對應補。
2. author 信譽經濟(market 核心):author= 過濾+作者頁端點(找到 Leo 看到他全部 shares);
   author_reputation=從 per-uuid stat 聚合的衍生視圖、不另立真相源(第一階段查詢時算、
   量大再物化);選版升級為單品+作者信譽複合分(權重待拍板);獎勵層 future 不實作
   (第一階段獎勵=信譽本身;author 綁認證身份列 SaaS/多人市場前置)。design(作者信譽段/
   端點/待拍板 6-8)、requirements(US-9/R3)、tasks(1.3/1.6/5.4/5.5)。
3. 資料完整性優先於界面:新增設計原則段(UI 是未來的皮、record 完整性是現在的責任;
   事件型資料事後不可重建 → pull/submit 事件 day-one append);record 欄位用「未來
   showcase 網站」反推補齊(created_at/updated_at/tags/compat/license,各標必填/自記/可選);
   驗收加可測定義:不看 UI 僅用 record+事件就能重建市場首頁(作者榜/熱門榜/最新發布/配套需求)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015d5jDbuqT5Htwv3Q88XXKk
This commit is contained in:
Leo
2026-07-07 10:15:52 +00:00
parent 29ba85e848
commit df62933fa5
3 changed files with 81 additions and 30 deletions
@@ -14,17 +14,17 @@
### Tasks
- [ ] 1.1 定義 `public_artifact` entry 形狀 + `portable_body` / `dependency_manifest` 型別(三型共用)
- 驗收:TS interface 落在 cypher-executor(或 shared types),涵蓋 recipe/workflow/template 三型 portable_body 的 union。
- 注意:不建新表——entry_type + metadata_json 承載(KBDB 鐵律 D6)。
- [ ] 1.1 定義 `public_artifact` entry 形狀 + `portable_body` / `dependency_manifest` / `deps_summary` 型別(三型共用)
- 驗收:TS interface 落在 cypher-executor(或 shared types),涵蓋 recipe/workflow/template 三型 portable_body 的 union;含完整性欄位 created_at/updated_at/tags/compat/license(各標必填/自記/可選,照 design R1「showcase 反推」清單,一個都不少)
- 注意:不建新表——entry_type + metadata_json 承載(KBDB 鐵律 D6)。事件 entryartifact_pull_event/artifact_submission)形狀一併定義(day-one append,設計原則)。
- [ ] 1.2 `GET /public-artifacts?type=&q=&limit=&offset=`(搜/列,帶 market_stat,落空回創作引導)
- 驗收:type=workflow 投一筆後搜得到、附 market_stat;q 無命中回 `{found:false,type,query,hint}`
- [ ] 1.2 `GET /public-artifacts?type=&q=&author=&limit=&offset=`(搜/列,帶 market_stat + deps_summary + 作者信譽摘要,落空回創作引導)
- 驗收:type=workflow 投一筆後搜得到、附 market_stat **與 deps_summary**(列表層即見「要配哪些 recipe/template/component/credential」);`author=` 過濾回該作者跨型別全部發布q 無命中回 `{found:false,type,query,hint}`
- 注意:邏輯照抄 recipe `/public-recipes`,差別=走 KBDB `/entries/search`entry_type=public_artifact + type filter)而非 KV list。
- [ ] 1.3 `GET /public-artifacts/:type/:canonical_id?author=`(取全文,多作者選市場最佳
- 驗收:多作者版本並存時回 success_count 最高版;落空回創作引導
- 注意:選版邏輯沿用 recipe `fetchMarketStat` per-uuid(泛化為 `/artifact-stats/:uuid` 或復用 recipe-stats)。
- [ ] 1.3 `GET /public-artifacts/:type/:canonical_id?author=`(取全文,多作者複合分選版 + pull 事件
- 驗收:多作者版本並存時回複合分最高版(單品 market_stat+作者信譽;權重待拍板,先以單品為主、信譽當 tiebreak/冷啟動先驗);落空回創作引導;成功取全文 append 一筆 `artifact_pull_event`(誰、何時、哪個 uuid
- 注意:單品數據沿用 recipe `fetchMarketStat` per-uuid(泛化為 `/artifact-stats/:uuid` 或復用 recipe-stats;pull 事件事後不可重建,這條不可延後(設計原則)
- [ ] 1.4 `POST /public-artifacts/submit`(submit-p,新增作者版本 + 存證)
- 驗收:投稿領新 uuid、不覆蓋同 canonical;寫一筆 `artifact_submission` entry;自報 stat 不進真實計數。
@@ -34,6 +34,10 @@
- 驗收:`GET /public-artifacts?type=recipe` 結果與既有 `/public-recipes` 一致(不破現況)。
- 注意:K2——**KBDB 是唯一公庫後端**,KV 轉接非穩態:#16RECIPES KV→KBDB)完成後 `type=recipe` 改走 KBDB、本轉接即拆(見 5.2)。**不改** recipe 既有 `/public-recipes*` 與 KV 儲存(遷移本體=#16 的事)。可延後(先只上 workflow/template,見 §狀態)。
- [ ] 1.6 作者面:`GET /public-artifacts/authors/:name`(作者頁)+ author_reputation 查詢時聚合
- 驗收:回信譽摘要(發布數、彙總 success/failure、最近活躍)+該作者全部發布清單(每項附 market_stat/deps_summary);聚合值與逐 uuid 手算一致(衍生視圖,不另立真相源)。
- 注意:第一階段 compute-on-read(單作者量級小);物化留 5.4。曝光位:搜尋結果作者名旁+作者頁頂部(design 作者信譽段)。
---
## Phase 2:可攜格式 export + 依賴清單
@@ -44,9 +48,9 @@
- 驗收:workflow/template/recipe 各能 export 成 YAMLgrep 不到任何機密值、不含 credential value。
- 注意:workflow 保留 `{{credential.xxx}}` 模板(無值);recipe `credentials_required` 只留 key 名。
- [ ] 2.2 dependency_manifest 產生器:掃 portable_body 抽引用(component/recipe/template/credential
- 驗收:一個引用 http_request+recipe+寫 template+用 credential 的 workflowmanifest 正確列出四類依賴。
- 注意:manifest 在 export/submit 時算好存進 recordimport 端免反解)。這是 import 信任預覽面(K5)。
- [ ] 2.2 dependency_manifest 產生器:掃 portable_body 抽引用(component/recipe/template/credential+順手聚合 `deps_summary`
- 驗收:一個引用 http_request+recipe+寫 template+用 credential 的 workflowmanifest 正確列出四類依賴deps_summary 聚合正確(各類名稱清單,空類空陣列)並存進 record
- 注意:manifest 在 export/submit 時算好存進 recordimport 端免反解)。這是 import 信任預覽面(K5)+搜尋層配套可見(deps_summary,leo 補點)的共同來源
- [ ] 2.3 export 落檔(YAML 預設,JSON 可選)= portable_body + manifest + type/canonical 標頭
- 驗收:export 檔在另一相同部署 import 後可跑(前提零件已具備、credential 已填)。
@@ -98,6 +102,8 @@
- [ ] 5.2(已定案,跟 #16 進度走)recipe 公庫收斂到 KBDB `public_artifact` 拆 1.5 的 KV 過渡轉接
- 注意:K2 已定(KBDB 唯一公庫後端,審查 2026-07-07 對齊 #16);遷移本體由 #16 執行,本項=#16 落地後把 `type=recipe` 切到 KBDB 路徑並移除轉接碼。非阻塞(過渡期 1.5 已能運作)。
- [ ] 5.3(待 leo 拍板 K5)公開公庫場景的 import 軟提示(首次 pull 陌生作者→AI 摘要依賴給人看)
- [ ] 5.4(量大再做)author_reputation 定期物化(cron 聚合寫成標記為快取的 entry;真相仍在 per-uuid stat+事件)
- [ ] 5.5futureSaaS/多人市場前置,不在本 SDD 實作)author 綁認證身份(信譽防冒名、獎勵防盜領)+獎勵機制層(第一階段獎勵=信譽本身:曝光/排序/信任)
---