I use coding agents for the boring, asynchronous work, and I like not having to watch every file edit. But I think an agent should be required to state its uncertainty and request explicit approval before crossing an irreversible or high-blast-radius boundary: a database migration, dependency upgrade, permission change, or production deployment. A confident-looking plan can still rest on a weak assumption about data, compatibility, or environment.
The practical compromise seems straightforward: sandboxed work, bounded permissions, dry runs, readable action logs, and human checkpoints before applying the change. Rollback helps, but it is not guaranteed for every kind of change. At the same time, prompting for approval on every small action would just turn asynchronous work back into manual supervision. Do developers prefer stricter approval gates, or more autonomy paired with better rollback mechanisms?