Commit Graph
26 Commits
Author SHA1 Message Date
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 0cf2392ae7 fix(skill-check): 納入腳本與 hook 驗證 2026-08-28 16:55:48 +08:00
jiantw83 771d71c28e docs(guidelines): 定義 jsc requires 相依宣告規則 2026-08-28 11:59:16 +08:00
jiantw83 b0ea356ff5 feat(meta): 建立 PR 收尾回報單一規範 2026-08-28 09:30:23 +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
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 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
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
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
jiantw83 fbb7004e70 fix(meta): 放寬 major 版本限制 2026-08-25 16:41:57 +08:00
jiantw83 acbbd30a0f fix(meta): 版本號改為單位數進位 2026-08-25 16:40:01 +08:00
jiantw83andClaude Opus 5 073c51e145 docs(meta): 同步文件與參考資料
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>
2026-08-25 14:58:54 +08:00
jiantw83andClaude Opus 5 7eb179f3a1 docs(guidelines): 新增版本前置檢查規範與豁免清單
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 11:52:38 +08:00
jiantw83andClaude Opus 5 98bc02578d refactor(marketplace 正本): 正本與權威來源改為 plugins/meta,移除對 plugins/jsc 的相依
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 18:00:35 +08:00
jiantw83andClaude Opus 5 a87946784b docs(guidelines): 新增 DELIVER 頁型與 JSC_WIKI_REPO_DELIVER 環境變數
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 17:24:45 +08:00
jiantw83andClaude Fable 5 85cfa77ed1 docs(guidelines): 新增 LEARN 頁型與 JSC_WIKI_REPO_LEARN 環境變數
What:在 references/guidelines.md 的 wiki 頁命名總表新增 LEARN 頁型(LEARN_CONTENTS 教訓目錄、LEARN_{HASH} 技能教訓頁),並在環境變數表新增 JSC_WIKI_REPO_LEARN,未設定時退回 JSC_WIKI_REPO。

Why:jsc-log 新增 learn 技能,需要在準則中收錄對應的 wiki 頁型與環境變數,讓各技能對頁面命名與 wiki 存取庫解析有一致依據。

How:比照既有 LOG/ERROR 頁型格式,於環境變數表與頁命名總表各補一列,維持表格欄位與退回規則一致。

Who:jsc-log(learn 技能)為此頁型的擁有者。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 11:36:48 +08:00
jiantw83 3c63989f80 fix(skill-check): 補強工具化與環境優先審核 2026-08-21 16:53:17 +00:00
jiantw83andClaude Fable 5 dd04781058 docs(guidelines): 補記 gitea.sh 的 tea 登入金鑰備援機制
What(改了什麼):
- 「技能設計」第 2 條補充:gitea.sh 在 token 未設定或收到 401/403 時,會自動改用 tea 的登入金鑰重試一次。
- 環境變數表 GITEA_TOKEN 的「未設定時」欄位由「詢問使用者」改為「改用 tea 登入金鑰(tea login list);tea 也沒有才詢問使用者」。

Why(為什麼改):
- gitea.sh 已實作 tea token 備援,但準則文件未記載;技能作者與審核者依文件行事,文件落後會導致誤判認證失敗的處理方式。

How(怎麼改):
- 僅更新 references/guidelines.md 兩處文字,與 jsc-gitea/tools/gitea.sh 的實際行為對齊,不動任何流程或工具。

Who(影響哪個功能/使用者):
- 所有依 guidelines.md 撰寫或審核 jsc 技能的維護者;使用 gitea.sh 的技能在 token 失效時的預期行為自此有文件依據。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 08:23:53 +00:00
jiantw83andClaude Fable 5 a2057ad3e4 feat(meta): 準則改為每個存取庫都帶統一 marketplace 副本並同步
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:37:49 +08:00
jiantw83andClaude Fable 5 526c6c2b93 feat(meta): 新增 ste100-sync 技能——同步上游 speak-human-tw 並釘住版本 v1.4.0
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:27:39 +08:00
jiantw83andClaude Fable 5 e2248493bb feat(meta): 準則改為技能文件整份英文,並明定中文並列用頓號
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:25:24 +08:00
jiantw83andClaude Fable 5 f1f7e6163a feat(meta): 新增 tools/ste100-lint.sh 語言機檢工具並補列參考表
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:18:42 +08:00
jiantw83andClaude Fable 5 93b7f52ca9 feat(meta): STE100 擬人台灣感規則——新增 references/ste100.md(改寫自 speak-human-tw,MIT)並更新準則語言節
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:13:27 +08:00
jiantw83andClaude Fable 5 5695e3fe06 feat(meta): 準則改為統一 marketplace jsc 與版本 0.0.1 起算
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 14:03:37 +08:00
jiantw83andClaude Fable 5 6be3e7fc77 feat(meta): 匯入 jsc-meta 技能組
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 13:08:43 +08:00