lazytask 0.5.0

A task manager built for AI coding agents — plain markdown files, strict CLI, keyboard-driven TUI
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::services::{ServiceError, TaskService};
use chrono::{Duration, Utc};

impl TaskService {
    /// Deletes expired done/discard tasks based on configured retention TTL.
    pub fn cleanup_expired_terminal_tasks(&self) -> Result<usize, ServiceError> {
        let ttl_days = self.config.retention.done_discard_ttl_days as i64;
        let cutoff = Utc::now() - Duration::days(ttl_days);
        let deleted = self.storage.delete_terminal_tasks_updated_before(cutoff)?;
        for task in &deleted {
            self.maybe_cleanup_task_assets(task);
        }
        Ok(deleted.len())
    }
}