Expand description
The single owner of category resolution, completion, and transition legality.
Filesystem-free on purpose. Nothing here reads or writes an issue file, and
nothing here takes a Store. The module returns the accepted transition and
the decision to append; WP03’s storage seam performs the write. That is what
lets the CLI, the TUI, MCP, sync and every analytic share one implementation
instead of five that agree today (contract §2).
blocked here is a workflow column position, not blocked state. The
derived blocked state — an open inbound blocks edge — is a graph fact owned
by issue 169’s Mission and lives in relationships.rs. The two are different
things and the contract names conflating them a rejected alternative
(category-vocabulary.md §6).
Resolution is built once, at config load, and is not rebuilt per issue or
per surface. The per-issue path is a single hash lookup, which is what holds
NFR-001 for a 10,000-issue sweep (contract §7). Rebuilding it per issue is the
failure mode this design exists to prevent, and resolution is built from a
board rather than from an issue so that it cannot be.
Structs§
- Category
Resolution - The built once-per-load derivation from column name to category
(
data-model.md§3). - Direct
Edit Finding - One direct-edit finding: a file whose
statusno longer agrees with its History. - Transition
Override - An explicit override out of a terminal category.
- Workflow
Diagnostic - One finding. The service never writes, so a diagnostic is the only output a refusal produces.
Enums§
- Color
Hint - A presentation hint. See
WorkflowCategory::color_hint. - Diagnostic
Kind - The fixed diagnostic vocabulary (contract §6).
- Transition
Outcome - The outcome of judging a transition.
- Workflow
Category - A category in the fixed global vocabulary (C-002).
Constants§
- SAFE_
DEFAULT - The documented safe default, re-exported so a surface reporting a defaulted column quotes the same constant the resolution used.
Functions§
- active_
board_ name - The name of the board
Config::default_configresolves to. - active_
resolution - The
CategoryResolutionfor the active board, plus that board’s name. - category_
of - The issue’s category, or
Nonefor a column the board does not configure. - completion_
column - The board’s completion column, chosen by category rather than by
done_column(WP09). - completion_
column_ or_ default - The board’s completion column, total: the first complete column, else the
configured
done_column, else the literal"done"(WP09). - is_
compatible - The pure compatibility predicate behind
validate_transition. - is_
completed - The single completion decision (contract §4).
- lint_
direct_ edits - Report files whose
statuscontradicts their own History (contract §5, C-005). - resolution
- Build the resolution for
board. - validate_
config - Configuration findings across every board.
- validate_
transition - The single transition evaluation (contract §3).