📚職涯停看聽・知識庫← 總部儀表板
📅最後更新:2026/06/08
📑 目錄

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.md v2.7 → v2.8(🔧 開發模式 + 快速索引)
  • knowledge/improvements.md IMP-151 狀態 ⏳ → ✅
  • dev/tasks.md P2 IMP-151 升規任務標 [x]
← 返回 決策記錄