🧪 [DO NOT MERGE] Preview: crowd-forecast signals on /impact (Polymarket + Kalshi)#45
Closed
lksbrssr wants to merge 18 commits into
Closed
🧪 [DO NOT MERGE] Preview: crowd-forecast signals on /impact (Polymarket + Kalshi)#45lksbrssr wants to merge 18 commits into
lksbrssr wants to merge 18 commits into
Conversation
Adds /impact — a public, filterable dashboard that tracks PL R&D's impact via the twelve pre-registered inflection points, one set per focus area. What it does: - Filterable by focus area (vertical tab rail); a user always lands in one area rather than seeing all twelve at once. - Each inflection point is a card with a Defined -> Emerging -> Reached -> Scaling field-progress meter and a PL-role tag (Substrate / Originator / Funder & convener). Clicking opens a detail modal. - The modal traces Q1 (did it happen — the pre-registered threshold), Q2 (did it matter — the cascade), and Q3 (did our work make it happen) as Inputs -> Activities -> Outputs. - Field progress and PL contribution are kept on separate axes and never collapsed into one score: a point can be reached with little PL involvement and that is still a win for the field. - For the two Economies & Governance points with live data, the modal pulls live OUTPUTS from the same sources as the FA2 live dashboard (GainForest, Glow, Simocracy) — labelled strictly as Q3 contribution evidence, never as Q1 progress. Fetched server-side with 60s ISR and graceful fallback. - A "Measuring impact" explainer covers the logic model and the three questions. - Adds an "Impact" item to the main nav. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Inflection section intro: drop the "pre-registering keeps us honest / reading not an argument" tail; "pre-registered" -> "defined" threshold. - Cards: remove the redundant "Defined" status pill (the field meter already shows stage); rename the teaser label "Signal it happened" -> "Inflection point". - Detail modal: tag Q1 with "Impact" and Q2 with "Outcome" so all three questions share the logic-model row layout used by Q3's Inputs / Activities / Outputs. - Measuring impact: move the "each inflection point instantiates this chain" note above the logic-model strip; style the strip labels as grey uppercase to match the detail cards. - Three-questions explainer: surface each question's logic-model stage(s) — Impact, Outcomes, and Inputs/Activities/Outputs — to tie the section back to the cards. - Hoist LOGIC_MODEL into lib/inflection-points so the strip, the explainer, and the modal share one vocabulary. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replace the single contributionLevel (substrate/originator/funder-convener) with an array of PL roles named by the bottleneck each releases: Infrastructure, Legibility, Connection, Capital, Translation, Permission. Cards now render one pill per role; the Measuring-impact Q3 tab lists all six roles and its copy reflects 'one or more' instruments.
The role pill descriptions in the inflection-point modal duplicated the 'Measuring impact' Q3 explainer. Keep the role pills (with hover titles) but remove the description list so the explanation lives in one place.
…tcome) + self-contained role tooltips - Q1 is now 'Did it matter?' (impact) and Q2 'Did it happen?' (outcome), consistent across the inflection-point detail modal and the Measuring- impact tabs (and doc comments / live-evidence notes). - Role pills now carry a label + description tooltip matching the Measuring-impact Q3 role explainer.
Native title was unreliable; replace with a scoped CSS tooltip (group/role) that shows the role's label + description on hover, pulled from the same ROLE_META used by the Measuring-impact Q3 section.
Add FIELD_COLOR (teal) / HAND_COLOR (violet) tokens; update ROLE_META and LOGIC_MODEL copy to the mockup wording.
Drop focus-area color coding (neutral icons). Card now shows a teal 'field' axis (meter + did it happen & matter) and a violet 'our hand' axis (role pills + did our work help), plus a LIVE SIGNAL block for points with live outputs. Modal recolored/reordered to A (our hand) / B, C (the field).
… section Measuring-impact section: color-code the logic-model chain by axis, dot legend (not tick-boxes), and three always-visible A/B/C question cards. Extract the six PL roles into a separate 'toolkit' section.
- Swap axis colors: field = purple, our hand = PL blue (#1982F4); teal removed - Live signal now a pulsing green dot; 'Live outputs' -> 'Live signal' - Cards: 'Detail' affordance (subtle top-right, not a full row); 'Methodology' removed - Detail modal: wider + two-column (our hand | the field) with full-width live signal; remove repeated status badge and the field explainer; 'the signal' -> 'the inflection point'; 'Did our work help?' -> 'Is our work making a difference?' - AI & Robotics empty state: 'inflection points' instead of 'pre-registered bets'
- Detail modal: inputs/activities/outputs are now headers over their text (aligned with the field side); rename 'Field progress' to 'Progress against Inflection Point'; drop 'The only axis we control' subheading. - Generic 'Live signal' footnote on cards + detail that carry live data. - Mark communication / provenance / public-goods / verified-outcomes as Emerging (early-signal). - Measuring: remove the dot legend (already conveyed in the subheader).
- Hero: add 'Our methodology' scroll link (landing-page style); rename the section to 'Our methodology' with a #methodology anchor. - Field axis color -> black (drop purple); hand stays PL blue, live green. - Methodology block: A card is wide with role pills + a subtle 'See the roles we play' link opening a pop-out roles modal; B/C narrow. Remove the standalone toolkit section. - Copy: 'Is our work making a difference?' -> 'Our contribution to field progress'; A axis line -> 'The axis we control with our partners'.
- Remove the inputs->impact logic-model boxes; keep just the three evenly-spaced question cards. - Measuring copy: A 'What difference are we making?', B 'Did the inflection point happen?', C 'Did reaching the inflection point matter?' - Detail modal keeps short B/C; A reworded to 'How is PL making a difference?' (card hint too).
Card A is now a button that opens the roles modal (like the inflection detail cards), with 'See the roles we play' as a subtle hover affordance instead of the only click target.
- Detail card bottom band now spans full width: live-signal metrics (when present) plus a 'See the latest <focus area> insights' link. - Deep-link: /insights?area=<slug> pre-selects that focus-area filter (InsightsExplorer takes an initialArea; page reads searchParams). - Measuring copy: A 'Did PL's work make a difference?', B 'Were the inflection points reached?'.
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.
|
Someone is attempting to deploy a commit to the plrd Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Collaborator
Author
|
Folded into #29 — the crowd-forecast + market-volume work now lives directly in the /impact dashboard PR alongside the modal restructure (single-column The field / Our hand / Live signal, roles as contribution headers, Permission→Policy). Closing so it's all in one place. |
Draft
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.
This branch is stacked on top of #29 (the impact-dashboard PR, not yet merged), so the diff below includes #29's files. My actual delta is only 3 files:
src/lib/market-signals.ts(new)src/components/ImpactDashboard.tsxsrc/app/impact/page.tsxEverything else is inherited from #29. Review the delta in lksbrssr#2; use the Vercel preview here to click through it live at
/impact.What it does
Each inflection point is a pre-registered, falsifiable, dated bet — what prediction markets price. This adds a crowd-forecast read on the FIELD axis of every inflection card + modal: an external, independent "will it happen?" estimate, kept separate from PL contribution (Q3) and from a settled Q2.
Kalshi and Polymarket, chosen per match quality (best-match primary + liquidity fallback, platform badge,
(fallback)tag, and a "No market yet — unpriced bet" gap state):Screenshots
Caveats: reads are proxies, not exact restatements; Kalshi live prices may be null depending on liquidity (the fallback handles that); nothing here endorses gambling.