# Changelog

## Score

- CAI 48 → 48 (+0.3)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 96 → 92 (-4.3)
- Architecture 98 → 98 (+0.0)
- Maturity 42 → 46 (+3.5)
- Readiness 23 → 23 (+0.0)
- Security 100 → 100 (+0.0)

## Resolved (7)

- Dormant codebase
- Duplicated block (14 lines × 2) (Owl.Accord.GH/Components/Display/NetworkPreview_Attributes.vb)
- Duplicated block (5 lines × 2) (Owl.Accord.GH/Components/Unsupervised/TSNE.vb)
- Largest orphaned file (Owl.Core/IO/TensorSerialization.vb)
- The 'Components' section treats abstract component classes as alpha release without any overview of the library's purpose beyond being a GH plugin glue layer. (Owl.GH.Common/README.md)
- redundant comment (Owl.Learning.Neuro/BackpropagationLearning.cs)
- single-maintainer — knowledge-concentration (bus factor) risk

## New (13)

- Duplicated block (15 lines × 2) (Owl.Accord.GH/Components/Display/NetworkPreview_Attributes.vb)
- Duplicated block (5 lines × 5) (Owl.Accord.GH/Components/Backpropagation/BackpropLearning.vb)
- Further orphaned files (smaller)
- Inconsistency in naming the collection of components: 'Neurons' for a layer, 'Layers' for a network. While distinct, the pattern of pluralizing the component name is consistent. However, there is a parameter naming inconsistency: 'input' vs 'inputs' vs 'desiredOutput' vs 'output'. Specifically, 'input' (singular) is used in BackPropagationLearning.CalculateError and ActivationNeuron.Compute, while 'inputs' (plural) is used in BackPropagationLearning.Run and ActivationLayer.Compute. This is a minor inconsistency in parameter naming for the same concept (the input data).
- Shell project: Owl.Accord.Extensions (Owl.Accord.Extensions/Owl.Accord.Extensions.vbproj)
- Shell project: Owl.Accord.GH (Owl.Accord.GH/Owl.Accord.GH.vbproj)
- Shell project: Owl.Accord.GH.Common (Owl.Accord.GH.Common/Owl.Accord.GH.Common.vbproj)
- Shell project: Owl.Core (Owl.Core/Owl.Core.vbproj)
- Shell project: Owl.GH (Owl.GH/Owl.GH.vbproj)
- Shell project: Owl.GH.Common (Owl.GH.Common/Owl.GH.Common.vbproj)
- Shell project: Owl.GH.Networking (Owl.GH.Networking/Owl.GH.Networking.vbproj)
- Shell project: Owl.Learning (Owl.Learning/Owl.Learning.vbproj)
- The concept of counting inputs is named 'InputsCount' in some classes but 'InputsCount' in others. However, looking at the list, all three use 'InputsCount'. Wait, let me re-read carefully. Ah, there is a parameter named 'inputs' vs 'input' vs 'input' vs 'output' vs 'desiredOutput'. Let's look for naming inconsistencies of the same concept.
