docs: drop Phase D.x markers now that the referral loop is closed

The "Phase D.1/D.2/D.3" comment scaffolding and the "Paddle webhook
will fill this in" references became actively misleading after D.3
landed — anyone reading the code would think referral conversion was
still pending. Also corrects a stale "Paddle" reference to "Stripe"
(we never shipped Paddle; ended up on Stripe after the Paddle → Polar
→ Stripe MoR onboarding pivot).

Pure docstring sweep, no behaviour change.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Giorgio Gilestro 2026-05-26 23:09:39 +02:00
parent ce36ce36fd
commit 1be0c5a436
5 changed files with 24 additions and 19 deletions

View file

@ -2,11 +2,12 @@
Two sources can grant paid access:
1. ``user.tier in {"paid", "enterprise"}`` set by Paddle webhook in
Phase D.3 once a subscription is active.
2. ``user.credit_until > now()`` non-subscription credit. Currently
populated by the admin CLI (`python -m app.cli grant-credit`) and, in
D.3, by the referral-conversion path (3 months at 50% off).
1. ``user.tier in {"paid", "enterprise"}`` set by the Stripe webhook
once a subscription is active.
2. ``user.credit_until > now()`` non-subscription credit. Populated
by the admin CLI (``python -m app.cli grant-credit``) and by the
referral-conversion path (45 days per converted referral, both
parties).
Either is sufficient. We use a single ``paid_status`` function so the
Settings page can show *why* a user has paid access ("paid subscription"