Home

Datasets

This page lists the safe and destructive patterns in the Data Versioning and Data Transfer Tools shell guard packs. See Shell Tool for how these patterns are evaluated.

Data Versioning

Pack ID: datasets.versioning

Guards against destructive operations on scientific data versioning tools

Safe patterns

Rule IDPattern
datasets.versioning.dvc_status^dvc\s+status\b[^|><]*$
datasets.versioning.dvc_diff^dvc\s+diff\b[^|><]*$
datasets.versioning.dvc_params_diff^dvc\s+params\s+diff\b[^|><]*$
datasets.versioning.dvc_metrics_show^dvc\s+metrics\s+show\b[^|><]*$
datasets.versioning.dvc_plots_show^dvc\s+plots\s+show\b[^|><]*$
datasets.versioning.git_annex_whereis^git\s+annex\s+whereis\b[^|><]*$
datasets.versioning.git_annex_info^git\s+annex\s+info\b[^|><]*$
datasets.versioning.datalad_status^datalad\s+status\b[^|><]*$

Destructive patterns

Rule IDReasonSuggestionConfidence
datasets.versioning.dvc_gcRemoves cached DVC file versions, potentially losing data not on the current branchUse dvc gc --dry to preview what will be removed; avoid --all-commitsHigh
datasets.versioning.dvc_removeStops tracking files with DVC and removes .dvc metadataUse dvc status to review tracked files firstMedium
datasets.versioning.git_annex_drop_forceForce-drops annexed file content without verifying remote copies existUse git annex drop without --force to ensure remote copies are verified firstHigh
datasets.versioning.git_annex_dropDrops local copies of annexed file contentUse git annex whereis to verify remote copies exist before droppingMedium
datasets.versioning.datalad_dropDrops local file content from a DataLad datasetUse datalad status to review before dropping; avoid --recklessMedium

Data Transfer Tools

Pack ID: datasets.transfer

Guards against destructive operations in scientific data transfer tools

Safe patterns

Rule IDPattern
datasets.transfer.globus_ls^globus\s+ls\b[^|><]*$
datasets.transfer.globus_task_list^globus\s+task\s+list\b[^|><]*$
datasets.transfer.rclone_ls^rclone\s+(?:ls|lsd|lsl|lsf|size)\b[^|><]*$
datasets.transfer.ils^ils\b[^|><]*$
datasets.transfer.iquest^iquest\b[^|><]*$

Destructive patterns

Rule IDReasonSuggestionConfidence
datasets.transfer.globus_deletePermanently deletes files on a Globus endpointUse globus ls to review endpoint contents before deletingHigh
datasets.transfer.irods_irmRemoves files or collections from iRODSUse ils to review the collection before removingMedium
datasets.transfer.irods_irmtrashPermanently purges iRODS trash, making recovery impossibleReview trash contents before purgingHigh
datasets.transfer.rclone_deletePermanently removes files from remote storageUse rclone ls to review files first; prefer rclone move with a backupHigh
datasets.transfer.rclone_sync_deleteSyncs source to destination, deleting files at destination that don't exist at sourceUse rclone sync --dry-run to preview changes; prefer rclone copy to avoid deletionsMedium

This documentation was generated from rust/agents/src/tool_guard/shell/packs/datasets.rs.

© 2026 Stencila