feat(gitea): 支援 SKILLSET 頁面類型 #25
1 Participants
Notifications
Due Date
No due date set.
Blocks
#25 feat(meta): 新增 SKILLSET 頁型與稽核流程檢查,四支異動技能收尾寫異動報告
plugins/meta
Reference: plugins/gitea#25
Reference in New Issue
Block a user
feat(gitea): 支援 SKILLSET 頁面類型
摘要
jsc-gitea的落地。新增SKILLSET頁型(SKILLSET_CONTENTS、SKILLSET_{HASH},雜湊來源為被改動的 domain 存取庫{owner}/{repo},頁內累積歷次異動),讓jsc-meta四支異動技能的收尾報告寫得進去;一併補齊先前漏列的CHECK與REPORT。決策紀錄在 wikiknowledges/QUESTION的QUESTION_FB8DF0B5。變更內容
tools/gitea.shwiki-repo的允許清單沒有SKILLSET就直接 exit 2,異動報告一個字也寫不進去。resolve_wiki_repo()的case與用法註解加上SKILLSETskills/wiki/SKILL.mdSKILLSET,並補齊腳本早就支援、技能卻漏列的CHECK與REPORT;description的呼叫端清單補上jsc-metatools/check-wiki-rules.shTYPES加SKILLSET,註解裡寫死的類型數量改成指向TYPESREADME.mdCHECK與REPORT支援了卻沒補。清單補到十二種,環境變數表新增JSC_WIKI_REPO_SKILLSET一列plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json設計重點
JSC_WIKI_REPO_SKILLSET優先,未設定才退回JSC_WIKI_REPO,不做跨類型代用,兩個都沒有仍是 exit 3 交回技能問使用者。SKILLSET不需要雜湊特例。 雜湊來源就是被改動的 domain 存取庫{owner}/{repo},走的是同一支hash-id。CHECK那種「主機加登入帳號」的例外才需要另外寫規則。check-wiki-rules.sh原本寫「涵蓋全部十一種頁面類型」與「其他八個類型的誘餌值」,每加一種頁型就要記得改兩個數字,忘了改註解就開始騙人;加CHECK與REPORT那次就已經漏過一個。改成指向TYPES這個變數後,日後加頁型只要改一個地方。TYPES展開的,加進清單就自動涵蓋,不必另外寫測項。CHECK與REPORT在腳本裡早就合法,技能與 README 卻沒補。照技能寫的走會以為那兩種頁型不合法,屬於準則流程檢查第 1 項「指標指得到」的同一類問題,一併修掉。測試結果
tools/ste100-lint.sh對本存取庫全綠;三份 manifest 版本一致為 0.1.6。tools/check-wiki-rules.sh:十二種頁型每種三項全部通過,印出OK並 exit 0。gitea.sh wiki-repo SKILLSET逐項實測:專用變數JSC_WIKI_REPO_SKILLSET優先、未設定時退回JSC_WIKI_REPO、其餘類型的誘餌值不被代用(exit 3)、假頁型仍以 exit 2 被拒。ste100-lint.sh全綠,三份 manifest 版本各自一致。前置 Push Request
What:`tools/gitea.sh` 的 `resolve_wiki_repo()` 允許清單加入 `SKILLSET`,`wiki-repo` 的用法註解同步。`skills/wiki/SKILL.md` 第 2 步的允許頁型補上 `SKILLSET`,同時補上先前漏列的 `CHECK` 與 `REPORT`;`description` 的呼叫端清單補上「`jsc-meta` 的 `SKILLSET` 頁」。 Why:`jsc-meta` 的四支異動技能收尾要把驗證結果寫進 `SKILLSET_{HASH}`,而所有 wiki 讀寫都走這一支技能與這一支腳本。頁型不在允許清單裡,`wiki-repo` 會直接 exit 2,報告一個字也寫不進去。`CHECK` 與 `REPORT` 是另一件事:腳本早就支援,技能的允許清單卻沒補,照技能寫的走會以為那兩種頁型不合法。 How:只加類型名,解析規則不動——`JSC_WIKI_REPO_SKILLSET` 優先,未設定才退回 `JSC_WIKI_REPO`,不做跨類型代用,兩個都沒有仍是 exit 3 交回技能問使用者。雜湊來源是被改動的 domain 存取庫 `{owner}/{repo}`,用的是同一支 `hash-id`,所以這裡不必為它多寫一條特例(`CHECK` 那種主機加帳號的例外才需要)。 Who:`jsc-gitea:wiki` 技能與 `jsc-meta` 四支異動技能的異動報告寫入路徑。What:`README.md` 兩處增修。`wiki-repo` 的用法說明把允許的 `TYPE` 清單補到十二種(加上 `CHECK`、`REPORT`、`SKILLSET`);環境變數表新增 `JSC_WIKI_REPO_SKILLSET` 一列,寫明對應 `SKILLSET_CONTENTS`、`SKILLSET_{HASH}`(技能組異動報告)與雜湊來源 `{owner}/{repo}`。 Why:README 的類型清單停在九種,`CHECK` 與 `REPORT` 支援了卻沒補上。照 README 設定環境變數的人會以為這幾種頁型沒有專用變數,只能全塞進共用的 `JSC_WIKI_REPO`。 How:`SKILLSET` 單獨列一列而不是併進 `JSC_WIKI_REPO_{TYPE}` 那一行,因為它要多寫雜湊來源;`JSC_WIKI_REPO_{TYPE}` 那一行只補清單,退回規則不動,兩列都保留「不做跨類型代用」這句。 Who:讀 `jsc-gitea` 說明設定 wiki 位置的操作者。