agentic code refactoring