Skip to content

v0.3.1 - fix scanner accounting (per-content-block format)

Choose a tag to compare

@muckybuzzwoo muckybuzzwoo released this 15 Jun 14:33
· 35 commits to main since this release

Fixes the dashboard's accounting for the current Claude Code transcript format (one disjoint record per content block sharing a message.id, each repeating the final usage), based on the analysis in nateherkai#25 by @sdkkds.

Fixes

  • Tool/skill undercount (bug #1): parallel tool_use blocks living in non-final snapshot siblings were dropped (~28% of tool calls on real data). The snapshot dedup now re-points evicted siblings' tool_calls onto the surviving keeper (deduped by tool_use_id) instead of deleting them — recovered 553 tool calls locally, with no orphaned rows so the tool_calls->messages joins still resolve.
  • Turn inflation (bug #3): "turns" counted tool-result-as-user records, inflating it ~6-8x. Turn counts now filter prompt_text IS NOT NULL across the live queries and the materialised summary tables.
  • Bug #2 (prompt linkage) was already fixed in this fork via session+time-window linkage.

Token/cost figures are unchanged. Verified idempotent and token-neutral across full rescans on real transcripts. Existing DBs need one rescan to recover the previously-dropped tool rows.