--- name: codometer-triage description: Act on a codometer limit breach, a comment budget breach, a stale committed report, or a run that failed outright. Use when a codometer --check exits non-zero, when a size or count limit was breached, when a comment block ran past its word, line, or character budget, when a committed report reads stale against a fresh measurement even though nothing changed, when a limit fails to bind or an input matches no files, or before reaching for a repository's limit value to make a failing check pass. license: MIT --- # Acting on a codometer failure A `--check` run reports three different kinds of finding, and they call for three different responses. Reading which one occurred, rather than reacting to "the check failed," is most of this skill. ## A breach A metric went past a limit declared for it. The report names the metric, the limit's value, and its severity: - **`warn`** prints the breach and leaves the exit code alone. Nothing about the run fails; it is advance notice that a number is moving in a direction worth watching. - **`fail`** exits `1`, and only when the run asked `--check limits` for a gate at all — a `codometer measure --config ` measuring the same breach reports nothing wrong, because nothing asked it to gate. **The instinctive fix — raising the limit's `value` — is not an option.** The limit exists to keep a promise about the codebase's shape; loosening it on the same change that broke the promise erases the evidence the check existed to produce, and the next breach starts from a codebase that is already worse. Reduce what is actually being measured instead: - A size breach: shrink the input's own output — trim a dependency, split a bundle, delete dead code — rather than the number that reports it. The `codometer-configure` skill covers declaring an input and pointing it at compiled output correctly, which is a common reason a size looks larger than the code that produced it: an input measuring more than it should. - A convention-count breach (too many of something, or too few): the count is usually accurate — the fix is in the code the counter is watching, not in the counter's `value`. - A **comment budget** breach is a custom statistic like any other, gated by an ordinary `limits[]` entry against its `custom.