- Core: Save rejected plans as versioned backups (.v1, .v2, etc.)
- Core: Compute diff between previous and current plan version in exit_plan_mode
- UI: Display color-coded diff using DiffRenderer in plan approval dialog
- UI: Update AskUserDialog and DialogFooter to support ReactNode in extraParts
- Docs: Update planning documentation to mention versioning and diff features
- Tests: Add comprehensive unit tests for versioning, diffing, and UI rendering
Fixes#17794