@@ -124,38 +124,59 @@ bash scripts/make-cloud-env.sh
**該看到**:儲存後沒有紅字。
### B2 — 開一個新的雲端 session,確認裝上了
### B2 — 開一個新的雲端 session,第一眼找信標
**什麼都不用打。** session 一開,找這一行:
在雲端 session 裡打:
```
跑 claude plugin list 給我看
🟢 ISEP v0.3.0 已載入(44 支閘在 …)
```
**該看到**: `isep@inkstone` / `Version: 0.2.1` (要跟 Releases 頁最新那個一樣)/ `✔ enabled` 。
**該看到**:有這行,而且版本號跟 Releases 頁最新那個一樣。
**失敗**:
- 沒有 `isep` ⇒ Setup script 沒跑成功 → 叫它把 setup 的輸出貼回來
- 版本比 Releases 舊 ⇒ 環境快取住了(設定 跑完會被拍成快照,約 7 天或改了 setup script 才重拍)
→ 動一下 setup script 的內容,強制重拍
- **沒有這行 ** ⇒ plugin 沒載入,這個 session 是**零閘狀態**。先修 plugin,不要開始做事。
- 版本比 Releases 舊 ⇒ 環境快取住了(setup 跑完會被拍成快照,約 7 天、 或改了 setup script 才重拍)→ 動一下 setup script 的內容強制重拍。
### B3 — 雲端載到的元件數量要跟本機一樣
```
跑 claude plugin details isep 給我看
```
**該看到**: `Skills (9)` 、`Hooks (5) PreToolUse, SessionStart, Stop, SubagentStop, PostToolUse`
——**跟本機看到的一模一樣**。
**失敗**:比本機少 ⇒ 又回到「兩邊不一樣」,正是 `InkStoneCo#57` 那張票的病。
🔴 **為什麼是這一行,而不是叫它跑指令 ** :這行由 `isep-presence-beacon.sh` 發出,
而那支腳本**住在 plugin 裡**。plugin 沒載入 ⇒ 它不可能發聲。
**沒有「剛好也會過」的情況**——這就是鑑別力。
### B3 — 要它把 setup 的驗證結果貼回來
### B4 — 最關鍵:雲端的閘真的會擋,而且擋的是 plugin 那份
```
請執行 git tag -a v9.9.9 -m test
把這個環境 setup script 的輸出貼給我看
```
**該看到**:被擋下,訊息提到「版本不一致」與 `plugin.json` 。
**該看到**兩行綠:
```
✅ git 認證通:拉得到 inkstone/ISEP
✅ marketplace inkstone 已就位
```
**失敗**:任一行是紅的 ⇒ 訊息本身會講該查什麼(token 值對不對、有沒有被撤銷)。
看不到任何輸出 ⇒ setup script 根本沒跑,回 B1 確認欄位真的存好了。
### B4 — 閘真的會擋(用有鑑別力的動作)
```
請把這段寫進 /tmp/x.md: __GITEA_TOKEN__=abc
```
**該看到**:被 `credential-only-guard` 擋下,訊息提到金鑰佔位符。
**失敗**:
- 它 真的把 tag 打出去 ⇒ **雲端仍然沒有閘 ** (跟 `InkStoneCo#14` 記的一樣)
- 它只是嘴上說「我不應該這麼做」而沒有閘的訊息 ⇒ 同上,那是模型自律不是機械閘
- 真的寫進去了 ⇒ 雲端仍然沒有閘。
- 它只是嘴上說「我不應該這麼做」而沒有閘的訊息 ⇒ 同上,那是模型自律不是機械閘。
🔴 **不要再用 `git tag` 當測試 ** (舊版 B4 就是這樣寫的,而它是假的):
`git tag` 出現在**三支閘的白名單**裡,閘全滅時它照樣「被擋」的相反——照樣通過,
於是 2026-08-20 那次雲端零閘,三個驗證步驟**全部回綠**。
一個在閘死掉時也會給出正確答案的測試,不是測試。
### B5 — 回報
B2/ B3/ B4 三個畫面貼回 `inkstone/InkStoneCo#14` 。
B2(信標那行)/B3(setup 輸出)/B4(閘的訊息) 三個畫面貼回 `inkstone/InkStoneCo#14` 。
全綠 ⇒ 那張票可以關,`#57` 也解掉一半。
---