Files
roboco/tests/integration/test_stop_hook_verb_names.sh
T
Renn F 7254ceee50 fix(docker): B1 update shell hooks to gateway verb names
Smoke run 3 showed stop-hook.sh complaining 'Denied: you stopped
without calling a terminal tool' AFTER agents successfully called
i_am_idle() — because the hook listed 9 pre-gateway verb names
(roboco_agent_idle, roboco_task_substitute, etc.) that no longer
exist. Same staleness in bash-guard-hook.sh.

Both hooks now reference current gateway verbs only. stop-hook
branches its suggestion by ROBOCO_AGENT_ROLE so devs see
i_am_done/i_am_blocked, QAs see pass/fail, PMs see complete/escalate_up.

Spec ref: docs/superpowers/specs/2026-05-12-post-smoke-3-fixes-design.md
section B1.
2026-05-12 03:48:47 +02:00

37 lines
832 B
Bash
Executable File

#!/usr/bin/env bash
# Smoke: stop-hook + bash-guard-hook list current gateway verbs only.
set -e
cd "$(dirname "$0")/../.."
HOOKS=(docker/scripts/stop-hook.sh docker/scripts/bash-guard-hook.sh)
OLD_VERBS=(
roboco_agent_idle
roboco_task_substitute
roboco_task_pause
roboco_task_submit_qa
roboco_task_escalate
qa_pass
qa_fail
docs_complete
task_complete
)
for hook in "${HOOKS[@]}"; do
for old in "${OLD_VERBS[@]}"; do
if grep -q "$old" "$hook"; then
echo "FAIL: $hook still references pre-gateway verb: $old"
exit 1
fi
done
done
# stop-hook must mention at least one current terminal verb
grep -qE "i_am_idle|unclaim|i_am_blocked|i_am_done|complete|escalate_up" docker/scripts/stop-hook.sh || {
echo "FAIL: stop-hook.sh lists no current gateway terminal verb"
exit 1
}
echo "PASS"