pub async fn run_plan(
forge: &dyn Forge,
repo: &Resource,
steps: &[BootstrapStep],
) -> BootstrapReportExpand description
Run steps in order against repo, stopping at the first failure.
Stopping is the point: a later step (protection) can lock out an earlier one (files), so running past a failure could leave a repo protected before its workflow exists — a required check that can never report.