Skip to content

spike: orchestrator loop M3-M6 exploration#11

Draft
leandronsp wants to merge 16 commits into
mainfrom
feat/spike-banger
Draft

spike: orchestrator loop M3-M6 exploration#11
leandronsp wants to merge 16 commits into
mainfrom
feat/spike-banger

Conversation

@leandronsp
Copy link
Copy Markdown
Owner

Summary

  • Spike from orchestrator loop session that auto-implemented remaining roadmap (M3-M6)
  • Not for merging — history preservation only
  • Blueprint TOML, isolation (worktrees/ports/docker), quests, rituals, TUI, Phoenix LiveView, Akasha SQLite, resource monitoring, allowed-tools flag

Context

Orchestrator loop test where a Claude agent autonomously implemented M3-M6 features. Code is exploratory and untested as a whole — kept as reference for future milestone work.

🤖 Generated with Claude Code

…ment

Import orchestration infrastructure: 3 agents (scout, code-reviewer,
plan-reviewer), 3 contextual rules (git, testing, elixir), and 2 new
skills (learn, debug). Agents are read-only specialists that /dev wires
into its phases — scout for exploration, plan-reviewer for stress-testing
plans, code-reviewer for self-review after implementation.

Renamed /tdd to /dev and wired agent orchestration into its phases.
Merged /techdebt into /review as inline audit tables. Added shell script
review expertise (POSIX compliance, modularity, quoting) to both the
code-reviewer agent and /review skill. Added Shell Style section and
.claude/ directory to CLAUDE.md.
Move client API (get_logs, stop, kill, pause, info, etc.) from Mission
into Mission.Client. Split bin/overmind (314 lines) into bin/cli/helpers.sh
and bin/cli/commands.sh. Fix build_info field name mismatch
(activity_timeout → last_activity), cmd_attach error check order, and
cmd_run echo → printf.
Establish a balanced documentation convention across the codebase:
targeted comments on non-obvious logic (WHY, not WHAT) while keeping
self-documenting code uncommented. Add .claude/rules/shell.md for
POSIX shell conventions, mix smoke alias for daemon lifecycle checks,
and embed the convention in all agents, rules, and skills.
Port.open now strips CLAUDECODE and CLAUDE_CODE_ENTRYPOINT from child
processes, allowing Claude CLI to run as a subprocess inside Claude Code
sessions. This unblocks mix e2e and future Overmind skills.
Replace MIT with AGPL v3 for open-core model. Add aerial forest cover
image (credit: Ian @photoken123 on Unsplash) in multiple sizes. Rewrite
README with mycelium network metaphor and updated usage/roadmap.
…kill

M2.5 implements the building blocks for agent orchestration:

- Exit code storage in ETS so wait can return actual exit codes
- Monitor-based wait command (no polling/sleep) with timeout support
- Parent hierarchy via --parent flag with validation and name resolution
- ps --tree for hierarchy visualization, ps --children for filtering
- Depth-first kill --cascade that tears down entire subtrees
- Shell CLI: cmd_wait, --parent, --tree, --children, --cascade flags

Also fixes :json.encode encoding nil as "nil" string instead of JSON
null in pause/wait responses, which broke attach on sessions without
--cwd.
Extract ps/tree rendering into Overmind.Formatter (overmind.ex 231→155 lines),
fix O(n²) in render_tree, replace nested inline ifs with multi-clause helpers,
handle null exit_code in cmd_wait.
…overmind skill

Status command exposes daemon health (uptime, memory, process counts, mission
breakdown by status). Result command extracts structured output from completed
Claude missions. Missions now receive OVERMIND_MISSION_ID and OVERMIND_MISSION_NAME
env vars for self-awareness. API run response returns {id, name} instead of bare id.

The /overmind skill provides a system prompt template that launches a Claude session
as orchestrator — it decomposes tasks, spawns child agents, and runs a reconciliation
loop until all work converges. CLI gains --json flag on run, result command, status,
and live monitor.
…ashboard

Orchestrator loop spike that implemented remaining roadmap items:
- Blueprint TOML parsing and DAG-based agent spawning (M3)
- Full isolation: worktrees, port registry, Docker (M4)
- Quests and Rituals with cron scheduler (M3.5)
- k9s-inspired TUI with mission panels (M6)
- Phoenix LiveView web dashboard (M6)
- Resource monitoring (top command, CPU/MEM per mission)
- allowed_tools flag for autonomous Claude agents
- Akasha shared memory with SQLite (M5)
@leandronsp leandronsp changed the base branch from main to feat/orchestrator-loop March 3, 2026 01:16
Base automatically changed from feat/orchestrator-loop to main March 3, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant