develop
master
把 develop 上這一輪技能組稽核的修正放行到預設分支。marketplace 與版本前置檢查都讀預設分支,只合到 develop 的話已安裝的 CLI 抓不到任何改動。
本次放行 8 個提交。
內容與 develop 上已合併的各支 PR 相同,這一支只做分支放行,不含新的改動。
各項檢查在合併進 develop 之前已經跑過並通過:腳本語法檢查、語言檢查、腳本結束碼宣告檢查全部無發現,五支 CLI 的冒煙測試皆為正常且結果行數與腳本自己的斷言相符。本支未再新增程式碼,因此沒有新的測試項目。
無。
Reviewed-on: #48
新增第九支 hook,共四種模式。stage 在計畫與分析階段鎖著時擋下寫檔。 review 在稽核類技能執行中擋下寫檔。commit 擋下「一次加入全部變更再提交」的 單一指令,也擋下含簡體字、亂碼或非 UTF-8 編碼的提交訊息。 release 不接 hook,由稽核技能收尾時自己呼叫,清掉認人用的那份紀錄, 讓呼叫端接手修改時不會被剛跑完的稽核擋住。 這三條規則原本只寫在技能內文,靠模型自律。稽核技能會順手改程式碼, 計畫階段會寫出不該寫的檔案,整包提交會把型別與功能分組壓成一次。 規則要真的生效,就得由程式擋。release 模式是必要的:紀錄記的是最近一次 載入的技能,不是還在跑的技能,沒有它,稽核跑完之後呼叫端每一次寫入都被擋, 閘門會把解除自己的路徑一起鎖掉。 接線設定把 stage 與 review 接在寫檔工具,把 commit 接在指令工具。 閘門只讀階段閘門的狀態鎖與技能用量的紀錄,不自己寫狀態檔; 簡繁與編碼判定整段轉呼叫語言守門,不留第二份字表。 接線腳本的接線、唯讀盤點與冒煙各補上這一支,冒煙自備暫時的狀態目錄, 逐條比對每種模式的結束碼。接線腳本另補唯讀模式,體檢類技能全程帶著它跑, 清除與接線一律拒絕並回非零,子命令打錯一個字也改不到環境。 冒煙改成自己數結果行並自我斷言,散文只引用那一行,不再各抄一份數字。 限制據實寫在檔頭:只有 claude 有寫檔前置鉤子,其餘四支 CLI 一條都接不上, 那四支上這三條規則仍只剩技能內文。
異常回報依 wiki 讀取的結束碼分流,只有頁面確定不存在才套範本建新頁。 版本閘門與重啟閘門的豁免清單各補上 hook 修復技能。 階段閘門把計畫階段移出擋人名單,改成只注入提醒。 錯誤掃描的自家 hook 判定補齊九支腳本,並加一條路徑判定。 修復技能與接線技能的內文改成真的走得到的路徑與真的存在的關卡數。 原本 wiki 讀取失敗會一路落到套範本那一步,金鑰失效或 API 出狀況時, 就拿一份空白範本蓋掉整份異常目錄,而寫入不做合併也不留備份,蓋掉就救不回來。 兩道閘門把唯一的 hook 修復路徑一起擋住,hook 一壞就沒有任何方法修回來, 閘門等於鎖掉解除自己的路徑。工作包閘門擋下計畫階段是誤擋: 計畫是純邏輯階段、不碰程式碼,而閘門只知道有 PR 未合併,判不出跟新計畫有沒有關聯。 自家 hook 判定只認得早期那五支,後來加的四支出錯會被當成第三方的,只回報不修正。 修復技能裡三個指向流程的路徑指到不存在的位置,照著走一定撲空; 接線流程寫四道關卡,實際上有五道,兩段中文說明也混在英文內文裡。 異常目錄改成先讀回舊頁、把新列附在文末、再整頁寫回;讀不回來就放棄寫目錄頁並回報, 寧可少一列索引,也不覆蓋別人的紀錄。兩份豁免清單各補一項,理由逐項寫在腳本檔頭。 計畫階段改印提醒後放行,放棄的在製品上限與代價一併寫在檔頭。 自家 hook 判定逐支列出腳本名,再加一條安裝路徑判定,日後新增 hook 忘了補清單也還認得出來。 三個路徑改指到擁有它的技能組,關卡數改成五道並逐關寫明結束碼,兩段中文說明改回英文。 版本閘門在同一次改動另補唯讀的建議子命令,把版本比對表收斂成一行結論, 部署技能不必自己再解一次那張表。
共用函式庫與各支腳本的檔頭各補一段結束碼宣告,逐個子命令寫明哪些情況放行、 哪些情況擋下。說明文件改寫成九支 hook 的現況,補上寫入與提交閘門、唯讀模式、 建議子命令與新的環境變數。異常目錄範本補上「一律附加、不整頁覆蓋」的寫入語意。 呼叫端要靠結束碼決定下一步,但多數腳本只寫用法、沒寫結束碼, 讀的人得自己翻程式碼推,推錯就把安靜降級當成失敗處理。 共用函式庫載不到時,殼層會就地結束並回非零,接在工具呼叫前的閘門遇到這一下 等於無聲擋人,腳本自己的放行路徑一條都跑不到,這件事非寫進每一支檔頭不可。 文件停在八支 hook 的舊敘述,看的人會誤判覆蓋範圍,以為每支 CLI 都擋得住。 目錄頁的寫入語意只寫在腳本裡,換一支工具來寫就會整頁覆蓋。 一支腳本一段檔頭,逐子命令列出結束碼,並各自註明共用函式庫載入失敗會回哪一個碼。 文件的行數一律引用腳本自己印出來的那一行,不另抄一份數字, 判定路徑增減時就不會漂移。覆蓋範圍逐支 CLI 分開寫,接不上的就寫接不上。
三份外掛設定檔的版本一起往上推,描述加上寫入與提交閘門, 相依清單補上 git 與 meta 兩個技能組。 這一輪新增一支 hook,也改了兩道閘門的行為。版本不推上去, 版本前置檢查就看不出機器上載入的是舊版,使用者會拿舊的閘門跑新的流程。 描述是使用者在市集看到的那一行,少一項就會漏掉新閘門。 寫入閘門擋下整包提交時,改法指向 git 技能組的分組流程; 語言規則的正文則在 meta 技能組。這兩個相依本來就成立,只是先前沒有寫進清單。 三份設定檔改成同一個版本,描述與相依清單三份同步, 避免不同 CLI 讀到不一樣的宣告。
重定基底到 develop 後,冒煙測試併入了 sdlc-gate.sh 取模型代號的四條來源 判定,但那支輸出函式沒有自己的計數器,四個預期值也沒跟著加。結果是實際 印出六十四條結果行、四類計數器只算到六十條,收尾的自我斷言當場判定不符, smoke 一律以 exit 4 收場。 補上第五個計數器 smoke_n_model 與對應的 SMOKE_EXPECT_MODEL,計數放在該 函式開頭,連建不出暫存目錄那條也算得到;總數、逐類比對訊息與結果摘要一併 納入模型來源這一類。五支 CLI 的 smoke 都回 status=ok,行數與各類條數三邊 一致。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Reviewed-on: #52
No dependencies set.
The note is not visible to the blocked user.
摘要
把 develop 上這一輪技能組稽核的修正放行到預設分支。marketplace 與版本前置檢查都讀預設分支,只合到 develop 的話已安裝的 CLI 抓不到任何改動。
本次放行 8 個提交。
變更內容
內容與 develop 上已合併的各支 PR 相同,這一支只做分支放行,不含新的改動。
測試結果
各項檢查在合併進 develop 之前已經跑過並通過:腳本語法檢查、語言檢查、腳本結束碼宣告檢查全部無發現,五支 CLI 的冒煙測試皆為正常且結果行數與腳本自己的斷言相符。本支未再新增程式碼,因此沒有新的測試項目。
前置相依
無。