- В клиентском конфиге есть собственные ключи и pubkey каждого сервера в секции `[client]`
- В клиентском конфиге есть собственные ключи и pubkey каждого сервера в секции `[client]`
## Bugs Debugging Protocol
## Bugs Debugging Protocol
Всегда когда начинаешь диагностику ознакомься со скиллом (используй skills)
### Действия при поиске бага:
1. Создать комит или бэкап всего что меняешь
2. Когда причина бага найдена и устранена - верни всё остальное что менял в исходное состояние
3. Проверь что тесты проходят и всё работает. `make clean` перед сборкой обязательно.
4. Если баг не устранён - продолжай поиск или если время заканчивается - верни всё в исходное состояние
5. Если баг сложный и непонятно где искать - не гадай, а продумай как добавить диагностику которая покажет где именно баг.
### Эффективная диагностика:
0. Сосредоточься на поиске конкретной ошибки и доведи его до конца. Лучший путь - добавить диагностические сообщения/хуки/дополнительные проверки которые упростят поск бага и покажут где именно имкать проблему.
важно: нельзя вносить исправления только неа основе рассуждений - без точной диагностики бага в рантайме. сперва собираем отладочную информацию которая выявит проблемы путём добавления отладочного вывода, запуска, корректровки отладочного вывода по результатам.
и только когда будет достаточно данных для очевидного доказательства проблемы - исправляем и проверяем. исправление без очевидного доказательства запрещено!
1. Прочитай полностью код функций с ошибкой и код всех функции которые участвуют в ошибочном алгоритме
- Все лишнее что менял при отладке - строго вернуть назад в состояние до вмешательства
- Все лишнее что менял при отладке - строго вернуть назад в состояние до вмешательства
## Написание кода
- Строго обязательно наличие ERROR сообщений во всех ошибочных ветвях алгоритма
- Обязательно наличие диагностических сообщений в ветках инициализации-очистки, с информацией которая позволяет оценить наиболее полно внетренние состояния на момент печати сообщения. Например выявить неправильные состояния, неинициализированные поля итд
- Обязательно наличие подробной диагностики в функциях кода которые не сильно спамят (не часто вызываются).
- Для каждого отладочного вывода подумай какая из доступной информация будет полезна чтобы можно было наиболее завершенно оценить состояние алгоритма и состояний влияющих на алгоритм.