Covers: create, blank content validation, guest restriction, read, owner edit, non-owner edit forbidden, owner delete, non-owner delete forbidden, reply creation, comment_count aggregate, tweet owner deletes comment, third party forbidden, guest comment forbidden. Key learnings: - Tweet :destroy is not primary; use Ash.Changeset.for_destroy(:destroy) - relate_actor fails with Invalid (not Forbidden) when no actor - Ash.get returns NotFound error on miss; pass not_found_error?: false for nil Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.9 KiB
6.9 KiB