Files
Arcrun/system-dev/wiki/principles.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

27 lines
2.6 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.
# principles — 跨全局設計原則(push:CC 行動前必服從)
> 這個檔由 hook 在 session 開始**全文注入**,讓 CC 設計任何東西前都先看見這些準繩。
> 為什麼 push 而非寫成 card:原則是「會被遺忘的盲區」——沒推到眼前,CC 設計時很可能沒想到要服從就做了。
>
> 規則:**一行一條**,精煉成準繩(不是長篇論述)。≤15 條;超過代表某些該合併、或下放成 card。
> 發現新的跨全局原則 → append 一行。累積原則只改這個檔,**不必問用戶開新檔**。
> 區分:原則 = 反覆適用的準繩(這裡);單次選擇 = 決策(寫成 card);踩過的坑 = mistakes.md。
---
## 原則
- **工作流是 default,零件是稀有例外**:自用/少數人 → 工作流;只有「全 arcrun 生態必須重用」才建零件。「能包」≠「該包」。
- **零件只能 WASM**TinyGo 或 AssemblyScript 編譯成 `.wasm``registry/components/` 下禁 TypeScript 業務邏輯。
- **薄殼鐵律**:能力只實作一次放在 APIcypher-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。