身為總管,我要雲端 setup 失敗時大聲喊出來,我才不會又交出一個零閘的環境 #44

Merged
claude-code merged 1 commits from fix/setup-self-verify into main 2026-08-20 14:59:55 +00:00
Member

修 2026-08-20 雲端零閘事故的兩個真因。

① setup script 從不驗證自己 —— 設完 git config 就結束,token 沒生效也不出聲。加兩道自我驗證(認證通不通、marketplace 有沒有就位),任一不通 exit 1。

② 沒有任何 release 撐版本號 —— ISEP 一個 tag 都沒有,plugin.json 誠實地寫著 0.0.0。而 claude plugin update 比對版本號 ⇒ 沒有 release 就永遠沒有新號碼可比 ⇒ 雲端拿不到更新。本 PR 升 0.3.0,合併後立刻打 tag 發版把它撐起來。

③ 新增 isep-presence-beacon.sh(信標,不是閘) —— SessionStart 報「ISEP v幾 已載入、幾支閘」。鑑別力是它的全部意義:這行住在 plugin 裡,看得到就一定載入了,看不到就是零閘。對比今日失效的探針:git tag 在三支閘的白名單裡,閘死了照樣過。

更正一則:先前我對 leo 說「URL 重寫沒作用到 plugin marketplace 這條路徑」——今晚在真隔離環境(GIT_CONFIG_NOSYSTEM=1)重測,那句是錯的,重寫有效。前兩次測試誤導我,是因為 /etc/gitconfig 的 macOS keychain helper 還在幫忙,「隔離 HOME」沒有隔離系統層。

驗:信標雙向實測(在 plugin 環境印出 v0.3.0/44 支;不在 plugin 裡靜默);兩份 JSON 可解析;setup script bash -n 過。

修 2026-08-20 雲端零閘事故的兩個真因。 **① setup script 從不驗證自己** —— 設完 git config 就結束,token 沒生效也不出聲。加兩道自我驗證(認證通不通、marketplace 有沒有就位),任一不通 exit 1。 **② 沒有任何 release 撐版本號** —— ISEP 一個 tag 都沒有,`plugin.json` 誠實地寫著 0.0.0。而 `claude plugin update` 比對版本號 ⇒ 沒有 release 就永遠沒有新號碼可比 ⇒ 雲端拿不到更新。本 PR 升 0.3.0,合併後立刻打 tag 發版把它撐起來。 **③ 新增 `isep-presence-beacon.sh`(信標,不是閘)** —— SessionStart 報「ISEP v幾 已載入、幾支閘」。鑑別力是它的全部意義:這行住在 plugin 裡,看得到就一定載入了,看不到就是零閘。對比今日失效的探針:`git tag` 在三支閘的白名單裡,閘死了照樣過。 **更正一則**:先前我對 leo 說「URL 重寫沒作用到 plugin marketplace 這條路徑」——今晚在真隔離環境(`GIT_CONFIG_NOSYSTEM=1`)重測,那句是錯的,重寫有效。前兩次測試誤導我,是因為 `/etc/gitconfig` 的 macOS keychain helper 還在幫忙,「隔離 HOME」沒有隔離系統層。 驗:信標雙向實測(在 plugin 環境印出 v0.3.0/44 支;不在 plugin 裡靜默);兩份 JSON 可解析;setup script `bash -n` 過。
claude-code added 1 commit 2026-08-20 14:59:43 +00:00
2026-08-20 雲端 session 的閘全滅,而三個驗證步驟全部回綠。
今晚在隔離 HOME(GIT_CONFIG_NOSYSTEM=1)重現,把兩件事分開了:

① setup script 的寫法是對的
   裸環境失敗、加了 url.insteadOf 就成功 —— x-access-token 這個使用者名稱
   Gitea 也接受。所以先前我對 leo 說「URL 重寫沒作用到 marketplace 這條路徑」
   是錯的,這裡更正。
   (前兩次測試之所以誤導,是因為 /etc/gitconfig 的 macOS keychain helper
   還在幫忙 —— 「隔離 HOME」並沒有隔離系統層設定。同一個病第三次。)

② 真正的缺陷是這支腳本從不驗證自己
   設完就結束。token 沒生效也不出聲 ⇒ setup log 一片綠、
   session 開起來才發現 marketplace 拉不下來,而那時已經沒有任何線索。
   本次加兩道自我驗證:git 認證通不通、marketplace 有沒有就位,
   任一不通就 exit 1 並印出該查什麼。

③ 新增 isep-presence-beacon.sh(信標,不是閘)
   SessionStart 報「ISEP v幾 已載入、幾支閘」。
   它的全部意義是鑑別力:這行住在 plugin 裡,所以看得到就一定載入了,
   看不到就是零閘。不像 git tag(在三支閘的白名單裡,閘死了照樣過)。

④ plugin.json 0.0.0 → 0.3.0
   查清楚了:0.0.0 不是漂移,是誠實 —— ISEP 一個 tag 都沒有,從沒發過 release。
   而這正是「雲端拿不到更新」的另一半:claude plugin update 比對版本號,
   沒有 release 就永遠沒有新號碼可比。所以這一刀的收工是真的打 tag 發版。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
claude-code merged commit 3a951210a5 into main 2026-08-20 14:59:55 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#44