What: - 新增「助理運行閘門」一節:規格表、心跳判定的六碼處置、豁免清單十一支。 - 節內另立「fail-closed 閘門的專屬規則」四條,那是準則現在完全沒有的東西。 - 環境變數表補上閘門開關與心跳門檻兩列。 - 三份 manifest 的版本一起提升。 Why: - 整組 hook 的通則是資料不足就放行,這一道相反。例外不點名,後來的人會以為可以隨便再開一道 fail-closed 的閘門,而那種閘門開錯就是整組技能鎖死。 - 豁免清單與腳本檔頭是同一件事實。準則沒有那張表,兩邊就會各走各的,改一支忘了另一支。 How: - 四條專屬規則裡有兩條是這一輪實作時才想清楚的。逃生門的判斷要擺在載入共用函式庫之前——函式庫讀不到時 sh 會就地結束並回擋人的那個碼,逃生門也跟著跑不到,人就繞不過去;這一條只對 fail-closed 成立。豁免清單只收解鎖路徑,方向與重啟閘門相反,那一道解鎖靠閘門外的動作,這一道解鎖靠跑一支技能。 - 「清單認技能名不認呼叫鏈」那一條補了一個更狠的實例:巡檢要先把結果寫上監控頁才寫心跳,只豁免助理自己會做出自咬環。所以新增豁免技能時不只要想它會呼叫誰,還要想那條呼叫鏈上有沒有一步是解鎖條件本身的前置。 - 心跳判定回「檔案系統問不出來」時放行不擋,理由與代價都寫進去了。那一碼與「時間戳壞掉」的差別在有沒有出路。 Who: 助理閘門實作完之後,把當中的判斷收進準則,讓下一道同類閘門有依據。
27 lines
572 B
JSON
27 lines
572 B
JSON
{
|
|
"name": "jsc-meta",
|
|
"version": "0.2.7",
|
|
"description": "技能組自我管理:新建、更新、刪除技能與技能準則",
|
|
"skills": "./skills",
|
|
"author": {
|
|
"name": "JSC"
|
|
},
|
|
"homepage": "https://gitea.jsc.idv.tw/plugins/meta",
|
|
"repository": "https://gitea.jsc.idv.tw/plugins/meta.git",
|
|
"keywords": [
|
|
"jsc",
|
|
"meta",
|
|
"skills",
|
|
"cross-tool"
|
|
],
|
|
"jsc": {
|
|
"requires": {
|
|
"jsc-ask": ">=0.0.6",
|
|
"jsc-cli": ">=0.2.1",
|
|
"jsc-git": ">=0.0.9",
|
|
"jsc-gitea": ">=0.1.8",
|
|
"jsc-hooks": ">=0.3.1"
|
|
}
|
|
}
|
|
}
|