SIGN IN SIGN UP

historical: async doc parity + sync/async API reconciliation (#210) (#573)

* market_data/historical: async doc parity + sync/async API reconciliation (#210)

- async: add # Arguments + # Examples to all 9 pub fns + TickSubscription::next
- historical_data + historical_data_streaming: what_to_show is WhatToShow (was Option in async, mixed in sync)
- async historical_schedule split into historical_schedules + historical_schedules_ending_now
- rename sync param interval_end -> end_date (matches encoder/wire field)
- sweep callers: tests, integration tests, examples (rename async_historical_schedule -> async_historical_schedules), README, migration §15

* /simplify: reuse validate_historical_data; rewrite streaming doc-example in consume form

- Route both historical_schedule private helpers (sync + async) through common::validate_historical_data instead of inlining the two check_version calls. Pre-existing duplication, fixed in scope per rule 9.
- Async historical_data_streaming doc-example switched to rule 24 (a) consume form (filter_data + next().await), mirroring sync next_data shape variant-for-variant. 5-arm SubscriptionItem match -> 3-arm match parallel to sync.

* docs(claude.md, plans): rule 27 + historical-data-builders plan from PR #573 distillation

- CLAUDE.md rule 27: "doc parity" requests imply a three-layer signature audit (docs / naming / shape); sub-rules for Option<T> removal and magic-None split as a 3-step evolution to a builder; per-method sync/async pairing for doc-examples.
- plans/historical-data-builders.md: design plan for unifying historical_data / historical_data_streaming / historical_ticks_* / historical_schedules* under fluent builders. 3 PRs proposed, each grounded in RealtimeBarsBuilder + MarketDataBuilder precedents.
W
Wil Boayue committed
f9530bd42bbf14d5f18d050a582aa68892171245
Parent: e5ca5dd
Committed by GitHub <noreply@github.com> on 5/13/2026, 3:37:28 AM