set -u
T1=$HOME/spt-hertz-rigports/target
T2=$HOME/spt-core-hertz-linux/target
T3=$HOME/spt-core-gate-w2/.worktrees/hertz-294-sync-stages/target
for t in $T1 $T2 $T3; do
  if [ -L "$t" ]; then echo "OUTBOUND $t SYMLINK -> $(readlink "$t")"; elif [ -d "$t" ]; then echo "OUTBOUND $t REALDIR"; else echo "OUTBOUND $t MISSING"; fi
  echo "PARENT $(dirname $t) du=$(du -sb $(dirname $t) 2>/dev/null | cut -f1) TARGET du=$(du -sb $t 2>/dev/null | cut -f1)"
done
echo "INBOUND sweep (symlinks under / excluding proc/sys/dev resolving into any target):"
R1=$(readlink -f $T1); R2=$(readlink -f $T2); R3=$(readlink -f $T3)
find / -xdev \( -path /proc -o -path /sys -o -path /dev \) -prune -o -type l -print 2>/dev/null | while read l; do r=$(readlink -f "$l" 2>/dev/null) || continue; case "$r" in "$R1"|"$R1"/*|"$R2"|"$R2"/*|"$R3"|"$R3"/*) echo "  INBOUND $l -> $r";; esac; done
echo "INBOUND sweep done"
echo "BIND mounts touching targets: $(grep -c -e "$R1" -e "$R2" -e "$R3" /proc/mounts)"
echo "OPEN handles into targets: $(lsof +D $T1 +D $T2 +D $T3 2>/dev/null | wc -l)"
df -B1 --output=avail $HOME | tail -1 | sed 's/^/FREE_BEFORE /'
