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>
83 lines
2 KiB
YAML
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]
|