* feat: unified use-type-aware practice scoring on ConstructUses
- Add practiceScore() and practiceTier to ConstructUses for shared
scoring across message practice and standalone practice
- Add isChatUse, isAssistedChatUse, isIncorrectPractice getters to
ConstructUseTypeEnum with exhaustive switches
- Add PracticeTier enum (suppressed/active/maintenance)
- Wire into PracticeSelectionRepo and AnalyticsPracticeSessionRepo
- 28 unit tests covering tier classification, scoring, and ordering
Closes#5700
* formatting, fix linting issue
* move some stuff around
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>