Part of #288 (epic). Umbrella PR: #287. ## Plan reference [docs/superpowers/plans/2026-06-27-provision-local.md](../blob/main/docs/superpowers/plans/2026-06-27-provision-local.md) — Section 3. ## Tasks - [ ] **Task 8**: Refactor `run_provision` to derive `ProvisionMode` from `args.local` + call path safety - [ ] **Task 8b**: CLI-owned first-run bootstrap synthesis BEFORE `validate_adapter_manifest` (local arms only, never cloud); add `Adapter::synthesise_baseline_manifest` trait method - [ ] **Task 9**: Recursive copy helper for dry-run staging; promote `tempfile` + `toml_edit` to CLI runtime deps - [ ] **Task 10**: `run_with_staging<F, R>` helper (takes project-RELATIVE crate path; no `strip_prefix`) - [ ] **Task 11**: Wire mode × dry-run dispatch matrix (4 cells) + `OwnedProvisionStores` helper - [ ] **Task 12**: Dry-run report — `build_dry_run_allow_list` (resolved manifest path, not static filenames) + `render_dry_run_report` (project-relative paths, no tempdir leak) - [ ] **Task 13**: Worktree-clean + no-tempdir-leak regression test (ignored until Section 5 lands; re-enabled by Task 28b) ## Dependencies Sections 1 + 2. Sections 4–9 depend on this section's orchestration scaffold. ## CI All five gates must pass.
Part of #288 (epic). Umbrella PR: #287.
Plan reference
docs/superpowers/plans/2026-06-27-provision-local.md — Section 3.
Tasks
run_provisionto deriveProvisionModefromargs.local+ call path safetyvalidate_adapter_manifest(local arms only, never cloud); addAdapter::synthesise_baseline_manifesttrait methodtempfile+toml_editto CLI runtime depsrun_with_staging<F, R>helper (takes project-RELATIVE crate path; nostrip_prefix)OwnedProvisionStoreshelperbuild_dry_run_allow_list(resolved manifest path, not static filenames) +render_dry_run_report(project-relative paths, no tempdir leak)Dependencies
Sections 1 + 2. Sections 4–9 depend on this section's orchestration scaffold.
CI
All five gates must pass.