architecture decision

ADR-017: Keep subscription cancellation command based

Subscription cancellation remains an explicit command so policy checks and customer intent are captured before state changes.

Decision RecordApril 21, 2025AcceptedSubscriptions

Context

Subscription cancellation can be customer initiated, payment driven, support initiated, or policy driven. Each reason has different eligibility and notification requirements.

Decision

Cancellation remains an explicit command handled by SubscriptionService. Events describe the outcome after policy checks complete.

Consequences

Cancellation workflows stay auditable and policy aware. Event consumers should not infer intent from the cancellation event alone.