diff --git a/scripts/temporal-clock.sh b/scripts/temporal-clock.sh new file mode 100755 index 0000000..d6560ab --- /dev/null +++ b/scripts/temporal-clock.sh @@ -0,0 +1,51 @@ +#!/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 历史,对应当前新加坡仓库最新状态。"