Back to Projects

Ramune

A task graph for coding agents that manages dependencies, parallel execution, and integration into Git.

View on GitHub

Overview

Ramune manages coding-agent work as a dependency-aware task graph. It defines the roles and state transitions of planners, workers, and integrators as MCP tool contracts, covering ready-task selection, completion reporting, replanning, and Git integration.

Workers make changes in isolated Git worktrees and submit candidate commits. An integrator serializes verification and publication, keeping a single path into the canonical branch while work runs in parallel. Because the graph is persisted to a file rather than held in conversation history, an orchestrator or server can read the current state again after restarting.

What I Built

  • Dependency-Aware Task Graph

    Stores work as nodes and dependencies, then determines which tasks are ready to run.

  • Parallel Worker Coordination

    Assigns work to multiple workers and uses fences to reject stale completions and conflicting updates.

  • Isolated Git Work

    Builds changes in worker and integrator worktrees, verifies them, and publishes them to the canonical branch.

  • Graph Visualization

    Displays the persisted task graph and the current state of each node in a viewer.

Problems

  • Serializing task-state updates while multiple coding agents are running concurrently.
  • Integrating worker changes safely without writing directly to the canonical working tree.
  • Recovering from process termination using persisted state instead of conversation context.

Results

  • Defined claiming, completion, replanning, and integration as MCP tool contracts.
  • Implemented parallel execution in isolated worktrees with serialized integration.
  • Externalized task state and blockage details to .ramune/graph.json.