* refactor(agent): extract tool execution boundary * test(agent): use extracted tool execution boundary