Files
sdlc/references/model-gate.md
T
jiantw83 de7962a8c1 fix(gate): 閘門說明與實際行為對齊
兩份參考文件跟實際判定互相矛盾。照著做會漏掉收尾,或是擋錯階段。

- 模型閘門非零退出時,該回合仍要跑階段回報。提前停下來也要留紀錄,不然使用者看不到停在哪裡。
- 工作包閘門只擋分析與維護:規劃只印提醒就放行,實作一律放行。實作是結清那支 PR 的唯一路徑,擋了閘門就自己鎖死。
- 順帶把指向實作技能的步驟引用改成新的順序。
2026-08-31 11:10:30 +08:00

1.7 KiB
Raw Blame History

模型閘門 — 各階段動工前的能力標籤判定

SDLC 每個階段動工前先過模型閘門。判定全在程式層,由 jsc-hooks/hooks/sdlc-gate.sh 執行;模型不得自評標籤。

執行順序

  1. jsc-cli/tools/model-tags.sh sync:把 jsc-cli/references/model-tags.md 的標籤表同步到 $JSC_HOME/model-tags.tsv。
  2. jsc-hooks/hooks/sdlc-gate.sh lock {stage}:腳本從 transcript 讀出實際模型 id,比對該階段的必要標籤,相符才上鎖。

各階段必要標籤

階段 必要標籤
plan reasoning-max
analyze reasoning-max
implement coding
maintain 無。實際模型 id 可判定就通過

鐵則

項目 規則
標籤來源 只認腳本的判定。不得宣稱自己沒驗證過的標籤,也不得用自己的判斷取代腳本結論
非零退出 一律視為阻擋:原文轉述腳本訊息、停止該技能,該回合除了跑 tools/stage-report.sh 收尾回報以外不做別的事(提前停下來也要回報,見 references/stage-report.md)
unlock 不得用來繞過閘門。要不要解鎖是使用者的決定
回報 每次都要回報:階段、必要標籤、腳本從 transcript 讀到的實際模型 id、判定結果。通過與阻擋都要講——安靜通過看起來跟跳過檢查一樣,而判定搬進程式層的理由就是「宣稱有檢查」不可信
退出 0 該階段已上鎖。到下一階段的閘門重新上鎖之前,同一階段內把模型換成不合格的,下一輪提示會被 sdlc-gate hook 以 exit 2 擋下
上鎖時機 只在階段變換時上鎖。同一階段內逐項或逐專案跑時不重新上鎖