發佈 jsc-hooks 0.0.5:SDLC 階段閘門程式化與包裝啟動器 #8
2 Participants
Notifications
Due Date
No due date set.
Blocks
Depends on
#7 發佈 jsc-sdlc 0.0.5:階段閘門程式化、分支確認與交接優先
plugins/sdlc
#7 feat(sdlc-gate): 階段閘門改為能力標籤程式判定,模型不符即擋下該輪提示
plugins/hooks
#6 發佈 jsc-cli 0.0.4:模型能力標籤閘門與階段模型路由
plugins/cli
Reference: plugins/hooks#8
Reference in New Issue
Block a user
本 PR 內容
把
develop累積的變更發佈到master,發佈版本 0.0.5。目前領先 master 的 commit
b8d0be9Merge pull request 'fix/sync-marketplace-and-hooks-install-script' (#6) from fix/sync-marketplace-and-hooks-install-script into develop69eee91feat(hooks-install): 將 hooks-install 的 CLI 佈線邏輯抽離為腳本c4909e1fix(marketplace): 修正 marketplace.json 與正典註冊表不同步的欄位缺漏125005dMerge pull request 'feat/sdlc-model-lock-and-wrapper' (#5) from feat/sdlc-model-lock-and-wrapper into developaae0516chore(manifest): 三份 manifest 升版至 0.0.3bdfb461docs(hooks-install): 更新四支 hook 的接線說明與文件8a95bd2feat(ste100): 加入送出前自我檢查清單bb91cc2feat(wrapper): 新增無 Hook CLI 的包裝啟動器與日誌回填05b3779feat(sdlc-gate): 新增 SDLC 每 session 模型鎖 hook待納入(依賴 #7)
本 PR 依賴 #7。#7 合併進
develop後,其內容會自動出現在本 PR:sdlc-gate.sh閘門改為能力標籤程式判定,模型不符即以 exit 2 擋下提示lib.sh新增transcript_model,從 transcript 讀出實際模型 id合併順序
已在 Gitea 設定依賴,前置 PR 未關閉前本 PR 無法合併。跨 repo 發佈順序:
jsc-cli→jsc-hooks→jsc-sdlc——後者的技能會呼叫前者的腳本,順序顛倒會讓使用者裝到不完整的組合。What:新增 hooks/sdlc-gate.sh,提供 lock、unlock、check、report 四個子指令;hooks.json 於 UserPromptSubmit 加掛 check。 Why:SDLC 各階段對模型能力有硬性要求,僅靠技能提示無法防止中途切換模型,需要 hook 層強制。 How:以 session 為鍵把「階段 模型」寫入 $JSC_HOME/sessions/{sid}.stage;check 依 stdin JSON、JSC_MODEL、~/.claude/settings.json 順序判定目前模型,別名互含視為相符,不符時注入繁中封鎖提醒;缺資料一律安靜降級、永遠 exit 0。 Who:jsc-sdlc 四個階段技能(plan、analyze、implement、maintain)於閘門通過時上鎖,Claude Code 的 UserPromptSubmit hook 負責攔查。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>為什麼: `skills/hooks-install/SKILL.md` 原本直接內嵌各 CLI(codex/copilot/antigravity/kiro)的詳細佈線步驟,包含逐步設定檔修改、wrapper alias 安裝、以及 `<!-- jsc-hooks -->` 標記區塊的冪等替換邏輯,違反 jsc-meta:skill-check 稽核準則中「確定性程序邏輯應由腳本執行,不應留給子代理每次自行解讀 prose」的要求。 做了什麼: 新增腳本 `tools/wire-cli.sh {cli}`,將原本內嵌於 SKILL.md 的佈線邏輯全數抽出,並支援冪等執行(標記區塊替換、可安全重跑),輸出機器可讀的 `status=wired|degraded|skipped reason=...` 首行訊息與對應結束碼(0=wired、1=degraded、2=bad usage、3=skipped)。改寫 `skills/hooks-install/SKILL.md`,改為依偵測到的 CLI 呼叫此腳本,並讀取其 status/結束碼判斷結果,不再自行內含佈線步驟。同步更新 `README.md`:在工具表新增 `tools/wire-cli.sh` 說明列,並改寫 hooks-install skill 的描述段落,反映新的腳本驅動流程與 `status=` 回報慣例。三份外掛清單 `plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 版本號自 0.0.3 升級為 0.0.4,對應此行為變更。 怎麼做: 建立獨立腳本承載原本的 CLI 佈線程序邏輯,改造 SKILL.md 為呼叫腳本並解讀其標準化輸出,同步更新文件與版本號。 影響範圍: `skills/hooks-install/SKILL.md`、`README.md`、`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json`、新增檔案 `tools/wire-cli.sh`;影響 hooks-install skill 的執行流程與所有安裝 jsc-hooks 外掛的 CLI 佈線行為。