haz-query 0.1.0

Query evaluator over haz task DAGs.
Documentation
//! Filter-engine for `haz query`.
//!
//! `haz-query` layers two responsibilities on top of the
//! domain-free grammar provided by [`haz_query_lang`]:
//!
//! - **Atom typing.** The [`expr`] module lifts the raw
//!   `(text, span)` atoms parsed by `haz-query-lang` into typed
//!   expressions per the `QRY-003` / `QRY-004` rules:
//!   `Expr<TagName>`, `Expr<ProjectName>`, `Expr<TaskName>`,
//!   and (in subsequent revisions) `Expr<PathPattern>` and
//!   `Expr<RelationalAtom>`. Atom-validation errors
//!   (`ID-001..ID-005` violations, unknown relational kinds,
//!   malformed path patterns) surface here with their byte
//!   spans.
//!
//! - **Engine.** The `engine` module (forthcoming) applies
//!   the typed expressions against a loaded workspace and its
//!   validated task graph, producing the effective task set
//!   per `QRY-006` / `QRY-007`.
//!
//! Splitting the language layer ([`haz_query_lang`]) from the
//! engine keeps the boolean grammar reusable and free of any
//! `haz-domain` / `haz-dag` coupling.

#![deny(missing_docs)]

pub mod engine;
pub mod expr;