Skip to content

Release v1.1.0: Enhanced User Confirmation System

Choose a tag to compare

@jwesleye jwesleye released this 05 Nov 03:30
· 31 commits to main since this release

What's New in v1.1.0

🎯 Enhanced User Confirmation System

This release significantly improves the user experience when interactive confirmations are required, making operations faster and providing better feedback to AI agents.

Key Features

1. Default to YES for Confirmations

  • Prompt changed from [y/N] to [Y/n]
  • Simply press Enter to confirm operations (saves keystrokes!)
  • Users must explicitly type 'n' or 'no' to decline
  • Reduces friction for the common approval case

2. Decline Reason Capture

  • When users decline an operation, system now prompts: "Decline Reason (optional): "
  • Reasons are passed back to agents in cancellation messages
  • Format: "Operation cancelled by user (reason: {reason}): {target}"
  • Helps AI agents understand context and adjust their approach

3. Improved API

  • `check_user_confirmation()` now returns `tuple[bool, Optional[str]]`
  • First element: confirmed (True/False)
  • Second element: decline_reason (None if confirmed, string if declined)
  • All 27 call sites updated across 8 core modules

Example Flow

Before:
```
Do you want to proceed? [y/N]: y
✓ Confirmed
```

Now:
```
Do you want to proceed? [Y/n]:
✓ Confirmed (just press Enter!)
```

When declining:
```
Do you want to proceed? [Y/n]: n
✗ Cancelled by user
Decline Reason (optional): file still needed for testing
```

🔧 Technical Improvements

  • Updated return type to modern Python tuple syntax
  • Fixed 15 test failures, all confirmation tests now passing (27/27)
  • Updated 27 function call sites across 8 modules
  • Full ruff, mypy, and pytest compliance maintained

📦 Files Modified

  • Core confirmation logic (`confirmation.py`)
  • File system operations (11 calls updated)
  • Archive operations (6 calls updated)
  • Data operations (5 calls updated)
  • TODO operations (2 calls updated)
  • Comprehensive test suite updates

🧪 Quality Assurance

  • ✅ Ruff: All checks passed
  • ✅ MyPy: All modified files pass type checking
  • ✅ PyTest: 1390 tests passing
  • ✅ Coverage: 43% maintained

📚 Documentation

  • Updated CLAUDE.md with new confirmation behavior
  • Added decline reason documentation
  • Updated agent guidelines for handling cancellations

Full Changelog: v1.0.3...v1.1.0

🤖 Generated with Claude Code