558e80b4da
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>
2.6 KiB
2.6 KiB
principles — 跨全局設計原則(push:CC 行動前必服從)
這個檔由 hook 在 session 開始全文注入,讓 CC 設計任何東西前都先看見這些準繩。 為什麼 push 而非寫成 card:原則是「會被遺忘的盲區」——沒推到眼前,CC 設計時很可能沒想到要服從就做了。
規則:一行一條,精煉成準繩(不是長篇論述)。≤15 條;超過代表某些該合併、或下放成 card。 發現新的跨全局原則 → append 一行。累積原則只改這個檔,不必問用戶開新檔。 區分:原則 = 反覆適用的準繩(這裡);單次選擇 = 決策(寫成 card);踩過的坑 = mistakes.md。
原則
- 工作流是 default,零件是稀有例外:自用/少數人 → 工作流;只有「全 arcrun 生態必須重用」才建零件。「能包」≠「該包」。
- 零件只能 WASM:TinyGo 或 AssemblyScript 編譯成
.wasm,registry/components/下禁 TypeScript 業務邏輯。 - 薄殼鐵律:能力只實作一次放在 API(cypher-executor);CLI/MCP/lib 只做介面轉換 + 暴露,不自帶業務邏輯、不拼裝、不用 recipe 補 API 缺口。
- cypher-executor TS 不碰 credential/auth/JWT/template 展開:這些全在 WASM 零件;crypto.subtle 只准出現在 wasi-shim.ts 的 host function。
- Cypher binding = YAML 的 URL 清單,不是 Cloudflare service binding;零件串接走 HTTP URL,禁新增
[[services]]。 - arcrun 不做授權判斷:能否打通由發 API key 的服務裁決,401/403 是對方行使授權、不是 arcrun bug。
- arcrun 是 AI 呼叫的工具(AI→工具),不是工具回頭呼叫 AI;判斷/轉換由操盤的 CC 自己做,工作流不內嵌 LLM 節點。
- 誠實不假綠:stub/未實作回
success:false或標 unimplemented,不 mock 充綠燈;完成=客觀證據(exit code / HTTP status + trace),不是口頭宣布。 - 不代替人類做風險確認:建零件、暴露資料需人類明示同意;非 TTY 直跑就拒絕,不自己塞 flag 假裝人類同意。
- 部署繞開 GitHub:走
scripts/local-deploy.sh/wrangler 直推,不用 GitHub Actions(避免再被 flag)。 - 任何 code 變動前先讀對應 SDD 並宣告:找不到對應 SDD → 停手問 richblack,不自行新建。
- 每完成一個 task 立刻更新 tasks.md
[x],不批次。 - 缺能力的自力救濟階梯:自家 API 缺→補 API;第三方 API 缺→workflow/code-node 補丁(非建零件);純計算→code-node;真需新穩定能力才零件 PR。