mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
OpenClaw applies its exec approvals policy after a session's /exec. A /exec in Hanzo Bot replaces tools.exec, so the import also writes the policy into ~/.bot/exec-approvals.json, the floor Hanzo Bot applies to gateway and node exec after /exec: each agent gets the stricter of what that file held it to and what the policy holds it to, nothing else in the file changes, and the old file is kept as .bak. With BOT_STATE_DIR elsewhere Hanzo Bot would not read it from the target, so the import stops (RED-EXECPARITY-2). A merge now bounds exec by who reaches each agent: each channel (with channels.defaults and its pairing entries), pairing entries of a channel no config names, and hooks. An audience that admits and routes exactly as the import alone keeps OpenClaw's exec, one that does so as the existing bot.json keeps its exec (unset is deny), one that only admits as an install gets that install's strictest agent, and one that admits as neither denies exec to every agent it reaches, in tools.exec and, for /exec, in the host floor. A channel turned off admits no one. The same bound runs on a fresh bot.json when the target already holds pairing entries (RED-EXECPARITY-1). Co-authored-by: Hanzo Dev <[email protected]>