feat(git-safety,model): 分支一律先確認、模型 id 改以 transcript 實際值為準 #13

Closed
jiantw83 wants to merge 9 commits from feat/branch-confirmation-and-model-source into develop
Member

變更摘要

兩份共用規範補上先前缺的內容。

一、spec-git-safety 新增「分支一律先跟使用者確認」

  • 分析既有程式碼前確認來源分支(讀任何程式碼之前);實作、修改程式碼前確認目標分支(寫任何檔案之前)。
  • 不得從目前 checkout 的分支推定使用者意圖,也不得靜默預設 develop/master。
  • 只讀取的階段不代為切換分支:需要換分支才能讀到正確現況時,停下來請使用者處理,不 switch、不 stash、不動工作區。
  • 確認結果寫進該 skill 的產出(分析頁的來源分支欄、PR 的目標分支),後續一律沿用同一個答案。

二、spec-model 改寫「取得當前模型 id」

原本寫「只能以 agent 自我回報為準」,那讓所有模型閘門形同虛設。改為明確的優先序:

  1. transcript 記錄的實際值(hook 的 transcript_path jsonl,尾端 assistant 訊息的 model)——唯一可驗證的來源,SDLC 階段閘門一律以它為準。
  2. stdin JSON 的 model、JSC_MODEL、~/.claude/settings.json——都是宣告值,未必等於實際跑的模型。
  3. 自我回報只在以上都取不到時當最後手段,且不得作為放行依據。

另補上「強制力落在程式層」原則,以及本規範中文標籤與 jsc-cli/references/model-tags.md 英文標籤(reasoning-max 等)的對應表。

影響範圍

  • jsc-sdlc 的 analyze/implement 已引用分支確認規範(該 repo 另有 PR)。
  • jsc-hooks 的 sdlc-gate.sh 已依 transcript 優先序實作(已發佈)。
  • 兩節都是補充既有規範,不推翻原有條款。

風險與注意事項

新增或改名任一邊的標籤時,中文標籤與英文標籤的對應表要同步,否則閘門判定與選型說明會不一致。

驗證

STE100 lint 通過。

## 變更摘要 兩份共用規範補上先前缺的內容。 **一、`spec-git-safety` 新增「分支一律先跟使用者確認」** - 分析既有程式碼前確認**來源分支**(讀任何程式碼之前);實作、修改程式碼前確認**目標分支**(寫任何檔案之前)。 - 不得從目前 checkout 的分支推定使用者意圖,也不得靜默預設 `develop`/`master`。 - 只讀取的階段不代為切換分支:需要換分支才能讀到正確現況時,停下來請使用者處理,不 `switch`、不 `stash`、不動工作區。 - 確認結果寫進該 skill 的產出(分析頁的來源分支欄、PR 的目標分支),後續一律沿用同一個答案。 **二、`spec-model` 改寫「取得當前模型 id」** 原本寫「只能以 agent 自我回報為準」,那讓所有模型閘門形同虛設。改為明確的優先序: 1. **transcript 記錄的實際值**(hook 的 `transcript_path` jsonl,尾端 assistant 訊息的 `model`)——唯一可驗證的來源,SDLC 階段閘門一律以它為準。 2. stdin JSON 的 `model`、`JSC_MODEL`、`~/.claude/settings.json`——都是宣告值,未必等於實際跑的模型。 3. **自我回報只在以上都取不到時當最後手段**,且**不得作為放行依據**。 另補上「強制力落在程式層」原則,以及本規範中文標籤與 `jsc-cli/references/model-tags.md` 英文標籤(`reasoning-max` 等)的對應表。 ## 影響範圍 - `jsc-sdlc` 的 `analyze`/`implement` 已引用分支確認規範(該 repo 另有 PR)。 - `jsc-hooks` 的 `sdlc-gate.sh` 已依 transcript 優先序實作(已發佈)。 - 兩節都是補充既有規範,不推翻原有條款。 ## 風險與注意事項 新增或改名任一邊的標籤時,中文標籤與英文標籤的對應表要同步,否則閘門判定與選型說明會不一致。 ## 驗證 STE100 lint 通過。
jiantw83 added 9 commits 2026-08-24 09:26:27 +00:00
Reviewed-on: #6
Reviewed-on: #7
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Reviewed-on: #8
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Reviewed-on: #9
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Reviewed-on: #10
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Reviewed-on: #11
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Reviewed-on: #12
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
jiantw83 closed this pull request 2026-08-24 09:37:41 +00:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/shared#13