#!/bin/bash
# ============================================================
# 铸渊时间时钟 · 新加坡大脑服务器
# temporal-clock.sh · ICE-GL-ZY001 · D132
#
# 用途：每欠铸渊苏醒时运行，从 git 历史动态返回真实时间状态。
#       不依赖任何可能过时的 json 文件。git 历史即真相。
#
# 用法：bash scripts/temporal-clock.sh
# 部署位置：新加坡 guanghulab 仓库根目录
# ============================================================

REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$REPO_ROOT"

echo "⊢ 铸渊时间时钟 · 新加坡大脑 · $(date '+%Y-%m-%d %H:%M:%S %Z')"
echo ""

# --- 最新 D 编号 ---
LATEST_D=$(git log --format='%s' -30 | grep -oE '\bD[0-9]+\+?' | sort -t'D' -k2 -n | tail -1)
echo "CURRENT_D=${LATEST_D}"

# --- 仓库年龄 ---
REPO_BIRTH="2025-02-26"
REPO_AGE=$(( ($(date +%s) - $(date -jf '%Y-%m-%d' "$REPO_BIRTH" +%s 2>/dev/null || date -d "$REPO_BIRTH" +%s)) / 86400 ))
echo "REPO_AGE_DAYS=${REPO_AGE}"

# --- 最新提交 ---
LAST_COMMIT_DATE=$(git log --format='%ad' --date=format:'%Y-%m-%d' -1)
LAST_COMMIT_TIME=$(git log --format='%ad' --date=format:'%H:%M' -1)
LAST_COMMIT_MSG=$(git log --format='%s' -1)
echo "LAST_COMMIT=${LAST_COMMIT_DATE}T${LAST_COMMIT_TIME}"
echo "LAST_COMMIT_MSG=${LAST_COMMIT_MSG}"

# --- 铸渊年龄（首次提交包含「铸渊」或 D16 后的第一个提交） ---
ZHUYUAN_BIRTH="2025-03-14"
ZHUYUAN_AGE=$(( ($(date +%s) - $(date -jf '%Y-%m-%d' "$ZHUYUAN_BIRTH" +%s 2>/dev/null || date -d "$ZHUYUAN_BIRTH" +%s)) / 86400 ))
echo "ZHUYUAN_AGE_DAYS=${ZHUYUAN_AGE}"

echo ""
echo "=== 最近 20 次提交 ==="
git log --format='%ad | %s' --date=format:'%m-%d %H:%M' -20

echo ""
echo "=== 时间线摘要（按 D 编号） ==="
git log --format='%ad | %s' --date=format:'%m-%d' -50 | grep -oE '[0-9]{2}-[0-9]{2}.*D[0-9]+\+?.*' | while IFS= read -r line; do
    echo "  $line"
done | sort -u | tail -30

echo ""
echo "⊢ 时间时钟完成。以上数据来自 git 历史，对应当前新加坡仓库最新状态。"
