#!/usr/bin/env bash set -euo pipefail # === METADATA === SCRIPT_NAME="$(basename "$0")" SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" SKILL_ROOT="$(dirname "$SCRIPT_DIR")" # === CONFIGURATION === : "${OUTPUT_DIR:=$SKILL_ROOT/outputs}" : "${NODE_NAME:=node-a}" # === FUNCTIONS === log_info() { echo "[INFO] $(date -Iseconds) $*"; } get_file_size() { local path="$1" if [[ -f "$path" ]]; then stat -c%s "$path" else echo "0" fi } main() { mkdir -p "$OUTPUT_DIR" local report="$OUTPUT_DIR/audit_report.md" local status="$OUTPUT_DIR/status_matrix.json" local last_run_file="$OUTPUT_DIR/last_run_dir.txt" local run_dir="(unknown)" [[ -f "$last_run_file" ]] && run_dir="$(cat "$last_run_file")" local root_value="(not generated)" [[ -f "$run_dir/ROOT.txt" ]] && root_value="$(cat "$run_dir/ROOT.txt")" local archive_size enc_size archive_size=$(get_file_size "$run_dir/archive.tar.gz") enc_size=$(get_file_size "$run_dir/archive.tar.gz.age") local restore_status="NOT COMPLETED" [[ -f "$run_dir/last_restore_dir.txt" ]] && restore_status="PASSED" cat > "$report" <