feat/designated-model-gate-lock #4
2 Participants
Notifications
Due Date
No due date set.
Depends on
#5 feat/sdlc-model-lock-and-wrapper
plugins/hooks
#3 feat/model-config-routing
plugins/cli
Reference: plugins/sdlc#4
Reference in New Issue
Block a user
PR 描述
摘要
變更內容
設計重點
jsc-cli/tools/model-config.sh get {stage}解析(專案.jsc/models優先於$JSC_HOME/models.conf),鏈上第一個當前 CLI 可用的模型即為必用模型,依鏈序備援。jsc-cli:models標籤檢查(plan/analyze 需 reasoning-high,implement 需 coding,maintain 查階段需求表),保留原有彈性。jsc-hooks/hooks/sdlc-gate.sh lock {stage} {current-model}寫入鎖檔並以sdlc-gate.sh report驗證;hook 在每次 prompt 強制檢查,直到下一階段閘門重新上鎖前強制沿用同一模型。測試結果
前置 Push Request
What:plan、analyze、implement、maintain 四個 SKILL.md 的第一步從單純的能力標籤檢查,改為「模型閘門與階段上鎖」三段流程:先以 jsc-cli/tools/model-config.sh get {stage} 解析該階段的指定模型鏈,鏈上第一個當前 CLI 可用的模型即為必用模型;沒有設定指定模型時才退回 jsc-cli:models 的能力標籤檢查。閘門通過後執行 jsc-hooks/hooks/sdlc-gate.sh lock {stage} {current-model} 寫入鎖檔,並以 sdlc-gate.sh report 驗證。 Why:原本只驗能力標籤,同一標籤下模型可任意替換,階段中途換模型也無人攔阻,導致產出品質與可重現性不穩定。改為指定模型鏈優先可讓團隊明確指派每階段用哪個模型,標籤備援則保留未設定時的彈性;上鎖後由 hook 在每次 prompt 強制檢查,階段內換模型會被擋下。 How:每個技能的步驟一拆成三小步(解析模型鏈、驗證當前模型、上鎖並驗證鎖檔),各小步附完成條件;maintain 另加第四小步,明確規定只在換階段時重跑閘門,維護階段內跨專案不重複驗證。frontmatter description 同步更新。鎖定自 plan 起手生效,直到下一階段(如 analyze)的閘門重新上鎖前,強制沿用同一模型。 Who:jsc-sdlc 的 plan/analyze/implement/maintain 四個技能,及依賴其閘門行為的 jsc-hooks sdlc-gate hook。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>What:README 開頭的階段模型檢查說明改寫:每次切換階段先以 jsc-cli/tools/model-config.sh get {stage} 解析指定模型鏈(專案 .jsc/models 優先於 $JSC_HOME/models.conf),未設定才退回能力標籤檢查;通過後由 jsc-hooks 的 sdlc-gate hook 鎖定模型直到下一階段重新上鎖。「相關 domain」清單同步更新:jsc-cli 條目補上指定模型鏈工具,新增 jsc-hooks 條目說明 sdlc-gate 階段模型鎖定。 Why:四個技能的閘門邏輯已改為指定模型優先、標籤備援並上鎖,README 若仍描述舊的「僅檢查能力標籤」流程會誤導使用者,也漏掉新依賴的 jsc-hooks domain。 How:改寫首段的階段檢查敘述,補明設定檔優先序與鎖定生效範圍(同一階段內換模型會被擋下);相關 domain 章節加入 jsc-hooks 連結並擴充 jsc-cli 條目。 Who:jsc-sdlc domain 的 README 文件,服務安裝與使用此技能組的使用者。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>