feat: canary venue oracle — testnet wired, live gated#223
Merged
Conversation
…map section (all six epics shipped)
ArthurBernard
force-pushed
the
feat/canary-venue
branch
from
July 12, 2026 11:07
12232d7 to
2c24701
Compare
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--mode testnet(Binance sandbox; Kraken refused — no testnet),--mode livebehind the EXISTINGlive_enabledgate + typed confirmation;09-go-live.mdnames the live canary as the road-to-1.0 work on the IQ Option #1 validation vehicle.Fill.fee_asset(+store migration — Binance charges market-buy commissions in BASE; caught by the oracle refusing an unexplained −8E-8 BTC), Binance HTTP-400{code,msg}→ domain-error mapping (they escaped as transport errors),BrokerConfig.symbols(BinancemyTradesis per-symbol), venue probe offset 15 % (PERCENT_PRICE_BY_SIDErejects 50 %).canary-roundtripplan tree (docs: plan canary-roundtrip #220) — closes the epic AND the whole 2026-07-11 UI-consistency roadmap section (all six epics shipped; roadmap section rewritten as shipped, status updated, tree archived).Test plan
python -m pytest— 1480 passed, 1 skipped, cov 96.24 % (8 fake-broker oracle tests, 7 CLI gating tests, HTTP-400 mapping, store migration)python -m pytest -m network— 9 passed incl. the real-testnet canary smokeruff check+ruff format --checkgreentrading-bot canary --exchange binance --mode testnet→ exit 0, 16/16 PASS — real cancel accepted, duplicate client-order-id deduped venue-side, fills identity exact (ids 4064265/4064266), base fee −8E-8 BTC explained by fills math, cost 0.00511 USDT ≤ 2. Two intermediate failures were real findings, fixed + offline-tested before the green run. Mainnet keys and--mode livenever used