Repository navigation
fix(money): catalogue record offers no trial until the trial notice is live - #409
Conversation
There was a problem hiding this comment.
Judged against provider-owned subscription offers with explicit trial configuration and pre-expiry reminders (Stripe Checkout: https://docs.stripe.com/payments/checkout/free-trials?payment-ui=stripe-hosted, read 2026-10-11). catalogue.json:147 sets the yearly trial to zero, matching the live offer without changing any plan key, amount or entitlement. The existing converter omits zero-day trials (money-catalogue-spec.ts:92); the behavior guard at money-catalogue-spec.test.ts:42-51 prevents accidental trial activation. All six catalogue regressions passed in CI job 114344079390, with 1401 unit tests passing and ci-ok successful. Public ListPlans read during review returned salesOpen true, the same four USD/GBP prices and no trialDays. The existing main-only workflow remains the sole writer and applies preview before production. After merge, enable it, dispatch main, require both apply jobs green and read back ListPlans; this approval does not attest that operational completion.
What and why
Keep
plus_individual_yearly.trial_daysat 0 until the Money trial notice is deployed and read back. The catalogue matches the live offer: four plans with unchanged prices and no trial. Update the commercial notes and growth status; retain the no-trial behavior regression and remove the source-wording assertion.Merge current main
c71c093ab924415f9d76332d95193e2362730b46into this existing PR. Its Next 16.3.8 dependency repair resolves the previous Security Scan bounce without another dependency patch or audit suppression.Tests
Head:
f2dc52a66502dc9740b66630ec59fab57f85a9e5. This unpublished re-cut has the identical source tree as testede603672346d3e6407606c5fceff02d9b742ebb1d(git diff --exit-codepassed); only the merge commit message was changed to omit an internal branch identifier. Published PR ancestry is preserved; no rebase or force push.trial_daysfields; jq assertion returned true./usr/bin/env: 'node': No such file or directory(Build exited 1). This unchanged baseline gate remains CI-only; no test suppression or source workaround. Full Rust/database/build/deployment gates remain for CI.git diff --check origin/main...HEADpassed.BillingService/ListPlansread during this step:salesOpen: true, four unchanged plans/prices,individual_yearlyhas notrialDays.Operational completion after merge
Enable
Money catalogueonly after the zero-trial source is on main. Dispatch a main run; require both preview and production jobs to succeed. Read back ListPlans once for the same four plans/prices and no yearly trial. A later catalogue PR may set 7 days only after the Money trial notice is deployed and read back.