釋出 jsc-assist 0.0.2:助理 domain 落地與 status 技能 #3

Merged
admin merged 5 commits from develop into master 2026-09-01 04:44:51 +00:00
Member

摘要

  • 需求描述:把 develop 併進預設分支,讓改動真的到各 CLI 手上。這是 PR 分支階梯的最後一級——marketplace 與 version-guard.sh 都讀預設分支,停在 develop 的內容 jsc-cli:deploy 看不到。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

這一批的來源是助理 domain 落地與 MONITOR wiki 頁型別,跨四個存放庫:

存放庫 這一批改了什麼
assist 樣板改成獨立的 jsc-assist domain、唯讀技能 status、技能行為清單、監控頁兩份範本、marketplace 副本
gitea MONITOR 進 resolve_wiki_repo() 白名單與 check-wiki-rules.sh 的 TYPES,README、wiki 技能、行為清單一併更新
meta 命名總表新增 MONITOR 一列,補雜湊來源與寫入語意說明,修掉「CHECK 是唯一例外」這句不再成立的敘述
hooks comment-scope.sh 的頁面編號偵測補上 SKILLSET、TOOLING、MONITOR;另含已合併的 smoke 擋人斷言修正

設計重點

  • 合併順序要留意。 gitea 是型別的解析端。它沒跟上而其餘先進預設分支,會出現準則說有 MONITOR、註解掃描認得 MONITOR,但 gitea.sh wiki-repo MONITOR 仍回 unknown wiki type 的狀態。不會壞事,但那段期間型別還不能用。
  • assist 的版本會從預設分支上的數字往下走。 預設分支原本的號碼是樣板殘留,名稱還是 jsc-template,從沒以 jsc-assist 發佈過。合併後整份內容由 develop 取代,版本是這個 domain 的真實起算值。plugin 名不同,不會與任何已安裝的東西混淆。
  • 雜湊來源比照 CHECK 取主機名與登入帳號;監控頁一律附加、不覆寫。兩點都與 TOOLING 相反,準則裡各自寫明白了。

測試結果

  • 子功能與功能主幹兩級都跑過檢核,四個存放庫的 lint-scripts.sh、lint-frontmatter.sh、check-behaviors.sh、ste100-lint.sh 全綠(assist 的 lint-scripts.sh 是 exit 3,因為它確實沒有 tools/ 也沒有 hooks/)。
  • gitea.sh wiki-repo MONITOR 在工作樹上印出 knowledges/MONITOR;跨型別代用的防護仍在。
  • comment-scope.sh 的偵測樣式實測三種型別各自都攔得下來。
  • 五支 CLI 的 hook smoke 全部 status=ok。
  • 這一級合併之後才驗得了的兩件事:跑 /jsc-cli:deploy 更新,然後在新的工作階段叫 /jsc-assist:status(目前沒有心跳檔,預期輸出「助理未運行」而不是報錯);以及實際往 knowledges/MONITOR 寫一頁,確認該存放庫的 wiki 功能是開的(目前 wiki-list 回 404,第一次寫入才會生出來)。

前置 Push Request

  • 無
## 摘要 - 需求描述:把 `develop` 併進預設分支,讓改動真的到各 CLI 手上。這是 PR 分支階梯的最後一級——marketplace 與 `version-guard.sh` 都讀預設分支,停在 `develop` 的內容 `jsc-cli:deploy` 看不到。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 這一批的來源是助理 domain 落地與 `MONITOR` wiki 頁型別,跨四個存放庫: | 存放庫 | 這一批改了什麼 | | --- | --- | | `assist` | 樣板改成獨立的 `jsc-assist` domain、唯讀技能 `status`、技能行為清單、監控頁兩份範本、marketplace 副本 | | `gitea` | `MONITOR` 進 `resolve_wiki_repo()` 白名單與 `check-wiki-rules.sh` 的 `TYPES`,README、`wiki` 技能、行為清單一併更新 | | `meta` | 命名總表新增 `MONITOR` 一列,補雜湊來源與寫入語意說明,修掉「`CHECK` 是唯一例外」這句不再成立的敘述 | | `hooks` | `comment-scope.sh` 的頁面編號偵測補上 `SKILLSET`、`TOOLING`、`MONITOR`;另含已合併的 smoke 擋人斷言修正 | ## 設計重點 - **合併順序要留意。** `gitea` 是型別的解析端。它沒跟上而其餘先進預設分支,會出現準則說有 `MONITOR`、註解掃描認得 `MONITOR`,但 `gitea.sh wiki-repo MONITOR` 仍回 `unknown wiki type` 的狀態。不會壞事,但那段期間型別還不能用。 - **`assist` 的版本會從預設分支上的數字往下走。** 預設分支原本的號碼是樣板殘留,名稱還是 `jsc-template`,從沒以 `jsc-assist` 發佈過。合併後整份內容由 `develop` 取代,版本是這個 domain 的真實起算值。plugin 名不同,不會與任何已安裝的東西混淆。 - 雜湊來源比照 `CHECK` 取主機名與登入帳號;監控頁一律附加、不覆寫。兩點都與 `TOOLING` 相反,準則裡各自寫明白了。 ## 測試結果 - 子功能與功能主幹兩級都跑過檢核,四個存放庫的 `lint-scripts.sh`、`lint-frontmatter.sh`、`check-behaviors.sh`、`ste100-lint.sh` 全綠(`assist` 的 `lint-scripts.sh` 是 exit 3,因為它確實沒有 `tools/` 也沒有 `hooks/`)。 - `gitea.sh wiki-repo MONITOR` 在工作樹上印出 `knowledges/MONITOR`;跨型別代用的防護仍在。 - `comment-scope.sh` 的偵測樣式實測三種型別各自都攔得下來。 - 五支 CLI 的 hook smoke 全部 `status=ok`。 - **這一級合併之後才驗得了的兩件事**:跑 `/jsc-cli:deploy` 更新,然後**在新的工作階段**叫 `/jsc-assist:status`(目前沒有心跳檔,預期輸出「助理未運行」而不是報錯);以及實際往 `knowledges/MONITOR` 寫一頁,確認該存放庫的 wiki 功能是開的(目前 `wiki-list` 回 404,第一次寫入才會生出來)。 ## 前置 Push Request - 無
jiantw83 added 5 commits 2026-09-01 04:44:21 +00:00
What:
- 三份 manifest 的 name 由 jsc-template 改成 jsc-assist,version 設為 0.0.1,description 改寫成助理的定位,並加上 jsc.requires 宣告對 jsc-cli、jsc-gitea、jsc-hooks、jsc-log 的最低版本。
- README.md 與 AGENTS.md 依 meta domain 的格式重寫,AGENTS.md 多一節「助理的界線」。
- 刪掉樣板的 hello 技能,新增 status 技能與 references/behaviors.md 行為清單。

