A plan is a compression of intent
Reactive agents can wander. Planning compresses the goal into ordered commitments before action starts. The plan does not need to be perfect; it needs to make the next few actions inspectable.
Plan-execute works best when the task has dependencies. Research before writing. Reproduce before fixing. Inspect before editing. Very shocking, I know.
Plans should be executable
A plan item like “improve quality” is mush. A plan item like “run failing test and capture exact error” is executable.
For long tasks, store the plan in run state and update it as steps complete. The model should not rediscover the plan every turn.