docs(billing): sequenced M1 implementation plan on the locked decisions #25
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/billing-m1-plan"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Turns the gap matrix into a phased plan built on the locked scoping calls (single PSA plan, real renewal/cancel via the subscriptions table, 1-month trial with card-on-file via the kept SetupIntent path, GracePeriod unchanged). Phase 1 is webhook idempotency (decision-independent, first); phase 2 is the single-plan reshape that gates the rest and removes the row-7 bugs by deleting the price-lock path; phases 3-5 are trial state, the subscriptions-table persist+read, and the UI reskin. Flags the decision-1 blast radius (SubscriptionTier/lifetime_member/price_locked reach into auth, JWT claims, access control, cancel/admin flows, and the web client - not a clean delete), surfaces the lifetime_member keep-or-remove sub-decision, and marks the Stripe test-key dependency as a prerequisite gate (stripe_config.secret_key is NULL in dev) rather than a step. No billing logic changed; per-user model untouched. Plan only.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com