From 66038e060c49a1cd4be434b6c9c65d274b5df90a Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Mon, 25 May 2026 19:59:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20CLAUDE.md=EF=BC=9APolymark?= =?UTF-8?q?et=20=E5=B7=B2=E5=85=A8=E9=83=A8=E7=A7=BB=E9=99=A4=EF=BC=8C?= =?UTF-8?q?=E7=BB=88=E7=AB=AF=E4=BB=85=E6=B0=94=E8=B1=A1=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index f47817a8..ca16a1b5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -111,17 +111,7 @@ Local dev bypass: set `NEXT_PUBLIC_POLYWEATHER_LOCAL_FULL_ACCESS=false` to test ## Polymarket Integration -Price pipeline (WS-only, no REST fallback): -``` -Gamma API (slug discovery) → WS subscribe + cache → market_scan → terminal rows -``` - -- `PolymarketWsQuoteCache` — daemon thread connects `wss://ws-subscriptions-clob.polymarket.com/ws/market` -- `_batch_get_token_market_data()` — subscribes all missing tokens, waits 0.6s for WS quotes, returns from cache -- `_get_token_market_data()` — WS-only, returns `{}` on miss (no REST fallback) -- Gamma market fallback used when WS prices unavailable (bestBid/bestAsk from event payload) -- Enable with `POLYMARKET_WS_PRICE_ENABLED=true` (default: true) -- `skip_polymarket=true` query param skips price fetching entirely for fast city/weather loads +**Removed.** No Polymarket price fetching, no market scan, no WS cache. Terminal operates on weather data only (Live observations + DEB predictions + model probabilities). All `polymarket_readonly.py`, `polymarket_ws_cache.py`, and market-scan API routes have been deleted. ## Trading Regions @@ -130,7 +120,7 @@ Gamma API (slug discovery) → WS subscribe + cache → market_scan → terminal ## Scan Terminal Performance - **Region lazy-loading**: `region=east_asia` filters cities server-side before scanning (see `_market_region_from_tz_offset`) -- **skip_polymarket mode**: `skip_polymarket=true` returns 1 row/city instantly (Live/DEB only, no market prices); full contract prices load on second pass after WS warmup +- **Weather-only**: Terminal returns 1 row per city with Live/DEB/probability data; no market contract matching - **DB**: SQLite WAL mode + `busy_timeout=5000` enabled in `db_manager.py` (fixes "database is locked" with parallel workers) - **VPS env**: `POLYWEATHER_SCAN_TERMINAL_MAX_WORKERS=2`, `POLYWEATHER_SCAN_TERMINAL_BUILD_TIMEOUT_SEC=180` - **Caching**: `_cache` is `LRUDict(256)` with `_CACHE_LOCK`; `_SUMMARY_CACHE` is `LRUDict(128)`; weather caches trimmed every 200 writes