Skip to content

merge: main (synpath 0.11.0) into the experimental line - #45

Open
YukiC0804 wants to merge 35 commits into
codex/order-lifecycle-storagefrom
sp/sync-main-0.11
Open

YukiC0804 wants to merge 35 commits into
codex/order-lifecycle-storagefrom
sp/sync-main-0.11

Conversation

@YukiC0804

Copy link
Copy Markdown
Collaborator

Brings main's 0.10.0 and 0.11.0 into the experimental line (main → experimental only; nothing goes the other way): Novig, Matchbook, ProphetX, Azuro, Myriad and Gemini, Betfair and Smarkets trading, Myriad AMM, Gemini combos, Novig parlay RFQ, Azuro combos and claims.

Conflicts (3):

  • synpath/ws/__init__.py: both export lists.
  • synpath/engine/feeds.py: main's per-venue trading streams ported into this line's venue_streams(), with private respected.
  • docs/capabilities.md: one order-entry table with all 18 venue columns and this line's rfq_taker / rfq_quoter / combos rows.

Port to outcome / action (this line replaced reduce_only):

  • Betfair, Smarkets, Matchbook net per runner: the side alone decides; Sell YES and Buy NO are the same lay.
  • Myriad (order book and AMM) and Gemini carry the outcome on the wire: they read request.leg, and orders read back carry outcome and action.
  • Novig, ProphetX and Azuro only buy outcomes: action=sell is refused, pointing to buying the other outcome (or Azuro's cash-out).

Not wired yet: Gemini combos, Azuro combos and the Novig pricer in rfq_group's cross-venue RFQ.

Tests: 4590 passed, 213 skipped on the Rust core; 4093 passed with SYNPATH_PURE_PYTHON=1. cargo fmt and clippy clean.

🤖 Generated with Claude Code

Yuki Chu and others added 30 commits October 23, 2026 12:08
Betfair Exchange and Smarkets (market data and streams), market data from
an API key alone for Opinion, predict.fun and SX Bet, and historical replay
in venue time, since 0.8.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The init wizard now asks sixteen venues (Myriad after Azuro, Gemini last):
every scripted run answers one question per added venue, and the Myriad,
Gemini and Novig setup tests answer at their combined positions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: six sports venues (Novig, Matchbook, ProphetX, Azuro, Myriad, Gemini)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	README.md
#	docs/capabilities.md
#	docs/trading.md
#	synpath/__init__.py
#	synpath/client.py
#	synpath/engine/__main__.py
#	synpath/server/serve.py
#	synpath/trading/__init__.py
#	synpath/trading/credentials.py
# Conflicts:
#	docs/capabilities.md
# Conflicts:
#	docs/capabilities.md
#	synpath/__init__.py
#	synpath/ws/__init__.py
# Conflicts:
#	docs/capabilities.md
#	docs/trading.md
Yuki Chu and others added 5 commits October 25, 2026 13:46
README: Novig's parlay RFQ is now supported for liquidity providers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: Betfair and Smarkets trading, Myriad AMM, Gemini combos, Novig parlay RFQ, Azuro combos and claims
Brings main's new venues (novig, matchbook, prophetx, azuro, myriad,
gemini), Betfair and Smarkets trading, the Myriad AMM, Gemini combos,
Novig parlay RFQ and Azuro combos/claims onto the experimental line.

Conflicts: ws exports merged; feeds.py ports main's per-venue trading
streams into venue_streams(venue, creds, adapter, *, private=True);
the capabilities order-entry table keeps the rfq_taker / rfq_quoter /
combos columns.

reduce_only is gone on this line, so main's adapters now speak
outcome/action:
- Netting back/lay venues (Betfair, Smarkets, Matchbook): the
  reduce-only refusal is dropped; Sell YES and Buy NO are the same lay.
- Separate-outcome venues: Myriad order book and AMM send the order's
  own outcome and action (via polymarket.wire_leg) and report them on
  orders; an edit keeps them. Gemini sends (action, outcome) as its
  wire side and outcome, and orders (REST and stream) carry both.
- Buy-only venues (Novig, ProphetX, Azuro): an order with action=sell
  is refused, pointing at buying the other outcome (or cash_out on
  Azuro); their orders carry outcome and action=buy.
Tests and the new venues' docs sections follow; OrderRequest's
docstring names each venue's model.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant