diff --git a/.beans/claudbg-nqxz--duration-shows-0ms-rawentryduration-ms-field-name.md b/.beans/claudbg-nqxz--duration-shows-0ms-rawentryduration-ms-field-name.md index 74ee6bd..a302f7d 100644 --- a/.beans/claudbg-nqxz--duration-shows-0ms-rawentryduration-ms-field-name.md +++ b/.beans/claudbg-nqxz--duration-shows-0ms-rawentryduration-ms-field-name.md @@ -1,11 +1,11 @@ --- # claudbg-nqxz title: Duration shows 0ms — RawEntry.duration_ms field name mismatch (durationMs vs duration_ms) -status: todo +status: completed type: bug priority: high created_at: 2026-03-30T04:44:06Z -updated_at: 2026-03-30T04:44:06Z +updated_at: 2026-03-30T05:02:50Z parent: claudbg-8vpb --- @@ -49,3 +49,7 @@ Running against session `21fae0a8`: `grep '"durationMs":[0-9]'` finds entries li - `src/models/session.rs` — `RawEntry`, `duration_ms` field (line 33) - `src/models/stats.rs` — `compute_stats`, accumulates `entry.duration_ms` + +## Summary of Changes + +Added `#[serde(rename = "durationMs")]` to the `duration_ms` field on `RawEntry` in `src/models/session.rs`. No other changes needed — `compute_stats` already reads `entry.duration_ms` correctly. diff --git a/src/models/session.rs b/src/models/session.rs index cdce051..7502b87 100644 --- a/src/models/session.rs +++ b/src/models/session.rs @@ -30,6 +30,7 @@ pub struct RawEntry { /// Timestamp string (ISO 8601). pub timestamp: Option, /// Unix milliseconds of the conversation turn duration. + #[serde(rename = "durationMs")] pub duration_ms: Option, /// Raw JSON for any fields this struct doesn't explicitly model. #[serde(flatten)]