-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
π― Summary
Integrate Beads - a lightweight git-based issue tracker designed for AI agents - to replace Smart Ralph's linear task execution with dependency-aware parallel execution.
β οΈ Breaking Change: This would be a major architectural change targeting v3.0
π Why Beads?
| Current Smart Ralph | With Beads |
|---|---|
Linear task list with [P] markers |
True dependency DAG with blocks relationships |
Custom .ralph-state.json management |
Git-native state via JSONL (auto-sync) |
| Manual parallel task detection | bd list --ready finds all unblocked tasks in ~10ms |
Large .progress.md context loading |
bd prime provides compact 1-2k token context |
| Custom completion verification | bd doctor detects orphaned work automatically |
| Race conditions with parallel temp files | Hash-based IDs prevent collisions |
π Key Benefits
1. Smarter Parallel Execution
Current: Linear scan for [P] markers
1.1 β 1.2 β [P]1.3 β [P]1.4 β 1.5
With Beads: True dependency resolution
1.1 ββblocksβββΊ 1.2 ββblocksβββ¬βββΊ 1.3 βββ
β βββblocksβββΊ 1.5
ββββΊ 1.4 βββ
bd list --ready automatically returns [1.3, 1.4] when 1.2 completes
2. Simplified State Management
# No more custom state file parsing
bd list --ready --json # What can run now?
bd show $ID --json # Task details
bd close $ID # Mark complete
bd sync # Push state to git3. Better Context Efficiency
bd prime: ~1-2k tokens of structured workflow context- vs. reading entire
.progress.mdwhich can grow unbounded
4. Built-in Audit Trail
git commit -m "feat(auth): implement OAuth2 (bd-a3f8e9)"
# β issue ID in commit5. Cross-Spec Tracking
bd create --title "user-auth" --related bd-xyz789
# Native relationship tracking replaces relatedSpecs arrayπ§ Proposed Changes
Phase 1: Non-Breaking Additions
- Add
bd synctoALL_TASKS_COMPLETEprotocol - Include Beads issue IDs in commit messages
- Use
bd doctorfor completion verification
Phase 2: Task Management (Breaking)
task-plannercreates Beads issues with--blocksrelationships- Coordinator uses
bd list --readyinstead oftaskIndex - Replace
.ralph-state.jsonwith Beads as source of truth
Phase 3: Context Optimization
- Inject
bd primeoutput into spec-executor context - Store learnings in Beads issue notes vs
.progress.md
π Migration Path
- v2.x: Add optional Beads support (feature flag)
- v3.0: Beads becomes default, legacy mode deprecated
- v3.1+: Remove legacy
.ralph-state.jsonsupport
π References
π¬ Discussion
Looking for feedback on:
- Is the migration path reasonable?
- Should we support both modes long-term or fully migrate?
- Any concerns about adding Beads as a dependency?
cc @tzachbon
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels