raise tier prices to 16/24/36/60; add idempotent Stripe price seeder
Standard creator-tier prices clear the irreducible support floor at every
tier with even-dollar values. Founder rate stays at exactly 50% of standard.
Annual = monthly * 12 * 0.9, rounded to whole dollars.
- Sources of truth: CreatorTier::price_cents + test, MNW/CLAUDE.md.
(Canonical assumptions.toml updated in a paired commit in _private.)
- Server templates: pricing.html, index.html founder grid, use_cases.html,
user_creator.html signup options.
- site-docs markdown: tiers.md, pricing.md, compare.md, how-we-work.md,
story.md, guarantees.md, fan-guide.md, faq.md. Break-even, savings,
and worked-example numbers recomputed.
- Internal docs: schema.md, architecture.md, scaling.md (blended ARPU),
audit_review.md BF-H1 example, cli.md sample output, makenotwork.html
pitch.
- docengine fixture comments + assertion values updated to match new
ARPU/Stripe-fee numbers (test still won't run until the broken fixture
include_str path is fixed; tracked in launchplan post-launch follow-up).
- Static html mirror regenerated via site-docs/public/html/build.sh.
New deploy/stripe_seed_creator_tier_prices.sh idempotently creates the
16 Stripe Prices (4 tiers x {standard, founder} x {monthly, annual}) via
lookup_keys. Re-running is safe: existing prices with the right amount are
reused, amount changes are handled atomically via transfer_lookup_key.
Existing subscriptions are unaffected (Stripe pins them to the original
Price ID at signup). --archive-old-on-tier-products archives the legacy
manually-created prices after the new set is verified.
Co-Authored-By
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-06-01 02:37 UTC
- [ ] `scheduler/mod.rs:92-279` advisory-lock per-tier granularity. Multi-replica concern; defer until multi-replica is real.
72
72
- [ ] Drop unused `completion_effects` table (migration cleanup, schema-only).
73
-
- [ ] Templatize founder annual prices in `tiers.md` (e.g. `$54/yr`, `$108/yr`, `$162/yr`, `$324/yr`). docengine substitutions don't support arithmetic; would require adding derived `tiers.founding.basic_annual` etc keys in `shared/docengine/src/assumptions.rs`. Not blocking.
73
+
- [ ] Templatize founder + standard annual prices in `tiers.md` and `pricing.md` (e.g. `$86/yr`, `$130/yr`, `$194/yr`, `$324/yr`; standard `$173/$259/$389/$648`). docengine substitutions don't support arithmetic; would require adding derived `tiers.founding.basic_annual` etc keys in `shared/docengine/src/assumptions.rs`. Not blocking.
74
74
- [ ] `_head_assets.html` apple-touch-icon + manifest link wiring. `static/manifest.json` exists but the `<link rel="manifest">` was reverted; bring back if/when desired.
75
75
- [ ] Migrate footer's `What's new` and `Shortcuts` `<a href="#" onclick="...">` to `data-*` attributes following the `data-copy-link` pattern. UX MED, not blocking.
| BF-H1 | Multi-account tier-gaming: `try_increment_storage` gates per-user only; no cross-account dedup against payment method, IP, or email domain. A creator with 10GB of small files could split across two Basic accounts at $10/mo each instead of one Small Files at $20/mo. | `src/db/creator_tiers.rs:218,568` | Defer. Founder cohort is hand-picked; at scale add Stripe customer-id cross-check or payment-method fingerprinting. |
896
+
| BF-H1 | Multi-account tier-gaming: `try_increment_storage` gates per-user only; no cross-account dedup against payment method, IP, or email domain. A creator with 10GB of small files could split across two Basic accounts at $16/mo each instead of one Small Files at $24/mo. | `src/db/creator_tiers.rs:218,568` | Defer. Founder cohort is hand-picked; at scale add Stripe customer-id cross-check or payment-method fingerprinting. |
897
897
| BF-H2 | MetaDefender Cloud has no monthly spend cap in code. Currently free-tier (4k req/day) and gated to suspicious files only, so cost = $0 today. If MNW upgrades to a paid key, an uploads-flood from a hostile account would have no spend ceiling. | `src/scanning/metadefender.rs` | Defer. Add daily-budget alert + cap before any paid-key upgrade. Note in `tech/content-scanning.md`. |
898
898
| BF-H3 | Founder rate "locked for life" is a one-way ratchet. Cost-favorable changes apply retroactively; cost-unfavorable changes cannot. | `site-docs/public/about/guarantees.md`, `site-docs/public/about/pricing.md:14` | Defer. The legal language is already correct ("locked at the rate when you joined"); business risk is structural and intentional. |
899
899
| BF-H4 | Earn-back credit program: any creator who pays more than they earn gets credited. Inverts unit economics on small creators — a $5 Basic creator earning $0 gets a year free. Combined with "no ads ever" guarantee + founder rate lock, the long tail of creators is structurally subsidized by the top end. | `site-docs/public/about/economics.md`, `roadmap.md:54` | Defer. Strategic decision. Cap the credit to a maximum dollar amount or pair with a minimum-engagement floor before the program goes live (deadline 2027-01-01). |
All prices are list rates as of 2026-05; verify before budgeting. EUR/USD assumed ~1.08. Tier mix assumed roughly: 50% Basic ($10), 25% Small Files ($20), 20% Big Files ($30), 5% Everything ($60) → blended ARPU ~$19/mo. Tier storage caps (50/250/500/500 GB) are headroom, not actual usage; assume actual fill ~20% of cap at any given time.
46
+
All prices are list rates as of 2026-05; verify before budgeting. EUR/USD assumed ~1.08. Tier mix assumed roughly: 50% Basic ($16), 25% Small Files ($24), 20% Big Files ($36), 5% Everything ($60) → blended ARPU ~$24/mo. Tier storage caps (50/250/500/500 GB) are headroom, not actual usage; assume actual fill ~20% of cap at any given time.