跳至主要內容

規則控制鏈

控制層 Version 1.0

概述

SuperPortia EGS(Engineering Governance Spec)v1.2 包含 73 條治理規則,分布在 Hooks、Scripts、LLM/CV Pipeline、Rule 檔案四個控制機制類別中。整體強制覆蓋率為 35.6%(26/73 條為確定性 Deterministic 執行)。

統計摘要

分類數量說明
總規則數73EGS v1.2 全部規則
Deterministic(確定性)26Hook 或 Script 強制執行,無法繞過
Advisory(建議性)46依賴 Agent LLM 遵從,無機械強制
HITL1需要夏哥批准才能執行
Not Enforced1已識別但尚未建立控制機制
有效覆蓋率35.6%26 條 Deterministic / 73 條總計

35.6% 的確定性覆蓋率意味著:每三條規則中,只有一條會在 Agent 嘗試違規時被機械攔截。其餘 64.4% 的規則依賴 Agent 的 LLM 推理能力遵從——這是 Phase 2 治理成熟度提升的主要目標。


Top 20 關鍵規則控制鏈

以下 20 條規則因業務風險最高,被列為優先監控項目。

#規則名稱來源檔案強制類型控制機制擁有者
R-01Deploy Gate — 禁止不帶 --dry-runwrangler deployhooks/deploy-gate.shDeterministicPreToolUse Hook (DENY)Ops
R-02Protect Files — 禁止直接編輯 .env, settings.json, wrangler.tomlhooks/protect-files.shDeterministicPreToolUse Hook (DENY)Ops
R-03Post-Edit Lint — 任何 Edit/Write 後自動 linthooks/post-edit-lint.shDeterministicPostToolUse HookOps
R-04Doc Quality Stop — .md 檔案寫入後必須輸出自檢 Checklisthooks/stop-hook.shDeterministicStop Hook (BLOCK)Ops
R-05Engine Safety Blocklist — 危險操作禁止用便宜引擎agents.yamlDeterministicCode path 覆寫為 claudeOps
R-06WO Lease Gate — 多 Agent 不可同時 accept 同一工單Cloud UB Worker APIDeterministic (DRAFT)API REJECTCloud UB
R-07HITL 支付/刪除/外部發布company-constitution.md §5HITL夏哥確認後方可執行夏哥
R-08五鐵律 — .claude/ 設定只從 ops → ships 單向流動cross-ship-sync.mdAdvisoryRule 教導 + ops repo 審查Ops
R-09PK 核查 — Perishable Knowledge 使用前必須驗證tech-freshness.mdAdvisoryRule 教導All Agents
R-10UB 語言規定 — 所有 UB entry 必須英文ub-governance.mdAdvisoryRule 教導All Agents
R-11MTAAA 分類僅用 Controlled Vocabularyub-governance.mdAdvisoryCV 約束 LLMMTAAA
R-12工單是唯一任務通道 — 無口頭承諾company-constitution.md §3AdvisoryRule 教導All Agents
R-13Session Handoff 必須寫 UB 入庫agent-intelligence-protocol.md §5bAdvisoryRule 教導All Agents
R-14日誌必須寫 60-Daily/YYYY-MM-DD.mdMEMORY.mdAdvisoryRule 教導小克
R-15Pre-Flight Check — 非瑣碎任務執行前評分 0-6authority-trust-boundaries.mdAdvisoryRule 教導Chief Eng.
R-16Research-Before-Plan — 計畫前必須驗證技術時效性agent-intelligence-protocol.md §6AdvisoryRule 教導All Agents
R-17GSTA 對齊 — 所有報告必須引用 Goal/Strategygsta-alignment.mdAdvisoryRule 教導All Agents
R-18Compaction Recovery — 壓縮後不得問「我們在做什麼」compaction-recovery-protocol.mdAdvisoryRule 教導All Agents
R-19Doc Compression 禁止 — 禁止只寫摘要的文件documentation-standards.mdAdvisory + HookStop Hook (BLOCK if no self-check)All Agents
R-20Project Creation Gate — 新專案必須跑 /create skillproject-creation-gate.mdAdvisory + Scriptverify-project-scaffold.shAll Agents

控制機制分類

Hooks(15 個)

PreToolUse、PostToolUse、Stop Hook 三類,在 Agent 操作前後或結束前攔截。

Hook 檔案觸發時機效果
deploy-gate.shPreToolUse / BashDENY:wrangler deploy/publish 無 —dry-run
protect-files.shPreToolUse / Write+EditDENY:.env*, settings*.json, wrangler.toml
post-edit-lint.shPostToolUse / Edit+WriteRUN:eslint/pylint/tsc on edited file
stop-hook.shStopBLOCK:.md 寫入無 Doc Quality Self-Check
check-print-pollution.shPostToolUseWARN:偵測 console.log 殘留
enforce-venv-python.shPreToolUse / BashDENY:python 未在 .venv 執行
ub-ingest-quality.shPostToolUseWARN:UB entry 缺少必要欄位
session-start.shSession StartRUN:heartbeat + mailbox check
git-commit-format.shPreToolUse / Bash (git)DENY:commit message 不符合格式
changelog-gate.shPreToolUse / Bash (git)DENY:commit 前 CHANGELOG.md 未更新
wo-status-gate.shPreToolUseCHECK:工單狀態推進合法性
cross-ship-file-guard.shPreToolUse / WriteWARN:在非 ops repo 的 .claude/ 內直接寫入
adr-naming-check.shPostToolUse / WriteWARN:ADR 命名不符合 0001-short-title.md 格式
vault-write-guard.shPostToolUse / WriteCHECK:Vault note 無 frontmatter
engine-override.shPreToolUseDENY+OVERRIDE:危險操作強制升級引擎

Scripts(10 個)

排程或手動執行,不在 Hook 鏈中。

腳本用途執行方式
verify-project-scaffold.sh新專案 EGS 合規性驗證手動 / 新專案建立後
sync-sources.shDocs Site 從 Source repos 同步生成頁面手動 / 每次 rule/skill 修改後
sync_from_ssot.shSS2 從 ops repo 同步 .claude/手動 / ops push 後
text_batch_runner.pyMTAAA 文字類 UB entry 批次分類未建置(Task #69
boiler_grandpa_v2.pyMTAAA 分類排程(每 5 分鐘)launchd 排程
sre-patrol.sh服務健康巡邏launchd 排程(每 15 分鐘)
sre-dispatch.sh偵測異常後自動建立 WOlaunchd 觸發
tokscale跨 Agent Token 用量追蹤手動
ccusageClaude 專屬用量追蹤手動
backup-vault.shVault 備份(計畫中)計畫中(G-13)

LLM/CV(1 個)

機制用途說明
MTAAA boiler_grandpa + CVUB entry 自動分類LLM(DeepSeek V3)從 Controlled Vocabulary 選擇 Topic/Type/Lifecycle。非確定性但有詞彙表約束。

Rule 檔案(46 條 Advisory)

.claude/rules/*.md 中的 Advisory 規則,依賴 Agent LLM 在每個 session 載入並遵從。這 46 條規則缺乏機械強制,是目前治理成熟度的主要差距來源。


強制執行差距分析

以下 Advisory 規則風險最高,建議優先轉換為 Deterministic 控制:

規則當前類型建議轉換方式優先級
R-08 五鐵律(ops wins)Advisorycross-ship-file-guard.sh 升級為 DENYHIGH
R-10 UB 語言規定Advisoryub-ingest-quality.sh 加 language checkMEDIUM
R-12 工單唯一通道AdvisoryPAM 整合後自動偵測口頭任務LOW
R-13 Session HandoffAdvisoryStop Hook 加 handoff existence checkHIGH
R-16 Research-Before-PlanAdvisoryPK timestamp 追蹤 + Hook 提示MEDIUM
R-17 GSTA 對齊AdvisoryStop Hook 加 GSTA mention checkLOW

合規審計證據來源

每條規則的執行是否生效,可從以下來源取得證據:

證據來源涵蓋規則類型查詢方式
Hook 執行日誌Deterministic (Hooks)~/.claude/logs/hooks/YYYY-MM-DD.log
UB entry 標籤Advisory (ingestion)search_brain("tag:decision")
Git commit historyDeploy Gate / Changelog Gategit log --all --oneline
Cloud UB WO 狀態流WO Lease Gatelist_work_orders()
MTAAA 分類記錄LLM/CVsearch_brain("MTAAA classified")
tokscale / ccusageCost Awarenesstokscale models / npx ccusage session
boiler_grandpa 執行日誌MTAAA Auto-classify~/Documents/superportia-ub-pipeline/logs/
Vault note frontmatterVault Write Guardobsidian search type: 查詢