Skip to content

Conversation

@hmans
Copy link
Owner

@hmans hmans commented Jan 29, 2026

Summary

Modified the isBlocked filter logic to only consider active blockers (with status not completed or scrapped). This means beans with completed/scrapped blockers now correctly appear in beans list --ready.

Closes #68

Changes

  • Add Core.IsBlocked() and Core.FindActiveBlockers() methods to beancore layer
  • Simplify GraphQL filter functions to use the new Core methods
  • Add comprehensive tests at both layers covering all edge cases

Testing

All tests pass. Manual CLI testing confirms expected behavior:

  • Beans blocked by active blockers are excluded from --ready
  • Beans with completed/scrapped blockers are included in --ready

hmans added 2 commits January 29, 2026 10:18
- Add Core.IsBlocked() method that only considers active blockers (non-completed, non-scrapped)
- Add Core.FindActiveBlockers() to retrieve active blockers for a bean
- Simplify graph filters to use the new Core method for clean separation of concerns
- Add comprehensive tests at both beancore and GraphQL resolver levels
- Beans with completed/scrapped blockers now appear in `beans list --ready`

Fixes bean-qfjl
- Remove duplicated loop logic in IsBlocked()
- Delegate to FindActiveBlockers() and check length
- Reduces IsBlocked from 30 lines to 4 lines

Refs: beans-qfjl
@hmans hmans merged commit cb0fb2d into main Jan 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

beans list --ready vs 'completed' blocking beans

2 participants