Use get_cart() with selectinload instead of refresh() to avoid
greenlet_spawn errors when accessing cart.items relationship.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert SKU to string when loading from metadata.yaml
- Add docker-compose.dev.yml for local development
- Add frontend type definitions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>