chore(helm): update Architect Stripe price IDs to $199/mo#6787
chore(helm): update Architect Stripe price IDs to $199/mo#6787
Conversation
Monthly: price_1TAfBB1F8wnoWYvw8XBFM1dX Annual: price_1TLFac1F8wnoWYvwtPxZhtzE Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Monthly: price_1TAfBB1F8wnoWYvw8XBFM1dX Annual: price_1TLFac1F8wnoWYvwtPxZhtzE Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR updates the Stripe Architect plan price IDs in both prod Helm charts (
Confidence Score: 4/5Safe to merge only if subscription.py is updated to add the retired $400/mo price IDs to LEGACY_PRICE_MAP before or alongside this Helm deployment. The Helm config change itself is clean and consistent between both charts. However, the accompanying code change in subscription.py (adding the retired price IDs to LEGACY_PRICE_MAP) was not included, and that omission will cause silent data integrity failures for existing $400/mo subscribers when their Stripe webhook events are processed post-deployment. backend/utils/subscription.py — LEGACY_PRICE_MAP needs two new entries for the retired $400/mo Architect price IDs before this Helm change goes live. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Stripe Webhook Event\ncustomer.subscription.updated/deleted] --> B[_build_subscription_from_stripe_object]
B --> C{get_plan_type_from_price_id}
C --> D{Check active env vars\nSTRIPE_ARCHITECT_*}
D -->|Found: new $199 IDs| E[Return PlanType.architect ✓]
D -->|Not found| F{Check LEGACY_PRICE_MAP}
F -->|Found: old $199 IDs in map| G[Return PlanType.architect ✓]
F -->|Not found| H[⚠️ ValueError raised]
H --> I[_build returns None]
I --> J[Firestore NOT updated\nCancellation silently ignored]
style H fill:#ff6b6b,color:#fff
style J fill:#ff6b6b,color:#fff
style E fill:#51cf66,color:#fff
style G fill:#51cf66,color:#fff
K[old $400/mo IDs\nprice_1TN7vz...] --> F
L[MISSING from LEGACY_PRICE_MAP\nafter this PR] -.->|gap| K
|
Summary
Update Architect plan Stripe price IDs in prod Helm values (backend-listen + pusher). Price changed from $400/mo to $199/mo in Stripe dashboard.
Changes
STRIPE_ARCHITECT_MONTHLY_PRICE_ID→price_1TAfBB1F8wnoWYvw8XBFM1dX,STRIPE_ARCHITECT_ANNUAL_PRICE_ID→price_1TLFac1F8wnoWYvwtPxZhtzENo code changes needed — prices are fetched dynamically from Stripe.
Deployment Steps
Step 1: Set Cloud Run env vars (BEFORE code deploy)
Prod — 3 Cloud Run services (
backend,backend-sync,backend-integration):Step 2: Merge PR to
mainStep 3: Deploy Helm (GKE)
Step 4: Verify
Rollback
Revert env vars to old price IDs:
price_1TN7vz1F8wnoWYvwXbVLEX0Yprice_1TN7vz1F8wnoWYvwkrqXVn5t🤖 Generated with Claude Code