This document defines the behavior, permissions, and guardrails for the automated velocity-bot system.
The velocity bot automates issue implementation using Claude Code. It triggers on:
- Label trigger: Adding the
velocitylabel to an issue - Command trigger: Commenting
/implementon an issue
Only repository OWNER, MEMBER, or COLLABORATOR can trigger the bot.
Issue trigger → check-trigger (ubuntu-latest) → implement (self-hosted, macOS, ARM64)
- check-trigger: Lightweight event filter, auth check, input sanitization
- implement: Claude Code execution, commit, PR creation
- File operations:
Read,Edit,Write,Grep,Glob - Git (read-only):
git diff,git log,git status,git show - Build/test:
pytest,python,maturin,cargo,ruff - Filesystem:
ls
- Network:
curl,wget,ssh,scp,WebFetch - Destructive:
rm -rf,rm -r,chmod 777,sudo - Secrets:
.env*,~/.ssh/*,~/.aws/*,~/.gnupg/*
| Guardrail | Value |
|---|---|
| Execution timeout | 30 minutes |
| Max Claude turns | 50 |
| Model | Claude Sonnet |
| Auth gating | OWNER / MEMBER / COLLABORATOR |
| Anti-loop | github.actor != 'claude[bot]' |
| Input sanitization | Strip HTML comments, invisible Unicode, 4000 char limit |
| Permission model | Explicit allowlist (not --dangerously-skip-permissions) |
| Label | Purpose |
|---|---|
velocity |
Trigger automation |
bot:in-progress |
Bot is actively working |
bot:pr-ready |
PR created, awaiting review |
bot:failed |
Execution failed |
bot:needs-help |
Needs human input |
- Bot makes conservative, focused changes
- Does not refactor unrelated code
- Does not push to main directly — always creates a PR
- All changes require human review before merge
- Bot posts failure details to the issue
bot:needs-helplabel signals human intervention needed- Check Actions run logs for debugging
To disable the bot:
- Remove the
velocitylabel from the issue - Delete or disable
.github/workflows/velocity-bot.yml - Revoke the
ANTHROPIC_API_KEYsecret
Weekly dashboard updates posted to a pinned "Velocity Bot Dashboard" issue. Metrics tracked: issues processed, PRs created, merge rate, failure categories.