權限邊界與信任區域
控制層 •
Version 1.0 •
概述
SuperPortia 使用五個信任區域來管理誰能寫什麼、經過什麼門、在什麼政策下、用什麼回滾路徑。
五個信任區域
Zone 0 — 夏哥專屬 (Captain Only)
可執行操作:
- Production deploy 審批
- 工單 approve/reject/cancel
- Protected file 編輯(.env, wrangler.toml, settings.json, settings.local.json)
- 付款、永久刪除、外部發佈
- Agent 設定授權
執行機制:
| 控制項 | 類型 | 效果 |
|---|---|---|
deploy-gate.sh | PreToolUse Hook | DENY — 擋 wrangler deploy 不帶 —dry-run |
protect-files.sh | PreToolUse Hook | DENY — 擋 .env, settings.json 編輯 |
Zone 1 — 首席工程官 (Chief Engineer — Claude Code CLI Opus)
可自主執行:
- 所有編碼、測試、本地檔案編輯(protected files 除外)
- UB 入庫、查詢、搜尋
- 工單建立、狀態推進至 review(不含 approved)
- 架構決策、任務委派
wrangler deploy --dry-run(允許)
需夏哥確認:
wrangler deploy/publish(production)- 編輯 protected files
- 付款、永久刪除、外部發佈
Zone 2 — 執行者 (Executors — Sonnet/Codex/Gemini)
- 編碼和實作指派的工單
- 本地檔案操作(限範圍內 repo)
- UB 讀寫
- 工單狀態更新(限指派的工單)
- 必須與首席工程官對齊後才能向夏哥提案
Zone 3 — 情報/研究引擎 (Intel — Groq/Gemini/DeepSeek/Mistral)
- 研究、網路搜尋、分析、摘要
- 結果回傳首席工程官
- 不可:file_write, file_delete, shell_exec, code_edit, git_push, deploy
- 執行機制:
engines.yamlsafety blocklist + 自動覆寫為 claude(DETERMINISTIC)
Zone 4 — 雲端自動化 (Cloud Workers / Automation)
- UB Worker: ingest, FTS, vectorize, promote
- boiler_grandpa: 拉 pending → 分類 → promote(每 5 分鐘)
- launchd 排程服務
- 不可:工單寫入、部署、設定編輯
寫權限矩陣
| 資料存放區 | 夏哥 | Chief Eng. | Executor | Intel Engine | Cloud Worker |
|---|---|---|---|---|---|
| Cloud UB entries | RW | RW | RW (ingest) | — | RW (API) |
| Cloud UB WO approve | RW | R | R | — | — |
| GitHub push main | RW | RW | RW (branch) | — | — |
| Obsidian Vault | RW | RW | RW (CLI) | — | — |
| .claude/ config | RW | — | — | — | — |
| .env / secrets | RW | — | — | — | — |
| CF Pages deploy | RW (approve) | RW (preview) | — | — | — |
| Local filesystem | RW | RW | RW (worktree) | R | — |
控制項清單
| 控制項 | 類型 | 觸發 | 效果 | 執行方式 |
|---|---|---|---|---|
| deploy-gate.sh | PreToolUse/Bash | wrangler deploy/publish | DENY | Deterministic |
| protect-files.sh | PreToolUse/Write+Edit | .env* etc. | DENY | Deterministic |
| post-edit-lint.sh | PostToolUse/Edit+Write | 任何編輯 | lint | Deterministic |
| Doc Quality Stop hook | Stop | .md 沒有自檢 | BLOCK | Deterministic |
| Engine safety blocklist | Code path | 危險操作用便宜引擎 | 覆寫為 claude | Deterministic |
| WO lease gate | API | accept→in_progress 無 lease | REJECT | DRAFT |
| Pre-Flight Check | Rule | 非瑣碎任務 | 評分 0-6 | Advisory |
| Five Iron Rules | Rule | .claude/ 在非 ops repo 編輯 | ops wins | Advisory |