b245fcc527
str(uuid_obj) produces dashed 36-char format; SQLite stores UUID as 32-char hex without dashes, so WHERE user_id = :uid never matched. Using .hex fixes confirm_upload (api/documents.py) and delete_document (services/storage.py). Removes stale xfail from test_delete_decrements_quota — now passes on SQLite. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>