Commit Graph

51 Commits

Author SHA1 Message Date
2569718930@qq.com b3ea8dcfa7 数据链路 P1 修复:ETag 缓存 + 校准漂移检测
P1-5 ETag 支持:
- 后端新增 _etag_middleware:GET /api/* 自动返回 ETag (MD5)
- 支持 If-None-Match 请求头,匹配时返回 304 + 30s Cache-Control
- 前端 cache: no-store → default,浏览器自动处理 ETag/304 节省带宽

P1-6 校准漂移检测:
- probability_calibration.py 新增 check_calibration_drift()
- 对比最近 200 条 daily_records 的 CRPS 与校准基线
- 漂移 >15% 时返回 warning 提示重新训练
- 集成到 /api/system/status 的 probability.drift 字段

Tested: python -m ruff check ., npx tsc --noEmit
2026-05-10 16:54:48 +08:00
2569718930@qq.com c0bb2acf78 修复数据链路 P0 瓶颈:缓存炸弹、Context 重渲染、LGBM 循环、TTL 不匹配
P0-1 sessionStorage 限制:
- writeCityDetailCacheBundle 只保留最近 3 个城市的详情
- 避免 3-10MB JSON 序列化阻塞主线程

P0-2 Context 拆分:
- 新增 CityDetailsContext 独立管理 cityDetailsByName 变更
- 新增 useCityDetails hook,只订阅详情的组件不再因 cities/proAccess 变化重渲染
- DashboardStoreContext 保持不变,向后兼容

P0-3 扫描终端 TTL:
- SCAN_TERMINAL_PAYLOAD_TTL_SEC 30s → 120s
- 匹配 ThreadPoolExecutor(4) x 60 城的实际重算耗时

P0-4 LGBM 循环依赖:
- LGBM 预测值不再作为 DEB 输入参与权重计算
- 保留为独立参考字段 lgbm.prediction 输出给前端展示
- 消除 DEB → LGBM 训练 → DEB 的循环

新增 docs/data-architecture-review.md 完整数据链路审查报告

Tested: npx tsc --noEmit, python -m ruff check .
2026-05-10 16:48:28 +08:00
2569718930@qq.com 7b82ba68df 回退 _analyze_summary 中未启用的 LGBM 增强步骤
LGBM 当前默认禁用 (POLYWEATHER_LGBM_ENABLED=false),predict_lgbm_daily_high
直接返回 None,在 _analyze 中也未实际参与 DEB 计算,_analyze_summary 无需重复。

Rejected: 在 LGBM 正式启用前,_analyze_summary 不应包含会被跳过的 LGBM 调用
2026-05-06 18:30:47 +08:00
2569718930@qq.com a684586cb4 统一 DEB 数据源为单一计算路径
getModelView 优先使用根级 detail.deb.prediction 保证与 AI 证据面板一致,
_build_city_detail_payload 补上缺失的 deb 和 multi_model_daily 字段,
_analyze_summary 补上 LGBM 增强步骤使其与 _analyze 产出相同的 DEB 值。

Constraint: 三个入口 (panel/full/summary) 的 DEB 必须经过同一套 calculate_dynamic_weights + LGBM 重算流程
Tested: ruff + tsc 全过
2026-05-06 18:24:15 +08:00
2569718930@qq.com 6c203bee60 This version of Antigravity is no longer supported. Please upgrade to receive the latest features. 2026-05-01 11:27:16 +08:00
2569718930@qq.com d54050ceb0 feat: implement AI-driven city weather analysis and market decision dashboard components 2026-04-26 10:02:54 +08:00
2569718930@qq.com 1595f4a92e feat: implement ScanTerminalDashboard with AI-driven city forecast streaming and opportunity tracking 2026-04-26 08:12:31 +08:00
2569718930@qq.com 99ffa717ef Use model cluster for tail no scan signals 2026-04-24 15:12:53 +08:00
2569718930@qq.com ddc0180ae6 Implement EMOS scan terminal with REST-only market data 2026-04-23 23:49:52 +08:00
2569718930@qq.com ca81fda287 feat: implement analysis service, dashboard components, and data collection utilities for PolyWeather 2026-04-23 21:10:22 +08:00
2569718930@qq.com 54b326ff42 feat: implement comprehensive Polymarket weather analysis service with frontend dashboard and market scanning capabilities 2026-04-23 20:45:32 +08:00
2569718930@qq.com 974b55e34f Add full probability distributions to dashboard 2026-04-22 01:43:13 +08:00
2569718930@qq.com 582ded8cfb 改进METAR当日状态判断与展示 2026-04-21 19:13:33 +08:00
2569718930@qq.com d6cc3b1b90 Fix city-local time display for nearby stations 2026-04-19 15:37:13 +08:00
2569718930@qq.com 7e2209e928 Include UTC offsets in city and nearby observation times 2026-04-19 14:47:18 +08:00
2569718930@qq.com b2f15ae7d8 Clarify intraday suppression headlines 2026-04-19 14:15:46 +08:00
2569718930@qq.com fbbd13b1c3 Add nearby station timing sync labels 2026-04-19 02:38:34 +08:00
2569718930@qq.com 7909a16002 Add open multi-model forecast sources 2026-04-17 00:27:57 +08:00
2569718930@qq.com 9ed31b95a4 Fix METAR refresh timing and local observation display 2026-04-16 18:21:51 +08:00
2569718930@qq.com 9823e3961f Add localized meteorology text and filter implausible METAR temps 2026-04-16 17:34:39 +08:00
2569718930@qq.com e2cb0cfe5e Add professional intraday meteorology analysis 2026-04-16 17:13:53 +08:00
2569718930@qq.com 25424700ce Restore observed temperatures on map and trend charts 2026-04-16 15:29:26 +08:00
2569718930@qq.com baaccc6636 feat: implement multi-source weather data collection system and dashboard frontend with integrated analysis services. 2026-04-13 18:42:27 +08:00
2569718930@qq.com a27ae564fb Load nearby stations before opening intraday analysis 2026-04-12 20:49:51 +08:00
2569718930@qq.com 627bb8aa06 Prioritize homepage summary preloading for Asia and Europe 2026-04-12 10:42:00 +08:00
2569718930@qq.com 77b4d7b341 feat: implement METAR data collection service and dashboard infrastructure 2026-04-11 20:11:01 +08:00
2569718930@qq.com f0904dbcc5 Add Groq commentary config and simplify forecast modal 2026-04-08 11:41:34 +08:00
2569718930@qq.com c3da29c09c Add dashboard prewarm worker and cache visibility 2026-04-08 06:53:49 +08:00
2569718930@qq.com bdc300bdd2 Expose station network coverage and settlement station details 2026-04-06 07:21:59 +08:00
2569718930@qq.com a5b5711863 Remove AI analysis and rank cities by recent DEB performance 2026-04-05 07:13:00 +08:00
2569718930@qq.com 3e265d2764 Refactor weather app logic and simplify related components 2026-04-03 01:47:03 +08:00
2569718930@qq.com 2ee30ce551 Add Moscow and broaden Turkish MGM support 2026-03-30 19:03:13 +08:00
2569718930@qq.com 0cc4f4f0d3 Add LightGBM daily high forecasting pipeline 2026-03-29 23:29:17 +08:00
2569718930@qq.com 7237278f5a Generalize NOAA settlement handling across dashboard and docs 2026-03-27 20:58:38 +08:00
2569718930@qq.com 7de31ec429 Parse Wunderground history observations for settlement highs 2026-03-25 18:38:34 +08:00
2569718930@qq.com 7589fd74bf feat: Implement Wunderground data integration, enhance dashboard weather data processing, and add future forecast modal. 2026-03-25 18:03:56 +08:00
2569718930@qq.com 2b0e6a6f67 Add Wunderground as Shenzhen settlement source 2026-03-25 17:00:36 +08:00
2569718930@qq.com 69ea686750 Refine TAF summaries and trim peak-window marker overlaps 2026-03-24 19:21:28 +08:00
2569718930@qq.com 54acfc05aa Clarify TAF timing labels and suppression wording 2026-03-24 03:44:12 +08:00
2569718930@qq.com 29f6542a72 Handle TAF hour rollover in period parsing 2026-03-24 03:27:50 +08:00
2569718930@qq.com 05184cb2ad Add TAF timing markers and market-aware intraday cues 2026-03-24 03:13:54 +08:00
2569718930@qq.com b365155622 Add TAF-based airport signals to intraday analysis 2026-03-24 02:58:29 +08:00
2569718930@qq.com fc72b3539d Align structural trade cues with market context 2026-03-24 02:07:15 +08:00
2569718930@qq.com 5796d380c5 Reorganize intraday signal cards for clearer trade guidance 2026-03-24 01:49:00 +08:00
2569718930@qq.com 58a09fe6fe Add upper-air structure signals to intraday analysis 2026-03-24 01:28:45 +08:00
2569718930@qq.com b1102400f6 Add HKO official observation series for Hong Kong charts 2026-03-23 21:22:41 +08:00
2569718930@qq.com ace9c71743 Align Taipei settlement to NOAA RCTP across web and extension 2026-03-23 14:39:41 +08:00
2569718930@qq.com e2c51f5125 Use METAR fallback for sparse official observation charts 2026-03-22 22:43:06 +08:00
2569718930@qq.com 2ba680954c Add Warsaw official nearby station data 2026-03-21 21:32:54 +08:00
2569718930@qq.com c795d90993 Sync dynamic commentary across bot and dashboard 2026-03-21 18:54:23 +08:00