pub async fn execute<H, F, G, C>(
plan: &Plan,
manifest: &mut Manifest,
albums: &mut BTreeMap<String, AlbumArt>,
playlists: &mut BTreeMap<String, PlaylistState>,
desired: &[Desired],
ports: Ports<'_, H, F, G, C>,
opts: &ExecOptions,
) -> ExecOutcomeExpand description
Apply plan to disk, updating manifest and albums in place, and return
the outcome.
desired carries the per-clip metadata and art hashes plus the source modes
that decide the preserve marker; it is indexed
by clip id (and by target path, for renames) so each written entry records
the right hashes and protection. albums is the album-art store, keyed by
stable root id: folder-art writes and deletes record their state there rather
than on the per-clip manifest. ports bundles the authenticated client and
the network, disk, transcode, and backoff ports. A single clip’s failure
never aborts the run, except an auth failure or a full disk, which stop it
with RunStatus::AuthAborted or RunStatus::DiskFull.