5be3b99 fix: null-guard in discount calculator (#512) [agent m1]
0e68e34 ci: cache pip in linux job (#510) [agent m2]
5a529f0 feat: add index on orders.user_id (#508) [agent m3]
6a7e5f1 fix: retry Stripe webhook on 429 (#506) [agent m1]
ffccdb7 chore: bump eslint and regenerate lockfile (#504) [agent m2]
0a50289 fix: session cookie SameSite when behind CDN (#503) [agent m1]
cc66632 chore: tidy slugify (#500) [agent m1]
d54365f friday baseline: product as humans left
