pub fn execute(
workspace: &Workspace,
graph: &TaskGraph,
bearing_project: Option<&ProjectName>,
spec: &QuerySpec,
) -> Result<Vec<TaskId>, QueryError>Expand description
Run the engine against a workspace and return the matching
task identities in canonical (ProjectName, TaskName) order.
Evaluates every filter family of QRY-003..QRY-005 against
the candidate set determined by bearing_project per
QRY’s candidate-set vocabulary. Filters compose by
intersection per QRY-006.
graph MUST be the validated hard-edge graph (DAG-008) of
workspace; the engine consults it only to evaluate the four
QRY-004 relational filters. Callers without any relational
filter in spec MAY pass &TaskGraph::default() or use
execute_non_relational.
bearing_project is the cwd-derived bearing project name per
EXEC-022. It restricts the candidate set per QRY
vocabulary and supplies the canonicalisation root for any
project-relative --inputs / --outputs atoms.
§Errors
Returns QueryError when the bearing project does not
exist, when a project-relative atom is supplied without a
bearing project, or when the glob-glob intersection routine
fails.