From 291787eaaa189a37b0a6a32d4021682bc0111f39 Mon Sep 17 00:00:00 2001 From: richblack Date: Thu, 20 Aug 2026 23:02:47 +0800 Subject: [PATCH] =?UTF-8?q?TESTING.md=20B=20=E6=AE=B5=E6=95=B4=E6=AE=B5?= =?UTF-8?q?=E6=8F=9B=E6=8E=89=E2=80=94=E2=80=94=E8=88=8A=E7=89=88=E5=9C=A8?= =?UTF-8?q?=E9=96=98=E5=85=A8=E6=BB=85=E6=99=82=E6=9C=83=E5=9B=9E=E7=B6=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2026-08-20 雲端實證:B2/B3/B4 三步在 plugin 完全缺席時**全部通過**。 一個在閘死掉時也會給出正確答案的測試,不是測試。 三處各自為什麼假: - B2「跑 claude plugin list」→ 要它自己報自己,沒有獨立證據 - B3「Skills (9) / Hooks (5)」→ 那組數字剛好是薄殼自己的 .claude/ 產生的 - B4「git tag -a v9.9.9」→ git tag 在三支閘的白名單裡 新版三步都改成有鑑別力的: - B2 找 v0.3.0 新增的載入信標(那支腳本住在 plugin 裡,沒載入就不可能發聲) - B3 看 setup script 的自我驗證輸出(v0.3.0 新增) - B4 改用金鑰佔位符觸發 credential-only-guard(不在任何白名單上) Co-Authored-By: Claude Opus 5 --- .gitignore | 4 ++ docs/TESTING.md | 61 ++++++++++++++++++++---------- pending-main-push/unnamed--ISEP.md | 26 +++++++++++++ 3 files changed, 71 insertions(+), 20 deletions(-) create mode 100644 .gitignore create mode 100644 pending-main-push/unnamed--ISEP.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a1a7eac --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +# 含金鑰真身的雲端設定,永遠不進版控(2026-08-20 實際差點被 git add) +cloud-env*.txt +*.env diff --git a/docs/TESTING.md b/docs/TESTING.md index 3ca8ce9..820160a 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -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` 也解掉一半。 --- diff --git a/pending-main-push/unnamed--ISEP.md b/pending-main-push/unnamed--ISEP.md new file mode 100644 index 0000000..d5eca29 --- /dev/null +++ b/pending-main-push/unnamed--ISEP.md @@ -0,0 +1,26 @@ +# 推 main 的請求:未署名 + +- repo:/Users/youlinhsieh/Documents/tech_projects/ISEP +- 分支:main +- 時間:2026-08-20 20:59:30 + +- 它想跑的指令: +``` +git push gitea HEAD:main +``` + +## 還沒推上去的 commit(原始資料,不是轉述) + +``` +``` + +## 改了哪些檔 + +``` + docs/TESTING.md | 14 +--------- + scripts/make-cloud-env.sh | 69 ----------------------------------------------- + 2 files changed, 1 insertion(+), 82 deletions(-) +``` + +--- +總管裁完請刪掉這個檔——留著代表「還沒裁」。