# Changelog

## Score

- CAI 46 → 37 (-8.5)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 41 → 43 (+2.2)
- Maturity 61 → 55 (-5.8)
- Readiness 44 → 25 (-19.2)
- Security 68 → 61 (-7.7)

## Resolved (19)

- Change coupling clique: confirmShowSolution.js, levelBuilder.js, nextLevel.js, sandbox.js (src/js/dialogs/confirmShowSolution.js)
- Change coupling: branching.js ↔ commits.js (src/levels/intro/branching.js)
- Change coupling: branching.js ↔ merging.js (src/levels/intro/branching.js)
- Change coupling: detachedHead.js ↔ relativeRefs.js (src/levels/rampup/detachedHead.js)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Further orphaned files (smaller)
- Further sole-owners (lower concentration)
- Medium vulnerability: [GHSA redacted] (yarn.lock)
- Off-boarding risk: anonymized user #1
- The README links only to 'https://pcottle.github.io/learnGitBranching/?demo' and 'https://pcottle.github.io/learnGitBranching/', which are static HTML pages; no documentation exists for the LGB application itself. (README.md)
- TooManyMethods: Command (src/js/models/commandModel.js)
- TooManyMethods: Level (src/js/level/index.js)
- TooManyMethods: LevelDropdownView (src/js/views/levelDropdownView.js)
- TooManyMethods: VisBranch (src/js/visuals/visBranch.js)
- TooManyMethods: VisNode (src/js/visuals/visNode.js)
- TooManyMethods: VisTag (src/js/visuals/visTag.js)
- execute (cognitive 26) (src/js/git/commands.js)
- onKeyDown (cognitive 18) (src/js/views/commandViews.js)

## New (39)

- Boundary-crossing change coupling: base.js ↔ headless.js (__tests__/base.js)
- Change coupling: commands.js ↔ disabledMap.js (src/js/git/commands.js)
- Change coupling: disabledMap.js ↔ index.js (src/js/level/disabledMap.js)
- Change coupling: index.js ↔ animationFactory.js (src/js/git/index.js)
- Change coupling: index.js ↔ eventBaton.js (src/js/app/index.js)
- Change coupling: index.js ↔ tree.js (src/js/visuals/index.js)
- Change coupling: index.js ↔ visBase.js (src/js/git/index.js)
- Change coupling: restore.js ↔ staging.js (src/levels/workingDir/restore.js)
- Change coupling: visBase.js ↔ visBranch.js (src/js/visuals/visBase.js)
- Change coupling: visBase.js ↔ visNode.js (src/js/visuals/visBase.js)
- Dimension evaluation failed
- FileTooLong: git/commands.js (src/js/git/commands.js)
- FileTooLong: intl/strings.js (src/js/intl/strings.js)
- FileTooLong: intro/branching.js (src/levels/intro/branching.js)
- FileTooLong: intro/merging.js (src/levels/intro/merging.js)
- FileTooLong: rampup/detachedHead.js (src/levels/rampup/detachedHead.js)
- FileTooLong: rampup/relativeRefs.js (src/levels/rampup/relativeRefs.js)
- FileTooLong: views/index.js (src/js/views/index.js)
- High CVE: [GHSA redacted] (yarn.lock)
- High CVE: [GHSA redacted] (yarn.lock)
- …and 19 more

## Changes since last survey

- 14 commits — 10 feature/other, 4 fixes

## By area

- src/levels — 9 commits
- src/js — 4 commits
- (root) — 1 commit

## Notable commits

- fix: Fix missing commas and unterminated quote escape in de_DE string additions
- fix: Fix mistranslations and inconsistencies across the tr_TR content
- fix: Fix the tr_TR mistranslation that gives away the tags reveal
- fix: Merge pull request #1398 from AbdullahButt2611/fix-switch-detach
- change: Add ru_RU translation for the restore level
- change: Addresses #1396 talk about two arg rebase with LLM translations
- change: Complete tr_TR translation for the staging and restore levels
- change: Export lintStrings gulp task
- change: Merge pull request #1393 from Noah-Abb/patch-1
- change: Merge pull request #1394 from KEPASEV/main
- change: Merge pull request #1395 from KEPASEV/main
- change: Merge pull request #1397 from yigtemir/tr-translation-complete
- change: Require -d/--detach for git switch detached HEAD (#1240)
- change: Tighten the tr_TR wording in the staging and restore levels
