Skip to content

[Follow-up #255] Investigate bidirectional CQRS dispatch for synced likes #259

@podclaude

Description

@podclaude

Context

Follow-up from PR #255: Like/Unlike System

Original Finding

Synced likes are written directly to the projections table rather than dispatched as CQRS commands. This means the Like aggregate state won't reflect synced likes, and SnapshotLike checkpoints (built from aggregate state) won't include synced-only likes.

Current trade-off is acceptable (documented in sync_controller.ex) but could trip up future developers if stream compaction or aggregate-dependent features are added.

Acceptance Criteria

  • Evaluate whether synced likes should be dispatched as CQRS commands instead of direct projection writes
  • Consider impact on event store growth vs aggregate state accuracy
  • If switching to CQRS dispatch: ensure idempotence handles re-sync of already-liked feeds
  • Update documentation if approach changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfollow-upFollow-up issue from merged PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions