diff --git a/conductor/tracks.md b/conductor/tracks.md index 2f29c58..050ce51 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -32,6 +32,10 @@ This file tracks all major tracks for the project. Each track has its own detail 6. [ ] **Track: Expanded Test Coverage and Stress Testing** *Link: [./tracks/test_coverage_expansion_20260309/](./tracks/test_coverage_expansion_20260309/)* +7. [ ] **Track: Beads Mode Integration** + *Link: [./tracks/beads_mode_20260309/](./tracks/beads_mode_20260309/)* + *Goal: Integrate Beads (git-backed graph issue tracker) as an alternative backend for MMA implementation tracks and tickets.* + --- ### GUI Overhauls & Visualizations diff --git a/conductor/tracks/beads_mode_20260309/index.md b/conductor/tracks/beads_mode_20260309/index.md new file mode 100644 index 0000000..8065600 --- /dev/null +++ b/conductor/tracks/beads_mode_20260309/index.md @@ -0,0 +1,5 @@ +# Track beads_mode_20260309 Context + +- [Specification](./spec.md) +- [Implementation Plan](./plan.md) +- [Metadata](./metadata.json) diff --git a/conductor/tracks/beads_mode_20260309/metadata.json b/conductor/tracks/beads_mode_20260309/metadata.json new file mode 100644 index 0000000..f09c557 --- /dev/null +++ b/conductor/tracks/beads_mode_20260309/metadata.json @@ -0,0 +1,8 @@ +{ + "track_id": "beads_mode_20260309", + "type": "feature", + "status": "new", + "created_at": "2026-03-09T23:45:00Z", + "updated_at": "2026-03-09T23:45:00Z", + "description": "Add support for beads as a git-backed graph issue tracker alternative to native MMA tracking." +} diff --git a/conductor/tracks/beads_mode_20260309/plan.md b/conductor/tracks/beads_mode_20260309/plan.md new file mode 100644 index 0000000..3202a93 --- /dev/null +++ b/conductor/tracks/beads_mode_20260309/plan.md @@ -0,0 +1,27 @@ +# Implementation Plan: Beads Mode Integration + +## Phase 1: Environment & Core Configuration +- [ ] Task: Audit existing `AppController` and `project_manager.py` for project mode handling. +- [ ] Task: Write Tests: Verify `manual_slop.toml` can parse and store the `execution_mode` (native/beads). +- [ ] Task: Implement: Add `execution_mode` toggle to `AppController` state and persistence logic. +- [ ] Task: Conductor - User Manual Verification 'Phase 1: Environment & Core Configuration' (Protocol in workflow.md) + +## Phase 2: Beads Backend & Tooling +- [ ] Task: Write Tests: Verify a basic Beads/Dolt repository can be initialized and queried via a Python wrapper. +- [ ] Task: Implement: Create `src/beads_client.py` to interface with the `bd` CLI or direct Dolt SQL backend. +- [ ] Task: Write Tests: Verify agents can create and update Beads using a mock Beads environment. +- [ ] Task: Implement: Add a suite of MCP tools (`bd_create`, `bd_update`, `bd_ready`, `bd_list`) to `src/mcp_client.py`. +- [ ] Task: Conductor - User Manual Verification 'Phase 2: Beads Backend & Tooling' (Protocol in workflow.md) + +## Phase 3: GUI Integration & Visual DAG +- [ ] Task: Write Tests: Verify the Visual DAG can load node data from a non-markdown source (Beads graph). +- [ ] Task: Implement: Refactor `_render_mma_dashboard` and the DAG renderer to pull from the active mode's backend. +- [ ] Task: Implement: Add a "Beads" tab to the MMA Dashboard for browsing the raw Dolt-backed issue graph. +- [ ] Task: Implement: Update Tier Streams to include metadata for Beads-specific status changes. +- [ ] Task: Conductor - User Manual Verification 'Phase 3: GUI Integration & Visual DAG' (Protocol in workflow.md) + +## Phase 4: Context Optimization & Polish +- [ ] Task: Write Tests: Verify that "Compaction" correctly summarizes completed Beads into a concise text block. +- [ ] Task: Implement: Add Compaction logic to the context aggregation pipeline for Beads Mode. +- [ ] Task: Implement: Final UI polish, icons for Bead nodes, and robust error handling for missing `dolt`/`bd` binaries. +- [ ] Task: Conductor - User Manual Verification 'Phase 4: Context Optimization & Polish' (Protocol in workflow.md) diff --git a/conductor/tracks/beads_mode_20260309/spec.md b/conductor/tracks/beads_mode_20260309/spec.md new file mode 100644 index 0000000..27eca2d --- /dev/null +++ b/conductor/tracks/beads_mode_20260309/spec.md @@ -0,0 +1,39 @@ +# Specification: Beads Mode Integration + +## Overview +Introduce "Beads Mode" as a first-class, project-specific alternative to the current markdown-based implementation tracking (Native Mode). By integrating with [Beads](https://github.com/steveyegge/beads), Manual Slop will gain a distributed, git-backed graph issue tracker that allows Implementation Tracks and Tickets to be versioned alongside the codebase using Dolt. + +## Functional Requirements +- **Execution Modes:** + - **Native Mode (Default):** Continues using `conductor/tracks.md` and `/plan.md` for task management. + - **Beads Mode:** Uses a local `.beads` repository (backed by Dolt) to store the task graph. +- **Project-Level Configuration:** + - Add a `mode = "native" | "beads"` toggle to the `[project]` section of `manual_slop.toml`. + - This setting is intended to be set during project initialization and remain stable. +- **Data Mapping:** + - **Tracks as Epics:** Each implementation track maps to a top-level Bead. + - **Tickets as Sub-beads:** Plan tasks and sub-tasks map to hierarchical Beads (using dot notation). + - **Dependencies:** Map task dependencies to Beads' semantic relationships (`blocks`, `relates_to`). +- **Agent Integration:** + - **Beads Toolset:** Implement a new MCP toolset (e.g., `bd_create`, `bd_update`, `bd_ready`, `bd_list`) that allows agents to interact directly with the Beads graph. + - **Compaction Logic:** Utilize Beads' compaction/summarization feature to feed agents a concise summary of completed work while keeping the context window focused on the active task. +- **GUI Integration (MMA Dashboard):** + - **Augmented Visual DAG:** Ensure the `imgui-node-editor` can visualize nodes from the Beads graph when in Beads Mode. + - **Beads Tab:** Add a dedicated "Beads" panel/tab within the Operations Hub or MMA Dashboard to browse the Dolt-backed graph. + - **Stream Integration:** Tier streams should display Bead IDs and status updates in real-time. + +## Non-Functional Requirements +- **Prerequisites:** Users must have the `bd` CLI and `dolt` installed to use Beads Mode. +- **Sync Integrity:** Ensure the GUI state remains synchronized with the local Dolt database. +- **Performance:** Browsing large task graphs must not impact GUI responsiveness. + +## Acceptance Criteria +- [ ] A project can be toggled to "Beads Mode" in its TOML configuration. +- [ ] Creating a new track in Beads Mode initializes a corresponding Epic Bead. +- [ ] The Visual DAG correctly renders nodes and links queried from the Beads backend. +- [ ] Agents can successfully query for "ready" tasks and update their status using Beads-specific tools. +- [ ] Completed tasks are automatically summarized using the compaction protocol before being sent to agent context. + +## Out of Scope +- Hosting a central Beads/Dolt server (focus is on local distributed tracking). +- Converting existing Native Mode projects to Beads Mode automatically (initial implementation focus).