Skip to content

geo: fix cross-surface cache inconsistency and 3 non-responsive answer pages - #1610

Merged
Flotapponnier merged 1 commit into
devfrom
feat/geo-consistency-fixes
Jul 28, 2026
Merged

geo: fix cross-surface cache inconsistency and 3 non-responsive answer pages#1610
Flotapponnier merged 1 commit into
devfrom
feat/geo-consistency-fixes

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

What

5 targeted fixes for the GEO issues identified in the audit.

Changes

Cache consistency (root cause of cross-surface value discrepancy)

  • revalidate-aggregate/route.ts: when the worker publishes a new snapshot and POSTs to this endpoint, it now also calls revalidateTag("benchmarks", "default") in addition to revalidateTag("bench-aggregate"). Previously the per-bench caches (bench-unfiltered-v51, used by /answers/[slug] detail pages) were only refreshed by their 300s TTL clock, while aggregate surfaces (llms.txt, /api/citable, /answers hub) refreshed immediately on worker publish. Result: different values between the hub card and the detail page for up to 5 minutes after each worker cycle.

llms.txt: add date anchor to headline claims

  • Replaced headlineSentence(b) with groundingTraceLine(b, SITE.url) — the existing helper that already prepends As of {isoDate}, ... Source: OpenChainBench, {url}. LLMs caching llms.txt for weeks now cite a time-stamped claim instead of a bare number that perimés silently.

Answer YAML: pm-rate-limits (metric/question mismatch)

  • which-prediction-market-has-the-strictest-rate-limits.yml: {{best_name}} resolves to the provider with the lowest warm-book p50 (latency), not the strictest rate limit. Myriad has the tightest documented limit (30 req/10s); Polymarket queues via Cloudflare (no 429); Kalshi has a token bucket. Rewrote short_answer and seo_description to answer the actual question.

Answer YAML: pm-data-freshness (circular answer)

  • which-prediction-market-data-api-is-the-freshest.yml: Polymarket's own gateway has a hardcoded p50 of 0.5ms (T0 anchor), so {{best_name}} always resolves to "Polymarket" → "Polymarket relays Polymarket data fastest" (circular). Rewrote short_answer to name Polymarket as the T0 reference, then cite Codex via {{p50:codex}} (the actual third-party provider metric) and seo_description accordingly.

Answer YAML: drpc-vs-publicnode-vs-1rpc (non-responsive hub preview)

  • drpc-vs-publicnode-vs-1rpc.yml: short_answer led with "Binance, Base, Avalanche" before naming any of the three queried providers. On the /answers hub, the 2-line preview showed "Binance" as the answer to a question about dRPC vs PublicNode. Reordered to lead with the dRPC/PublicNode comparison, then contextualize with the wider board.

@Flotapponnier
Flotapponnier merged commit 3d8bee2 into dev Jul 28, 2026
1 check failed
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