Skip to content

[codex] Isolate kline interval exchange dialects#21

Merged
createMonster merged 1 commit into
masterfrom
codex-kline-dialect-isolation
Jun 15, 2026
Merged

[codex] Isolate kline interval exchange dialects#21
createMonster merged 1 commit into
masterfrom
codex-kline-dialect-isolation

Conversation

@createMonster

Copy link
Copy Markdown
Owner

Summary

  • Remove exchange-specific kline interval formatter methods from the shared KlineInterval type.
  • Move interval string conversion into exchange modules for Binance, Binance perpetual, Bybit perpetual, Backpack, and Paradex.
  • Update REST and WebSocket call sites to use exchange-local conversion helpers.
  • Refresh docs/ARCHITECTURE.md so it describes KlineInterval as a semantic core type rather than an API dialect surface.

Root Cause

KlineInterval mixed shared domain meaning with exchange API string dialects. Several exchange modules also modeled their dialects as extension traits on the shared type, which kept the same coupling pattern outside of core.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo test --all-features
  • cargo doc --no-deps --document-private-items --all-features
  • cargo audit exits 0 with existing allowed warnings for dotenv, rustls-pemfile, keccak, and rand
  • cargo run

@createMonster createMonster marked this pull request as ready for review June 15, 2026 13:41
@createMonster createMonster merged commit e0d1c23 into master Jun 15, 2026
1 check passed
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