Why:
- 這個存取庫原本整份是 template 的樣板,四份 manifest 都還叫 jsc-template。名字沒改,marketplace 認不出它是獨立的 domain,各 CLI 也裝不上。
- 助理的閘門、心跳與巡檢要有落點,前提是存取庫先認得出自己。
- 樣板的 hello 技能只是安裝驗證用,留著會讓助理的技能清單從第一天就帶著一支沒有用途的技能。換成唯讀的 status,行為檢查與 frontmatter 檢查也才有掃描對象。

How:
- status 全程唯讀:讀心跳檔判斷助理在不在跑,判準只看時間戳距現在是否不到 300 秒,不看 pid 存活——五支 CLI 與容器裡的行程互相看不到彼此的 pid。
- 心跳檔不存在時印「助理未運行」,這是正常結果,不以非 0 結束。
- 這支不新增 tools/ 腳本。讀兩個路徑印一張表還不到抽腳本的門檻,助理主體落地時再一併評估。
- 三份 manifest 的 version 由 sync-skill-manifest.sh 同步,README 的技能目錄區塊一起更新。

Who:
助理 domain 落地的第一步,後續的閘門、心跳與排程都接在這個基礎上。
What:
- 兩份 marketplace 檔各加一個 jsc-assist 條目,來源網址指向 assist 存取庫。

Why:
- 準則要求每個 domain 存取庫都帶同一份 marketplace 檔,任何一個存取庫都能當註冊入口。少了這個條目,各 CLI 的安裝指令找不到 jsc-assist,sync-domains 也不會把它同步下來。

How:
- 條目由 meta 的 sync-marketplace.sh 產生,同時寫進正本與每個 domain 存取庫的副本,寫完逐檔比對位元組。這一支存取庫的兩份副本就是那一輪的產物。
- 條目依名稱排序,縮排與非 ASCII 描述的處理都交給同一支腳本,不手改 JSON。

Who:
助理 domain 落地的註冊步驟,其餘 domain 存取庫的同一份副本另外送出。
What:
- 新增 templates/monitor-contents.md 與 templates/monitor-page.md。
- README 的「參考與工具」表補上這兩份範本,說明欄寫出兩者相反的寫入語意。
- 三份 manifest 的版本一起提升。

Why:
- 監控頁是助理巡檢結果的落點。沒有範本,每次巡檢寫出來的格式都不一樣,累積久了看不出趨勢,也對不起來。
- 兩份範本的寫入語意剛好相反,必須各自寫明白。目錄頁是共用的,一列代表一台機器,整頁覆蓋會刪掉別台機器的紀錄;內容頁只屬於一台機器,記的是歷次巡檢的軌跡,所以附加不覆寫。

How:
- 目錄頁範本帶欄位說明與寫入規則:比對主機與帳號兩欄,只更新自己那一列,讀不到舊內容就中止,不硬寫。
- 內容頁範本一次巡檢附加一節,節標題帶時間戳,涵蓋心跳與閘門、使用統計、hook 錯誤、版本落差、階段鎖與工作包鎖、待辦簿到期與逾期六類結果。
- 連續失敗的項目一定要標「已連續失敗 N 次」。待辦簿的項目失敗不會自動暫停,會每輪重試,不標出來就是一個壞掉的項目一直重試而沒人知道。
- 內容以圖表優先,流程用 mermaid、結果用表格,純文字每節最多三句。

Who:
技能助理落地帶出來的頁型別需求,四個存放庫同一批改。
Reviewed-on: #1
Reviewed-on: #2
admin approved these changes 2026-09-01 04:44:49 +00:00
admin merged commit 8a14d04c5d into master 2026-09-01 04:44:51 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/assist#3