fix/skillset-audit-compliance-and-guard-fixes #17

Merged
admin merged 3 commits from fix/skillset-audit-compliance-and-guard-fixes into develop 2026-08-25 07:14:55 +00:00
Member

摘要

  • 需求描述:jsc-meta:skill-check 例行稽核(2026-08-25)。本 repo 修正 base 分支優先序被寫成三份且技能側與腳本相反、wiki 技能重複敘述環境變數解析、clone 與 pull 機制留在內文,並補齊檢查工具的覆蓋率。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
tools/repo-sync.sh 新增。clone 與 pull 機制下放腳本,輸出固定為 cloned、updated、dirty、failed 四種;base 分支優先序收在這裡,並隨 dirty {分支} 帶出
skills/repo-sync/SKILL.md 改為呼叫腳本並依單一輸出行分流;刪掉重新推導 base 的敘述(原本只取 default-branch、沒有後備鏈,API 讀不到時會交出空的 base);改為真正委派 jsc-git:pr,不再自己規定 commit、建分支、push;補完成條件
skills/wiki/SKILL.md 環境變數解析與頁面類型清單各留一處;連結規則下放 references/wiki-links.md;純文字段落改成可數的上限;補完成條件;description 補上 jsc-hooks 為 ERROR 頁的呼叫端
references/wiki-links.md 新增。跨 wiki 連結方向與絕對網址規則從內文移出
tools/check-wiki-rules.sh 覆蓋率由 5 種頁型擴到 9 種,補「未設定時不得跨類型代用」的反向斷言與純大寫 hash 案例
README.md 中文並列改頓號;工具清單補 pr-depend、repo-set、repo-sync.sh;新增參考資料指引
三份 manifest、兩份 marketplace 同步升版至 0.1.2,marketplace 與正本對齊

設計重點

  • 同一個優先序寫三份,就會有一份是錯的。技能側原本只取 gitea.sh default-branch、沒有 develop、main、master 的後備鏈,所以 API 讀不到預設分支時交出空 base;腳本則會用 develop。改成由腳本帶出分支值、技能原樣傳給 jsc-git:pr。
  • 檢查工具自己要有牙齒。check-wiki-rules.sh 原本只驗 5 種頁型、沒有任何反向斷言,跨類型代用的 bug 進來也不會被抓到。

測試結果

  • check-wiki-rules.sh exit 0。以變異測試確認新斷言有效:把 gitea.sh 改成會跨類型退回時,QUESTION 的斷言失敗並 exit 1;把 hash-id 的 H 前綴條件改錯時,純大寫案例失敗並 exit 1。
  • repo-sync.sh 四種輸出實測:未 clone 回 cloned、乾淨已 clone 回 updated、有未提交變更回 dirty master 且不動分支、參數錯與非 git 目錄回 failed。API 不可達時同一個 dirty 情境回 dirty develop——這正是原本技能側會交出空 base 的那個情境。
  • 全部驗證都在 /tmp 的複本進行,未動開發工作樹。
  • sh -n 全部通過;ste100-lint.sh exit 0。

前置 Push Request

  • 無
