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.