fix: Exclude workflow types from bd ready by default (gt-7xtn)
merge-request, gate, molecule, and message types are internal workflow items processed by Refinery/Deacon, not work for polecats to claim. These are now excluded from bd ready unless explicitly requested via --type flag. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -935,6 +935,20 @@ func (m *MemoryStorage) GetReadyWork(ctx context.Context, filter types.WorkFilte
|
||||
continue
|
||||
}
|
||||
|
||||
// Type filtering (gt-7xtn)
|
||||
if filter.Type != "" {
|
||||
if string(issue.IssueType) != filter.Type {
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
// Exclude workflow types from ready work by default
|
||||
// These are internal workflow items, not work for polecats to claim
|
||||
switch issue.IssueType {
|
||||
case types.TypeMergeRequest, types.TypeGate, types.TypeMolecule, types.TypeMessage:
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
// Unassigned takes precedence over Assignee filter
|
||||
if filter.Unassigned {
|
||||
if issue.Assignee != "" {
|
||||
|
||||
@@ -33,6 +33,14 @@ func (s *SQLiteStorage) GetReadyWork(ctx context.Context, filter types.WorkFilte
|
||||
if filter.Type != "" {
|
||||
whereClauses = append(whereClauses, "i.issue_type = ?")
|
||||
args = append(args, filter.Type)
|
||||
} else {
|
||||
// Exclude workflow types from ready work by default (gt-7xtn)
|
||||
// These are internal workflow items, not work for polecats to claim:
|
||||
// - merge-request: processed by Refinery
|
||||
// - gate: async wait conditions
|
||||
// - molecule: workflow containers
|
||||
// - message: mail/communication items
|
||||
whereClauses = append(whereClauses, "i.issue_type NOT IN ('merge-request', 'gate', 'molecule', 'message')")
|
||||
}
|
||||
|
||||
if filter.Priority != nil {
|
||||
|
||||
Reference in New Issue
Block a user