Draft
Conversation
Previously, GitStats() and IsRunning() were called synchronously during every render cycle, running shell commands (git, docker ps) multiple times per frame. Now these are loaded asynchronously and cached, making arrow key navigation instant.
- task package: phase tracking (planning/ready/executing/done), prompt injection - ralph loop: auto-restart claude until todos complete - tmux: pipe-pane logging, StartRalphLoop function - summary: haiku-powered summaries of claude activity, fallback to log parsing - grid: task status display, 'p' for pre-prompt, 'r' for ralph - git stats: fallback to local main when origin/main missing
- queue package: task queue with status workflow, priority sorting - queue init: populates queue with 23 tasks (existing branches + next-prompt.md tasks) - CLI commands: multi queue init/ls/status/add - max 10 concurrent containers
- dockerExecWithEnv helper passes API key if set - all docker exec calls updated to use this - enables automated claude execution without manual login
- processor.go: background worker that starts ready tasks - syncs queue status with task phase files - CLI commands: queue start (daemon), queue process (one-shot) - creates branches, starts containers, runs ralph loop automatically
- Add queue stats to status bar (running/ready/total tasks) - Add filter cycling with 'f' key (running → running+ready → active → all) - Show current filter in status bar - Load queue tasks on init and periodic refresh - Start queue processor automatically when TUI launches Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove 'r' key from TUI (queue auto-starts tasks) - Update help.go with queue-focused documentation - Update prompts.go to remove manual 'r' press references - Terminology: "automated execution loop" instead of "Ralph loop" The queue processor now handles all task execution automatically.
- Remove ~/.claude and ~/.claude.json mounts from containers - Remove oauth token injection (no longer needed) - Remove ensureClaudeSettings() function - Auth now handled entirely via ANTHROPIC_API_KEY passed through docker exec New containers will not have any claude config mounted. Existing containers still have the mounts but API key takes precedence.
Adds setup command to create /home/dark/.claude/settings.json with: - theme: dark - hasCompletedOnboarding: true - apiKeySource: env This skips the theme selection and API key prompts when Claude starts.
Queue now syncs with actual Docker container state on each tick. If a container is running but queue shows ready/needs-prompt, update to running status (if task has a prompt).
Queue processor now starts tasks without opening terminal windows. Use 'c' in TUI to view a running task's Claude session.
- Start all ready tasks at once up to limit (no 30s wait between) - Max concurrent now configurable via config file or env var - First-run prompts for max concurrent based on system resources - Fix cursor reset bug (was checking wrong array length)
- Read API key from config file, not just env var - Grid layout dynamically adjusts rows/cols based on screen size - Minimum cell size ensures readability - Navigation keys work with dynamic grid
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
multiis currently all sorts of broken. It's gotten too big without reasonable maintenance. I'm confident that if I merged this, it would break whatever flow @OceanOak has developed with it. Tomorrow+weekend, I need to review it, consider what the good parts are, and migrate a (much tidier) version of the app to Darklang.