pub fn archive_task(
base: &Path,
tasks: &HashMap<String, Task>,
id_or_prefix: &str,
) -> Result<Vec<String>>Expand description
Archive a single task (and its cascade) identified by id_or_prefix.
Cascade rules:
- If the task is an epic, its Done/Cancelled children are also archived (children that are not settled block the archive if they themselves would block archiving, but epic children are just included when settled).
- For any archived task, its settled
depends_ontasks that are no longer depended on by any active task are NOT automatically cascaded here — the caller may sweep afterwards witharchive_all.
On failure returns Error::NotArchivable listing active dependents.