Add wave-based parallel subtask execution to /map-efficient#80
Conversation
Remove mem0 MCP integration entirely from the project: - Delete Curator agent (curator.md) and all mem0 tool references - Clean all 8 agent templates, 7 command files, docs, skills, tests - Remove ACE learning system references from plugin metadata - Delete obsolete files (tier3_integration_report.json, apply_tier3_deltas.py, playbook.json.backup, requirements-semantic.txt) - Update __init__.py to remove curator generator and mem0 allowlist Simplify map-review to always use thorough mode: - Remove BIG/SMALL mode selection menu - Always present top 4 issues per section Fix hook errors causing noise during agent work: - block-secrets.py: add SAFE_PATH_PREFIXES to stop blocking .claude/ framework files - safety-guardrails.py: narrow "token"/"password" patterns to file extensions only, add .claude/ dirs to safe prefixes, fix missing execute permission - settings.local.json: remove duplicate workflow-context-injector.py (matcher "*", timeout 1s) and duplicate end-of-turn.sh Stop hook All templates synced via make sync-templates. 635 passed, 1 skipped, 0 failures.
…ution to /map-efficient Introduce a "wave" concept for executing independent subtasks in parallel. The task-decomposer already outputs dependency DAGs; this change computes topological waves (Kahn's algorithm) and splits waves by file conflicts, enabling Actor and Monitor agents to run concurrently for independent subtasks. Changes: - dependency_graph.py: Add compute_waves() and split_wave_by_file_conflicts() - map_orchestrator.py: Add set_waves, get_wave_step, validate_wave_step, advance_wave commands with StepState wave fields (backward compatible) - map_step_runner.py: Add update_workflow_state_batch() for multi-subtask updates - workflow-gate.py: Support active_subtasks list for parallel wave mode - workflow-context-injector.py: Show wave progress in status line - map-efficient.md: Document wave computation and parallel execution loop - Tests: 50 new tests covering waves, file conflicts, orchestrator commands, and backward compatibility (668 passed, 1 skipped total) Linear DAGs degrade naturally to single-subtask waves (identical to current behavior).
|
Caution Review failedThe pull request is closed. ℹ️ Recent review infoConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (93)
📝 WalkthroughWalkthroughThis PR removes the Curator agent and eliminates the ACE Learning System with mem0 MCP (memory pattern storage), reducing the agent count from 12 to 11. All mem0-based pattern searches, storage operations, and Curator-mediated learning are removed across documentation, templates, and configs. Concurrently, wave-based parallel task execution and dependency graph analysis are introduced to the orchestration layer. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
/map-efficientworkflowcompute_waves()(Kahn's algorithm) andsplit_wave_by_file_conflicts()(greedy coloring) toDependencyGraphset_waves,get_wave_step,validate_wave_step,advance_wavewith backward-compatibleStepStatefieldsupdate_workflow_state_batch()for multi-subtask state updates in a single callworkflow-gate.pyto supportactive_subtaskslist for parallel wave modeworkflow-context-injector.pyto display wave progress in status linemap-efficient.mdHow it works
The task-decomposer already outputs
dependencies: [...]per subtask forming a DAG. This PR computes topological waves — groups of subtasks whose dependencies are all satisfied by prior waves. Within a wave, Actor and Monitor agents run in parallel via multipleTask()calls in a single message.Example:
ST-001(no deps) →ST-002(deps: ST-001) +ST-004(deps: ST-001) →ST-003(deps: ST-002, ST-004)Produces waves:
[["ST-001"], ["ST-002", "ST-004"], ["ST-003"]]Linear DAGs degrade to single-subtask waves (identical to current sequential behavior).
Test plan
TestComputeWaves: linear chain, fan-out, diamond, cycle detection, empty graph, multiple roots, dangling deps (8 tests)TestSplitWaveByFileConflicts: no overlap, partial overlap, all overlap, empty files, missing from map (7 tests)TestSetWaves: correct waves from blueprint, state persistence, missing blueprint, file conflict splitting (4 tests)TestGetWaveStep: parallel/sequential mode detection, completion, no-waves fallback (4 tests)TestValidateWaveStep: phase advancement, evidence gating (3 tests)TestAdvanceWave: index increment, completion, phase reset, error handling (4 tests)TestBackwardCompat: sequential flow without waves, state serialization, old state file loading (3 tests)Summary by CodeRabbit
Release Notes
New Features
Documentation
Removals