Проблема:
При десериализации children ошибки глотаются (if child, err := fromDTO(...); err == nil { ... }), из-за чего часть дерева может молча исчезать.
Конкретные места в коде:
persistence.go (line 182)
persistence.go (line 156)
Решение:
loadChildren должен возвращать ошибку вверх, а не игнорировать.
Добавить контекст ошибки (path в дереве: plan[0]/threadGroup[1]/...).
В UI при загрузке показывать, что именно не удалось распарсить.
Критерии приемки:
Поврежденный/устаревший JSON не загружается “частично молча”.
Пользователь видит конкретную причину и место ошибки.
Есть unit-тесты на неизвестный тип и битые child-элементы.
Проблема:
При десериализации children ошибки глотаются (if child, err := fromDTO(...); err == nil { ... }), из-за чего часть дерева может молча исчезать.
Конкретные места в коде:
persistence.go (line 182)
persistence.go (line 156)
Решение:
loadChildren должен возвращать ошибку вверх, а не игнорировать.
Добавить контекст ошибки (path в дереве: plan[0]/threadGroup[1]/...).
В UI при загрузке показывать, что именно не удалось распарсить.
Критерии приемки:
Поврежденный/устаревший JSON не загружается “частично молча”.
Пользователь видит конкретную причину и место ошибки.
Есть unit-тесты на неизвестный тип и битые child-элементы.