π§ͺ PR29a β crowd-forecast signals on the impact page (Polymarket + Kalshi)#2
Merged
Merged
Conversation
Integrated into the /impact dashboard (stacked on PR daviddao#29, not amending it): - src/lib/market-signals.ts β maps each inflection point to its closest market, choosing Polymarket vs Kalshi per match quality, with a liquidity fallback. Public Gamma + Kalshi APIs, hourly ISR. - ImpactDashboard: crowd read on the FIELD axis (card + modal), platform badge, fallback tag, gap state; never conflated with PL contribution. - impact/page.tsx: resolveAllSignals() alongside existing live outputs. For discussion only.
Per review: the crowd read now sits inside the modal's full-width Live signal bar (alongside PL-backed live outputs) instead of under 'Impact β the cascade' in the field column. Gap points show a separate crowd-forecast note. Field-vs-contribution caveat preserved.
Thread per-market USD volume through MarketSignal (Polymarket volumeNum; Kalshi dollar_volume, falling back to contract count) and render a compact '$15k at stake' chip next to the crowd probability in the modal's Live signal band.
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.
What this does
Each inflection point is a pre-registered, falsifiable, dated bet β exactly what prediction markets price. This adds a crowd-forecast read on the FIELD axis of every inflection card (and its detail modal): an external, independent estimate of "will it happen?", kept strictly separate from PL contribution (Q3) and from a settled Q2.
Kalshi and Polymarket, chosen per match
The platform is selected on which market most closely matches the actual inflection point, not convenience:
(fallback)tag shown honestly.Examples now live on the page:
Where it lives β on the impact page, not separate
It's woven directly into the existing two-axis dashboard rather than a standalone route, so it reads as part of "the field" story. (I can still split it into a separate
/signalspage if you prefer.)Screenshots
On the cards (Polymarket %, gap state):

Best-match platform selection (Kalshi vs Polymarket):

Detail modal β best-match + liquidity fallback, with caveat:

Caveats: reads are proxies, not exact restatements; Kalshi live prices may be null depending on liquidity (the fallback handles that); nothing here endorses gambling.