Create External Sentinel File with Input Tracking
Usage
create_external_sentinel(sentinel_path, input_files, metadata = list())Details
Tracks external dependencies (HPC jobs, shell scripts, database exports, etc.) using sentinel files. All paths are resolved relative to the project root using `here::here()`. Absolute paths are automatically converted to relative paths for storage, ensuring sentinels work consistently across platforms (Windows/Linux/Mac) and different working directories.
All timestamps are stored in UTC to ensure consistency when sentinels are shared across machines in different timezones (e.g., Sydney to Brisbane, or across international systems).
Examples of valid calls: - Relative paths: `create_external_sentinel(".external/job.json", c("data/raw.csv", "params.json"))` - Absolute paths: `create_external_sentinel("/full/path/.external/job.json", c("/full/path/data/raw.csv"))` - Mixed: `create_external_sentinel("./external/job.json", "/full/path/data/raw.csv")`
Creates a JSON sentinel file that records: - Completion timestamp (UTC) - Input files (stored as relative paths) with their content hashes (SHA-256) - Optional custom metadata