fix(profiles): enforce dev profile isolation from production
Development builds (source/dev-packaged) now ALWAYS use 'dev' profile,
never touching production profiles regardless of profiles.db active profile.
Profile selection logic:
1. Explicit PROFILE env var (testing override)
2. Development builds → force 'dev' (isolation)
3. Production builds → use profiles.db active profile
4. Fallback → 'default'
This ensures:
- Dev builds never touch production data
- Single-instance lock skips dev profiles (already implemented)
- Dev and production can run side-by-side safely