54 lines
3.3 KiB
Shell
Executable file
54 lines
3.3 KiB
Shell
Executable file
#!/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
|
||
|
||
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
|