fix: use correct Claude Sonnet 4.5 model ID (#688)

Update model from claude-3-5-sonnet-latest to claude-sonnet-4-5-20250929.
Tested and verified working with production deployment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

authored by zzstoatzz.io Claude Opus 4.5 and committed by GitHub c62c6631 ce8dc35e

Changed files
+4 -4
moderation
+1 -1
moderation/src/claude.rs
··· 28 28 pub fn new(api_key: String, model: Option<String>) -> Self { 29 29 Self { 30 30 api_key, 31 - model: model.unwrap_or_else(|| "claude-sonnet-4-5-20250514".to_string()), 31 + model: model.unwrap_or_else(|| "claude-sonnet-4-5-20250929".to_string()), 32 32 http: reqwest::Client::new(), 33 33 } 34 34 }
+2 -2
moderation/src/config.rs
··· 15 15 pub labeler_signing_key: Option<String>, 16 16 /// Anthropic API key for Claude image moderation 17 17 pub claude_api_key: Option<String>, 18 - /// Claude model to use (default: claude-sonnet-4-5-20250514) 18 + /// Claude model to use (default: claude-sonnet-4-5-20250929) 19 19 pub claude_model: String, 20 20 } 21 21 ··· 38 38 labeler_signing_key: env::var("MODERATION_LABELER_SIGNING_KEY").ok(), 39 39 claude_api_key: env::var("ANTHROPIC_API_KEY").ok(), 40 40 claude_model: env::var("MODERATION_CLAUDE_MODEL") 41 - .unwrap_or_else(|_| "claude-sonnet-4-5-20250514".to_string()), 41 + .unwrap_or_else(|_| "claude-sonnet-4-5-20250929".to_string()), 42 42 }) 43 43 } 44 44
+1 -1
moderation/src/handlers.rs
··· 328 328 &result.violated_categories, 329 329 &result.severity, 330 330 &result.explanation, 331 - "claude-sonnet-4-5-20250514", // TODO: get from client 331 + "claude-sonnet-4-5-20250929", // TODO: get from client 332 332 ) 333 333 .await?; 334 334