master
feat: custom words supplement for the dictionary (сота)
fix: exclude plural-form words from the bot dictionary
fix: make FSM transitions synchronous to close turn-validation race
refactor: warn when custom words file fails to open (dictionary)
fix: tag turn timeouts with sequence number to discard stale events
refactor: %q for ids in storage errors, JoinHostPort, strings.Builder (C6)
feat: add play-with-bot mode
refactor: add PlayerTypeUnknown and require explicit player type
fix: handle nil cells in LettersTable.InitialWord