April 28, 2026

You Can Interrupt the Agent.

Automation that ignores you isn't automation. It's a runaway process.


The agent is watching CI. It's been polling for two minutes, waiting for checks to finish. Then you realize — the PR needs a different approach entirely. You click "Request Changes."

What should happen next? The agent should stop. Immediately. Not finish its current loop, not attempt a merge on a PR you just closed, not post a cheerful "Shipped!" message while you're writing feedback.

The Problem With Fire-and-Forget

Most automation is fire-and-forget. You trigger it and hope for the best. If you change your mind mid-flight, tough luck — cancel the workflow manually, clean up the mess, start over.

This works for simple scripts. It doesn't work when an AI agent is making decisions in your codebase on a 10-minute loop.

The Agent Checks In

During the CI monitoring pipeline, the agent periodically checks whether the task still makes sense. If you clicked "Request Changes," the PR gets closed and the task status resets. The next time the agent checks — within seconds — it sees the change and gracefully stops.

Same for "Close & Redo." The branch gets deleted, the task resets to open, and the pipeline exits. No orphaned processes. No stale status messages.

This works because the pipeline doesn't just watch GitHub. It watches the task. The task is the source of truth — not the CI run, not the PR, not the branch. If the human changes direction, the agent follows.

Automation With an Off Switch

The difference between helpful automation and scary automation is the off switch. Not a kill-9. Not "find the background process and terminate it." A button in the same thread, with immediate effect.

Intent before action applies to stopping too. When you click "Request Changes," the agent posts your feedback, resets the task, and re-triggers itself to iterate. The flow doesn't break — it redirects.


Good automation isn't the kind you never have to touch. It's the kind that listens when you do.