證據分類器強化 Arc — 收尾 SUMMARY

項目 內容
日期 2026-05-30
Branch feature/evidence-classify-xlsx(BE + FE 同名)
範圍 BE(主專案 + 自包含 container)+ FE,跨 2 repo
起點 FR-030.3「xlsx/pptx 抽文字」,一路長成「證據分類器全面強化」
狀態 全數 commit,working tree 乾淨;尚未 push、尚未 merge main(等 user)
§1

一、本 arc 做了什麼(六大塊)

  1. 檔型覆蓋:xlsx/pptx 抽文字 + office 內嵌截圖 LibreOffice→PDF→vision(cost-aware:有圖才轉;順帶解鎖舊格式 doc/ppt + Google 簡報)
  2. trigger 選項:選模型(sonnet/opus,UI flag 隱藏預設 sonnet)+ analyze-only 歸檔模式
  3. 一次歸檔POST /classification-run/<id>/archive + 審閱頁「立即歸檔」按鈕/橘色提醒(冪等)
  4. 可觀測性:container log 上傳 Drive(憑證遮蔽)+ token/成本統計(UI flag 隱藏預設關)
  5. prompt 調校:真實證據集三方對照 → 證據提示 + AO-letter 完整性 + 過配收斂(過配 22→8,零錯放)
  6. 審閱頁 UI(早段):清單欄位排序 + 雲端資料夾連結 + Splitter 可拖拉
§2

二、Commits 清單

BE(compliance-manager-be,10 feat/docs commits)

f89e9c2d feat xlsx/pptx 抽文字
ba5c7b79 feat 選模型 + analyze-only 歸檔模式
1a55be04 feat container log 上傳 Drive
ad227b94 feat office 內嵌圖 LibreOffice→PDF→vision
e970415c feat prompt per-AO 證據提示 + 辨識
fa62a46e docs analysis 三方對照
9a65d187 feat prompt AO-letter 完整性
8ebdc2e9 feat token 用量 + 成本統計
e6c9ca71 feat prompt 過配收斂
3acbdf10 feat 一次歸檔 API
+ 本次收尾 commit(changelog ×4 / api-spec / design §11 / SUMMARY / 對話紀錄 / plan / memory)

FE(compliance-manager-fe,5 commits)

75ef891 feat 清單欄位排序 + Splitter
f45877a feat 雲端資料夾連結 + icon + 未分類 toggle
28c0069 feat dialog 選模型 + 歸檔方式
ad18d98 feat 審閱頁顯示 token + 粗估費用
6daf7d8 feat 隱藏模型選擇器 + 一次歸檔按鈕/提醒
e18670c tweak 費用顯示 flag 隱藏
§3

三、行為差異(對 user)

  • Excel/PPT/含截圖的 Word 證據現在分得到類(之前 skip)
  • trigger 可選「僅分析」→ 結果可審閱但不複製檔 → 確認後按「立即歸檔」才正式歸檔
  • 審閱頁對未歸檔 run 有明顯提醒
  • 分類準度:過配大減、SC.3.13.5 等補回;IA.3.5.2 等「標準爭議」不變(需修 User ground truth,非模型)
§4

四、規範文件清單(本收尾產出/更新)

文件 狀態
docs/changelog/2026-05-30-feat-evidence-classify-{xlsx-pptx-office-vision,model-archive-options,prompt-accuracy,observability}.md ✅ 新增 ×4
docs/analysis/2026-05-30-cmmc-evidence-classification-accuracy-gap.md ✅(arc 中已產)
docs/api/evidence-classification/api-spec.md ✅ 更新(archive 端點 + trigger 新欄位 + metadata token_usage/archive_files + EC_400001)
docs/features/FR-030.3-.../design.md §11 ✅ 實作後對齊
docs/features/FR-030.3-.../implementation-plan.md ✅ 補 commit(原 untracked)
docs/conversation-history/2026-05-30/evidence-classify-arc/ ✅ 逐輪 dump ×2
memory feedback_* ✅ 新增教訓
§5

五、部署 handover

改動類別 動作
container(xlsx/pptx、內嵌圖、prompt、token) rebuild containerdocker build -t cmmc-classifier:latest -f scripts/evidence/classify/docker/Dockerfile scripts/evidence/classify/docker(在跑分類的 host)
BE(選模型/歸檔/log 上傳/archive API) 重啟 BE
FE(dialog/審閱頁/flags) FE rebuild

UI flags(皆預設關):SHOW_MODEL_SELECTOR(dialog 模型選擇器)、SHOW_RUN_COST(審閱頁費用)。

§6

六、已知 follow-up

  1. 修 User ground truth 41 筆標籤錯(報表已標「應在 XXX」)— 提升分數最大槓桿,非模型問題
  2. Sonnet 對照 Opus,確認能否用 1/5 成本拿到接近結果
  3. 剩餘 8 筆 AI 過配(多為「基地管制規定」單一頑固檔)— 不建議再追(過擬合風險)
  4. jedi-* 套件完全沒動,無進版需求;主專案 pyproject/FE package.json 皆無新依賴