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§
- Dependency
Validation Result - Result of dependency validation containing both errors and warnings.
- Validation
Warning - 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).