Skip to content

[Archive] Publish lifecycle notifications after proposal commit #2934

Description

@Chris0Jeky

Confirmed MEDIUM from #2932 comment 3982295764. CardService.SetArchivedAsync publishes its board notification after SaveChanges but before AutomationExecutorService commits its outer transaction. A later operation can fail and roll back the archive/restore after the notification has gone out.

Independent source triage: the frontend useBoardRealtime consumer ignores operation semantics and performs a debounced database refetch; it does not apply a phantom archive locally. Webhook delivery rows share the transaction and roll back. This extends the pre-existing create/update/move notification pattern. No persisted corruption was demonstrated.

Residual: notify only after a lifecycle proposal transaction commits, preserving standalone API notification. Prove failed later operations produce no lifecycle notification, successful proposals notify after commit, and direct lifecycle writes still notify. Keep any transaction bridge bounded and coordinate if shared infrastructure is needed; do not broaden into a general notification redesign.

Tracked under the bounded review rule; no active claim. #2932 (comment)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority IIIValuable but unscheduled: residuals, tech-debt, performance, depth work.backendPrimary implementation impact in .NET API/domain/application/infrastructure.bugSomething isn't working

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions