# Changelog

## Score

- CAI 70 → 67 (-2.9)
- Rubric changed (rubric-2026.10.1 → rubric-2026.10.5) — scores are not directly comparable.

## Lenses

- Code Health 85 → 66 (-19.2)
- Architecture 89 → 89 (-0.0)
- Maturity 72 → 74 (+1.6)
- Readiness 59 → 59 (+0.0)
- Security 82 → 82 (+0.0)
- Performance 100 → 100 (+0.0)

## Resolved (13)

- Further orphaned files (smaller)
- HopcroftKarp.breadth_first_search (cognitive 19) (graphs/hopcroft_karp.py)
- HopcroftKarp.depth_first_search (cognitive 20) (graphs/hopcroft_karp.py)
- Off-boarding risk: anonymized user #1
- Off-boarding risk: anonymized user #2
- Off-boarding risk: anonymized user #3
- Off-boarding risk: anonymized user #4
- Orphaned knowledge (cellular_automata/wa_tor.py)
- Orphaned knowledge (data_structures/binary_tree/red_black_tree.py)
- Orphaned knowledge (digital_image_processing/index_calculation.py)
- Orphaned knowledge (graphs/graph_adjacency_matrix.py)
- PR-triggered workflow without a permissions block
- Repeated repair: sorts/bucket_sort.py (sorts/bucket_sort.py)

## New (330)

- Concentrated knowledge decay
- Most significant orphaned file (data_structures/binary_tree/red_black_tree.py)
- Most significant orphaned file (graphs/graph_adjacency_list.py)
- Most significant orphaned file (graphs/graph_adjacency_matrix.py)
- Off-boarding risk: anonymized user #3
- Off-boarding risk: anonymized user #5
- Off-boarding risk: anonymized user #4
- Off-boarding risk: anonymized user #2
- Off-boarding risk: anonymized user #1
- Off-boarding risk: anonymized user #6
- Orphaned file (backtracking/all_combinations.py)
- Orphaned file (backtracking/generate_parentheses.py)
- Orphaned file (backtracking/hamiltonian_cycle.py)
- Orphaned file (backtracking/knight_tour.py)
- Orphaned file (backtracking/n_queens_math.py)
- Orphaned file (backtracking/power_sum.py)
- Orphaned file (backtracking/rat_in_maze.py)
- Orphaned file (backtracking/sudoku.py)
- Orphaned file (bit_manipulation/binary_shifts.py)
- Orphaned file (boolean_algebra/imply_gate.py)
- …and 310 more

## Changes since last survey

- 24 commits — 12 feature/other, 12 fixes

## By area

- (root) — 3 commits
- data_compression/huffman.py — 1 commit
- data_structures/heap — 1 commit
- data_structures/linked_list — 1 commit
- financial/exponential_moving_average.py — 1 commit
- machine_learning/dimensionality_reduction.py — 1 commit
- maths/keith_number.py — 1 commit
- maths/zellers_congruence.py — 1 commit
- scheduling/weighted_interval_scheduling.py — 1 commit
- scripts/find_and_fix_pep798.py — 1 commit
- searches/double_linear_search_recursion.py — 1 commit
- sorts/binary_insertion_sort.py — 1 commit
- sorts/bubble_sort.py — 1 commit
- sorts/insertion_sort.py — 1 commit
- sorts/pancake_sort.py — 1 commit
- sorts/power_sort.py — 1 commit
- sorts/recursive_insertion_sort.py — 1 commit
- sorts/recursive_quick_sort.py — 1 commit
- sorts/strand_sort.py — 1 commit
- strings/palindrome.py — 1 commit

## Notable commits

- fix: Add scripts/find_and_fix_pep798.py to find and fix PEP 798 opportunities (#15570)
- fix: Fix datetime import alias in Zeller’s congruence (#15547)
- fix: Python PEP 798 fix unpacking in comprehensions opportunities (#15572)
- fix: fix(machine_learning): call features.any() in linear_discriminant_analysis (#15606)
- fix: fix: crypto_price_tracker.py declares 3.11 but uses 3.14 except syntax (#15550)
- fix: fix: handle EMA window size of one (#15492)
- fix: fix: honor empty-list contract for generator input (#15552)
- fix: fix: instagram_crawler.py declares 3.13 but uses 3.14 except syntax (#15551)
- fix: fix: remove TypeVar from strand_sort (#15510)
- fix: fix: remove unused TypeVar from insertion_sort (#15532)
- fix: fix: remove unused TypeVar from recursive_insertion_sort (#15533)
- fix: fix: resolve deprecated contextmanager return annotation and un-ignore rule (#15568)
- change: Filter PEP 798 scanner inputs (#15583)
- change: Remove unused TypeVar from bubble sort (#15491)
- change: Type recursive quick sort for any comparable items (#15490)
- change: [pre-commit.ci] pre-commit autoupdate (#15509)
- change: add generic list type hints to double_linear_search_recursion (#15489)
- change: feat(scheduling): add weighted interval scheduling (#15539)
- change: maths: add Keith number algorithm (#15536)
- change: refactor(heap): remove redundant TypeVar in Heap (#15504)
- …and 4 more
