fix(review): Settings — типизированный SettingValue + лог битого JSON + Error::Failed + чистый reset

- SettingValue{Str,Int,Bool} в сторе: провод-variant теперь честно поддержан (не string-only).
- битый settings.json → WARN в лог (не молча) + откат к дефолтам.
- отказ записи /data → Error::Failed (не InvalidArgument).
- reset ключа без дефолта → no-op + InvalidArgument (без ложного Changed("")).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
2026-06-24 14:36:50 +03:00
parent bc2c0b8cfd
commit 2b06ff749f
5 changed files with 134 additions and 63 deletions
+3
View File
@@ -17,4 +17,7 @@ pub enum Error {
ReadOnly(String),
InvalidArgument(String),
Unsupported(String),
/// Внутренний сбой сервиса (напр. отказ записи в `/data`) — НЕ путать с `InvalidArgument`
/// (плохой ввод клиента). Аддитивно к набору ipc §2 (синхронизировать ipc.md при реализации).
Failed(String),
}