Skip to content

fix(core): sync Gemini Titan order and websocket handling#957

Open
realfishsam wants to merge 1 commit into
mainfrom
fix/easy-gemini-titan-order-ws
Open

fix(core): sync Gemini Titan order and websocket handling#957
realfishsam wants to merge 1 commit into
mainfrom
fix/easy-gemini-titan-order-ws

Conversation

@realfishsam

Copy link
Copy Markdown
Contributor

Summary

  • Read Gemini Titan active/history orders from paginated { orders, pagination } envelopes and request limit/offset pages.
  • Return the raw canceled order from /order/cancel through the normalizer instead of a placeholder order.
  • Update Gemini Titan order book WebSocket subscriptions to the documented @depth@100ms stream and route snapshots by s.
  • Add targeted unit tests for the fixed fetcher and websocket paths.

Fixes #430
Fixes #413
Fixes #412
Fixes #419

Test Plan

  • npm test --workspace=pmxt-core -- --runTestsByPath test/exchanges/gemini-titan-fetcher.test.ts test/exchanges/gemini-titan-websocket.test.ts --runInBand
  • npm run build --workspace=pmxt-core (attempted; tsc was killed by the local runner with exit 137/OOM before completion)
  • npm exec --workspace=pmxt-core -- tsc --noEmit --pretty false --skipLibCheck --incremental false (attempted; killed with exit 137/OOM)

@realfishsam

Copy link
Copy Markdown
Contributor Author

PR Review: PASS (NOT VERIFIED)

What This Does

Syncs Gemini Titan authenticated order handling and websocket depth stream handling with the venue response envelopes/stream names.

Blast Radius

Gemini Titan fetcher/index/types/websocket plus targeted fetcher and websocket Jest tests.

Consumer Verification

Before (base branch):
Base expected active/history order shapes and depth stream names that this PR says drifted from Gemini Titan behavior; I did not hit live Gemini authenticated APIs.

After (PR branch):
PR adds paginated order envelope handling, normalizes cancel responses, changes depth stream subscription to {symbol}@depth@100ms, and handles s symbol fields. Core build/Jest passed (26 suites, 649 tests); root verification then hit missing pytest.

Test Results

  • Build: PASS
  • Unit tests: CORE PASS (26 suites, 649 tests; root verification blocked by missing pytest)
  • Server starts: PASS during root verification
  • E2E smoke: NOT VERIFIED against live Gemini Titan API/WebSocket

Findings

No blocking findings.

PMXT Pipeline Check

  • Field propagation (3-layer): N/A
  • OpenAPI sync: N/A
  • Financial precision: N/A
  • Type safety: OK
  • Auth safety: OK — authenticated headers tested without exposing credentials

Semver Impact

patch -- venue integration drift fix.

Risk

Live Gemini Titan API/WebSocket behavior remains unverified; evidence is from targeted mocked tests and build.

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