Commit graph

8 commits

Author SHA1 Message Date
Paul Holstein
819d553dd0 fix(report): avoid ÷ 0 phrasing when no commits or lines changed
Show "no commits" / "no lines changed" instead of "total cost ÷ 0"
when commitCount or linesChanged is zero.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:47:17 -05:00
Paul Holstein
6cd2845edb fix(report): recompute token totals after subagent row, fix import order
- Recompute totalInputTokens, totalOutputTokens, totalCacheCreation,
  totalCacheRead, and grandTotal after injecting the "Subagents (combined)"
  row so tokenUsage.totals stays consistent with byModel rows
- Fix CostSection import order: external packages before path aliases,
  merge duplicate import type statements

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 15:13:53 -05:00
Paul Holstein
bbd6441b9e fix(report): compute subagent costs, filter synthetic model, fix test parsing
- Compute subagent cost from token breakdown instead of relying on
  unpopulated proc.metrics.costUsd; extract actual model from subagent
  messages for accurate pricing and mismatch detection
- Add aggregated "Subagents (combined)" row to cost table with arrow
  navigation to the Subagents report section (no misleading breakdown)
- Filter <synthetic> model from token/cost tracking to eliminate zero rows
- Fix parseTestSummary to treat missing pass/fail count as 0 so clean
  all-passing test runs are not dropped from trajectory analysis

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 14:56:57 -05:00
Paul Holstein
586cb00174 fix(report): address CodeRabbit review — pricing match, sidechain filter, UX guards
- getPricing: use tokenized order-insensitive matching so Claude 3 era
  models (e.g. "claude-3-opus-20240229") correctly match pricing key "opus-3"
- sessionAnalyzer: skip isSidechain messages in parentCost loop to prevent
  double-counting with processSubagentCost
- CostSection: disable row expansion when token stats are missing
- tabSlice: guard against undefined sessionId/projectId in openSessionReport

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 08:43:33 -05:00
Paul Holstein
4fda90bc3e feat(report): address PR feedback — threshold tooltips, cost clarity, progressive disclosure
- Add AssessmentBadge component with hover tooltips explaining thresholds
- Add Key Takeaways summary section surfacing top actionable findings
- Add cost attribution stacked bar and per-token calculation breakdowns
- Add clickable navigation from takeaways and tool errors to detail sections
- Add theme-aware assessment colors via CSS variables for light/dark mode
- Collapse lower-priority sections by default for progressive disclosure
- Replace all hardcoded color hex values with CSS variable references
- Fix missing Fragment key in CostSection model table
- Add defensive division-by-zero guard in stacked bar calculation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 08:29:08 -05:00
Paul Holstein
820bb124d5 feat(report): add threshold-based assessment badges to all report sections
Add interpretive assessment layer to session reports. Every metric section
now shows color-coded severity badges (green/amber/red) computed from
configurable thresholds, replacing raw numbers with instant signal.

Includes centralized reportAssessments utility, model mismatch detection,
switch pattern recognition, and 44 new tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 18:01:43 -05:00
Paul Holstein
ab1ad071fe feat: add missing analysis sections to session report
Add 7 missing sections and fix 4 incomplete ones that the Python
analyzer generates but the TypeScript port was missing:

New sections: skillsInvoked, bashCommands, lifecycleTasks,
userQuestions, outOfScopeFindings, agentTree, subagentsList

Fixed: compaction (was just count, now has summaryCount + note),
serviceTiers removed (not available in parsed types),
compactionCount replaced with compaction object

Adds InsightsSection UI component and 8 new tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 17:10:20 -05:00
Paul Holstein
d54e36f6fa feat(report): add session report tab and all section components
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:53:01 -05:00