develop
master
jsc-meta
references/guidelines.md
JSC_PR_WATCH_INTERVAL
fix
{子功能}
jsc-git/tools/slugify.sh
jsc-git/tools/base-branch.sh --derive
plugin.json
.claude-plugin/plugin.json
.codex-plugin/plugin.json
jsc-hooks/hooks/version-guard.sh
version-guard.sh
jsc-git
skills/pr/SKILL.md
jsc-sdlc
references/branch.md
jsc-gitea/tools/pr-watch.sh
jsc-meta:skill-check
base-branch.sh --derive
--derive
jsc-hooks
JSC_WP_GATE=off
git log --oneline origin/master..origin/develop
plugins/meta#23
#22
git diff --stat origin/master origin/develop
plugins/meta#22
tools/ste100-lint.sh
What:`references/guidelines.md` 新增「PR 分支階梯」一節,列出兩種型別的階梯、多層子功能的組法、base 一律由 `jsc-git/tools/base-branch.sh --derive` 推導、功能主幹自動建立,以及最後一級不能省;環境變數表補上 `JSC_PR_WATCH_INTERVAL`;稽核檢查清單新增一項「PR 的 base 符合 PR 分支階梯,沒有越級」。 Why:階梯要對所有存取庫成立,就必須有一份正本。放在技能準則裡,各 domain 的 README 與參考文件才能只寫摘要並指回來,不會養出好幾份互相打架的規則;稽核清單少了這一項,越級開的 PR 也沒有任何一關會發現。 How:階梯只寫表與六條說明,不寫實作細節,推導行為的正本仍在 `jsc-git/tools/base-branch.sh`。特別寫明第 4 條「推不出唯一合法基底就中止並詢問使用者,不猜,也不退回 `develop`」與第 6 條「`develop` 併進 `master` 才會生效」——marketplace 與 `version-guard.sh` 讀的都是存取庫的預設分支,階梯最後一級省掉就等於沒有發布。 Who:所有 jsc domain 存取庫的 PR,以及跑 `jsc-meta:skill-check` 稽核的人。
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.2 改為 0.1.3。 Why:技能準則新增了一節規則與一項稽核檢查,準則有異動就要 bump 版本,安裝端才拿得到新版。 How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。 Who:`jsc-meta` 外掛的套件描述檔。
Reviewed-on: #22
No dependencies set.
The note is not visible to the blocked user.
摘要
jsc-meta0.1.3 從develop放行到master。內容是使用者 15 條規則第一群「SDLC 執行流程」六條在本存取庫的落實:references/guidelines.md新增「PR 分支階梯」一節,環境變數表補上JSC_PR_WATCH_INTERVAL,審核清單加一項。本存取庫是技能準則的唯一來源,也是 marketplace 正本所在。變更內容
references/guidelines.mdfix與其餘類型兩列,六條規則講清楚{子功能}怎麼組、中文簡述要先過jsc-git/tools/slugify.sh、base 一律由jsc-git/tools/base-branch.sh --derive推導、推不出唯一合法基底就中止詢問而不猜、功能主幹不在 origin 時自動從develop建立並回報。第 6 條點明階梯最後一級不能省。環境變數表補上JSC_PR_WATCH_INTERVAL(預設 60 秒)。審核清單新增「PR 的 base 符合『PR 分支階梯』,沒有越級」。plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json設計重點
jsc-hooks/hooks/version-guard.sh都讀存取庫的預設分支master——version-guard.sh取 rawplugin.json時刻意不指定 ref,拿到的就是預設分支那一份。內容留在develop上再完整,已經安裝的 CLI 一律抓不到,版本檢查也照舊回報舊版本。階梯的前三級都已走完,這是最後一級,也是唯一會讓使用者端真的拿到新內容的一級。準則裡的第 6 條寫的就是這件事,這支 PR 不能自己違反自己剛寫下的規則。jsc-git的skills/pr/SKILL.md、jsc-sdlc的references/branch.md)一律指回這裡,不抄第二份。JSC_PR_WATCH_INTERVAL,實作在jsc-gitea/tools/pr-watch.sh,預設 60 秒。jsc-meta:skill-check每次稽核都會查 PR 的 base 有沒有越級。base-branch.sh --derive)的依據。jsc-git0.0.8 實作):越級的 PR 會被擋下來。base 一律由--derive推導,推不出唯一合法基底就中止並問使用者,不退回develop。jsc-hooks0.2.3、jsc-sdlc0.1.9 實作):不是自己領的那一包的 PR 會被擋,查無歸屬才放行只提醒。逃生門是JSC_WP_GATE=off。jsc-meta:skill-check會多查一項 base 越級。測試結果
git log --oneline origin/master..origin/develop:4 個 commit,最上面是已合併的plugins/meta#23,其下是#22與兩個實作提交,沒有夾帶別批的內容。git diff --stat origin/master origin/develop:4 個檔案、21 行新增、3 行刪除,與上表逐項對得上,沒有預期外的檔案。references/guidelines.md與三份 manifest,內容與已合併的plugins/meta#22、plugins/meta#23完全相同。語言檢查在那兩支 PR 已經跑過,這支 PR 沒有重跑tools/ste100-lint.sh。前置 Push Request