Expand description
git_blame_age — fire on lines matching a regex whose
git blame author-time is older than a configured threshold.
Same regex match shape as file_content_forbidden, but with
a per-line age gate: a TODO added yesterday passes silently;
a TODO that has sat in tree for 18 months fires. Closes the
gap between level: warning on every TODO (too noisy) and
level: off (accepts unbounded debt accumulation).
Outside a git repo, on untracked files, or when the blame
invocation otherwise fails, the rule silently no-ops per
file — same advisory posture as git_no_denied_paths and
git_commit_message. Heuristic notes (formatting passes
reset blame age, vendored code carries the import commit’s
timestamp, squash merges collapse to one date) are
documented in docs/rules.md and docs/design/v0.7/git_blame_age.md.
Check-only — auto-removing TODO markers is destructive and pinning a line’s content as “do nothing” doesn’t help.