- unlike noop now reloads tweet from DB (same fix as like noop from prev loop)
- decrement_likes uses GREATEST(likes - 1, 0) to prevent negative counts
- add fix_plan.md to track remaining work
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add authorize?: false to user_fixture so register_with_password
bypasses policy check in test context
- Add require Ash.Query so Ash.Query.filter macro works in count_likes
- Replace nonexistent Ash.ForbiddenField.forbidden?/1 with match?/2
- Fix stale tweet struct in :like noop case by reloading from DB
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>