| 項目 | 內容 |
|---|---|
| Feature | FR-030.2(↳ FR-030 子,多模態能力補強) |
| 狀態 | ✅ 實作完成、12 單元測試通過、端對端實測通過 |
| Branch | feature/evidence-classify-image-vision(未 push、未 merge main) |
| 版本 | bump 1.2.1 → 1.3.0(功能版號) |
| 收尾日期 | 2026-05-29 |
讓 FR-030 證據分類器的 Docker container 用 Claude Vision 辨識圖片(png/jpg/gif/webp)與 PDF 內容並分類。方式:分類管道從「字串進」改成「Anthropic content blocks 進」(方式 A)。原分類 / 歸檔流程一個字不動 —— _state.json 結構、Drive 歸檔、review UI 全沿用,圖片/PDF 出分類器後與文字檔走同一條歸檔路。
全部改動侷限在 scripts/evidence/classify/docker/,不碰主專案 app/domain/infra。
| 檔型 | 改版前 | 改版後 |
|---|---|---|
| docx/csv/txt/log/md | 抽文字分類 | 不變(語意等價) |
| png/jpg/jpeg/gif/webp | [Unsupported] 跳過 |
base64 → image block → Vision 分類 |
[Unsupported] 跳過 |
base64 → document block → 讀全頁分類 | |
| 超限/不支援 | — | skip → 既有「未處理」清單 |
feature/evidence-classify-image-vision)規劃(本 session 產出):7f931580 spec → 379a28df spec folding → b24bb838 plan → dddbce08+4f42432a handoff
實作(Sonnet 照 plan 執行):c3c1a20b(pypdf+helper)→ f7bd6f59/4e2fb810(helper 修補)→ a5d44229(extract_text 改名)→ 4de056df(build_content_blocks)→ 02a88ada(double-read fix)→ b67ce67a(classify+worker)→ 3f488221(prompt)→ 9da4824e(list_jobs evidence_folder_id)
收尾(本 session):changelog + release note + pyproject bump + design §11 + 本 SUMMARY(同一 commit)
| 文件 | 狀態 |
|---|---|
| design.md(含 §8 取捨 / §11 reconciliation) | ✅ |
| implementation-plan.md | ✅ |
| handoff 執行交接 prompt | ✅ |
changelog 2026-05-29-feat-evidence-classify-image-vision.md |
✅ 本次補 |
release note v1.3.0.md |
✅ 本次補 |
| pyproject version bump 1.3.0 | ✅ 本次補 |
| README FR 登記表 FR-030.2 列 | ✅(規劃時已加) |
| 本 SUMMARY | ✅ |
scripts/evidence/classify/docker/test_container_entrypoint.py → 12 passed:latest,故 :latest 必須一起打):
docker build \
-t cmmc-classifier:1.3.0 \
-t cmmc-classifier:latest \
-f scripts/evidence/classify/docker/Dockerfile \
scripts/evidence/classify/dockerlist_jobs 新增 evidence_folder_id)openpyxl / python-pptx),未來可開子任務。