# Changelog

## Score

- CAI 48 → 50 (+1.8)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

## Lenses

- Code Health 84 → 85 (+1.4)
- Architecture 95 → 94 (-1.6)
- Maturity 69 → 69 (+0.3)
- Readiness 28 → 30 (+1.4)
- Security 89 → 89 (+0.0)
- Domain Modelling 100 → 100 (+0.0)
- Accessibility 49 → 53 (+4.1)

## Resolved (18)

- Documentation: no contributor guidance (README.md)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Hotspot: Sidekick/Logic/Inference/llama.cpp/LlamaServer.swift (Sidekick/Logic/Inference/llama.cpp/LlamaServer.swift)
- Hotspot: Sidekick/Logic/Inference/llama.cpp/Types/ChatParameters.swift (Sidekick/Logic/Inference/llama.cpp/Types/ChatParameters.swift)
- Hotspot: Sidekick/Logic/Utilities/ChatScreenshotHTMLBuilder.swift (Sidekick/Logic/Utilities/ChatScreenshotHTMLBuilder.swift)
- Hotspot: Sidekick/Resources/ChatMarkdownWebView/chat.js (Sidekick/Resources/ChatMarkdownWebView/chat.js)
- Hotspot: Sidekick/Types/Conversation/Message/Message.swift (Sidekick/Types/Conversation/Message/Message.swift)
- Hotspot: Sidekick/Views/Chat/Conversation/Controls/Input Field/PromptInputField.swift (Sidekick/Views/Chat/Conversation/Controls/Input Field/PromptInputField.swift)
- Repeated repair: Sidekick/Logic/Data Models/ConversationManager.swift (Sidekick/Logic/Data Models/ConversationManager.swift)
- Repeated repair: Sidekick/Logic/View Controllers/Conversation/ConversationState.swift (Sidekick/Logic/View Controllers/Conversation/ConversationState.swift)
- Repeated repair: Sidekick/Logic/View Controllers/PromptController.swift (Sidekick/Logic/View Controllers/PromptController.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/ConversationManagerView.swift (Sidekick/Views/Chat/Conversation/ConversationManagerView.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/ConversationView.swift (Sidekick/Views/Chat/Conversation/ConversationView.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/Messages/Message/MessageContentView.swift (Sidekick/Views/Chat/Conversation/Messages/Message/MessageContentView.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/Messages/Message/MessageTextContentView.swift (Sidekick/Views/Chat/Conversation/Messages/Message/MessageTextContentView.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/Messages/Message/MessageView.swift (Sidekick/Views/Chat/Conversation/Messages/Message/MessageView.swift)
- Repeated repair: Sidekick/Views/Chat/Conversation/Messages/MessagesView.swift (Sidekick/Views/Chat/Conversation/Messages/MessagesView.swift)

## New (73)

- Duplicated block (10 lines × 2) (Sidekick/Extensions/UI/Extension+Binding.swift)
- Duplicated block (10 lines × 2) (Sidekick/Types/Conversation/Functions/Default Functions/CalendarFunctions.swift)
- Duplicated block (10 lines × 2) (Sidekick/Types/Conversation/Functions/Function.swift)
- Duplicated block (10 lines × 2) (Sidekick/Views/Chat/Conversation/Messages/Message/MessageReasoningProcessView.swift)
- Duplicated block (10 lines × 2) (Sidekick/Views/Settings/Model/ServerModelSettingsView.swift)
- Duplicated block (10 lines × 3) (Sidekick/Extensions/AppKit/Extension+NSMutableAttributedString.swift)
- Duplicated block (10 lines × 3) (Sidekick/Views/Chat/Conversation/Messages/Message/CollapsibleUserMessageView.swift)
- Duplicated block (10 lines × 3) (Sidekick/Views/Expert/ExpertEditorView.swift)
- Duplicated block (10 lines × 5) (Sidekick/Views/Expert/Resource/ResourceSectionView.swift)
- Duplicated block (11 lines × 2) (Sidekick/Views/Chat/Conversation/Messages/Message/CollapsibleUserMessageView.swift)
- Duplicated block (11 lines × 2) (Sidekick/Views/Chat/Conversation/Messages/Message/MessageReasoningProcessView.swift)
- Duplicated block (11 lines × 2) (Sidekick/Views/Settings/RetrievalSettingsView.swift)
- Duplicated block (12 lines × 2) (Sidekick/Extensions/UI/Extension+Theme.swift)
- Duplicated block (12 lines × 2) (Sidekick/Views/Misc/ScrollMask.swift)
- Duplicated block (12 lines × 2) (Sidekick/Views/Model/ModelSelectorDropdown.swift)
- Duplicated block (12 lines × 2) (Sidekick/Views/Settings/Model/ServerModelSettingsView.swift)
- Duplicated block (13 lines × 3) (Sidekick/Views/Chat/Conversation/Controls/Input Field/CapsuleButton.swift)
- Duplicated block (13–14 lines × 2) (Sidekick/Extensions/AppKit/Extension+NSMutableAttributedString.swift)
- Duplicated block (16 lines × 2) (Sidekick/Views/Chat/Conversation/Controls/Input Field/CapsuleChecklistMenuButton.swift)
- Duplicated block (18 lines × 2) (Sidekick/Views/Settings/InferenceSettingsView.swift)
- …and 53 more

## Changes since last survey

- 1 commits — 1 feature/other, 0 fixes

## By area

- (root) — 1 commit

## Notable commits

- change: docs: fix Homebrew cask name in README (#96)
