develop
master
version-guard.sh
jsc-cli:deploy
這一批的來源是助理 domain 落地與 MONITOR wiki 頁型別,跨四個存放庫:
MONITOR
assist
jsc-assist
status
gitea
resolve_wiki_repo()
check-wiki-rules.sh
TYPES
wiki
meta
CHECK
hooks
comment-scope.sh
SKILLSET
TOOLING
gitea.sh wiki-repo MONITOR
unknown wiki type
jsc-template
lint-scripts.sh
lint-frontmatter.sh
check-behaviors.sh
ste100-lint.sh
tools/
hooks/
knowledges/MONITOR
status=ok
/jsc-cli:deploy
/jsc-assist:status
wiki-list
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
No dependencies set.
The note is not visible to the blocked user.
摘要
develop併進預設分支,讓改動真的到各 CLI 手上。這是 PR 分支階梯的最後一級——marketplace 與version-guard.sh都讀預設分支,停在develop的內容jsc-cli:deploy看不到。變更內容
這一批的來源是助理 domain 落地與
MONITORwiki 頁型別,跨四個存放庫:assistjsc-assistdomain、唯讀技能status、技能行為清單、監控頁兩份範本、marketplace 副本giteaMONITOR進resolve_wiki_repo()白名單與check-wiki-rules.sh的TYPES,README、wiki技能、行為清單一併更新metaMONITOR一列,補雜湊來源與寫入語意說明,修掉「CHECK是唯一例外」這句不再成立的敘述hookscomment-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的偵測樣式實測三種型別各自都攔得下來。status=ok。/jsc-cli:deploy更新,然後在新的工作階段叫/jsc-assist:status(目前沒有心跳檔,預期輸出「助理未運行」而不是報錯);以及實際往knowledges/MONITOR寫一頁,確認該存放庫的 wiki 功能是開的(目前wiki-list回 404,第一次寫入才會生出來)。前置 Push Request