Remove line attribution
Commit

Line attribution compared the shadow-branch tree with HEAD and the attribution base commit at every commit, recorded per-prompt user edits at turn start (PromptAttributions), and backfilled a combined attribution onto each checkpoint after PostCommit. It needed the shadow tree as its input, cost a tree diff per session per commit, and its divergence bookkeeping (AttributionBaseCommit, DivergenceNoticeShown, RealignAttributionBase) leaked into migration, rewrite remapping, and status output.
Condensation no longer computes or writes attribution: the
CheckpointAttribution write request, WriteOptions.Attribution, and
PromptAttributionsJSON are gone from every store, and session state no
longer carries the attribution fields. State files written by older CLIs
still load (encoding/json ignores the unknown keys) and drop them on the
next save. Checkpoints that already carry attribution keep it, and
entire blame still reads it; CombinedAttribution stays on WriteOptions
so migration can carry an existing checkpoint's value through.
Addresses #2653.
Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com Entire-Checkpoint: 01M49BR3SC6QC8V6TZTVGAG7C3