Problem
The TUI can inspect sessions interactively, and dispatch export can dump one session, but scripts cannot compare two sessions to understand what changed between attempts on the same task.
Proposed solution
Add dispatch compare <left-session-id> <right-session-id> with a text summary and --json output. Include metadata differences, touched-file differences, refs, turn counts, and checkpoint titles.
Acceptance criteria
dispatch compare <id-a> <id-b> prints a readable diff summary.
dispatch compare <id-a> <id-b> --json prints a stable JSON object.
- Missing session IDs return a nonzero exit with a clear message.
- Tests cover text output, JSON output, and missing IDs.
Problem
The TUI can inspect sessions interactively, and
dispatch exportcan dump one session, but scripts cannot compare two sessions to understand what changed between attempts on the same task.Proposed solution
Add
dispatch compare <left-session-id> <right-session-id>with a text summary and--jsonoutput. Include metadata differences, touched-file differences, refs, turn counts, and checkpoint titles.Acceptance criteria
dispatch compare <id-a> <id-b>prints a readable diff summary.dispatch compare <id-a> <id-b> --jsonprints a stable JSON object.