兩台全給(youlin+geek6688),清單守則從名字改成事實(inkstone/ISEP#115 → comment 5541/5542)

leo 2026-09-01:「youlin 和 geek6688 都全給,因為這兩個都是讓 CC 操作
一個 stage 一個 test prod,不給所有的就是受阻。」覆蓋 comment 5526 的 youlin-only。

- NEEDED 從 2 把變 8 把:youlin 五把(CF token/account id/MCP owner secret/
  stage 帳密兩把)+ geek6688 兩把(出貨 token/account id)+ 機器帳號 Gitea token。
  CLOUDFLARE_ACCOUNT_ID_YOULIN 是 comment 5542 才補進 .env 的,已實查在場。
  CLOUDFLARE_API_TOKEN_leo21c 沒加(leo 只點名那兩台)。
- 新增 B9:leo21c 那把住在頂層 .env,不在 polaris/mira/.env ⇒ B8 抓不到它。
  B9 比的是**值相等**不是名字——把它改名叫 CF_TOKEN_BACKUP 照樣紅,
  而黑名單會放它過去。兩條「該紅」方向都在拋棄式副本上實跑證過。
- 密碼類兩把進清單是給人拿的;credentials-map.md「密碼類憑證的用法限制」照舊:
  AI 不得把密碼打進登入欄位。這條寫在清單旁邊,下一個要加變數的人一定會看到。

順手修掉一個不是我造成的假綠:
- hooks/tests/sdd-guard-retired.test.sh 用了 mapfile,macOS 內建 bash 3.2 沒有這個內建,
  在乾淨的 origin/main 上就是離開碼 1(實驗證過),而 TESTING.md 標著「通過 8」。
  改成 while-read(同 scripts/gitea-labels-sync.sh:56 的前例)後:通過 8 / 失敗 0。

接基底與衝突:
- rebase 到 013a987,main 那 8 筆一筆沒掉。
- TESTING.md 兩邊都新增了 A25 ⇒ main 的 A25(sdd-guard 退役)保留原編號,
  本節改為 A26;狀態表那列跟著改。
- plugin.json 取 main 那邊(version 0.18.0 未動),六個數字在併完的樹上實數:
  61/84/7/7/2/49。
- mistakes.md 兩邊各自 append,兩條都留。

值全程沒有進版控、沒有進對話(只印名字與長度)。版本號待總管定。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-01 12:04:49 +08:00
parent ca9ea9993b
commit 7aef9436c9
6 changed files with 91 additions and 27 deletions
+16 -6
View File
@@ -564,11 +564,11 @@ bash hooks/tests/sdd-guard-retired.test.sh
🔴 **順序不可顛倒**:要等這一版 ISEP 出去、兩邊 `/plugin update` 之後,
那半才動得——先拿掉 active SDD 就會鎖死。
### A26 — 雲端該有的憑證清單,這台機器真的拿得到:10
### A26 — 雲端該有的憑證清單,這台機器真的拿得到:11
```
bash scripts/test-make-cloud-env.sh
```
**該看到**`10/10 通過,跳過 0 條`。**全程只印變數名字與值的長度,一個字元的值都不印。**
**該看到**`11/11 通過,跳過 0 條`(清單現在是 8 把)。**全程只印變數名字與值的長度,一個字元的值都不印。**
A 段用假的 `.env` 隔離跑(不碰真金鑰、不碰 `~/.claude/cloud-env`);
B 段拿這台機器真正的 `.env` 對帳——**`.env` 不在的機器(雲端就是)會印 `⏭️ SKIP`**
不算失敗,但也不算驗過。
@@ -585,15 +585,25 @@ B 段拿這台機器真正的 `.env` 對帳——**`.env` 不在的機器(雲
`<🔴 找不到>`,而雲端要到**用到那一刻**才知道。這就是 ISEP#115 那一天的形狀
- **B8 紅** ⇒ 清單裡混進了值出自 `polaris/mira/.env` 的變數,那是 **leo21c 現役正式環境**
leo 2026-08-20 已把那 7 把分進 B 段並選擇不放(`inkstone/InkStoneCo#14` → comment `3890`
- **B9 紅** ⇒ 清單裡有一把的**值**就是 `CLOUDFLARE_API_TOKEN_leo21c`
leo 2026-09-01 的紅線是「那把不准加」,而 B9 比的是值不是名字 ⇒ **改個名字照樣紅**
- **B8x 紅或長期 SKIP** ⇒ B8 的偵測**不會亮**。全綠有兩種可能(真的沒有正式憑證/
偵測根本壞了),分不開就等於沒驗
- **A5a/A5b 紅** ⇒ 缺值時不會被標成 `<🔴 …>`、收尾也不點名 ⇒ **假綠**
而假綠正是這張票要解的病
- **A6 紅** ⇒ 有東西被寫進 repo。那支腳本的產物含金鑰真身,**刻意不在任何 repo 裡**
> 🔴 **B8 的判準是「值從哪個檔案拿到的」,不是名字裡有沒有某個字」。**
> 關鍵字黑名單擋不住沒被列進黑名單的新名字;「這個值出自 leo21c 那份 `.env`」
> 是 grep 得出來的事實,換什麼名字都躲不掉。
> 🔴 **B8 與 B9 的判準都不是名字,是機器算得出來的事實。**
> B8 看「值從哪個檔案拿到的」,B9 看「這個值是不是就是 leo21c 那把」。
> **兩條是分工不是重複**`CLOUDFLARE_API_TOKEN_leo21c` 住在**頂層** `.env`
> 不在 `polaris/mira/.env` ⇒ B8 抓不到它,那就是 B9 存在的理由。
>
> **兩條的「該紅」方向都實跑過**(2026-09-01,拋棄式副本,分支一個字沒動):
> ```
> 混進 mira 的 NAMESPACE → ❌ B8 …want=0 got=1,並指出「來自 polaris/mira/.env」
> 把 leo21c 那把改名 CF_TOKEN_BACKUP → ❌ B9 …want=0 got=1B8 此時仍綠,因為值不出自 mira)
> ```
> ⇒ 第二條正是黑名單會放過去的形狀。
### A5 — 開票前的搜尋是跨 repo 的
```
@@ -865,7 +875,7 @@ B2(信標那行)/B3(setup 輸出)/B4(閘的訊息)三個畫面
| **A12 留言身份欄(兩道門)** | 總管 | ✅ 11/112026-08-27 |
| **A23 同時跑的線有上限** | isep-guard | ✅ 33/332026-08-29inkstone/ISEP#109 |
| **A24 一條線要有自己的工作目錄** | isep-guard | ✅ 35/352026-08-29inkstone/ISEP#109→5391 |
| **A26 雲端憑證清單這台拿得到** | isep-hand | ✅ 10/102026-09-01inkstone/ISEP#115→5526 |
| **A26 雲端憑證清單這台拿得到** | isep-hand | ✅ 11/112026-09-01inkstone/ISEP#115→5526/5541/5542)+兩條「該紅」方向實跑 |
| **A16 放行的門真的打得開** | 總管 | ✅ 17/172026-08-28inkstone/ISEP#90 |
| **A17 未推警察不誤攔雲端分支** | 總管 | ✅ 10/102026-08-28inkstone/ISEP#90 |
| **A18 信標會報雲端接線缺陷** | 總管 | ✅ 14/142026-08-28inkstone/ISEP#90 |