feat: Implement cost-aligned pricing with early adopter incentives#81
Merged
feat: Implement cost-aligned pricing with early adopter incentives#81
Conversation
Co-authored-by: bcanfield <12603953+bcanfield@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add pricing plan with free and premium tiers
Implement cost-aligned pricing with early adopter incentives
Dec 7, 2025
…erllc/cronicorn into copilot/create-pricing-plan
bcanfield
approved these changes
Dec 13, 2025
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements a cost-aligned pricing strategy with early adopter incentives, introducing execution metering to enforce tier-based monthly run limits. The pricing structure is simplified to three tiers (Free, Premium, Enterprise) with clear value multiplication (5→100→1000 endpoints, 10k→100k→1M runs/month), while using a 35% early adopter discount on Premium to drive conversions.
Key changes:
- Free tier reduced from 10 to 5 endpoints to create upgrade pressure
- Premium tier priced at $19/month (35% off $29) with annual billing option at $15.20/month (20% discount)
- Monthly execution limits enforced via scheduler with soft-limit deferral to next month
- Comprehensive test coverage (14 tests) for execution metering across all tiers
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
packages/domain/src/quota/tier-limits.ts |
Updated Free tier from 10 to 5 endpoints; clarified comment documentation |
packages/content/src/pricing.ts |
Added Premium tier with annual pricing fields and early adopter discount structure |
packages/content/src/pricing-content.ts |
Enhanced FAQs with refund policy, early adopter offer details, and AI token explanations |
apps/web/src/routes/_public/pricing.tsx |
Added billing period toggle (monthly/annual), early adopter hero banner, and refund guarantee section |
packages/worker-scheduler/src/domain/scheduler.ts |
Implemented checkRunLimit() with soft-limit monthly execution metering and deferral logic |
packages/worker-scheduler/src/domain/__tests__/scheduler-run-limit.spec.ts |
Added 14 comprehensive tests covering free/pro/enterprise tier limits, boundaries, errors, and cross-month behavior |
packages/services/src/jobs/manager.ts |
Enforced minimum interval clamping for minIntervalMs field based on tier limits |
packages/services/src/jobs/__tests__/manager.test.ts |
Updated test assertions to reflect new Free tier limit (5 endpoints) |
apps/api/src/routes/jobs/__tests__/jobs.api.test.ts |
Updated API integration tests for 5-endpoint Free tier limit enforcement |
packages/adapter-http/src/__tests__/http-dispatcher.test.ts |
Fixed flaky test assertion from toBeGreaterThan(0) to toBeGreaterThanOrEqual(0) |
packages/adapter-drizzle/src/quota-guard.ts |
Clarified comment documentation for soft-limit token quota behavior |
.adr/0054-tier-based-limit-enforcement-and-metering.md |
Comprehensive ADR documenting tier-based limit enforcement architecture and execution metering strategy |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/worker-scheduler/src/domain/__tests__/scheduler-run-limit.spec.ts
Outdated
Show resolved
Hide resolved
packages/worker-scheduler/src/domain/__tests__/scheduler-run-limit.spec.ts
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ccuracy - Fixed test name grammar: "should logs" → "should log" - Added proper assertion for warning log in test - Updated ADR to accurately reflect baseline interval rejection vs guardrail clamping - All tests passing Co-authored-by: bcanfield <12603953+bcanfield@users.noreply.github.com>
bcanfield
approved these changes
Dec 19, 2025
github-actions bot
pushed a commit
that referenced
this pull request
Dec 19, 2025
# [1.17.0](v1.16.2...v1.17.0) (2025-12-19) ### Features * Implement cost-aligned pricing with early adopter incentives ([#81](#81)) ([8959edb](8959edb))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pricing Plan Implementation ✅
Overview
Implemented a comprehensive pricing strategy with clear value proposition, early adopter incentives, and flexible billing options that align with actual running costs (AI tokens, endpoint executions, execution durations).
Completed Features
✅ Updated Pricing Tiers
Free Tier (renamed from "Starter")
Premium Tier (renamed from "Professional")
Enterprise Tier
✅ Billing Options
✅ Early Adopter Offer
✅ Refund Policy
✅ Updated FAQs
✅ Domain Layer Updates
packages/domain/src/quota/tier-limits.ts✅ Code Review Fixes
Technical Changes
packages/content/src/pricing.ts- Added billing periods, early adopter discountspackages/content/src/pricing-content.ts- Updated FAQs with refund policypackages/domain/src/quota/tier-limits.ts- Adjusted tier limits (5 endpoints for Free)apps/web/src/routes/_public/pricing.tsx- Billing toggle, refund section, early adopter UI.adr/0054-tier-based-limit-enforcement-and-metering.md- Corrected documentation for interval enforcementpackages/worker-scheduler/src/domain/__tests__/scheduler-run-limit.spec.ts- Fixed test assertionsQuality Assurance
✅ TypeScript compilation successful
✅ All 14 scheduler run limit tests passing
✅ Visual verification completed
✅ Billing toggle works correctly
✅ FAQ accordion functions properly
✅ All prices display correctly (monthly/annual)
✅ Early adopter discount shows properly
✅ Code review feedback addressed
✅ CodeQL security scan passed (0 vulnerabilities)
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.