Fix beads-rust epic filtering and parallel config loading#300
Fix beads-rust epic filtering and parallel config loading#300subsy merged 4 commits intosubsy:mainfrom
Conversation
Two bugs that caused ralph-tui to pick wrong tasks when using beads-rust tracker with --epic or TUI epic selection: 1. BeadsRustTrackerPlugin was missing setEpicId() method. When user selected an epic via TUI, the cached tracker instance never got the epicId set, so getTasks/getNextTask returned all tasks from every milestone instead of filtering to the selected epic's children. 2. mergeConfigs() in config/index.ts did not handle the parallel key, so [parallel] config from project config.toml was silently dropped. This meant mode = "never" had no effect.
|
@dvic is attempting to deploy a commit to the plgeek Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughAdds shallow-merge support for a top-level Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
No actionable comments were generated in the recent review. 🎉 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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #300 +/- ##
=======================================
Coverage 44.47% 44.48%
=======================================
Files 96 96
Lines 30148 30153 +5
=======================================
+ Hits 13409 13414 +5
Misses 16739 16739
🚀 New features to boost your workflow:
|
|
thanks @dvic good catch |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@src/plugins/trackers/builtin/beads-rust/index.test.ts`:
- Around line 1102-1141: Two nearly identical tests named "getPrdContext
excludes tombstoned dependents from child counts" duplicate coverage; remove one
to avoid redundancy. Delete the duplicate test block that constructs a
BeadsRustTrackerPlugin, initializes it with epicId 'epic-tombstone-assert' (or
the other similar epic id), sets up the same mockSpawnResponses/read content,
calls plugin.getPrdContext(), and asserts completedCount: 2 and totalCount: 3;
keep a single canonical test for this behaviour and ensure the remaining test
still references BeadsRustTrackerPlugin and getPrdContext so tombstone filtering
is covered once.
Summary
setEpicId(): When a user selected an epic via the TUI, the cached tracker instance never received the epic ID. This causedgetTasks()andgetNextTask()to return all tasks from every milestone instead of filtering to the selected epic's children.mergeConfigs()dropsparallelconfig: The[parallel]section from projectconfig.tomlwas silently ignored becausemergeConfigs()inconfig/index.tsnever handled theparallelkey. Settingmode = "never"had no effect.Test plan
ralph-tui run, select an epic via TUI — verify only that epic's subtasks appear in the task listralph-tui run --epic <id>— verify same filtering[parallel] mode = "never"in project config.toml — verify sequential executionbun test src/plugins/trackers/builtin/beads-rust/index.test.ts— 35/35)Summary by CodeRabbit
New Features
Tests