087426e894
Captures full prompt content, response text, HTTP status, and finish reason on every LLM failure path. Replaces silent null returns in openRouterClient with structured CompletionFailure objects so error details propagate up through the queue and service layers. Also removes recipeList from backstoryAndDesires prompt (not useful for backstory generation) and adds schema migration v3. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>