Skip to content

fix(core): capture response drift fields#960

Open
realfishsam wants to merge 4 commits into
mainfrom
fix/easy-response-drift-core
Open

fix(core): capture response drift fields#960
realfishsam wants to merge 4 commits into
mainfrom
fix/easy-response-drift-core

Conversation

@realfishsam

@realfishsam realfishsam commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Captures new raw response fields for Polymarket, Kalshi, Myriad, Limitless, Gemini Titan, Hyperliquid, and Probable.
  • Preserves venue-specific order book metadata and adds typed fields for Polymarket negative-risk and last trade price.
  • Uses explicit Kalshi NO-side prices and response unit scaling when present.
  • Fixes Limitless epoch-second expiration parsing, Gemini repeated-array event filters, and Probable market API base URL defaults.

Test Plan

  • git diff --check
  • Targeted TypeScript compile for touched files: npx tsc --noEmit --skipLibCheck --types node --module commonjs --target es2020 --esModuleInterop --moduleResolution node
  • npm run build --workspace=pmxt-core (attempted; process was killed with exit 137 in this worktree)

Fixes #927
Fixes #925
Fixes #924
Fixes #923
Fixes #921
Fixes #920
Fixes #919
Fixes #916
Fixes #913
Fixes #912
Fixes #910
Fixes #908

@realfishsam

Copy link
Copy Markdown
Contributor Author

PR Review: PASS (NOT VERIFIED)

What This Does

Captures response-drift fields across several venues and updates OpenAPI/docs for new order-book metadata fields.

Blast Radius

Core exchange fetchers/normalizers for Gemini Titan, Hyperliquid, Kalshi, Limitless, Myriad, Polymarket, Probable; types.ts; OpenAPI/docs.

Consumer Verification

Before (base branch):
Base normalizers dropped/ignored several venue fields (e.g. Kalshi no-side prices, Limitless expiration variants, Polymarket order-book metadata, Probable base URL drift).

After (PR branch):
PR preserves/normalizes those fields and includes OpenAPI/docs updates. Core build/Jest passed (24 suites, 644 tests); root verification then stopped at missing pytest.

Test Results

  • Build: PASS
  • Unit tests: CORE PASS (24 suites, 644 tests; root verification blocked by missing pytest)
  • Server starts: PASS during root verification
  • E2E smoke: NOT VERIFIED through live sidecar calls

Findings

No blocking findings.

PMXT Pipeline Check

  • Field propagation (3-layer): OK for OpenAPI/docs touched here; SDK model propagation not required for the order-book fields changed in this PR
  • OpenAPI sync: OK
  • Financial precision: OK/unchanged (some arithmetic still numeric but no new concrete drift failure observed)
  • Type safety: OK
  • Auth safety: OK

Semver Impact

minor -- adds/preserves venue response fields in unified responses.

Risk

Live venue payload compatibility was not verified through API calls; review evidence is build/tests and source tracing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment