Filter Find Work by repository and label #681

Closed
opened 2026-08-12 21:20:58 +00:00 by timmy · 0 comments
Owner

Problem

Find Work retains a ranked catalog of up to 500 issues, but mobile operators can only search repository/title/number. Labels are visible yet cannot be used to narrow the catalog, forcing manual page scanning before Fill Today.

Slice

Add repository and label facets that filter the retained catalog before pagination, compose with text search, and remain usable on phone widths. Preserve valid cross-page selections and ensure Fill Today consumes only filtered ranked matches.

Acceptance criteria

  • Repository and label filters apply before pagination and return truthful total/has_more.
  • Multiple values within a facet use OR; repository and label facets combine with AND.
  • Available facet values come from the retained catalog and requests are bounded/validated.
  • Search composes with facets; changing facets returns to page 1 without mutating work.
  • Mobile controls are accessible, touch-sized, wrapping, and have no horizontal overflow.
  • Behavioral API/controller/frontend tests and full suite pass.

Evidence / non-duplication

Current src/main.py::_available_issue_page only filters text; frontend/pick-work.js only serializes q; labels are rendered but not actionable. Historical issue/PR title review found no repository/label Find Work facets. #673 is text search; #669/#671/#675/#677/#679 cover selection, batch claim, capacity, fill, and recovery rather than facets.

## Problem Find Work retains a ranked catalog of up to 500 issues, but mobile operators can only search repository/title/number. Labels are visible yet cannot be used to narrow the catalog, forcing manual page scanning before Fill Today. ## Slice Add repository and label facets that filter the retained catalog before pagination, compose with text search, and remain usable on phone widths. Preserve valid cross-page selections and ensure Fill Today consumes only filtered ranked matches. ## Acceptance criteria - Repository and label filters apply before pagination and return truthful total/has_more. - Multiple values within a facet use OR; repository and label facets combine with AND. - Available facet values come from the retained catalog and requests are bounded/validated. - Search composes with facets; changing facets returns to page 1 without mutating work. - Mobile controls are accessible, touch-sized, wrapping, and have no horizontal overflow. - Behavioral API/controller/frontend tests and full suite pass. ## Evidence / non-duplication Current `src/main.py::_available_issue_page` only filters text; `frontend/pick-work.js` only serializes `q`; labels are rendered but not actionable. Historical issue/PR title review found no repository/label Find Work facets. #673 is text search; #669/#671/#675/#677/#679 cover selection, batch claim, capacity, fill, and recovery rather than facets.
timmy self-assigned this 2026-08-12 21:20:58 +00:00
timmy closed this issue 2026-08-12 21:35:48 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#681
No description provided.