## Checking commands After writing code, always run from `backend/`: ```shell ruff format ruff check --fix ty check ``` ## Imports Every service imports only what it needs to start. `make check` runs `scripts/check_imports.py`, which fails when a service loads a heavy package it is not allowed; `SERVICES` there is the contract, extend it on purpose. - Package `__init__` files don't re-export clients or SDKs. - An SDK used by one function is imported inside it. On an async path load it first with `await preload("")` from `utils.imports`, so the event loop never waits on the import. - Types used in Dishka provider signatures and `FromDishka[...]` stay real top-level imports.