7498911856
leo 交辦:先做出「拆乾淨→重裝」的內部工具,在 youlin 帳號上自己能用即可,
不是產品(對外版另計)。D82 三步驗收(全新安裝→更新→解除安裝)需要拆的能力才測得到,
沒有它就永遠測不到 #119/#120 這類「只有全新用戶才撞得到」的坑。
目前做到:
- scripts/teardown-instance.mjs:
- plan/apply 兩階段(預設唯讀只印清單,真要刪要 apply --yes)
- 帳號白名單(只認 youlin,明確擋 leo21c)
- 歸屬判準:worker 名字要出現在本 repo wrangler*.toml 或官方 bundle manifest.core[]
才算「已知」,不認得的一律列出不動(例如 kbdb-graph-plugin,不屬於這台實例)
- 共用資源保護:同一顆 KV/D1/Vectorize 若也被「保留中的 worker」綁著,排除不刪
- central-plan/central-apply:清中心 INSTALLER_KV/PEER_INSTALLER_KV 的
deployed:<accountId>: 紀錄(#120 死結的另一半,帳號側清了但這裡沒清會卡死重裝)
- 已用 `plan` 在 youlin 帳號實跑過(唯讀),清單看起來合理,貼在 issue/回報裡
還沒做:
- apply(真的刪)、central-apply、以及刪完後的重裝驗證,全部還沒跑
- 已知限制列在檔頭註解:判準是「repo 認不認得」不是「屬於哪一台實例」,
同帳號多台同名慣例實例分不出來(今天 youlin 上短暫同時有正式實例與
ship-stage-119 的 freshtest 測試實例,此時就是靠人工 --keep 排除)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>