#!/usr/bin/env bash
# 会话结束自动清理
# 用法: bash scripts/session-cleanup.sh

set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"

echo "==> 会话结束清理"

# ── 运行测试 ──────────────────────────────────────────────
echo "==> [1/4] 运行测试"
python -m pytest --tb=short -q
TEST_RESULT=$?

# ── 运行 lint ─────────────────────────────────────────────
echo "==> [2/4] 运行 lint"
if command -v ruff &> /dev/null; then
  ruff check src/ || true
fi

# ── 运行类型检查 ──────────────────────────────────────────
echo "==> [3/4] 运行类型检查"
if command -v mypy &> /dev/null; then
  python -m mypy src/ --ignore-missing-imports || true
fi

# ── 架构检查 ──────────────────────────────────────────────
echo "==> [4/4] 运行架构检查"
if [ -f "scripts/check-architecture.sh" ]; then
  bash scripts/check-architecture.sh || true
fi

# ── 提醒 ─────────────────────────────────────────────────
echo ""
echo "========================================="
echo "  会话结束提醒"
echo "========================================="
echo "  [ ] claude-progress.md 是否已更新？"
echo "  [ ] feature_list.json 是否反映实际状态？"
echo "  [ ] quality-document.md 是否需要更新？"
echo "  [ ] 是否有未提交的安全工作？"
echo "========================================="

if [ $TEST_RESULT -ne 0 ]; then
  echo ""
  echo "  [警告] 测试未全部通过！请修复后再结束会话。"
fi
