RCF-061 — Auth Flow 變動前必讀 auth 初始化程式碼(IMP-151 升規)
類型:規則變更 日期:2026-06-01 觸發條件:條件 1 — 新增 HARD STOP 規則(🔧 開發模式新增 auth 初始化程式碼必讀規則)
背景
IMP-151(2026-05-23)記錄:GAS Calendar 同步設計時,進行 4 輪 IAUD 自查均未讀取 server.js 的 Service Account 初始化段落,直到第 5 輪才發現 OAuth scope 必須從 calendar.events 改為 calendar。若未發現此問題就部署,Meet 連結永遠不會生成,且不會有明顯錯誤訊息。
根本模式:查照必讀清單只含文件(CLAUDE.md / inventory.json),未包含「關鍵 auth 初始化程式碼段」——而授權架構的實際設定只存在程式碼中,文件無法替代。
本次變更
觸發精確化
三輪評估後,觸發條件從「涉及外部服務憑證」收窄為「auth flow 有實質變動」:
- 新增 OAuth scope
- 換用 Service Account
- 引入新 token 型態
- 整合全新外部服務
排除:只是新增使用現有 auth 的 endpoint(auth 架構完全不變)。
新增規則(CLAUDE.md v2.8)
位置:🔧 開發模式「強制遵守」與「禁止」之間
⛔ Auth Flow 變動前必讀 auth 初始化程式碼(IMP-151):
觸發條件 — 新增 OAuth scope / 換用 Service Account / 引入新 token 型態 /
整合全新外部服務。查照前必須實際讀取現有 auth 初始化程式碼段,並在查照中展示:
① 現有 scope / 憑證型態 / token 格式
② 新功能所需 scope / 憑證是否已覆蓋
② 未覆蓋 → 查照中標注「需擴權:XXX」;擴權 = 安全決策 → 列為 Q11 不可逆操作,執行前需 Tim 確認。
無現有 auth 程式碼 → 宣告「本次為新 auth 整合,無既有架構可讀」。
禁止清單新增:「只讀 CLAUDE.md 或 env var 清單就假設 auth 架構已足夠」
快速索引新增
| ⛔ Auth Flow 變動前必讀 auth 初始化程式碼(IMP-151)|
🔧開發任務涉及 OAuth scope / Service Account / 新 token 型態 / 新外部服務整合時 |
作業模式定義 → 🔧 開發模式 |
設計決策
| 選項 | 描述 | 選擇 |
|---|---|---|
| A | 觸發條件「任何涉及外部憑證功能」 | ❌ 太寬,幾乎所有功能都碰 env var |
| B | 觸發條件「auth flow 有實質變動」 | ✅ 精確,只在架構真的改變時觸發 |
| C | 加入查照展示標準(展示 scope/型態/覆蓋狀態) | ✅ 防止「讀了」但沒有真正核對 |
| D | 擴權必須列 Q11 不可逆操作 | ✅ auth 擴權 = 安全決策,需 Tim 二次確認 |
驗證方式
下次涉及 auth flow 變動的 🔧 開發查照中,必讀清單應出現「auth 初始化程式碼段(已展示 scope/型態/覆蓋狀態)」。
影響範圍
CLAUDE.mdv2.7 → v2.8(🔧 開發模式 + 快速索引)knowledge/improvements.mdIMP-151 狀態 ⏳ → ✅dev/tasks.mdP2 IMP-151 升規任務標 [x]