Skip to content

feat(hunch): surface live odds + 24h volume + Crypto taxonomy + cursor draining - #1293

Merged
realfishsam merged 3 commits into
pmxt-dev:mainfrom
rajkaria:hunch-surfacing
Jun 23, 2026
Merged

feat(hunch): surface live odds + 24h volume + Crypto taxonomy + cursor draining#1293
realfishsam merged 3 commits into
pmxt-dev:mainfrom
rajkaria:hunch-surfacing

Conversation

@rajkaria

Copy link
Copy Markdown
Contributor

Follow-up to the merged Hunch venue adapter (#1150). Makes Hunch markets actually surface and rank in the hosted catalog's cross-venue features (compare / arbitrage / hedge / matched-prices), which are all price-gated.

What & why

  • Consume live list odds — the Hunch /markets list item now carries binary YES/NO odds. The normalizer prices binary outcomes from raw.odds on the bare list path (explicit detail/quote odds still win). Before this, every Hunch market ingested at price 0 and was excluded from all price-gated cross-venue features. Verified live: all 69 open binary markets now price (e.g. $BNKR → 0.68/0.32).
  • volume24h now passes through raw.volume24hUsd (was hard-0) — the recency signal the catalog ranks on.
  • Category/tags — map Hunch's 17 native categories onto pmxt's top-level taxonomy (Crypto, eventCulture) + granular tags (["Crypto","Market Cap","BNKR"]). Verified live: 109/112 markets → Crypto. So Hunch answers ?category= filters and matches with higher confidence.
  • Cursor drainingfetchRawMarkets follows the new nextCursor to drain the whole catalogue on a no-limit crawl (the Hunch list now paginates), so the catalog ingests every market, not just the first 200.

All new raw fields are optional → the adapter is correct before and after the Hunch API deploy (the Hunch side is already live in prod). New: 54 normalizer + 2 fetcher tests, tsc clean.

🤖 Generated with Claude Code

rajkaria and others added 3 commits June 23, 2026 14:44
…tegory/tags

Hunch's agent list item now carries live binary odds, a trailing-24h volume,
and stays crypto-native in category. Wire all three into the normalizer so the
hosted catalog surfaces Hunch properly:

- Price binary YES/NO from `raw.odds` on the bare list path (explicit
  detail/quote odds still win) — Hunch markets no longer ingest at price 0, so
  they appear in price-gated compare/arbitrage/hedge/matched-prices.
- `volume24h` now passes through `raw.volume24hUsd` (was hard-0) — the recency
  signal the catalog ranks on.
- Map Hunch's 17 native categories onto pmxt's top-level taxonomy ("Crypto",
  "event"→"Culture") + granular tags (top category + subtype label + token), so
  Hunch answers `?category=` filters and matches with higher confidence.

New raw fields are optional → the adapter is correct before AND after the Hunch
API deploys. 54 normalizer tests (+7). tsc clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Hunch list now paginates. A catalog crawl (no explicit limit) follows
`nextCursor` to drain the whole catalogue — so the hosted catalog ingests every
Hunch market, not just the first 200. An explicit limit still fetches one page.
MAX_LIST_PAGES (50) backstops a runaway cursor loop.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@realfishsam
realfishsam merged commit dd1332c into pmxt-dev:main Jun 23, 2026
5 checks passed
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