New wx-research crate added to the weather_bet Rust workspace on branch research/intraday-drift. Currently a skeleton with 7 empty module stubs; no logic yet.

Workspace Integration

Cargo.toml at the workspace root now lists "crates/wx-research" as a member. Two new workspace-level dependencies were added alongside it:

  • plotters = "0.3" (default features enabled)
  • csv = "1"

The crate manifest follows the same pattern as the rest of the workspace: edition.workspace, rust-version.workspace, license.workspace, and [lints] workspace = true.

Module Layout

lib.rs declares 7 modules, all currently empty stubs to be filled in later tasks:

ModuleIntended purpose
cacheLocal caching of fetched weather / market data
chartsChart generation (via plotters)
fetchHTTP data fetching (NWP ensemble sources, market data)
metricsStatistical metrics for edge measurement / calibration
reportReport assembly and rendering
slugsSlug normalization / ICAO-to-Polymarket market-slug mapping
typesShared domain types for research workflows

Dependencies

Local crate dependencies (path references within the workspace):

  • wx-core
  • wx-market
  • wx-data

Workspace dependencies pulled in:

CrateRole
reqwestHTTP
serde, serde_jsonSerialization
tokioAsync runtime
chrono, chrono-tzTimestamps and timezone handling
randRandomness (likely for simulation / bootstrap)
anyhowError handling
tracingStructured logging / OTLP
plottersChart rendering
csvCSV output for research reports

Dev dependencies: wiremock, tempfile, tokio (test async).

Build Verification

cargo build -p wx-research compiled cleanly — 86 crates, 0 errors, 0 warnings.

Branch

All of this work lives on research/intraday-drift. The crate is a stub; module implementations come in follow-on tasks.