Skip to content

products: hide appearances on benches absent from this deployment (prod product pages link 3 to 7 dev-only bench/compare URLs that 404) - #2501

Open
Flotapponnier wants to merge 1 commit into
mainfrom
hotfix/products-hide-benches-absent-from-this-deploy
Open

Flotapponnier wants to merge 1 commit into
mainfrom
hotfix/products-hide-benches-absent-from-this-deploy

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Not merged on purpose: main deploy, Florent's call.

providers.json is built by the worker from dev, so on prod the product pages credit appearances on benches whose spec is not on main and link them: /products/gmgn → terminal-fill-quality, trading-app-daily-volume, banana-gun-vs-gmgn, bonkbot-vs-gmgn (all 404); /products/mobula → 3 bridge dev-only benches. The 2026-09-19 products audit flagged 14/16 sampled pages; Search Console shows 271 404s.

getProviders() now keeps only appearances whose bench is in this deployment's spec set (minus DEV_ONLY_BENCH_SLUGS / REMOVED_BENCH_SLUGS), subtracts the wins those appearances carried (same rule as the builder), recomputes categories, drops empty profiles. No-op on dev. Falls open if specs cannot be read.

Local render of this branch against the live blob: gmgn 9 → 7 benches, no banana-gun/bonkbot pairs; mobula 3 bridge links gone. tsc + eslint clean.

Same change goes to dev separately (#next) so the branches stay aligned.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJgbZCqjR4nvCfcJSzofbw

…xist in this deployment (the blob is built from dev; on prod every product page linked 3 to 7 dev-only bench and compare URLs that 404)

The worker builds providers.json from the `dev` checkout, so on
production the index credited appearances on benches whose spec is not
on `main` (terminal-fill-quality, trading-app-daily-volume,
bridge-execution-latency, bridge-realized-cost, bridge-quote-latency-
solana, ...). /products/gmgn linked 4 dead URLs, /products/mobula 3,
and the pairs that exist only through those benches (banana-gun-vs-gmgn,
bonkbot-vs-gmgn) 404 as well. Search Console lists 271 404s; the audit
of 2026-09-19 (products scope) flagged 14 of 16 sampled product pages.

getProviders() now confines the index to this deployment's spec set
(loadSpecsUncached, minus DEV_ONLY_BENCH_SLUGS and REMOVED_BENCH_SLUGS):
appearances on absent benches are dropped, wins and chainWins are
reduced by what those appearances contributed (same rule as
buildProvidersFromBenches: per chain led when the bench has chain
dimensions, else the aggregate #1), categories recomputed, and a profile
with nothing left disappears (so its compare pairs are not linked). On
dev every bench exists: no-op. Falls open if the spec directory cannot
be read.

Verified on a local render of this branch against the live blob:
/products/gmgn lists 7 benches (was 9, the 2 dev-only ones gone) and 12
compare links, none to banana-gun or bonkbot; /products/mobula 8
benches, the 3 bridge dev-only ones gone. tsc and eslint clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJgbZCqjR4nvCfcJSzofbw
Flotapponnier added a commit that referenced this pull request Sep 19, 2026
…xist in this deployment (dev counterpart of #2501; no-op here, keeps the branches aligned) (#2502)

Claude-Session: https://claude.ai/code/session_01HJgbZCqjR4nvCfcJSzofbw

Co-authored-by: Flotapponnier <florent@mobula.io>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

2 participants