feat: add PoC verify script / 新增 PoC verify 腳本
This commit is contained in:
72
scripts/verify-openclaw-poc.sh
Executable file
72
scripts/verify-openclaw-poc.sh
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
if [[ $# -lt 2 ]]; then
|
||||||
|
echo "usage: $0 <openclaw-state-dir> <openclaw-dist-dir>" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
STATE_DIR="$1"
|
||||||
|
DIST_DIR="$2"
|
||||||
|
MANIFEST_PATH="$(dirname "$0")/../reports/live-openclawtest-manifest.json"
|
||||||
|
|
||||||
|
echo "== reply-end-controls PoC verify =="
|
||||||
|
echo "state_dir=${STATE_DIR}"
|
||||||
|
echo "dist_dir=${DIST_DIR}"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== state files =="
|
||||||
|
for f in \
|
||||||
|
"${STATE_DIR}/reply-end-controls.json" \
|
||||||
|
"${STATE_DIR}/reply-end-debug.log" \
|
||||||
|
"${STATE_DIR}/governance/claims.jsonl"; do
|
||||||
|
if [[ -f "$f" ]]; then
|
||||||
|
echo "present: $f"
|
||||||
|
else
|
||||||
|
echo "missing: $f"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== patch markers =="
|
||||||
|
python3 - <<'PY' "$DIST_DIR"
|
||||||
|
from pathlib import Path
|
||||||
|
import json, sys
|
||||||
|
|
||||||
|
live_dist = Path(sys.argv[1])
|
||||||
|
checks = {
|
||||||
|
'send-sxDwUGaO.js': {
|
||||||
|
'defaultButtonsInjected': 'buildInlineKeyboard(opts.buttons ??',
|
||||||
|
'continueCallback': 'rec:continue',
|
||||||
|
'stopCallback': 'rec:stop',
|
||||||
|
},
|
||||||
|
'bot-Ce301bOE.js': {
|
||||||
|
'stateFilePath': 'reply-end-controls.json',
|
||||||
|
'continueAck': 'reply-end-controls: continue received',
|
||||||
|
'stopAck': 'reply-end-controls: stop received',
|
||||||
|
'stopPolicy': 'Treat the previous thread as closed',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for name, markers in checks.items():
|
||||||
|
path = live_dist / name
|
||||||
|
text = path.read_text(encoding='utf-8') if path.exists() else ''
|
||||||
|
print(f'[{name}]')
|
||||||
|
for key, marker in markers.items():
|
||||||
|
print(f' {key}: {marker in text}')
|
||||||
|
PY
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== latest state =="
|
||||||
|
cat "${STATE_DIR}/reply-end-controls.json" 2>/dev/null || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== latest debug tail =="
|
||||||
|
tail -n 20 "${STATE_DIR}/reply-end-debug.log" 2>/dev/null || true
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "== reference manifest =="
|
||||||
|
if [[ -f "${MANIFEST_PATH}" ]]; then
|
||||||
|
cat "${MANIFEST_PATH}"
|
||||||
|
else
|
||||||
|
echo "missing manifest: ${MANIFEST_PATH}"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user