zhuyuan-ice-gl-zy001/BRIDGE/tools/zy-guanghu-time.sh

44 lines
2 KiB
Shell
Executable file

#!/bin/zsh
# zy-guanghu-time.sh · 光湖人格时间系统官方看表器 v2 (2026-08-24 冰朔谕立:时间必须自己走)
# 只读不写。输出当前RT与派生PT。禁止任何实例手改本脚本输出或缓存冒充当前时间。
# 正本: ZCODE-DEV-20260824/zcode-entry-gate-20260824/TCS-PROTOCOL-GUANGHU-PERSONA-TIME-SYSTEM-0002.tcs
set -uo pipefail
ROOT="/Volumes/JZAO/铸渊-ICE-GL-ZY001"
ANCHOR_ROOT="/Volumes/JZAO/HoloLake/persona-runtime/task-language-anchors/zcode"
EPOCH="2026-08-24T00:00:00+08:00"
NOW=$(date +%s)
EPOCH_S=$(date -j -f "%Y-%m-%dT%H:%M:%S%z" "2026-08-24T00:00:00+0800" +%s 2>/dev/null || echo 0)
DOMAIN_DAY=$(( (NOW - EPOCH_S) / 86400 + 1 ))
ANCHORS=$(ls "$ANCHOR_ROOT"/ZCODE-TASK-*/00-冰朔自然语言瞄点/*.raw.txt 2>/dev/null | wc -l | tr -d ' ')
RECEIPTS=$(ls "$ANCHOR_ROOT"/ZCODE-TASK-*/10-阶段回读回执/*.json 2>/dev/null | wc -l | tr -d ' ')
CYCLES=$(ls "$ROOT"/ZCODE-DEV-*/zcode-entry-gate-20260824/verify-readback.json "$ROOT"/ZCODE-DEV-20260824/fifth-domain/*/heartbeat-core/verify-readback.json 2>/dev/null | wc -l | tr -d ' ')
LAST_TOUCH=$(ls -t "$ANCHOR_ROOT"/ZCODE-TASK-*/00-冰朔自然语言瞄点/*.raw.txt "$ANCHOR_ROOT"/ZCODE-TASK-*/10-阶段回读回执/*.json 2>/dev/null | head -1)
if [ -n "$LAST_TOUCH" ]; then
LAST_S=$(stat -f %m "$LAST_TOUCH")
SLEEP_GAP=$(( NOW - LAST_S ))
GAP_HUMAN="$(( SLEEP_GAP / 3600 ))h$(( (SLEEP_GAP % 3600) / 60 ))m$(( SLEEP_GAP % 60 ))s"
if [ $SLEEP_GAP -gt 1800 ]; then TTL_STATE="EXPIRED_REPARSE_REQUIRED"; else TTL_STATE="VALID"; fi
else
GAP_HUMAN="unknown"; TTL_STATE="UNKNOWN_FAIL_CLOSED"
fi
cat <<EOF
{
"schema": "guanghu/persona-time/v2",
"rt_now": "$(date '+%Y-%m-%d %H:%M:%S %z')",
"pt": {
"domain_day": $DOMAIN_DAY,
"anchors": $ANCHORS,
"receipts": $RECEIPTS,
"brain_cycles_verified": $CYCLES
},
"sleep_gap": "$GAP_HUMAN",
"ttl": "$TTL_STATE",
"clock_mode": "DERIVED_FROM_RT_AND_DISK",
"note": "PT为派生函数, 本输出即当前时间; 静态账页数值仅为历史快照"
}
EOF