docs(cloud): 官方文件核實後修正 Plan A 假設+補完整環境變數盤點(InkStoneCo#14) #43

Closed
claude-code wants to merge 2 commits from fix/cloud-env-parity-14 into main
Member

查官方文件(code.claude.com/docs/en/cloud-environments 的「What carries over」表)核實後發現:今天已裝好的 --scope user plugin 安裝很可能不會被雲端 session 讀到。新增 docs/cloud-environment-audit-20260820.md 提供 Plan B(宣告進連線 repo settings.json)與 Plan C(claude --cloud bundle 本機 checkout,不經過 GitHub 薄殼)兩條官方文件證實可行的替代路;同時逐一比對 credentials-map.md 完成環境變數/網域盤點,並擴充 scripts/make-cloud-env.sh 的 NEEDED 清單。詳見 inkstone/InkStoneCo#14。

未動 hooks/、未動 labels.yaml、未 push GitHub。

查官方文件(code.claude.com/docs/en/cloud-environments 的「What carries over」表)核實後發現:今天已裝好的 `--scope user` plugin 安裝很可能不會被雲端 session 讀到。新增 `docs/cloud-environment-audit-20260820.md` 提供 Plan B(宣告進連線 repo settings.json)與 Plan C(`claude --cloud` bundle 本機 checkout,不經過 GitHub 薄殼)兩條官方文件證實可行的替代路;同時逐一比對 credentials-map.md 完成環境變數/網域盤點,並擴充 scripts/make-cloud-env.sh 的 NEEDED 清單。詳見 inkstone/InkStoneCo#14。 未動 hooks/、未動 labels.yaml、未 push GitHub。
claude-code added 1 commit 2026-08-20 14:04:47 +00:00
查官方文件(code.claude.com/docs/en/cloud-environments 的「What carries
over」表)發現:今天裝好的 --scope user 機制很可能不會被雲端 session 讀到
(user-scope enabledPlugins 明文寫「不會帶到雲端」);先前引用的
「Pre-populate plugins for containers」是另一個機制(CLAUDE_CODE_PLUGIN_
SEED_DIR,給自架容器用),不是 claude.ai Cloud environments 產品。

新增 docs/cloud-environment-audit-20260820.md:
- Plan A 風險(本機隔離環境重跑一次,貼新鮮輸出佐證腳本本身沒問題)
- Plan B(官方文件證實可行:把 ISEP 宣告進連線 repo 自己的 settings.json)
- Plan C(今天新查到:claude --cloud 直接從本機 checkout 打包,完全不經
  過 GitHub 薄殼,官方文件證實可行)
- 舊雲端環境變數逐一比對 credentials-map.md:八個名字(CLOUDFLARE_ACCOUNT_ID
  等)確認來自 polaris/mira/.env(leo21c 現役),與 cloud 總管工作無關,
  建議排除
- 薄殼/ISEP 共存風險分析(不會打架,除非 bootstrap.sh 重新把 InkStoneCo/
  clone 進薄殼workspace)

scripts/make-cloud-env.sh:NEEDED 從 1 個擴到 8 個,排除 leo21c 來源的
憑證,加註每個變數的出處依據。

docs/TESTING.md、docs/cloud-setup-script.sh、docs/cloud-session-bootstrap.md:
補上指向審計文件的警示與 Plan B/C 的 fallback 指引。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
claude-code added 1 commit 2026-08-20 14:09:40 +00:00
main 回饋:靜默排除 leo21c 憑證會讓 leo 明天卡住而不知道為什麼——
改成 A(cloud 總管工作需要,直接貼)/B(leo21c 正式環境憑證+已知過時,
值已備好+附理由,leo 自己決定要不要留)/C(舊雲端有這個名字但本機
六個 .env 都找不到值的)三段,讓 leo 自己看得見取捨。

同時修掉 `local -n`(nameref)在 macOS 內建 bash 3.2 會直接噴語法錯誤的問題
(leo 本機跑的就是這支 bash)——改成兩個各自展開的函式,不依賴 bash 4.3+。

實跑驗證:A 8 個+B 7 個=15 個,跟舊雲端環境變數清單數量一致,C 段 0 個
(這次盤點六個 .env 全部找得到值)。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Author
Member

【分診 @ inkstone/ISEP#64】狀態: 已作廢,關閉

本 PR(08-20)依官方文件核實後提出 Plan B(宣告進連線 repo settings.json)/Plan C(claude --cloud bundle 本機 checkout)兩條路,解 inkstone/InkStoneCo#14(雲端 plugin 裝了但沒生效)。

InkStoneCo/system-dev/wiki/decisions-summary.md 記錄 D-2026-08-23:雲端的閘改走 marketplace,薄殼不留第二份——這是 08-23(比本 PR 晚三天)針對同一張票(InkStoneCo#14)做出的最終決策:雲端閘只從 marketplace 安裝一份,不走複製薄殼那條路。且實測 main 上的 docs/cloud-setup-script.sh 已經是照這個新決策改過的版本(47ed778「改走直接複製進薄殼 repo,並修掉一支會偷跑指令的閘」/03d9782「查了官方文件才發現 setup script 根本讀不到環境變數」),跟本 PR 的 Plan B/C 走的是不同、更早被放棄的路線。

git merge-tree 對照現在 main 也確認是真衝突(docs/cloud-setup-script.shscripts/make-cloud-env.sh 都衝突)。

關閉,不刪分支(docs/cloud-environment-audit-20260820.md 的官方文件核實內容仍有考古價值)。

【分診 @ inkstone/ISEP#64】狀態:**❌ 已作廢,關閉** 本 PR(08-20)依官方文件核實後提出 Plan B(宣告進連線 repo settings.json)/Plan C(`claude --cloud` bundle 本機 checkout)兩條路,解 `inkstone/InkStoneCo#14`(雲端 plugin 裝了但沒生效)。 但 `InkStoneCo/system-dev/wiki/decisions-summary.md` 記錄 **`D-2026-08-23`:雲端的閘改走 marketplace,薄殼不留第二份**——這是 08-23(比本 PR 晚三天)針對同一張票(`InkStoneCo#14`)做出的最終決策:雲端閘只從 marketplace 安裝一份,不走複製薄殼那條路。且實測 main 上的 `docs/cloud-setup-script.sh` 已經是照這個新決策改過的版本(`47ed778`「改走直接複製進薄殼 repo,並修掉一支會偷跑指令的閘」/`03d9782`「查了官方文件才發現 setup script 根本讀不到環境變數」),跟本 PR 的 Plan B/C 走的是不同、更早被放棄的路線。 `git merge-tree` 對照現在 main 也確認是真衝突(`docs/cloud-setup-script.sh`、`scripts/make-cloud-env.sh` 都衝突)。 關閉,不刪分支(`docs/cloud-environment-audit-20260820.md` 的官方文件核實內容仍有考古價值)。
claude-code closed this pull request 2026-08-27 05:35:25 +00:00

Pull request closed

Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#43