0b89294af7
Two git hooks, tracked in .githooks and wired with core.hooksPath so a fresh clone gets them with one config line. pre-commit refuses master and refuses more than 300 changed lines in non-markdown files. Markdown is exempt because docs land as one batch. This is a commit-time guard, which diff-budget.sh is not: that hook blocks the agent's edits and says nothing when either of us commits. commit-msg requires (V-<id>), not (#<id>). Gitea autolinks # to its own issues, and Vikunja is the tracker. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>