# 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 46 → 61 (+14.9)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 89 → 79 (-10.2)
- Architecture 96 → 96 (+0.2)
- Maturity 55 → 61 (+6.0)
- Readiness 19 → 48 (+29.1)
- Security 78 → 82 (+3.5)

## Resolved (17)

- Coverage not measured — test suite did not build
- Dimension evaluation failed
- High: security finding (details withheld)
- High: security finding (details withheld)
- LLM evaluation failed
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Low: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No exposed public API
- No tests found
- Test reliability not included

## New (246)

- Change coupling: api_provider.py ↔ gradio_block_arena_anony.py (fastchat/serve/api_provider.py)
- Change coupling: huggingface_api.py ↔ inference.py (fastchat/serve/huggingface_api.py)
- Change coupling: model_chatglm.py ↔ inference.py (fastchat/model/model_chatglm.py)
- Change coupling: model_chatglm.py ↔ model_worker.py (fastchat/model/model_chatglm.py)
- Controller.get_worker_address (cognitive 28) (fastchat/serve/controller.py)
- Conversation.get_prompt (cognitive 204) (fastchat/conversation.py)
- Conversation.get_prompt (cyclomatic 91) (fastchat/conversation.py)
- Conversation.to_openai_vision_api_messages (cognitive 19) (fastchat/conversation.py)
- Conversation.to_reka_api_messages (cognitive 16) (fastchat/conversation.py)
- Conversation.to_vertex_api_messages (cognitive 18) (fastchat/conversation.py)
- DashInferWorker.generate_stream (cognitive 28) (fastchat/serve/dashinfer_worker.py)
- DashInferWorker.generate_stream (cyclomatic 22) (fastchat/serve/dashinfer_worker.py)
- Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
- Documentation: no architecture or design documentation (docs/model_support.md)
- Dormant codebase
- Duplicated block (10 lines × 2) (fastchat/llm_judge/common.py)
- Duplicated block (10 lines × 2) (fastchat/modules/awq.py)
- Duplicated block (10 lines × 2) (fastchat/serve/cli.py)
- Duplicated block (10 lines × 2) (fastchat/serve/gradio_block_arena_named.py)
- Duplicated block (10 lines × 2) (fastchat/serve/mlx_worker.py)
- …and 226 more
