jiantw83
|
9ed26de7ba
|
Merge pull request '新增行為清單檢查腳本,改寫相依版本準則並更新 5 支技能' (#47) from feat/skill-behaviors-and-version-block/behavior-list-check-and-guidelines into feat/skill-behaviors-and-version-block/main
|
2026-08-31 08:09:24 +00:00 |
|
jiantw83
|
f5f2cb05bd
|
chore(manifest): 同步三份 manifest 的版本到 0.2.4
What:plugin.json、.claude-plugin/plugin.json、.codex-plugin/plugin.json 的 version 從 0.2.3 提升到 0.2.4。
Why:這次新增了行為清單與檢查腳本,也改了五支技能的內文。版本不提升,version-guard.sh 就比不出遠端已經有新版,部署端也拿不到更新提示。
How:三份 manifest 只改 version 一個欄位,三份的值保持一致,其餘欄位原樣保留。
Who:收尾這次技能行為清單與相依版本阻擋兩件需求,對應審核檢查清單的 manifest 同步項。
|
2026-08-31 13:37:33 +08:00 |
|
jiantw83
|
651dc19be9
|
docs(guidelines): 改寫相依版本準則並補上技能行為清單合約
What:「Manifest 相依版本」第 5 條改成部署端照樣更新,只在回報裡寫明缺哪一版。「版本前置檢查」補上相依版本檢查三列。新增「技能行為清單」一節,訂出位置、標題、節、表格、欄位與更新時機。審核檢查清單加上行為清單這一項。README 補上 behaviors.md 與 check-behaviors.sh 兩列,並把 skill-check 段落改成三組腳本。
Why:跳過更新會讓落後的 domain 永遠更新不到。它落後所以被跳過,被跳過所以永遠落後。相依版本不符要擋的是拿舊版去跑,不是把舊版換成新版。阻擋改到技能被呼叫的當下,才擋得住真正會出事的動作。行為清單要有一份格式合約,check-behaviors.sh 才有判定依據。
How:阻擋交給 jsc-hooks/hooks/version-guard.sh。版本比對由它自己實作,不呼叫 jsc-cli/tools/check-requires.sh。hook 專屬存放於 jsc-hooks,而且 jsc-cli 已宣告相依 jsc-hooks,反向呼叫會做出循環相依。兩道檢查共用同一份豁免清單。行為清單一個 domain 一份,放進該 domain 的 references/behaviors.md,技能改動與清單改動才進得了同一個 PR。
Who:涵蓋這次兩件需求的準則與說明文件,一件是相依版本不符改為阻擋執行,一件是技能行為清單。
|
2026-08-31 13:37:22 +08:00 |
|
jiantw83
|
2e237b7674
|
feat(behaviors): 新增技能行為清單與檢查腳本
What:新增 references/behaviors.md,一支技能一節,共七支技能。每節五列,記下觸發時機、關鍵步驟、外部呼叫、完成條件、可驗證跡象。新增 tools/check-behaviors.sh,比對 skills/ 與這份清單。skill-new、skill-update、skill-delete、skillset-update 加上同步更新清單的步驟。skill-check 把這支腳本併進第一組稽核。
Why:技能驗證原本沒有基準,稽核只能靠眼睛比對 SKILL.md。十個 domain 每輪都要重做一遍,還會漏掉。行為清單當基準,技能改了、清單沒跟著改,就是漂移。漂移交給程式判定才穩。
How:腳本檢查節數、節名、節序、每節一張表、五個欄位齊全、內容欄非空。退出碼 0 代表相符,1 代表不符,2 代表用法錯誤,3 代表找不到清單或找不到 skills 目錄。domain 名以 plugin.json 的 name 為準,checkout 目錄名只是退路。四支異動技能在同一個 PR 內改清單,並照退出碼分流。
Who:屬於「技能行為清單」這件需求,提供技能驗證的參考基準。
|
2026-08-31 13:37:04 +08:00 |
|
admin
|
29e9800da8
|
Merge pull request 'fix(skillset): 技能組稽核修正與技能盤點頁型' (#45) from fix/skill-check-compliance-and-flow into develop
Reviewed-on: #45
|
2026-08-31 03:54:01 +00:00 |
|
jiantw83
|
66b865456c
|
chore(manifest): 同步三份 manifest 的版本與相依範圍
這次異動用到 hook 的重啟閘門豁免清單,也用到 hook 那份簡體字表。
相依範圍沒跟著調,裝到舊版 hook 的機器會在部署之後被自己的閘門鎖住,
而且語言檢查與 hook 會各自認一份字表,判定不一致。
三份 manifest 一起把版本往上帶一號,補上 hook domain 的相依下限,
並拉高 gitea domain 的相依下限,讓版本前置檢查擋得住不相容的組合。
|
2026-08-31 11:11:13 +08:00 |
|
jiantw83
|
6d28e207c7
|
docs(guidelines): 修正版本閘門、重啟閘門與維護頁的準則記載
版本前置檢查的豁免表只列了四項,重啟閘門的豁免表少了 hook 修復技能。
照著這兩張表設定,hook 壞掉時唯一的修復路徑會被自己擋住,修不好也繞不過。
兩張表逐項對齊三方實作與腳本現況,補成七項與十項,
並寫明各自的唯一真實來源是哪一支 hook 腳本,兩邊以後要一起改。
Wiki 頁命名總表原本替維護類型列了內容頁。
技能與樣板都沒有產生那一頁的步驟,照著總表找,只會找到一個不存在的頁。
改成只列目錄頁,並寫清楚維護登記全寫在目錄頁的表格裡;
要補內容頁就先補技能步驟與樣板,不能只在總表上寫著。
另外登記技能盤點頁的類型、環境變數與雜湊來源,說明為什麼雜湊要帶工具名稱,
補上唯讀稽核要帶唯讀旗標、行數一律讀腳本自己印的那一行兩項檢查,
並把新增的共用說明、兩份樣板與三支工具寫進 README 的檔案一覽。
|
2026-08-31 11:11:12 +08:00 |
|
jiantw83
|
5aa4a3da57
|
feat(skills): 新增技能盤點頁與共用部署驗證流程,並把技能驗證移到新行程
技能盤點以前只回到對話裡,換一台機器就得重跑才知道裝了什麼。
現在新增技能盤點這個 wiki 頁類型,雜湊取「主機、工具名稱、登入帳號」三段。
每支 CLI 各有自己的 plugin 集合,也各有自己的 hook 接線,那是互相獨立的事實。
少了工具名稱那一段,同一台機器上五支 CLI 會算出同一個雜湊,五份盤點互相覆蓋,
讀的人還看不出被蓋掉。技能盤點新增寫入這兩頁的步驟,整步規定必須開 sub agent。
兩份樣板刻意分開:內容頁每次盤點覆寫整頁,目錄頁只更新自己那一列,
兩者的寫入語意剛好相反,合成一份遲早有人把別台機器的紀錄刪掉。
四支異動技能原本在部署完的同一個工作階段,就叫用剛做好的技能。
部署收尾自己立起重啟閘門,那支技能必被擋下,驗證做不完。
解法不是把它加進豁免清單。豁免擋得住閘門,擋不住「行程還載著舊版」這件事,
硬過關驗到的是舊版行為,等於假通過。所以把判路線、部署、驗證、失敗分流
抽成一份共用說明,驗證一律另開 CLI 行程執行,四支技能只留一行指標指過去。
新增腳本檢查工具,一次做完語法、執行權限與結束碼宣告三項檢查,
只被 source 的函式庫豁免後兩項,而且逐支記在錯誤輸出,不靜默略過。
新增部署路線判定工具,判定改動有沒有進存取庫的預設分支,
取代四支技能各抄一段、各自漂移的散文;判不出來就回報停下,不自己挑路線走。
同時把四支技能裡的中文段落抽到共用說明、指標改回英文,
修正六處相對路徑,把技能盤點的模糊描述改成查得出來的條件,
並讓 manifest 同步的每一個呼叫端逐碼分流。
七支技能改為併行執行:例行稽核從九步併成七步,技能盤點併成六步。
技能盤點不再重跑盤點腳本內部已經跑過的三支腳本,
而那三支原本兼作獨立交叉檢查,拿掉就少一層保護,
所以把少掉的是什麼、風險由誰擋住,明白寫進 Notes,不當作沒發生。
|
2026-08-31 11:11:12 +08:00 |
|
jiantw83
|
7dc5c32de3
|
fix(tools): 改用共用推導取得技能組根目錄,並補齊結束碼宣告
以 plugin 形式安裝時,腳本會落在 CLI 的 plugin 快取目錄。
六支腳本原本一律取「腳本位置的上兩層」當技能組根目錄,這時一定推錯。
這一輪例行稽核的第一步就實際踩到:不先手動設環境變數,腳本根本跑不動,
而叫用它們的技能說明也沒提要設,等於留了一個必炸的預設值。
把推導規則抽成共用腳本,依序試環境變數、從目前目錄往上找、
腳本位置的上兩層、家目錄底下的 plugins,並以 gitea.sh 在不在當判準。
marketplace 每個 domain 存取庫都帶一份,單看它會把 domain 誤判成根。
推不出來就結束並指名要設環境變數,同時列出試過的每一個候選,
呼叫端一眼看得出要設什麼。只 clone 單一存取庫的環境留了逃生門:
環境變數有設且是目錄就照用,並在錯誤輸出提醒。
順手補上語言檢查與 manifest 同步兩支腳本的結束碼宣告與環境變數說明。
沒有宣告,呼叫端只能猜;猜錯就把失敗當成功。
|
2026-08-31 11:11:12 +08:00 |
|
admin
|
9dabe98f2b
|
Merge pull request 'docs/skill-check/main' (#43) from docs/skill-check/main into develop
Reviewed-on: #43
Reviewed-by: 系統管理員 <1+admin@noreply.localhost>
|
2026-08-28 09:46:25 +00:00 |
|
admin
|
7dd230d9b4
|
Merge pull request 'docs/skill-check/cost-efficiency-audit' (#42) from docs/skill-check/cost-efficiency-audit into docs/skill-check/main
Reviewed-on: #42
|
2026-08-28 09:44:44 +00:00 |
|
jiantw83
|
0669b64c5f
|
chore(manifest): 同步更新 jsc-meta 外掛 manifest 版本。
|
2026-08-28 17:41:38 +08:00 |
|
jiantw83
|
7127999eb3
|
docs(skill-check): 補上成本效率稽核範圍與驗證條件。
|
2026-08-28 17:41:38 +08:00 |
|
admin
|
d159847c94
|
Merge pull request 'fix/skill-check-script-hook-validation' (#40) from fix/skill-check-script-hook-validation into develop
Reviewed-on: #40
|
2026-08-28 09:00:51 +00:00 |
|
jiantw83
|
0cf2392ae7
|
fix(skill-check): 納入腳本與 hook 驗證
|
2026-08-28 16:55:48 +08:00 |
|
admin
|
74aff34872
|
Merge pull request 'feat(skill-validation): 要求 CLI Prompt 實測與修復 PR' (#39) from feat/skill-validation/cli-prompt-repair into develop
Reviewed-on: #39
|
2026-08-28 08:07:15 +00:00 |
|
jiantw83
|
b48665f946
|
feat(skill-validation): 要求 CLI Prompt 實測與修復 PR
|
2026-08-28 16:02:29 +08:00 |
|
admin
|
2f6c9b05c3
|
Merge pull request 'feat(meta): 發佈工具盤點指南到 develop' (#37) from feat/skill-set-tooling-guide/main into develop
Reviewed-on: #37
|
2026-08-28 07:40:17 +00:00 |
|
admin
|
137491fcb6
|
Merge pull request 'feat(meta): 新增工具盤點指南技能' (#36) from feat/skill-set-tooling-guide/add-tooling-guide into feat/skill-set-tooling-guide/main
Reviewed-on: #36
|
2026-08-28 07:38:50 +00:00 |
|
jiantw83
|
ec35ad9a52
|
chore(tooling-guide): 更新 manifest 版本至 0.1.8
|
2026-08-28 15:33:16 +08:00 |
|
jiantw83
|
c593803ed5
|
docs(tooling-guide): 更新 README 技能與工具目錄
|
2026-08-28 15:33:13 +08:00 |
|
jiantw83
|
a88bfe3d21
|
feat(tooling-guide): 新增技能組工具盤點指引
|
2026-08-28 15:33:09 +08:00 |
|
admin
|
d183f4fba5
|
Merge pull request 'feat/plugin-dependencies/main' (#34) from feat/plugin-dependencies/main into develop
Reviewed-on: #34
|
2026-08-28 04:05:08 +00:00 |
|
admin
|
4ac03f9ae1
|
Merge pull request 'feat/plugin-dependencies/declare-requires' (#33) from feat/plugin-dependencies/declare-requires into feat/plugin-dependencies/main
Reviewed-on: #33
|
2026-08-28 04:03:10 +00:00 |
|
jiantw83
|
771d71c28e
|
docs(guidelines): 定義 jsc requires 相依宣告規則
|
2026-08-28 11:59:16 +08:00 |
|
jiantw83
|
32c619bfb3
|
feat(manifest): 宣告 meta 技能相依版本
|
2026-08-28 11:59:16 +08:00 |
|
admin
|
cc9cd66eb5
|
Merge pull request 'feat/change-requests/main' (#31) from feat/change-requests/main into develop
Reviewed-on: #31
|
2026-08-28 01:51:17 +00:00 |
|
admin
|
41cfc8d54c
|
Merge pull request 'feat/change-requests/skill-governance-updates' (#30) from feat/change-requests/skill-governance-updates into feat/change-requests/main
Reviewed-on: #30
|
2026-08-28 01:46:59 +00:00 |
|
jiantw83
|
08a7d23a12
|
feat(skill-check): 加入流程效率稽核
|
2026-08-28 09:30:27 +08:00 |
|
jiantw83
|
b0ea356ff5
|
feat(meta): 建立 PR 收尾回報單一規範
|
2026-08-28 09:30:23 +08:00 |
|
admin
|
ccae8bfd7a
|
Merge pull request 'docs(meta): 準則的重啟閘門狀態檔規則改為一支 CLI 一份' (#28) from fix/restart-gate-per-cli-state into develop
Reviewed-on: #28
|
2026-08-27 10:51:30 +00:00 |
|
jiantw83
|
29080ca6e8
|
chore(meta): 三份 manifest 版本升到 0.1.5
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 從 0.1.4 升到 0.1.5,三份同步,description 不動。
Why:準則改了就要讓機器上的 `jsc-meta` 換到新版,四支異動技能與 skill-check 讀的才是這一版的規則。版本不升,`version-guard.sh` 的版本前置檢查與 `jsc-cli:deploy` 的落後判定都看不出本機還是舊版,機器上就不會被提示更新。
How:只改版號一個欄位。三份必須一致:`plugin.json` 給 marketplace、`.claude-plugin` 給 claude、`.codex-plugin` 給 codex,任一份落後都會讓那一路的版本比對抓錯。這一輪只改準則正文、沒有新增或移除技能,所以走修訂號。
Who:`jsc-meta` 的三份 plugin manifest,配合這一輪準則修正發佈。
|
2026-08-27 18:49:59 +08:00 |
|
jiantw83
|
baa1f1118f
|
docs(guidelines): 重啟閘門狀態檔規則改為一支 CLI 一份
What:`references/guidelines.md`「部署後重啟閘門」的規則表改四列——狀態檔路徑改成 `$JSC_HOME/restart-required.d/{cli}` 並標明一支 CLI 一份、清除時機標明只清自己那一份、原本的「狀態檔存在時」與「狀態檔不存在時」兩列改寫成「該 CLI 那份存在時」與「該 CLI 那份不存在時」,並寫明別支 CLI 的狀態檔不影響這一支。另外新增一段「狀態檔為什麼一支 CLI 一份」,記下 2026-08-27 部署時實測出的兩個缺陷,並把它寫成通則。
Why:準則是技能組的規則正本,`jsc-hooks` 的實作與 `jsc-cli` 的說明都對著它看。實作改成一支 CLI 一份而準則還停在單一檔案,下一次 skill-check 會判成實作違規,也可能有人照準則把實作改回去。這兩個缺陷是實測抓到的、不是推測,理由留在準則裡才擋得住下一次的簡化。
How:規則表只改該改的四列,判定位置與逃生門兩列不動。新增那段把缺陷寫清楚——並行部署互相覆蓋只留最後一支,以及任一支重啟就解除全部五支的閘門——再收成通則:跨 CLI 或跨工作階段的狀態檔,設計時先問清楚那個事實屬於誰,並指出工作包歸屬狀態檔踩過同一類錯誤。豁免清單那九支與「清單認技能名不認呼叫鏈」不動,這一輪沒有動到豁免範圍。
Who:`jsc-meta` 的技能準則,部署後重啟閘門這條規則的正本。
|
2026-08-27 18:49:59 +08:00 |
|
admin
|
a65f546911
|
Merge pull request 'feat(meta): 新增 SKILLSET 頁型與部署後重啟閘門準則,稽核加流程檢查四項' (#26) from feat/skillset-governance/main into develop
Reviewed-on: #26
|
2026-08-27 08:54:50 +00:00 |
|
admin
|
0ce64ba392
|
Merge pull request 'feat(meta): 新增 SKILLSET 頁型與稽核流程檢查,四支異動技能收尾寫異動報告' (#25) from feat/skillset-governance/page-type-and-process-audit into feat/skillset-governance/main
Reviewed-on: #25
|
2026-08-27 08:39:07 +00:00 |
|
jiantw83
|
816fe07fbd
|
chore(manifest): 三份 manifest 版本升到 0.1.4
What:`plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 的 `version` 由 0.1.3 改為 0.1.4。
Why:本次準則新增 `SKILLSET` 頁型、部署後重啟閘門與流程檢查四項,`skill-check` 多了 marketplace 同步必經步驟,四支異動技能也多了收尾步驟,屬於行為變更,版本要跟著往上走,各 CLI 才知道要更新。
How:三份只改 `version` 一個欄位,其餘內容不動,三份保持同一版號。
Who:`jsc-meta` 外掛的套件描述檔。
|
2026-08-27 16:34:16 +08:00 |
|
jiantw83
|
478f670d53
|
feat(skillset-report): 四支異動技能收尾套用到工作階段、驗證並寫異動報告
What:`skill-new`、`skill-update`、`skill-delete`、`skillset-update` 四支各新增一個收尾步驟,內含三個子步驟:把改動套用到目前工作階段、逐項驗證功能真的動得起來、把驗證結果附加到 wiki 的 `SKILLSET_{HASH}`。四支的 `description` 同步補上這段收尾。
Why:原本四支都以「開了 PR」作為收尾。PR 開完技能還沒進到任何 CLI,改動到底動不動得起來沒人驗過,壞了要等下一次有人踩到才知道。技能組的異動紀錄也一樣沒有落腳處:同一支技能改過幾次、每次改了什麼,只能翻 git 紀錄。
How:套用那一步分兩條路徑,依改動走到哪裡決定。PR 已經合併到 `master` 才走 `jsc-cli:deploy` 更新模式,並依提示重新啟動;PR 還停在 `develop` 或還在等審核,就改用工作樹驗證,報告標成「工作樹驗證、尚未部署」,並點名還沒合併的發佈 PR。分兩條路徑的理由是完成條件達不到:marketplace 與 `version-guard.sh` 都讀存取庫的預設分支,停在 `develop` 的改動 `deploy` 一定看不到,硬跑就卡在永遠達不到的完成條件上。驗證那一步要求逐項比對結束碼與實際輸出,不接受「跑完沒報錯」;對不上就回到套用那一步重跑,不往下走。報告一律附加一節、不覆蓋舊節,要看一支技能改過幾次就在同一頁上翻;寫不進去就把頁名與未寫入的內容交回使用者,這一步留著不結案。
Who:`jsc-meta` 的四支技能組異動技能,以及日後查技能組異動紀錄的人。
|
2026-08-27 16:34:16 +08:00 |
|
jiantw83
|
9a0ea8e248
|
feat(skill-check): 稽核加入 marketplace 同步必經步驟與流程檢查四項
What:`skills/skill-check/SKILL.md` 兩處增修。第 2 步的稽核範圍明寫要逐項涵蓋準則的流程檢查四項,四項各列一條,完成條件改成「每個 domain 的稽核結果對所有清單項目都有結論,含這四項」;新增第 5 步「同步 marketplace 正本」,四個結束碼各自寫明怎麼處理,原本的複查與開 PR 順延為第 6、7 步。
Why:`sync-marketplace.sh` 原本沒有出現在任何技能流程裡,跑不跑全憑人記得。正本在 `plugins/meta`,每個 domain 存取庫各留一份位元組完全相同的副本,稽核改完不同步,就會有存取庫註冊到過期的 plugin 清單。流程檢查四項同理:準則加了項目,稽核不點名就沒有人會查,四項等於沒加。
How:同步列為必經步驟,不是選項。呼叫時拿既有項目自己現在的值重寫一次,重寫同一筆是冪等的,所以不必先判斷哪一筆該改。四個結束碼逐一分流:3 是寫好了但有 domain 沒 clone 到本機,先跑 `sync-domains.sh` 再重跑;2 是參數個數不對;1 是缺 python3、正本讀不到或副本位元組不一致;0 才代表每份副本完全相同,而且是腳本自己驗過的。
Who:`jsc-meta:skill-check` 的例行合規稽核流程。
|
2026-08-27 16:34:16 +08:00 |
|
jiantw83
|
6447416c7b
|
docs(guidelines): 準則新增 SKILLSET 頁型、部署後重啟閘門與流程檢查四項
What:`references/guidelines.md` 四處增修。環境變數表新增 `JSC_WIKI_REPO_SKILLSET` 與 `JSC_RESTART_GATE` 兩列;wiki 頁命名總表新增 `SKILLSET` 一列,並補上雜湊來源為被改動的 domain 存取庫 `{owner}/{repo}`、頁內累積歷次異動兩段說明;新增「部署後重啟閘門」一節,用表寫下狀態檔、清除時機、判定位置與逃生門,另附九支豁免技能的表與「清單認的是技能名,不是呼叫鏈」一段;審核檢查清單末尾新增流程檢查四項。
Why:這批規則要落到四個 domain 的腳本與技能裡,準則是它們的唯一真實來源。規則只留在各自的實作裡,改一邊忘一邊,稽核就沒有對照標準。三件事各有各的理由:`SKILLSET` 頁型讓技能組每次異動留下查得到的驗證紀錄;重啟閘門補上「部署換掉的是磁碟上的技能檔,工作階段載入的還是舊版」這段落差;流程檢查四項把過去踩過的坑寫成逐項確認得出來的項目。
How:閘門那一節刻意把每一支的「為什麼不能擋」逐支寫出來,不只列技能名——豁免清單日後要增刪,理由沒寫下來就得重新想一次。九支的理由收斂成同一件事:部署後還要寫得完技能組異動報告與工作日誌,整批擋下去「先重啟」與「先寫完報告」會互相打死,通則另外寫進流程檢查第 4 項「閘門不自鎖」。「清單認技能名不認呼叫鏈」單獨寫一段,因為後三支(`jsc-ask:ask`、`jsc-git:pr`、`jsc-git:commit`)自己不是收尾規則的主體,是為了讓前六支走得完才補進來的,日後增豁免時要一併想它會呼叫誰。流程檢查其中兩項附上踩過的實例,抽象敘述判不出來的,看實例就判得出來。
Who:`jsc-meta` 的技能準則,以及依準則稽核的 `skill-check` 與四支技能組異動技能。
|
2026-08-27 16:34:16 +08:00 |
|
jiantw83
|
47c479d65c
|
Merge pull request 'docs(meta): 技能準則新增 PR 分支階梯與盯場輪詢間隔' (#23) from feat/sdlc-flow-rules/main into develop
|
2026-08-27 03:39:39 +00:00 |
|
admin
|
07d8583937
|
Merge pull request 'docs(meta): 技能準則新增 PR 分支階梯與盯場輪詢間隔' (#22) from feat/sdlc-flow-rules/pr-ladder-guideline into feat/sdlc-flow-rules/main
Reviewed-on: #22
|
2026-08-27 03:26:19 +00:00 |
|
jiantw83
|
02b36a315c
|
chore(manifest): 三份 manifest 版本升到 0.1.3
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` 外掛的套件描述檔。
|
2026-08-27 11:20:30 +08:00 |
|
jiantw83
|
769d8f3f33
|
docs(guidelines): 準則新增 PR 分支階梯與盯場輪詢間隔
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` 稽核的人。
|
2026-08-27 11:20:30 +08:00 |
|
admin
|
44fce3a68c
|
Merge pull request 'feat/ste100-scope-encoding-and-lint' (#20) from feat/ste100-scope-encoding-and-lint into develop
Reviewed-on: #20
|
2026-08-27 01:58:46 +00:00 |
|
jiantw83
|
69003a7d2c
|
fix(lint): 修正簡體字並把規則實作本身加進跳過清單
What:把 sync-domains.sh 檔頭註解的簡體字「脏」改成正體「髒」;ste100-lint.sh 的
skip() 新增三個檔案:jsc-hooks 的 simplified.txt、ste100-guard.sh、lang-guard.sh。
Why:「脏」是既有的簡體字,擴充字表後才驗出來,正好證明檢查有效。另外三個檔案
裡的簡體字是被列舉、被討論的對象,不是被使用;掃它們會每次都命中卻永遠改不掉,
久了就會有人乾脆把整個檢查關掉。
How:skip() 沿用既有的 case 比對,同時吃絕對路徑與純檔名兩種寫法,並在註解裡
寫明為什麼要跳過,避免後人誤以為是漏掉。
Who:STE100 語言規則的機檢工具。
|
2026-08-27 09:50:42 +08:00 |
|
jiantw83
|
7a2544772f
|
feat(manifest): 三份 manifest 版本升到 0.1.2
What
- `plugin.json`、`.claude-plugin/plugin.json`、`.codex-plugin/plugin.json` 由 0.1.1 升到 0.1.2。
Why
- STE100 規則正文與機檢工具都有變更,安裝端要靠版本號才知道該更新。
How
- 跑 `sh tools/sync-skill-manifest.sh /root/plugins/meta`,三份 manifest 一起 bump,
README 的「Skills 目錄」無增減。
Who
- 影響安裝或更新 jsc-meta 的所有 CLI。
|
2026-08-27 09:43:20 +08:00 |
|
jiantw83
|
7c963b73cf
|
feat(lint): 機檢改讀共用簡體字表、加亂碼類別、掃描擴及程式碼檔
What
- 簡體字表改成優先讀 jsc-hooks 的 `hooks/simplified.txt`,讀不到才退回內建備援字表。
- 新增「亂碼」類別:U+FFFD 替代字元、雙重編碼的 `�`,以及 Latin-1 雙重編碼特徵。
- 掃描範圍加入程式碼檔(sh、js、ts、py、cs、java、go、rb、php、sql、yml、yaml、toml)。
- 檔頭註解補上分流理由,並把本檔自己加進跳過清單。
Why
- 字表寫死在本檔,和 hook 端的守門字表各自維護,兩邊遲早不一致;真實來源只該有一份。
- 內建備援不能拿掉:jsc-hooks 不一定裝在這台機器上,單獨 clone plugins/meta 或 CI 只取
一個 repo 都會發生。缺基礎設施就讓簡體字檢查靜靜失效,會把「沒命中」變成假通過。
- 新規則要求所有非程式碼輸出無亂碼、無簡體字,程式碼註解也算,所以檢查得看得到程式碼檔。
How
- `simplified_file()` 的搜尋路徑比照 `jsc-hooks/hooks/lib.sh` 的 `jsc_gitea_sh()`:先環境變數
`JSC_SIMPLIFIED_FILE`,再並排存取庫版面,最後已安裝的 plugin 快取版面取版本排序最後一份。
- 字表格式一行一個字,`#` 開頭與空行忽略,串成 grep -E 交替式。
- 分流:`.md` 與 `.json` 跑全部六項;程式碼檔只跑簡體字與亂碼。中國用語、半形標點、AI 套話、
並列斜線這四項在程式碼裡會被英文標點、路徑、URL、正規表示式大量誤報,留著只會讓人忽略輸出。
- 亂碼樣式一律用十六進位跳脫寫,本檔才不會存進真的亂碼字元自己打自己。
Who
- 影響跑 `tools/ste100-lint.sh` 的人與 `jsc-meta:skill-check`、`jsc-meta:ste100-sync` 兩支技能。
|
2026-08-27 09:43:20 +08:00 |
|
jiantw83
|
19303ca555
|
feat(ste100): 語言規則納入適用範圍與編碼要求
What
- `references/ste100.md` 新增「適用範圍」與「編碼」兩節,並以表格列出各類輸出是否適用。
- 「機檢」一節補上新的類別清單與文件檔、程式碼檔的分流說明。
- `references/guidelines.md`「語言」第 1 條改寫成「所有非程式碼輸出一律繁體中文、UTF-8、
無亂碼、無簡體字」,並以一行指引指回 `references/ste100.md`。
- 「審核檢查清單」新增一個可勾選項目,涵蓋非程式碼輸出的語言與編碼,且要求機檢全綠。
Why
- 舊條文只講「交談與輸出內容」用 STE100 繁中,沒有把程式碼註解、commit 訊息、PR 描述、
wiki 頁這些實際會產出的東西點名,執行時容易各自解讀。
- 編碼要求原本只有基礎紀律裡的一句「UTF-8,無亂碼」,沒有說明什麼算亂碼,也沒有寫明
不得出現簡體字,機檢與人工判讀對不上。
How
- 適用範圍用表格逐項標「是」或「否」,並明講程式碼識別字、關鍵字、API 名稱不受限,
SKILL.md 維持整份英文。
- 編碼用表格寫要求、內容與常見違規,違規範例直接對應機檢的「亂碼」類別。
- 細節只寫在 `references/ste100.md` 一處,guidelines.md 只留摘要與指引,維持單一真實來源。
Who
- 影響所有 jsc 技能的輸出與審核;撰寫技能與跑 `jsc-meta:skill-check` 的人要照新清單檢查。
|
2026-08-27 09:43:20 +08:00 |
|
admin
|
444ab9762b
|
Merge pull request 'docs/meta-check-report-wiki-types' (#18) from docs/meta-check-report-wiki-types into develop
Reviewed-on: #18
|
2026-08-26 02:51:30 +00:00 |
|
jiantw83
|
d9d1dafe6e
|
docs(guidelines): 準則新增 CHECK 與 REPORT 兩種 wiki 頁類型
What: wiki 頁命名總表加入 CHECK(擁有者 jsc-cli)與 REPORT(擁有者 jsc-log),環境變數表加入 JSC_WIKI_REPO_CHECK 與 JSC_WIKI_REPO_REPORT,並補上兩者的雜湊來源規則。
Why: 準則是這兩張總表的唯一真實來源。新頁類型只加進程式的白名單而沒寫進準則,下一次審核就會把它們當成漏網項目。
How: CHECK 記的是一台執行環境而不是存取庫,雜湊來源改用 {主機名}/{登入帳號},是總表的唯一例外,明文寫清楚為什麼。REPORT 用既有的「加上主題字串」規則,雜湊來源為 {owner}/{repo}/{期間},年月週日各一頁。
Who: wiki 頁面命名與 wiki 存取庫解析。
|
2026-08-26 10:46:11 +08:00 |
|