fix(attribution): stop re-adding cumulative subagent tokens on every checkpoint
Commit

CalculateTotalTokenUsage discovers spawned agent IDs from the full transcript (not the checkpoint-scoped slice) so subagents spawned before the current checkpoint window are still found, but it always re-reads each subagent's transcript from line 0. That makes the returned SubagentTokens a cumulative-since-session-start snapshot rather than a per-checkpoint delta, and accumulateTokenUsage was summing it across every step/checkpoint, multiplicatively overcounting subagent tokens in state.TokenUsage and state.CheckpointTokenUsage the longer a subagent stayed discoverable.
Fix: accumulateTokenUsage now replaces SubagentTokens with the latest cumulative snapshot instead of summing it, and CheckpointTokenUsage is rescoped to "since last condensation" by subtracting a new SessionState.SubagentTokensBaseline captured at each condensation reset (via the new agent/types.SubtractTokenUsage helper). This is shared plumbing (manual_commit_git.go / manual_commit_condensation.go / manual_commit_hooks.go) so it fixes both the Claude Code and Factory AI Droid extractors, which route through the same accumulation path.
Closes trail findings 019f4ddf-339 and 019f4ddf-35a.