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 21:45:07 +08:00
|
|
|
|
# 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
|