Keep the public facade stable while moving device CRUD and sample/compare logic into focused modules, and use naive UTC via timeutil plus FastAPI lifespan. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep a thin compatibility facade and update discover mocks so existing callers and tests keep working. Co-authored-by: Cursor <cursoragent@cursor.com>