githubclaw 0.2.2

Near-autonomous AI agents that manage open-source projects end-to-end using GitHub as the single source of truth.
Documentation
// Server
pub const DEFAULT_MAX_CONCURRENT_AGENTS: usize = 8;
pub const DEFAULT_MAX_CONCURRENT_ORCHESTRATORS: usize = 4;
pub const DEFAULT_MAX_CONCURRENT_WORKERS: usize = 8;
pub const GRACEFUL_DRAIN_TIMEOUT_SECONDS: f64 = 120.0;

// Process manager
pub const DEFAULT_PROCESS_TIMEOUT_SECONDS: u64 = 7200;
pub const MONITOR_CHECK_INTERVAL_SECONDS: u64 = 2;
pub const MONITOR_HISTORY_MINUTES: usize = 30;
pub const SIGTERM_GRACE_PERIOD_SECONDS: f64 = 10.0;
pub const GRACEFUL_DRAIN_POLL_SECONDS: f64 = 1.0;
pub const DEFAULT_GRACEFUL_DRAIN_SECONDS: f64 = 300.0;

// Scheduler
pub const SCHEDULER_CHECK_INTERVAL_SECONDS: u64 = 60;
pub const MAX_SCHEDULED_EVENT_RETRY_COUNT: u32 = 5;
pub const MAX_RESCHEDULE_ITERATIONS: u32 = 1000;

// Orchestrator session
pub const DEFAULT_IDLE_TIMEOUT_SECONDS: u64 = 1800; // SPEC value, not Python's 300
pub const IDLE_CHECK_INTERVAL_SECONDS: u64 = 30;
pub const SOCKET_MESSAGE_MAX_BYTES: usize = 10 * 1024 * 1024;
pub const SOCKET_LENGTH_PREFIX_BYTES: usize = 8;
pub const CONNECTION_TIMEOUT_SECONDS: f64 = 5.0;
pub const DEFAULT_ORCHESTRATOR_EVENT_TIMEOUT_SECONDS: f64 = 120.0;

// Queue
pub const DEFAULT_QUEUE_MAX_RETRY: u32 = 3;
pub const QUEUE_FILENAME_LABEL_MAX_LENGTH: usize = 60;

// Config defaults (SPEC values)
pub const DEFAULT_SERVER_PORT: u16 = 8000;
pub const DEFAULT_CONFIG_MAX_CONCURRENT_AGENTS: usize = 5;
pub const DEFAULT_GLOBAL_TIMEOUT_SECONDS: u64 = 7200;
pub const DEFAULT_ORCHESTRATOR_IDLE_TIMEOUT_SECONDS: u64 = 1800;
pub const DEFAULT_CONFIG_DRAIN_TIMEOUT_SECONDS: u64 = 300;
pub const DEFAULT_RECOVERY_PROBE_INTERVAL_SECONDS: u64 = 300;
pub const DEFAULT_CONFIG_MAX_RETRY: u32 = 3;

// SDK
pub const MESSAGE_HISTORY_WARNING_THRESHOLD: usize = 500;

// Tools
pub const GH_CLI_TIMEOUT_SECONDS: f64 = 30.0;
pub const SEARCH_QUERY_MAX_LENGTH: usize = 500;
pub const ISSUES_LIST_LIMIT: u32 = 50;
pub const PRS_LIST_LIMIT: u32 = 50;
pub const SEARCH_RESULTS_LIMIT: u32 = 30;

// Spawner
pub const DEFAULT_AGENT_MAX_TURNS: u32 = 200;

// Pipeline loop limits
pub const IMPLEMENTER_VERIFIER_MAX_LOOP: u32 = 10;
pub const IMPLEMENTER_REVIEWER_MAX_LOOP: u32 = 10;
pub const BUG_REPRODUCER_MAX_INFO_REQUESTS: u32 = 3;

// Agent types
pub const AGENT_ORCHESTRATOR: &str = "orchestrator";
pub const AGENT_IMPLEMENTER: &str = "implementer";
pub const AGENT_VERIFIER: &str = "verifier";
pub const AGENT_REVIEWER: &str = "reviewer";
pub const AGENT_VISION_GAP_ANALYST: &str = "vision-gap-analyst";
pub const AGENT_BUG_REPRODUCER: &str = "bug-reproducer";

/// All valid agent types.
pub const AGENT_TYPES: &[&str] = &[
    AGENT_ORCHESTRATOR,
    AGENT_IMPLEMENTER,
    AGENT_VERIFIER,
    AGENT_REVIEWER,
    AGENT_VISION_GAP_ANALYST,
    AGENT_BUG_REPRODUCER,
];