Claude in agentic mode (interactive, no -p flag) commits its own changes,
advancing HEAD. This made `git diff --cached HEAD` return empty, triggering
false EMPTY_DIFF errors every time. Now capture_diff diffs against the
base commit SHA recorded at worktree creation, so changes are captured
regardless of whether the agent committed them.
Also adds UX_IMPROVEMENT_PLAN.md for guided message improvements.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>