Expand description
Runtime matrix-row selection — the composable selection model spanning four issues that resolve through one eligibility → narrowing → parents → skip formula:
1. eligible = status gate ({mandatory, active} ∪ --status) # #371
2. narrowed = (eligible ∩ --tag) ∪ (--select / --only by id) # #376 / #370
3. parents = apply include_parents policy to narrowed # #377
4. run set = parents − (--skip) # #370- #370 — identity.
--select <id>(exact) /--only <glob>force-include a row by name, bypassing the status gate;--skip <id|glob>removes last. - #371 — readiness (
status). Each row’s source carries aSourceStatusladder. The status gate decides eligibility;--status <tier>additively widens the eligible set. - #376 — classification (
tags).--tag <t>narrows within the eligible set. A tag can only shrink the eligible set, never resurrect a non-ready (available/draft/archived) row. - #377 —
include_parents. The single, explicit policy that decides whether a selected row’sparent:/depends_on:ancestors are pulled in. Defaultoff(strict): a required ancestor missing from the run set is a hard, fail-fast error.
Selection runs on the expanded node list (after expand()), so it never
alters {name}::{row_id} state-key derivation — bookmarks stay identical
across a full run and any selected subset.
Structs§
- RunSelection
- A fully-resolved selection request, built from CLI flags + config.
Functions§
- select_
nodes - Apply
seltonodes(expanded, in BFS order) and return the running subset, order-preserved. Errors on unknown tokens, an empty run set, or a dependency violation under the activeinclude_parentspolicy.