* fix: emit granular IGC/IT use types instead of collapsed ga/ta
* formatting
* fix linter issues with deprecated use types
* fix: don't add match viewing update to choreo record, don't flatten token IGC uses into a single type
* break vocabAndMorphUses down into smaller functions
* filter viewed choreo steps when getting uses from choreo
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* 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>