Fix duplicate Stripe customers and attestation plan bypass
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m29s
Deploy dev to stage — webhook user_metadata fix, textarea, initStripe
Dev — Build & local smoke test / build-smoke (push) Successful in 2m11s
Fix initStripe load order, subscription webhook email, chat textarea
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m17s
Fix intro greeting and load history on return visits
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m36s
Fix question counter, rate-limit timer, admin reset API, pricing clarity
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 2m0s
dev → stage: binary assets, payment fix, checkout layout
Dev — Build & local smoke test / build-smoke (push) Successful in 2m7s
fix: binary asset serving + checkout centering
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m34s
fix: remove setup_future_usage from $0 PaymentIntent
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m32s
dev → stage: free plan $0 PaymentIntent
Dev — Build & local smoke test / build-smoke (push) Successful in 2m14s
fix: free plan $0 PaymentIntent for age verification
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m45s
dev → stage: free checkout Stripe fix + copy updates
Dev — Build & local smoke test / build-smoke (push) Successful in 2m14s
fix: free checkout Stripe SetupIntent + remove no-card-required copy
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m43s
dev → stage: force full build after registry cleanup
Dev — Build & local smoke test / build-smoke (push) Successful in 2m16s
fix: force full build when no diff or stage-latest missing
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m43s
ci: touch dist to trigger stage rebuild
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 1m35s