1c1ae9f158
asyncpg raises OperationalError (not ValueError) on malformed UUIDs, so bad artifact ids now 404 and a bad conversation_id 400s before any query. get_conversation keys artifacts by str(message_id) so matching doesn't depend on the driver's UUID types. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>