Yes, I think there’s merit in this.
I’ve split it into two accepted features.
The first is solution-owned IDE Scripts. These would travel with the solution, appear in the navigator, and be shareable through source control. They would use the existing restricted IDE Script environment and would only run when explicitly requested: https://feedback.objo.dev/feature/1112
The second is project-configured automation during Build and Publish: https://feedback.objo.dev/feature/1113
The second part needs additional safeguards because a shared solution could otherwise execute filesystem, network or process operations as soon as somebody builds it. Build tasks will therefore need explicit trust and permissions, well-defined ordering and failure behaviour, and identical behaviour in Studio and the command-line tools. Nothing will run merely because a solution was opened.
For downloading datasets specifically, an explicit “update dataset” script may often be preferable to fetching on every build, since it keeps builds faster and reproducible. However, automatic fetching could still be supported through the permissioned build-task system.
Both features are accepted for future work but I will have to tackle more pressing bugs first 🙂