本卡屬 FR-095(母卡見本 arc README front matter),第 3 棒 P2:任務指派+六張參與者表資料存取+migration(jedi 套件 repo)。只掃不修

這一棒在做什麼(白話)

「這個任務指派給誰」的 API(新增/更新/刪除指派、查指派清單),加上六張成員相關資料表的資料存取層(repo,就是「真正下 SQL 查表」的那層)、資料表模型與建表的 migration(建表腳本)。共 35 檔。只找問題、不修問題。

為什麼切這一塊

守門是在 service 層做的,但資料真正被讀出來是在 repo 層——如果 repo 的查詢沒有「限定在某個專案內」的條件,service 層守門再對,換一個參數就能撈到別的專案。而這六張表沒有一張有租戶欄、隔離全關(migration 檔頭自陳刻意),資料庫層零兜底。把「守門條件」與「查詢條件」與「表結構」放同一棒,一眼就能看完三層是不是全空。

重點看什麼

這些是首腦讀過程式碼後認為最容易出事的地方,是思考起點不是檢查清單。每條後面的「首腦核對」是首腦親自開檔的結果——✅ 屬實的不必重做核對,直接當錨點追下去;標「待 runner 核對」的才要你自己開檔確認。工具沒答的自己開檔查了再寫,標明「(工具未報,人工查證)」:

已知背景(只是參照,不當本棒發現)

授權判定怎麼流(首腦 2026-09-14 開檔核對,行號可直接打開):