# Changelog

## Score

- CAI 64 → 64 (+0.2)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

## Lenses

- Code Health 97 → 96 (-1.0)
- Architecture 94 → 97 (+3.2)
- Maturity 72 → 72 (+0.0)
- Readiness 53 → 53 (+0.0)
- Security 63 → 63 (+0.0)

## Resolved (5)

- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- No context/problem and no consequences/trade-offs; the only content is a rationale for red/green trees plus a citation (docs/design-docs/01-syntax-trees.md)
- redundant comment (src/Serehfa/Characters.cs)
- redundant comment (src/Serehfa/Ident.cs)

## New (7)

- FileTooLong: Binding/Binder.fs (src/Feersum.CompilerServices/Binding/Binder.fs)
- FileTooLong: Compile/Emit.fs (src/Feersum.CompilerServices/Compile/Emit.fs)
- Inconsistent naming convention for arithmetic operations. Most methods use a prefix 'Arith' followed by an abbreviated operator name (e.g., Arithadd, Arithsub, Arithgt), but 'Aritheq' uses a different abbreviation style ('eq' instead of 'eq' or 'equal') and 'ArithZero' breaks the verb/operator pattern entirely by naming the method after a value/constant rather than an operation.
- Inconsistent naming for equality comparison concepts. The codebase mixes 'Equal', 'Equals', 'Eq', and 'Equiv' for similar comparison operations across different namespaces (Characters, Symbols, Ident, Equivalence, Booleans, Strings). 'CharEqualCI' and 'CharEqual' use 'Equal', while 'SymbolEquals' and 'StringEquals' use 'Equals'. 'BooleanEq' and 'Eq' use 'Eq'. 'Equiv' is used in Equivalence. This creates confusion about whether these are distinct concepts or just inconsistent naming for the same idea.
- Inconsistent naming for factory/creation methods. Some types use 'New' (NewBytevector, VectorNew, ListNew) while others use 'Make' (MakeBytevector, MakeVector, MakeList). This inconsistency exists both within the same namespace (ByteVectors) and across namespaces.
- Inconsistent suffix usage for case-insensitive or case-conversion operations. 'Upcase', 'Downcase', and 'Foldcase' use full words, while comparison methods use the abbreviation 'Ci' (e.g., CharLtCi). This mixes full words and abbreviations for similar case-related concepts.
- No context/problem and no consequences/trade-offs; the only content is a rationale for Red/Green trees plus a citation (docs/design-docs/01-syntax-trees.md)

## Architecture

- Unchanged — 0 containers · 1 contexts · 0 edges
