If your program.md gives no direction at all, your agent wastes experiments on unproductive paths.
Example of too wide: "Improve val_bpb. Do whatever you want." The agent might spend experiments trying to change the tokenizer (blocked by prepare.py), then experiments adding exotic architectures that crash, then finally settle into useful work.
The fix: name the domain without naming the implementation. "Explore attention pattern variations and model depth" tells your agent where to look without telling it what to find. You lose the first few wasted experiments and start getting results sooner.