Compare commits

...

2 Commits

Author SHA1 Message Date
Leo 69e0adce1b wiki 那條帳補上牽涉哪些 repo,並記下漏掉的那幾把的共同形狀(inkstone/ISEP#115)
記憶警察(wiki-first-police)抓到的:那條 mistakes 落帳沒有 repo 欄位也沒有三元組
⇒ 下次查「這件事在哪」還是要從頭找。補 4 個 repo 位址 + 4 條三元組。

順帶把 5577/5610 的推廣寫進同一條,因為那兩把不是「忘了寫」而是同一族:
  uncle6 出貨       能力住在 ~/.wrangler 的 OAuth 登入態
  ARCRUN_NS_YOULIN  能力住在 ~/.arcrun 的 api_key
⇒ 能力其實有,只是住在「不會跟著 clone 走」的地方 ⇒ 本機永遠綠、雲端永遠紅,
  而兩邊都不會有人發現,直到某條線做到最後一步要用它。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 15:00:11 +08:00
Leo 47c73cdaa3 出貨線取座標那兩站也不會斷:ARCRUN_NS_YOULIN 進清單(inkstone/ISEP#115 → comment 5610)
inkstone/Arcrun#195 把實例座標拆成「網址隨 repo 走/namespace 走環境變數」之後,
一台乾淨機器只要有這一個環境變數就取得到座標。而它原本只住在
~/.arcrun/config.yaml 的 api_key——家目錄的東西不隨 repo clone 走,雲端拿不到。

- NEEDED 加 ARCRUN_NS_YOULIN(頂層 .env,長度 8)。清單 9 → 10 把。
- 在清單註解裡把這一族的共同形狀寫下來:**能力其實有,只是它住在
  「不會跟著 clone 走」的地方**——uncle6 是 ~/.wrangler 的 OAuth 登入態,
  這把是 ~/.arcrun。下一個遇到同款的人不必重新發現。
- docs/TESTING.md A26:9 把 → 10 把,狀態表補 5610。

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 14:56:43 +08:00
3 changed files with 39 additions and 3 deletions
+2 -2
View File
@@ -568,7 +568,7 @@ bash hooks/tests/sdd-guard-retired.test.sh
```
bash scripts/test-make-cloud-env.sh
```
**該看到**`11/11 通過,跳過 0 條`(清單現在是 9 把——兩台全給 + 機器帳號 + uncle6 出貨)。**全程只印變數名字與值的長度,一個字元的值都不印。**
**該看到**`11/11 通過,跳過 0 條`(清單現在是 10 把——兩台全給 + 機器帳號 + uncle6 出貨 出貨取座標)。**全程只印變數名字與值的長度,一個字元的值都不印。**
A 段用假的 `.env` 隔離跑(不碰真金鑰、不碰 `~/.claude/cloud-env`);
B 段拿這台機器真正的 `.env` 對帳——**`.env` 不在的機器(雲端就是)會印 `⏭️ SKIP`**
不算失敗,但也不算驗過。
@@ -875,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 | ✅ 11/112026-09-01inkstone/ISEP#115→5526554155425577)+兩條「該紅」方向實跑 |
| **A26 雲端憑證清單這台拿得到** | isep-hand | ✅ 11/112026-09-01inkstone/ISEP#115→55265541554255775610)+兩條「該紅」方向實跑 |
| **A16 放行的門真的打得開** | 總管 | ✅ 17/172026-08-28inkstone/ISEP#90 |
| **A17 未推警察不誤攔雲端分支** | 總管 | ✅ 10/102026-08-28inkstone/ISEP#90 |
| **A18 信標會報雲端接線缺陷** | 總管 | ✅ 14/142026-08-28inkstone/ISEP#90 |
+8
View File
@@ -21,6 +21,13 @@ set -euo pipefail
# `~/.wrangler/config/default.toml`)——**那個檔不隨 repo clone 走,雲端永遠拿不到**。
# ⚠️ 這把「是 uncle6 的、而且 active」是驗過的;「它有沒有 Workers Scripts:Edit
# =真的部署得動」**沒驗**(驗它必須寫入,那是紅線)。缺這格會在部署當下才知道。
#
# 📌 `ARCRUN_NS_YOULIN` 是同一族的病、不同的家(inkstone/ISEP#115 → comment `5610`):
# `inkstone/Arcrun#195` 把實例座標拆成「網址隨 repo 走/namespace 走環境變數」之後,
# 一台乾淨機器只要有這一個環境變數就取得到座標——而它原本只住在
# `~/.arcrun/config.yaml` 的 `api_key`**家目錄的東西不隨 repo clone 走**。
# 🔎 這一族的共同形狀:**能力其實有,只是它住在「不會跟著 clone 走」的地方**
# uncle6 是 `~/.wrangler` 的 OAuth 登入態,這把是 `~/.arcrun`)。
NEEDED=(
# ── 機器帳號 ──
GITEA_TOKEN_CLAUDE_CODE # claude-code 的 Gitea tokenbootstrap 與 plugin 安裝都靠它
@@ -31,6 +38,7 @@ NEEDED=(
YOULIN_MCP_OWNER_SECRETS # youlin 那台 MCP 的 owner secret
STAGE_USERNAME_YOULIN # ⚠️ 密碼類,見下面那條限制
STAGE_PASSWORD_YOULIN # ⚠️ 密碼類,見下面那條限制
ARCRUN_NS_YOULIN # 出貨線取座標那兩站要它;原本只住在 ~/.arcrun/config.yaml 的 api_key(家目錄,不隨 clone 走)
# ── geek6688 測試 prod 出貨機 ──
CLOUDFLARE_API_TOKEN_CC_SHIPPING_CORE # 出貨線寫入用
+29 -1
View File
@@ -201,9 +201,20 @@ leo 當場:「**這些為什麼不寫到票裡?**」
他會去找繞過去的方法。所以「出路能不能跑」要跟「判準準不準」一樣被測。
## ⚠️ MISTAKE: 「雲端該有哪些憑證」的清單是唯一真相源,卻沒有任何東西在跟機器對帳
票: `inkstone/ISEP#115`(→ comment `5522``5526`
票: `inkstone/ISEP#115`(→ comment `5522``5526``5541``5542``5577``5610`
日期: 2026-09-01
📍 repo`inkstone/ISEP``scripts/make-cloud-env.sh``scripts/test-make-cloud-env.sh`
 `InkStoneCo``.env``system-dev/wiki/credentials-map.md`——清單的值真身與那張索引)
 `products/arcrun-rag``.env``UNCLE6_CF_API_KEY``installer/ship.targets.json`
 `inkstone/Arcrun``shared/instance-coordinates/`——`ARCRUN_NS_YOULIN` 的用處)
三元組:
- `雲端該有哪些憑證 >> 唯一清單在 >> inkstone/ISEP:scripts/make-cloud-env.sh 的 NEEDED`
- `NEEDED >> 值真身在 >> InkStoneCo/.env 等六個 .env(只有名字進版控)`
- `這份清單 >> 被誰逼著跟機器對帳 >> scripts/test-make-cloud-env.sh 的 B7B8B9`
- `A 段 8 個 >> 從未併進 >> inkstone/ISEP:main(只活在 fix/cloud-env-parity-14PR #43`
症狀: 雲端 session 要清空 youlin`env | grep -ciE 'cloudflare|^CF_|wrangler'`**0**
`credentials-map.md` 明明寫著那把 token 在 `InkStoneCo/.env`
@@ -229,3 +240,20 @@ leo 當場:「**這些為什麼不寫到票裡?**」
**推廣**:repo 裡任何「這台機器該有什麼」的清單,都要有一支東西定期拿它去問機器。
清單自己不會知道它漏了什麼。
### 後續(同日 comment `5577`/`5610`):漏掉的那幾把有共同形狀
清單從 1 把補到 10 把的過程中,後面兩把不是「忘了寫」,是**同一族的病**:
```
uncle6 出貨 能力住在 ~/.wrangler/config/default.toml 的 OAuth 登入態
ARCRUN_NS_YOULIN 能力住在 ~/.arcrun/config.yaml 的 api_key
```
**能力其實有,只是它住在「不會跟著 clone 走」的地方**(家目錄)。
本機因此永遠是綠的,而雲端永遠是紅的——**兩邊都不會有人發現**,
直到某條線做到最後一步要用它。
📌 判準:看到「本機做得到、雲端做不到」時,先問
**「這個能力的真身住在 repo 裡,還是住在家目錄裡?」**
住在家目錄 ⇒ 它一定要有一個具名的環境變數,並且進這份清單。