釋出 doctor 與 setup 的路徑守則至 master,版本 0.3.3 升到 0.3.4 #64

Merged
admin merged 3 commits from develop into master 2026-09-03 05:37:34 +00:00
Member

摘要

  • 需求描述:把 develop 的修正釋出到 master。部署工具的 git clone 沒有指定分支,抓的是預設分支 master,所以變更沒進 master 就到不了任何一台機器。版本 0.3.3 升到 0.3.4。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

doctor 與 setup 補上路徑守則與根目錄取得方式,38 處呼叫改成字面絕對路徑;兩份範本與說明文件一併跟上。

設計重點

  • 這是釋出用的 PR,內容全部來自已經審過並合併進 develop 的變更,這裡不新增任何程式碼。

測試結果

  • 合併前的檢查都跑過並回結束碼 0:lint-scripts.sh、check-behaviors.sh、ste100-lint.sh。
  • 這一批只改文件與範本,沒有可執行的腳本變動。改後複查兩份技能文件全文,呼叫點已無裸相對路徑。

前置 Push Request

  • 無
## 摘要 - 需求描述:把 `develop` 的修正釋出到 `master`。部署工具的 `git clone` 沒有指定分支,抓的是預設分支 `master`,所以變更沒進 `master` 就到不了任何一台機器。版本 0.3.3 升到 0.3.4。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 `doctor` 與 `setup` 補上路徑守則與根目錄取得方式,38 處呼叫改成字面絕對路徑;兩份範本與說明文件一併跟上。 ## 設計重點 - 這是釋出用的 PR,內容全部來自已經審過並合併進 `develop` 的變更,這裡不新增任何程式碼。 ## 測試結果 - 合併前的檢查都跑過並回結束碼 0:`lint-scripts.sh`、`check-behaviors.sh`、`ste100-lint.sh`。 - 這一批只改文件與範本,沒有可執行的腳本變動。改後複查兩份技能文件全文,呼叫點已無裸相對路徑。 ## 前置 Push Request - 無
jiantw83 added 3 commits 2026-09-03 05:36:57 +00:00
這兩支技能的腳本呼叫原本全是裸相對路徑,整份文件沒有任何路徑守則。相對路徑會對著操作者當下的工作目錄解,而那裡從來不是外掛根目錄,所以每一個呼叫點都是模型就地猜前綴的地方。部署技能原本三處相對路徑被補成帶變數路徑,就是同一個機制。

實際掃到的處數比預估多:體檢 18 處、修復 20 處。多出來的是兩類原本沒想到的——裸檔名的 Gitea 呼叫,以及被當成參數傳的資料檔。後者同樣會解錯地方,而且解錯了不會報錯。

兩支各補路徑守則與前置步驟,解出兩條根目錄:跨外掛走 current 那一層(解到那一層就停,再往下解會落到帶版本號的快取路徑,那種路徑進不了允許清單),技能自己的腳本與範本走 CLI 載入技能時講明的外掛基底目錄。

兩支都不靠 current 底下那條 jsc-cli 連結,但理由各自不同,不是照抄部署那一支的。體檢不能靠,因為它正是機器可疑時才跑的技能——觸發時機本身就是連結可能出錯的那幾個時刻,而連結指著舊版時拿到的是舊的掃描腳本與舊的規格表,掃出來的每一列都像真的發現,不會有任何錯誤訊息。修復更不能靠,因為它寫檔,而且它要修的其中一列正是那個決定連結位置的變數:那種機器上根目錄根本解不出來,而修它要用的腳本掛在外掛基底目錄底下、不依賴那個變數,所以解不出來既不停這一輪也不擋那一項修復。何況拿舊的寫入腳本改設定檔,再用同一份舊腳本重驗,兩邊當然對得上,整輪會報成已修。

失敗分支也與部署不同。部署解不出根目錄就停手;這兩支都不停——體檢把它記成一項發現然後跑完不需要跨外掛的檢查,因為唯讀體檢中途停掉操作者什麼都拿不到;修復把它當成待修的那一項,修好再重解一次。

兩份範本與說明文件一併改。範本是這兩支技能在同一輪一起讀的,而且指示寫入,留著裸路徑等於留一個繞過新規則的入口。範本裡另外補掉兩個路徑洞:指向範本自己的佔位符原本沒有路徑,以及一個連目錄都沒有的裸檔名。

行為契約四列跟著改,並補上可稽核的跡象:回報裡的腳本路徑全是字面絕對路徑,跨外掛的路徑中間是 current 那一層而不是帶版本號的快取路徑。
兩支技能的路徑守則要靠版號才傳得到機器端。

三份 manifest 由 sync-skill-manifest.sh 同步,只動版本欄位。
Reviewed-on: #63
admin approved these changes 2026-09-03 05:37:31 +00:00
admin merged commit 2d5d966adc into master 2026-09-03 05:37:34 +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/cli#64