Expand description
rk message: the content guards over a commit message, a title, or a
request body.
Two classes of finding are declared in blocks/message-guards:
attribution an agent left in the text, and a reference to a path the
target repository ignores — an internal artifact that would leak into
the permanent record. The release bot’s request is exempt from the
attribution class alone, recognized by exactly the title shape the
landed title check admits for the bot; the ignored-path class always
runs. The guard file owns the patterns; the matchers here implement
them by hand — the binary carries no regex engine — and a unit test
pins the file to the set the matchers cover, so a pattern edit and its
matcher move together.
A third class is a shape rather than a forbidden pattern, so it lives
here and not in the guard file: a subject whose scope falls outside
landing::SCOPE_SHAPE. The landed conventional-pre-commit hook
requires a scope but takes no pattern for it, so without this class a
scope the forge’s title check rejects passes at the desk.
A fourth class is the scope’s absence, judged only where the target’s
record names a release, because the changelog reads the scope. Under
release.mode = "none" a scope is preferred and not required, so a
Conventional Commit header with none passes.
Functions§
- guard_
patterns - The guard file’s
(class, pattern)lines, in order. - run
- Judge the text and report; exit 1 under
--checkwhen a finding stands.