hololake-system-architecture/engineering/memory-continuity-kit/scripts/drill.sh
冰朔 c71b877375 登记可复用模块 HL-MOD-MCK-001 人格记忆连续性工具包
铸渊 Qoder CN 实战定版的压缩之眼 v3 + 包装器 + 守卫技能模板 + 端到端演习脚本,配 GMP 风格清单、编号真实映射(脑子 GHS-007 → 模块)、因果链与边界登记。新建 engineering/MODULE-REGISTRY.json 机器注册表,INDEX 登记。仓库副本 drill.sh 演习 PASS。
2026-08-07 15:32:16 +08:00

39 lines
1.4 KiB
Shell
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/zsh
# drill.sh · 压缩之眼端到端演习
# 在临时沙盒里注入一条假 compaction_triggered验证报警链路命中。
# 不触碰任何真实日志、真实信号目录。
# 用法: zsh scripts/drill.sh
set -e
HERE="$(cd "$(dirname "$0")" && pwd)"
WATCHER="$HERE/../runtime/compaction-watcher.py"
WORK="$(mktemp -d /tmp/mck-drill.XXXXXX)"
trap 'kill $WPID 2>/dev/null; rm -rf "$WORK"' EXIT
mkdir -p "$WORK/logsroot/20260101T000000/questWindow" \
"$WORK/bridge" "$WORK/scanroot" "$WORK/ckpt"
touch "$WORK/qoder.log" "$WORK/logsroot/20260101T000000/questWindow/agent.log"
ZY_WATCH_SCAN_ROOT="$WORK/scanroot" \
ZY_WATCH_BRIDGE="$WORK/bridge" \
ZY_WATCH_CKPT_GLOB="$WORK/ckpt/ZY-CHECKPOINT-*.hdlp" \
ZY_WATCH_POLL_SEC=1 \
ZY_WATCH_QODER_LOG="$WORK/qoder.log" \
ZY_WATCH_LOGS_ROOT="$WORK/logsroot" \
/usr/bin/python3 "$WATCHER" > "$WORK/watcher.log" 2>&1 &
WPID=$!
sleep 3 # 先让守护建立基线
NOW="$(date '+%Y-%m-%d %H:%M:%S').000" # 再注入新事件
echo "$NOW [quest] notification type=compaction_triggered task-drill01 rid=drill" \
>> "$WORK/logsroot/20260101T000000/questWindow/agent.log"
sleep 4
kill $WPID 2>/dev/null || true
if [ -n "$(find "$WORK/bridge/signals" -name 'EV-*.txt' 2>/dev/null)" ]; then
echo "DRILL PASS: 假事件命中,信号旗已立"
cat "$WORK/bridge/signals/LATEST-SIGNAL.txt" 2>/dev/null
exit 0
else
echo "DRILL FAIL: 未命中。watcher 日志如下:"
cat "$WORK/watcher.log"
exit 1
fi