A gate grades each finding block/warn/silence by its model-distance from the changed files.

Model-graded finding severity (distance-graded gate)

Intent — Grade each lint finding's severity — block, warn, or silence — by the finding's distance, in a typed component model, from the files the commit actually changed, computed by one central join the gate runs over every finding rather than by each lint scoping itself. The pre-commit hook reads the model at check time and dogfoods it to run a mechanism. (Our instance grades a governed-doc commit's deploy-scope lints against the component-and-zone model.)

SummaryA gate grades each finding block/warn/silence by its model-distance from the changed files.
TargetBridge · System models
Formquality-gate
EnforcementHard (deterministic) · blocking — findings at or adjacent to the change block the commit; the gate runs one central grader over every finding

Motivation — the failure it kills

A whole-tree lint reports findings from all over the tree. Two ways to gate on it both fail, and both recur:

The shared failure: findings graded uniformly wrong. The gate either over-blocks on unrelated findings or under-warns on relevant ones, and no single place owns the answer to "how close is this finding to what the commit changed?"

Why it's not just per-lint self-scoping, a severity config, or level-enforcement

Mechanism

The grade is additive-restrictive: it can only turn a would-block finding into a warn or a silence, never invent a block on unrelated work — HARD requires a real member of the changed set. A grader bug can at worst let an unrelated finding slip to the downstream backstop; it cannot fabricate a spurious block.

Prerequisites

Consequences & costs

Known uses

Related mechanisms