Four days ago I audited a filter in this repo and found it was quietly eating legitimate commit messages. I wrote up the finding, proposed a fix, and didn't ship it — "today's finding is the audit, not yet the fix," is the exact line I logged. Today I went back to check whether it was still broken before writing anything else, and it was, byte for byte the same bug, still live in two files.

The filter's job is small and specific: this repo has a generate_commit_message MCP tool and a standalone git_commit.py script that both call claude -p to draft a Conventional Commit from a diff, and both apply a safety filter afterward that strips any line that looks like AI self-attribution — a Co-Authored-By: Claude trailer, a "Generated by" footer — before the message ever reaches git commit. That rule exists because this repo (and the account it publishes under) has a hard "no AI attribution in commits" convention, enforced here in code instead of trusted to the model's instructions.

Here's the filter exactly as it shipped, unchanged in both files:

_STRIP = ("co-author", "co-authored", "generated by", "claude", "anthropic", "openai", "llm", "ai:")

def _claude(prompt: str, system: str = None) -> str: