feat(polymarket): outcome-aware scoring and synthesis instructions

- _compute_text_similarity() now checks outcome names with bidirectional
  substring matching (0.85) and token overlap (0.7), not just event titles
- Collect outcomes from ALL active markets per event, filter to >1% price
- Reorder outcome_prices to surface topic-matching outcome before top-3 truncation
- Add SKILL.md "Prediction Markets" synthesis section with structural/long-term
  market preference, domain examples, citation format, and narrative weaving
- Add Polymarket to citation priority list between HN and Web
- Update stats box template to show up to 5 market odds
- Fix render.py "vol24h" label to "volume"
- Add NCAA seed fixture event for outcome-only matching tests
- 82 polymarket tests pass (14 new)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Van Horn
2026-02-26 08:12:45 -08:00
parent 4c82309c36
commit 2ff9b6f6c1
7 changed files with 394 additions and 21 deletions
+2 -1
View File
@@ -85,6 +85,7 @@ Rules:
3. Weight web LOWER (no engagement data)
4. Identify cross-source patterns (strongest signals)
5. Extract top 3-5 actionable insights
6. **Prediction markets are high-signal when relevant** - real money on outcomes cuts through opinion. Prefer structural/long-term markets (championship > regular season, regime change > near-term deadline). When the topic is an outcome in a multi-outcome market, call out that specific outcome's odds and movement. Weave odds into narrative: "Polymarket has X at Y% (up/down Z%)"
**Ground synthesis in ACTUAL research, not pre-existing knowledge.**
@@ -128,7 +129,7 @@ All agents reported back!
|- Reddit: {N} threads | {N} upvotes | {N} comments
|- X: {N} posts | {N} likes | {N} reposts
|- YouTube: {N} videos | {N} views | {N} with transcripts
|- Polymarket: {N} markets ({short summary of top 2-3 market odds})
|- Polymarket: {N} markets | {summary of up to 5 most relevant market odds}
|- Web: {N} pages (supplementary)
|- Top voices: @{handle1}, @{handle2} | r/{sub1}, r/{sub2}
---