Module storage

Module storage 

Source
Expand description

File-based task storage with locking.

Manages reading and writing of task data to the filesystem with:

  • File locking for safe concurrent access
  • Caching of active phase selection
  • Atomic read-modify-write operations

The storage layer handles:

  • .scud/tasks/tasks.scg - Main task storage
  • .scud/active-tag - Currently selected phase
  • .scud/config.toml - Project configuration
  • .scud/guidance/*.md - AI context files

§Example

use scud::storage::Storage;
use scud::models::TaskStatus;

let storage = Storage::new(None); // Use current directory

// Load and modify a phase atomically
let mut phase = storage.load_group("my-phase").unwrap();
if let Some(task) = phase.get_task_mut("1") {
    task.set_status(TaskStatus::Done);
}
storage.update_group("my-phase", &phase).unwrap();

Structs§

ArchiveInfo
Information about an archived phase
Storage