Gate Team tier: remove self-serve buy CTA (CEO directive: Team not rolled out) - #169
Merged
Merged
Conversation
…lled out) Per the 2026-06-04 HARD CEO directive, the Team plan ($199 "unlimited") is NOT rolled out and must not be presented as a buyable/self-serve plan until its unlimited-resource delivery is proven built. This DELIBERATELY REVERSES DOG-10 (2026-05-29), which had removed the contact-sales CTA and pointed Team at /app/checkout — that change is overridden and must not be re-applied. - PricingPage: Team card CTA → "Contact sales →" mailto (sales@), no longer routes to /app/checkout on either billing cycle. Gate comment added. - ChangePlanModal: drop `team` from SELECTABLE_TIERS so the in-app upgrade modal never offers Team. A Pro/Growth user now hits the existing "no upgrades — contact support" empty state (the honest sales-assisted exit). - public/llms.txt: Team described as "available soon — not yet self-serve", no longer listed among the public self-serve tiers. - fetch-content.mjs + llmsContract.test.ts: pin the gating wording with a build-time guard + contract test so a content sync can't silently re-market Team as buyable. - Tests reversed (failing-then-passing): PricingPage asserts the Team CTA does NOT contain /app/checkout and surfaces contact-sales; ChangePlanModal asserts `team` is not a selectable target. npm run gate: green (80 files, 1115 passed / 3 skipped). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
mastermanas805
enabled auto-merge (squash)
June 4, 2026 16:41
size-limit report 📦
|
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.
Why
HARD CEO directive (2026-06-04): the Team plan ($199 "unlimited") is NOT rolled out and must not be presented as a buyable/self-serve plan until its unlimited-resource delivery is proven built.
This PR deliberately REVERSES DOG-10 (2026-05-29), which had removed the contact-sales CTA and pointed Team at
/app/checkout. That change is overridden — do not re-apply it. Source comments + a contract test + a build-time guard document the reversal so it isn't "re-fixed."Changes
src/pages/PricingPage.tsx— Team card CTA →Contact sales →mailto:sales@instanode.dev, no longer routes to/app/checkouton either billing cycle. Team price/limits stay visible in the comparison; only the buy path is removed.src/components/ChangePlanModal.tsx—teamremoved fromSELECTABLE_TIERS. A Pro/Growth user (whose only tier up is Team) now hits the existing "no upgrades — contact support" empty state, the honest sales-assisted exit.public/llms.txt— Team described as "available soon — not yet self-serve"; removed from the public self-serve tier list. (SoT is the separatecontentrepo, handled elsewhere — this is the build-time synced fallback, kept in lock-step.)scripts/fetch-content.mjs+src/lib/llmsContract.test.ts— pin the gating wording (not yet a self-serve tier) via the existingrequireMarkersguard + a CONTRACT_MARKERS row, so a content-repo sync can't silently re-market Team as buyable.Tests (reversed; failing-then-passing)
/app/checkout/plan=teamand does surface a contact-sales mailto (on both monthly and yearly).teamis not a selectable upgrade target for hobby / hobby_plus / pro users; a Pro user falls to the no-upgrades empty state.Residual (out of this granular PR's scope)
src/pages/CheckoutPage.tsxstill accepts?plan=teamvia direct URL (the server is the real authority). No marketing CTA points there anymore. Flagged for a follow-up if a hard client-side block is wanted.Gate
npm run gategreen: 80 test files, 1115 passed / 3 skipped.🤖 Generated with Claude Code