fix(pricing): correct free-tier credits as one-time, not monthly

Merged
TH
2mo ago
+18-18

Summary

  • Free plan's 1,000 credits are a one-time grant, not monthly. Free accounts have no subscription, so usage resolves against the open default billing window (epoch → year 9999) and never resets — cycle-close skips free plans outright, and weekly refresh is paid-only
  • Pricing cards, in-app upgrade table, and pricing JSON-LD now read Included credits: 1,000 one-time (Free), 6,000/month (Pro), 25,000/month (Max)
  • Weekly refresh values carry /week so both rows are self-describing instead of one row stating cadence inline and the other implying it from its label
  • Comparison free-tier fact no longer claims a monthly grant
  • Five library articles + docs FAQ corrected; docs FAQ also had stale paid credits (5,000/20,000 → 6,000/25,000)
  • dify-alternatives additionally described a 50/200-credit daily refresh, which was replaced by the weekly refresh in #7113

Values stay derived from DEFAULT_FREE_CREDITS / CREDIT_TIERS — only labels and cadence suffixes are new, so the cards can't drift from the constants.

Type of Change

  • Bug fix

Testing

Tested manually. bun run lint clean, bun run type-check clean, all 38 audits pass (check:audits), block-registry audit passes.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)