Skip to content

The roadmap section that says "catch us here" is the one that was wrong - #96

Merged
will-lamerton merged 1 commit into
mainfrom
fix/the-roadmap-said-it-was-not-built
Aug 29, 2026
Merged

The roadmap section that says "catch us here" is the one that was wrong#96
will-lamerton merged 1 commit into
mainfrom
fix/the-roadmap-said-it-was-not-built

Conversation

@pip-robot

@pip-robot pip-robot Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

The public roadmap has a section called How Pip pays for itself, and it ends with "if that ever stops being true, this section is where you'd catch us." Four lines above that it says the membership "isn't built".

It stopped being true on 25 August. v1.16.0 registered count-your-outs with membersOnly: true, and the entitlement check is live in the app. Verified from outside this morning rather than read off the branch: playpip.io/game/drills/count-your-outs returns 200 to a signed-out visitor and the chunk it loads (/_next/static/chunks/2nt2b-5p2eaox.js) contains the string "This one comes with the membership". So there is a live page on playpip.io that tells a stranger the membership exists, and a published document of ours that says it does not.

Nothing here is a leak worth panicking about: the kind is filtered off the drills index for non-members, it is in no sitemap, and it has no meta title. You have to type the URL. But the roadmap is the one document whose whole job is to be checkable, and it is wrong.

What changed

1. The membership paragraph now says what is actually true. Part of it is built, one drill kind is behind it, there is no price, no page, no checkout, and nobody has paid us anything. It also says the paragraph was wrong until today, because a correction that hides the correction is not one.

2. The same paragraph listed "drills" among what the membership is for. Drills shipped free on 16 August. Rule #8 says we never charge later for something that shipped free, so listing drills as membership content contradicts the paragraph directly above it. Now more kinds of drill, which is the honest form and the one that survives.

3. Four things that shipped this month were missing from Shipped: the /learn guides, the odds calculator, drills, and the end-of-tournament card.

4. Three borrowed absolutes off /play-poker-free-no-signup.

Was Now
meta description: "no real money and nothing to buy" "no real money, and the chips are not for sale"
FAQ: "There is nothing to buy in the game, no ads, and no paid tier of anything on this page." "No ads, no signup, and no charge to play. The chips are play money and they are not for sale, and there is no advantage you can buy at any price"
lead: "no real money and nothing to buy" "no real money, and the chips are not for sale"
checklist: "What it costs: Nothing." "Nothing to play. Not a trial, and nothing in it gets metered later."

These were already ruled out. "Nothing to buy" and "it can't take your money" were pulled from the Product Hunt first comment on 17 August, on the test that an absolute is borrowed if you can name the feature that falsifies it and that feature is on the roadmap. The ruling was applied to the launch copy and not to the site, so the page kept serving them for another sixteen days. That is the third time in a month a ruling has landed on the surface it was aimed at and missed one sixty lines away, so this time it is tests/priceClaims.test.ts rather than a note.

What I deliberately did not do

No corrections registry row. The registry's contract is a claim that served on the site, and corrections.test.ts enforces it by resolving every where path to a page.tsx. ROADMAP.md is not a site path. It is a real gap and I have raised it separately rather than growing that schema a third time in three days, especially while #92 is open on the same file.

Gate

pnpm test:all green, 504 tests, pnpm build clean, biome-formatted. No behaviour change, no component touched.

"It isn't built, it isn't priced, and there's nothing to buy today." Two of
those three are still true. The first stopped being true on 25 August, when a
drill kind shipped behind the membership check, and the sentence sits four lines
above "if that ever stops being true, this section is where you'd catch us".

The same paragraph also listed drills among what the membership is for. Drills
shipped free on 16 August and rule #8 says we never charge later for something
that shipped free, so the honest line is more kinds of drill.

Also pulls three borrowed absolutes off /play-poker-free-no-signup. "Nothing to
buy" and "no paid tier of anything on this page" were ruled out of the launch
copy on 17 August for the reason that they are true until they are not, and the
ruling was applied to the launch copy and not to the site, so the page carried
them for another sixteen days. Replaced with the forms that survive whatever we
ever charge for: the chips are not for sale, no advantage is, and nothing that
shipped free gets metered later.

tests/priceClaims.test.ts fails the build if either phrase comes back.
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying pip-web with  Cloudflare Pages  Cloudflare Pages

Latest commit: 3270d5d
Status: ✅  Deploy successful!
Preview URL: https://32b7486c.pip-web-9oj.pages.dev
Branch Preview URL: https://fix-the-roadmap-said-it-was.pip-web-9oj.pages.dev

View logs

@will-lamerton
will-lamerton merged commit a3fbc11 into main Aug 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant