本卡屬 FR-091(母卡 CM-1690),版面殘留回補第三張。動三支已 Done 的套件;主專案只有一處測試 import 要跟著改。建議 model:Sonnet 5,effort:medium。可與 CM-1731/1732 平行。

問題是什麼(白話)

決策者 2026-09-13 說「結構可能都要統一」。首腦掃 21 支的 api/ 內部:範例 jedi-asset 是四件固定——guards.pyrouting.pyroutes/(一資源一檔)、serializers/(一資源一檔)。多數已整理的套件照這樣長,但有三處把 route 檔與 serializers.py 直接平鋪在 api/ 頂層:license-runtime(CM-1701 Done)、remote-agent(CM-1694 Done)、jedi-log 的 forwarding 子插件(CM-1713 Done,當時 runner 說「forwarding 不拆」,首腦以「有理由的偏離」收了)。決策者現在裁全部統一,這三處回頭收。SOP §4.3 今天補了「api/ 四件」規則。

另外三支(ai-bot、evidence-classification、issue)api/ 沒有 serializers/,route 直接 request.get_json() 拿 dict,沒有 marshmallow schema 驗 request。這不是版面問題是設計缺口(沒驗證等於任何 payload 都收)。本卡不補 schema(那是行為變更),只把三支各有幾條 route、各收什麼 payload 列成表回寫,決策者裁要不要另開卡補。

首腦核對過的現況

怎麼做(一支一個 commit)

要寫測試

手測(驗證等級:中)