# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 40 → 32 (-8.3)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 79 → 43 (-36.4)
- Architecture 97 → 96 (-1.6)
- Maturity 46 → 44 (-1.8)
- Readiness 15 → 11 (-4.3)
- Security 61 → 60 (-0.5)

## Resolved (65)

- BaseRequest._iter_chunked (cognitive 23) (UmiOCR-data/py_src/server/bottle.py)
- BatchDOC._initOutputList (cognitive 17) (UmiOCR-data/py_src/tag_pages/BatchDOC.py)
- BatchDOC._onEnd (cognitive 16) (UmiOCR-data/py_src/tag_pages/BatchDOC.py)
- Bottle._cast (cognitive 25) (UmiOCR-data/py_src/server/bottle.py)
- Bottle._cast (cyclomatic 24) (UmiOCR-data/py_src/server/bottle.py)
- Change coupling: output_txt.py ↔ BatchOCR.py (UmiOCR-data/py_src/ocr/output/output_txt.py)
- Change coupling: page.py ↔ tag_pages_connector.py (UmiOCR-data/py_src/tag_pages/page.py)
- ConfigDict.load_dict (cognitive 19) (UmiOCR-data/py_src/server/bottle.py)
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (10 lines × 2) (UmiOCR-data/py_src/imports/call_func.py)
- Duplicated block (13 lines × 2) (UmiOCR-data/py_src/tag_pages/tag_pages_connector.py)
- Duplicated block (14 lines × 2) (UmiOCR-data/py_src/tag_pages/BatchDOC.py)
- Duplicated block (19 lines × 2) (UmiOCR-data/py_src/server/doc_server.py)
- Duplicated block (6 lines × 2) (UmiOCR-data/py_src/mission/doc_preview_connector.py)
- Duplicated block (7 lines × 3) (UmiOCR-data/py_src/ocr/output/output_jsonl.py)
- Duplicated block (8 lines × 2) (UmiOCR-data/py_src/ocr/output/output_md.py)
- Duplicated block (9 lines × 2) (UmiOCR-data/py_src/platform/linux/linux_api.py)
- FileCheckerThread.run (cognitive 17) (UmiOCR-data/py_src/server/bottle.py)
- FileTooLong: server/bottle.py (UmiOCR-data/py_src/server/bottle.py)
- Further orphaned files (smaller)
- …and 45 more

## New (7)

- Dimension evaluation failed
- Duplicated block (19 lines × 2) (UmiOCR-data/py_src/server/cmd_server.py)
- Medium: security finding (details withheld)
- early-stage repository — too little history to judge knowledge freshness
- single-commit history — no usable git history window to measure hotspots
- single-maintainer — knowledge-concentration (bus factor) risk
- 缺少关于如何在 Windows7 x64 上安装和运行 Umi-OCR 的具体步骤（如解压后配置文件路径） (README.md)
