Runs Tack.RulesCheck over the working tree and fails the gate on any finding.
mix tack.rules_check [--tighten]Three checks: CLAUDE.md may not exceed its line budget; every paths: glob in
.claude/rules/*.md must match at least one file; and the number of lib/**/*.ex files no glob
covers may not exceed its budget. The budgets live in .claude/rules/BUDGET and are ratchets —
--tighten lowers each to today's measurement and never raises one. Raising a budget is a
deliberate edit to that file, visible in the diff.
Globs are expanded with Path.wildcard/2 against the working tree, dotfiles included, which is
what the harness sees too: an untracked file counts. The rationale for each check is on
Tack.RulesCheck; this task owns the IO.
A mix quality step; runs in CI.