## Internal
### Updates & Improvements
- Migrate Pydantic schemas from v1 to v2 patterns:
- Replace `class Config:` with `model_config = ConfigDict(...)`
- Replace `.dict()` with `.model_dump()`
- Replace `Field(env="...")` with
`SettingsConfigDict(case_sensitive=False)`
- Fix FastAPI lifespan deprecation:
- Add `@asynccontextmanager` decorator to lifespan function
- Fix starlette deprecation in test auth patterns:
- Replace cookie-based auth (`cookies={"session": token}`) with
header-based auth (`headers={"Authorization": f"Bearer {token}"}`) to
resolve `starlette` deprecation. Setting per-request `cookies=<…>` is
being deprecated, because the expected behavior on cookie persistence is
ambiguous.