- 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>
1.1 KiB
1.1 KiB
Fix Plan
Completed
tweet_liketests:user_fixturemissingauthorize?: false,Ash.Query.filterneededrequire Ash.Query,Ash.ForbiddenField.forbidden?/1doesn't exist (usematch?),likenoop returned stale tweet struct → fixed all
In Progress / Next
unlikenoop returns stale tweet struct — same issue aslikenoop; reload from DBdecrement_likescan go below 0 — useGREATEST(likes - 1, 0)via SQL fragment
Backlog
- No pagination on user list (
/users) - No CHECK constraint on
likes >= 0at DB level (low priority, app logic prevents it) read :following_feedreturns error if actor is nil — should be policy-guarded- No search for users or tweets
- Missing test coverage: follow/unfollow, comments, tweet creation, auth flows
Notes
- Stack: Elixir/Phoenix + Ash Framework + React/TypeScript
- Tests:
mix test— 10 tests, all should pass - Build:
mix precommitalias runs compile + test + format checks - No ClickHouse in test env (expected, non-fatal errors in test output)