## Pre-compact backup [2026-07-08 16:38]

### Key decisions
- **`strike` type must stay `String`** — not `f64`/number. This matches Java SDK convention.
- **Strike format must be `"310.0"` (1 decimal)**, not `"310.000"` (3 decimals). Server silently rejects the 3-decimal format.
- **v0.5.2 must be yanked** from crates.io — it was released with `strike` as `f64`, which is the wrong direction even though it happens to work. The decision is to keep String.
- **v0.5.3** will be the corrected release.

### Current state
- v0.5.2 is live on crates.io with `strike: f64` — wrong per new decision
- Need to: (1) revert `OptionQueryItem.strike` back to `String`, (2) fix serialization to produce `"310.0"` format, (3) `cargo yank --version 0.5.2`, (4) bump to 0.5.3 and publish

### Don't lose
- Server behavior confirmed by live testing: `"310.0"` ✅, `310.0` (number) ✅, `"310.000"` ❌
- Java SDK parse logic: `Integer.parseInt(str.substring(7,12)) + "." + str.charAt(12)` → always produces 1-decimal format like `"310.0"`
- The bug root cause was format, not type — but team decision is to use String to match Java SDK
