agent/config/agents.yaml
Snider 90b03191b2 feat(agent): v0.2.0 — HTTP daemon, remote dispatch, review queue, verify+merge
Major additions:
- core-agent serve: persistent HTTP daemon with PID file, health check, registry
- agentic_dispatch_remote: dispatch tasks to remote agents (Charon) over MCP HTTP
- agentic_status_remote: check remote agent workspace status
- agentic_mirror: sync Forge repos to GitHub mirrors with file count limits
- agentic_review_queue: CodeRabbit/Codex review queue with rate-limit awareness
- verify.go: auto-verify (run tests) + auto-merge + retry with rebase + needs-review label
- monitor sync: checkin API integration for cross-agent repo sync
- PostToolUse inbox notification hook (check-notify.sh)

Dispatch improvements:
- --dangerously-skip-permissions (CLI flag changed)
- proc.CloseStdin() after spawn (Claude CLI stdin pipe fix)
- GOWORK=off in agent env and verify
- Exit code / BLOCKED.md / failure detection
- Monitor poke for instant notifications

New agent types:
- coderabbit: CodeRabbit CLI review (--plain --base)
- codex:review: OpenAI Codex review mode

Integrations:
- CODEX.md: OpenAI Codex conventions file
- Gemini extension: points at core-agent MCP (not Node server)
- Codex config: core-agent MCP server added
- GitHub webhook handler + CodeRabbit KPI tables (PHP)
- Forgejo provider for uptelligence webhooks
- Agent checkin endpoint for repo sync

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:45:04 +00:00

83 lines
2 KiB
YAML

version: 1
# Dispatch concurrency control
dispatch:
# Default agent type when not specified
default_agent: claude
# Default prompt template
default_template: coding
# Workspace root (relative to this file's parent)
workspace_root: .core/workspace
# Per-agent concurrency limits (0 = unlimited)
concurrency:
claude: 5
gemini: 1
codex: 1
local: 1
# Rate limiting / quota management
# Controls pacing between task dispatches to stay within daily quotas.
# The scheduler calculates delay based on: time remaining in window,
# tasks remaining, and burst vs sustained mode.
rates:
gemini:
# Daily quota resets at this time (UTC)
reset_utc: "06:00"
# Maximum requests per day (0 = unlimited / unknown)
daily_limit: 0
# Minimum delay between task starts (seconds)
min_delay: 30
# Delay between tasks when pacing for sustained use (seconds)
sustained_delay: 120
# Hours before reset where burst mode kicks in
burst_window: 3
# Delay during burst window (seconds)
burst_delay: 30
claude:
reset_utc: "00:00"
daily_limit: 0
min_delay: 0
sustained_delay: 0
burst_window: 0
burst_delay: 0
coderabbit:
reset_utc: "00:00"
daily_limit: 0
# CodeRabbit enforces its own rate limits (~8/hour on Pro)
# The CLI returns retry-after time which we parse dynamically.
# These are conservative defaults for when we can't parse.
min_delay: 300
sustained_delay: 450
burst_window: 0
burst_delay: 300
codex:
reset_utc: "00:00"
daily_limit: 0
min_delay: 60
sustained_delay: 300
burst_window: 0
burst_delay: 60
# Agent identities (which agents can dispatch)
agents:
cladius:
host: local
runner: claude
active: true
roles: [dispatch, review, plan]
athena:
host: local
runner: claude
active: true
roles: [worker]
charon:
host: 10.69.69.165
runner: claude
active: true
roles: [worker, review]
clotho:
host: remote
runner: claude
active: false
roles: [worker]