## 摘要 - 需求描述:jsc-meta:skill-check 例行稽核(2026-08-25)。本 repo 修正 base 分支優先序被寫成三份且技能側與腳本相反、wiki 技能重複敘述環境變數解析、clone 與 pull 機制留在內文,並補齊檢查工具的覆蓋率。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `tools/repo-sync.sh` | 新增。clone 與 pull 機制下放腳本,輸出固定為 cloned、updated、dirty、failed 四種;base 分支優先序收在這裡,並隨 `dirty {分支}` 帶出 | | `skills/repo-sync/SKILL.md` | 改為呼叫腳本並依單一輸出行分流;刪掉重新推導 base 的敘述(原本只取 `default-branch`、沒有後備鏈,API 讀不到時會交出空的 base);改為真正委派 `jsc-git:pr`,不再自己規定 commit、建分支、push;補完成條件 | | `skills/wiki/SKILL.md` | 環境變數解析與頁面類型清單各留一處;連結規則下放 `references/wiki-links.md`;純文字段落改成可數的上限;補完成條件;description 補上 jsc-hooks 為 ERROR 頁的呼叫端 | | `references/wiki-links.md` | 新增。跨 wiki 連結方向與絕對網址規則從內文移出 | | `tools/check-wiki-rules.sh` | 覆蓋率由 5 種頁型擴到 9 種,補「未設定時不得跨類型代用」的反向斷言與純大寫 hash 案例 | | `README.md` | 中文並列改頓號;工具清單補 `pr-depend`、`repo-set`、`repo-sync.sh`;新增參考資料指引 | | 三份 manifest、兩份 marketplace | 同步升版至 0.1.2,marketplace 與正本對齊 | ## 設計重點 - 同一個優先序寫三份,就會有一份是錯的。技能側原本只取 `gitea.sh default-branch`、沒有 develop、main、master 的後備鏈,所以 API 讀不到預設分支時交出空 base;腳本則會用 `develop`。改成由腳本帶出分支值、技能原樣傳給 `jsc-git:pr`。 - 檢查工具自己要有牙齒。`check-wiki-rules.sh` 原本只驗 5 種頁型、沒有任何反向斷言,跨類型代用的 bug 進來也不會被抓到。 ## 測試結果 - `check-wiki-rules.sh` exit 0。以變異測試確認新斷言有效:把 gitea.sh 改成會跨類型退回時,QUESTION 的斷言失敗並 exit 1;把 hash-id 的 H 前綴條件改錯時,純大寫案例失敗並 exit 1。 - `repo-sync.sh` 四種輸出實測:未 clone 回 cloned、乾淨已 clone 回 updated、有未提交變更回 `dirty master` 且不動分支、參數錯與非 git 目錄回 failed。API 不可達時同一個 dirty 情境回 `dirty develop`——這正是原本技能側會交出空 base 的那個情境。 - 全部驗證都在 `/tmp` 的複本進行,未動開發工作樹。 - `sh -n` 全部通過;`ste100-lint.sh` exit 0。 ## 前置 Push Request - 無
jiantw83 added 3 commits 2026-08-25 07:03:48 +00:00
What:依 jsc-meta:skill-check 的稽核結果修正技能與工具——補上每個步驟的可檢核完成條件、
把留在內文的標準輸入輸出流程下放 tools/、修正查表與退碼路由造成的誤判。

Why:稽核發現這些缺失會讓技能在實際執行時走錯分支或靜默通過。
完成條件缺漏是最常被違反的一項;退碼誤判與查表錯誤則會讓良性狀況被當成失敗。

How:逐項對照 references/guidelines.md 的審核檢查清單修正,新增的工具都有
documented exit codes,並以真實執行驗證每條路徑。

Who:jsc-meta:skill-check 例行稽核(2026-08-25)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
What:更新 README、AGENTS.md、templates 與 references,讓文件敘述與實際行為一致。

Why:稽核發現多處文件與程式行為分歧,違反「每個意義只有單一真實來源」。

How:以實際程式行為為準改寫敘述,重複的規則收成單一來源並以一行指引指過去。

Who:jsc-meta:skill-check 例行稽核(2026-08-25)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
What:三份 plugin manifest 版本同步 bump,兩份 marketplace 檔與 plugins/meta 正本對齊。

Why:準則要求技能異動必須同步升版;marketplace 副本必須與正本完全一致。

How:以 jsc-meta 的 tools/sync-skill-manifest.sh 升版,marketplace 檔由正本複製。

Who:jsc-meta:skill-check 例行稽核(2026-08-25)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
admin merged commit 8f94069ceb into develop 2026-08-25 07:14:55 +00:00
admin deleted branch fix/skillset-audit-compliance-and-guard-fixes 2026-08-25 07:14:55 +00:00
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/gitea#17