v0.3.1
Delivered: Response struct now carries the originating provider atom for downstream cost tracking. Key accomplishments: - Response.provider field (atom | nil) with backward-compatible nil default - All 4 adapters (OpenAI, Anthropic, OpenRouter, TestProvider) set provider in parse_response/1 - Fix race condition in TestProvider.stop_state/1 on_exit cleanup - 422 tests passing, 0 regressions