Skip to main content

Module validation

Module validation 

Source
Expand description

Queue validation submodule.

This module contains the validation entry points (validate_queue, validate_queue_set) plus internal helpers used to enforce queue invariants: ID formatting/prefix/width, required task fields, RFC3339 timestamps, and dependency correctness (existence + acyclic graph).

The parent queue module re-exports the public entry points so external callers can continue using crate::queue::validate_queue and friends.

Responsibilities:

  • Validate queue file format, task fields, and dependencies.
  • Detect hard errors (blocking) and warnings (non-blocking) for dependencies.

Not handled here:

  • Queue persistence or modification (see crate::queue).
  • Config file validation (see crate::config).

Invariants/assumptions:

  • Task IDs are unique (within and across queue/done files, except for rejected tasks).
  • Dependencies must form a DAG (directed acyclic graph).
  • Warnings are collected but do not block queue operations.

Structs§

DependencyValidationResult
Result of dependency validation containing both errors and warnings.
ValidationWarning
Represents a validation issue that doesn’t prevent queue operation but should be reported.

Functions§

log_warnings
Log all validation warnings.
validate_queue
validate_queue_set
Validates a queue set (active + optional done file).