pub fn lint_message(
message: &str,
rules: &CommitRules,
valid_scopes: &[ScopeDefinition],
) -> Vec<CommitIssue>Expand description
Runs every deterministic rule against message.
Returns the issues found (empty = passes cleanly). Pure — no git, no
I/O; rules and valid_scopes are supplied by the caller (already
resolved/merged, e.g. via crate::claude::context::load_project_scopes
/ crate::claude::context::load_commit_rules).