Complete the config hot-reload flow:
- ServiceManager receives ConfigReloadRequest from HTTP plugin
- Reloads config from source_path using AppConfig::from_file
- Updates internal config Arc
- Broadcasts ConfigReloaded(new_config) to all plugins
- Logs error on reload failure without crashing
This closes the P0 gap identified by architect Wang Siyuan:
the HTTP /api/config save endpoint promised hot-reload but
ServiceManager only had a TODO placeholder.
cargo check: 0 warnings, cargo test: 22/22 passed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix state_machine reset_state_progress: reset sequence index before
validation to prevent out-of-bounds error on state transitions
- Fix video transformer test: use ±1 tolerance for OpenCV interpolation
- Add core integration tests (service_manager, dependencies, messages)
- Add HTTP compat routes (/index.html, POST /api/wifi/scan, hotspot aliases)
- Rewrite clients/docs/API.md to match actual implementation
- Fix BLE unused imports warning
- CEO task planning for next round (ConfigReload, playlist snapshot)
cargo check: 0 warnings, cargo test: 22/22 passed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>