The V4/Subscription object has NO status field — the unified status is
derived from the facts it does carry, first match wins:
cancelDate set → "canceled" (Subscription/Cancel stamps it);
totalPaymentsNumber > 0 and pastPaymentsNumber has reached it →
"completed" (a finite rrule — COUNT/UNTIL — ran all installments;
open-ended subscriptions report totalPaymentsNumber 0 and never
complete);
effectDate in the future → "pending" (created, not yet billing);
The V4/Subscription object has NO status field — the unified status is derived from the facts it does carry, first match wins: