- timmy-orchestrator.sh: 5-min cycle, assigns unassigned issues to claude,
reviews open PRs via qwen3:30b, merges/comments/closes as needed
- Single instance guard via pidfile
- ops-panel: shows Timmy status (Ollama model, last action)
- ops-helpers: ops-wake-timmy / ops-kill-timmy commands
- Timmy is the brain, Claude/Gemini/Kimi are the hands
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- claude-loop.sh: parallel dispatch loop (N workers, default 3) with
file-based locking, rate-limit detection + backoff, priority-sorted
issue picking across all Gitea repos, auto-merge on success
- ops-panel.sh: add Claude worker status, stats, and queue sections
- ops-helpers.sh: add ops-wake-claude, ops-kill-claude,
ops-assign-claude, ops-claude-queue commands
- ops-dashboard-v2.sh: 4-pane layout with dual Kimi + Claude feeds
- .gitignore: whitelist ops scripts for source control
- timmy-loopstat.sh: add to source control
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Two-pane tmux session with file-based message passing:
- tower-hermes.sh: Hermes side (cloud/Claude)
- tower-timmy.sh: Timmy side (HERMES_HOME=~/.timmy)
- tower-watchdog.sh: self-healing, restarts dead panes
- tower-session.sh: tmux bootstrap script
Communication via ~/.tower/*.msg files.
Both agents maintain named sessions (tower-hermes, tower-timmy)
for conversation continuity across restarts.