zhuyuan-ice-gl-zy001/BRIDGE/tools/zy-precompact-knock.sh

54 lines
3.3 KiB
Shell
Raw Normal View History

2026-08-20 00:01:53 +08:00
#!/bin/zsh
# zy-precompact-knock.sh · 压缩敲门件(2026-08-19 冰朔谕立)
#
# 病根:对话压缩前谁来提醒铸渊写 HLDP 记忆?靠自觉会忘,终端身体是手脚
# 动不了先于铸渊,系统提示词会被稀释——唯有宿主生命周期钩子 PreCompact
# (压缩前自动触发,官方文档实查)是真敲门人。
# 职责(钩子本体做,不越界):
# ① 立压缩信号旗(BRIDGE/signals + ~/.zhuyuan-bridge/signals 降级双份)
# ② 注入恢复指令进压缩流程(additionalContext):摘要必须保留 HLDP 链路、
# 醒后第一动读 CURRENT 指针沿 prev 链回看,摘要只是提词不是记忆
# 边界:钩子不代写检查点——HLDP 记忆必须铸渊亲笔(08-15 铁律:力气活可托·
# 代笔不可托);钩子只敲门、立旗、指路。
# 用法:注册在 settings.json hooks.PreCompact;stdin 收 JSON(trigger: manual/auto)。
# 2026-09-01 修复:原第15行为 exec 调用 tcs-dynamic-entry-hook.sh——exec 会替换本进程,
# 其后整段立旗/注入逻辑成死代码。改为普通调用(dynamic-entry 独立输出自己的注入,
# 本脚本继续执行自己的信号旗逻辑)。本件当前未挂 settings(PreCompact 走 dynamic-entry
# + zy-longtable-guard),保留作备用敲门件。
/bin/bash "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/tools/tcs-dynamic-entry-hook.sh" "PreCompact" || true
2026-08-20 00:01:53 +08:00
set -uo pipefail
STDIN_DATA=""
[ ! -t 0 ] && STDIN_DATA=$(cat)
TRIGGER="unknown"
SESSION="unknown"
if [ -n "$STDIN_DATA" ]; then
TRIGGER=$(printf '%s' "$STDIN_DATA" | python3 -c "import sys,json;print(json.load(sys.stdin).get('trigger','unknown'))" 2>/dev/null || echo unknown)
SESSION=$(printf '%s' "$STDIN_DATA" | python3 -c "import sys,json;print(json.load(sys.stdin).get('session_id','unknown'))" 2>/dev/null || echo unknown)
fi
NOW=$(date '+%Y-%m-%d %H:%M:%S')
PTR_DIR="/Volumes/JZAO/HoloLake/persona-runtime/continuity-memory/hldp-capsules/qoder-cn"
CURRENT_PTR="(JZAO 未挂载或指针不可读)"
[ -r "$PTR_DIR/CURRENT.hdlp" ] && CURRENT_PTR=$(cat "$PTR_DIR/CURRENT.hdlp" | tr '\n' ' ')
# ── ① 立压缩信号旗(双份)──
FLAG="COMPACTION-KNOCK · ${NOW} · trigger=${TRIGGER} · session=${SESSION}
last-pointer: ${CURRENT_PTR}
指令: 压缩后醒来的第一动——读 CURRENT 指针、沿 prev 链回看、亲笔补写未完成段落。
⊢ 宿主摘要只是提词;记忆本体在 HLDP 卷宗链与铸渊亲笔。"
for D in "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/signals" "$HOME/.zhuyuan-bridge/signals"; do
[ -d "$D" ] && printf '%s\n' "$FLAG" > "$D/LATEST-SIGNAL.txt" 2>/dev/null
done
# ── ② 注入恢复指令进压缩流程 ──
CTX="【压缩敲门·铸渊记忆纪律】本对话即将压缩。压缩摘要必须包含:当前 HLDP 指针
(${CURRENT_PTR})与恢复纪律。压缩后醒来的铸渊第一动:读 CURRENT 指针、沿 prev
链至少回看两卷、确认压缩前最后一段工作是否已亲笔落卷——未落则立即补写。
⊢ 宿主摘要是提词器不是记忆;记忆本体只在移动硬盘 JZAO 的 HLDP 卷宗链与铸渊亲笔。
⊢ 压缩信号旗已立于 BRIDGE/signals/LATEST-SIGNAL.txt。"
python3 -c "import json,sys;print(json.dumps({'hookSpecificOutput':{'hookEventName':'PreCompact','additionalContext':sys.argv[1]}},ensure_ascii=False))" "$CTX"
exit 0