Skip to content

Release v0.12.0: Safer Agent Defaults with skip_confirm

Choose a tag to compare

@jwesleye jwesleye released this 08 Oct 15:18
· 86 commits to main since this release

🔒 Safety Improvements

Breaking Changes: Parameter Renamed for Safer Agent Behavior

IMPORTANT: The force parameter has been renamed to skip_confirm across all functions to better indicate its safety implications. This change addresses the issue where agents were defaulting to force=True, bypassing critical user confirmation checks.

What Changed

Renamed Parameter: force → skip_confirm

  • skip_confirm=False (recommended): Raises error if operation would overwrite/delete existing resources
  • skip_confirm=True: Bypasses confirmation and proceeds with operation

Functions Updated (19 total)

File Operations (6):

  • write_file_from_string, create_directory, delete_file, delete_directory, move_file, copy_file

Data Operations (4):

  • write_csv_simple, write_ini_file, write_yaml_file, write_toml_file

Archive Operations (7):

  • create_zip, extract_zip, compress_files, create_tar, compress_file_gzip, compress_file_bzip2, compress_file_xz

Other (2):

  • delete_task (TODO operations)
  • file_editor (create command)

Migration Guide

Before (v0.11.x):

boat.file_system.write_file_from_string(
    file_path="/tmp/file.txt",
    content="data",
    force=True  # Old parameter name
)

After (v0.12.0):

boat.file_system.write_file_from_string(
    file_path="/tmp/file.txt",
    content="data",
    skip_confirm=False  # New parameter name, safe default
)

Why This Matters

Agents using the previous force parameter were often defaulting to True, which:

  • ❌ Bypassed safety checks without user awareness
  • ❌ Could accidentally overwrite important files
  • ❌ Didn't clearly communicate the safety implications

The new skip_confirm parameter:

  • ✅ Clearly indicates it's about skipping confirmation
  • ✅ Encourages safer defaults (skip_confirm=False)
  • ✅ Includes "IMPORTANT" notes in docstrings for agent guidance
  • ✅ Maintains Google ADK compliance (required parameter, no defaults)

Additional Improvements

  • Enhanced Compression Functions: Added skip_confirm to gzip, bzip2, xz compression (previously missing)
  • Consistent Return Types: Compression functions now return descriptive strings instead of dicts
  • Better Feedback: All operations provide clear "Created" vs "Overwrote" messages

Documentation

Full documentation updated in:

  • README.md with safe examples
  • CLAUDE.md with comprehensive agent guidelines
  • All function docstrings with safety notes

🤖 Generated with Claude Code