#!/usr/bin/env bash
# archive_inbox.sh — Inbox 파일 이동 + PD 지시 로그 경로 자동 정정 (단일 트랜잭션)
# 사용: bash scripts/archive_inbox.sh <src_path1> [<src_path2> ...]
# 각 src_path는 공유/소통/ 하위 현재 경로.
# 수행: (1) 파일명 추출 (2) git mv → 공유/소통/완료/ (3) PD 지시 로그 2종에서 경로 sed 치환
#       (4) verify_log_paths.sh 재실행하여 부재 경로 0건 확인
# 목적: "Inbox 이동 후 PD 지시 로그 경로 동기화 누락" 재발 구조적 차단 (2026-04-17 실증)
set -euo pipefail
cd "$(dirname "$0")/.."

if [ "$#" -eq 0 ]; then
  echo "usage: bash scripts/archive_inbox.sh <src_path1> [<src_path2> ...]" >&2
  exit 1
fi

DST_DIR="공유/소통/완료"
mkdir -p "$DST_DIR"

LOG_DEV="공유/PD_지시_트래킹/개발팀_PD_지시_로그.md"
LOG_PLAN="공유/PD_지시_트래킹/기획팀_PD_지시_로그.md"

moved=0
for src in "$@"; do
  if [ ! -f "$src" ]; then
    echo "⚠️ 파일 없음, 건너뜀: $src" >&2
    continue
  fi
  base=$(basename "$src")
  dst="$DST_DIR/$base"
  if [ -e "$dst" ]; then
    echo "⚠️ 대상 이미 존재, 건너뜀: $dst" >&2
    continue
  fi

  # 이동 (git mv 우선, 실패 시 일반 mv)
  git mv "$src" "$dst" 2>/dev/null || mv "$src" "$dst"
  echo "✅ 이동: $src → $dst"

  # PD 지시 로그 경로 정정 (정규식 특수문자 이스케이프는 sed 기본으로 충분)
  esc_src=$(printf '%s' "$src" | sed 's|[\\&/]|\\&|g')
  esc_dst=$(printf '%s' "$dst" | sed 's|[\\&/]|\\&|g')
  sed -i "s|$esc_src|$esc_dst|g" "$LOG_DEV" 2>/dev/null || true
  sed -i "s|$esc_src|$esc_dst|g" "$LOG_PLAN" 2>/dev/null || true

  moved=$((moved+1))
done

echo ""
echo "📊 총 $moved 건 이동·경로 정정 완료"
echo "🔍 verify_log_paths.sh 재검증:"
bash scripts/verify_log_paths.sh 2>&1 | tail -5
