#!/usr/bin/env bash
# Воскресный разбор недели: цифры считает Python, разбор пишет Claude.
set -euo pipefail

cd "$(dirname "$0")"
set -a
[ -f .env ] && . ./.env
set +a

VAULT="${HEALTH_VAULT:-$HOME/obsidian-vault}"
ARCHIVE_DIR="$VAULT/projects/life/health"
TODAY="$(date +%F)"

log() { printf '%s %s\n' "$(date '+%F %T')" "$*"; }

# 1. Свежий волт
if [ "${HEALTH_GIT_SYNC:-0}" = "1" ]; then
  log "git pull волта"
  git -C "$VAULT" pull --rebase --quiet || { git -C "$VAULT" rebase --abort || true; log "pull не удался, идём на текущем"; }
fi

# 2. Цифры недели
log "считаю цифры"
FACTS="$(python3 weekly.py --date "$TODAY")"

# 3. Разбор через Claude
log "разбор через Claude"
PROMPT="$(cat weekly-prompt.md)
$FACTS"

REVIEW="$(printf '%s' "$PROMPT" | claude --model claude-opus-5 -p 2>/dev/null || true)"

if [ -z "$REVIEW" ]; then
  log "Claude не ответил — шлём голые цифры"
  REVIEW="📊 Неделя $(date +%d.%m)

Разбор не собрался (Claude не ответил). Цифры недели:

$FACTS"
fi

# 4. Отправка
log "отправка в бот"
python3 - "$REVIEW" <<'PY'
import sys
import digest
digest.send(sys.argv[1], digest.load_env())
PY

# 5. Архив в волт
ARCHIVE="$ARCHIVE_DIR/{life} {research} недельный разбор здоровья – $TODAY.md"
{
  printf -- '---\ntags: [research, health]\nproject: life\ntype: research\ndate: %s\npurpose: Автоматический недельный разбор здоровья (health-digest)\n---\n\n' "$TODAY"
  printf '%s\n\n---\n\n## Цифры недели\n\n%s\n' "$REVIEW" "$FACTS"
} > "$ARCHIVE"
log "архив: $ARCHIVE"

if [ "${HEALTH_GIT_SYNC:-0}" = "1" ]; then
  git -C "$VAULT" add "$ARCHIVE" >/dev/null
  git -C "$VAULT" commit -qm "health-digest: недельный разбор $TODAY" || true
  git -C "$VAULT" push --quiet || log "push не удался"
fi

log "готово"
