Depends on: Issue 1, Issue 3, Issue 4, Issue 5, Issue 6
Wire extractKey, grouping, deriveStatus, and resolvePerson (Issues
1/3) together into one function that takes the combined output of all
three providers (Issues 4–6) and produces Ticket[]. See §4.
Acceptance criteria
Depends on: Issue 1, Issue 3, Issue 4, Issue 5, Issue 6
Wire
extractKey, grouping,deriveStatus, andresolvePerson(Issues1/3) together into one function that takes the combined output of all
three providers (Issues 4–6) and produces
Ticket[]. See §4.Acceptance criteria
Ticketwith two
itemsTicket.statusis deduced correctly for at least the todo/open,in_progress/open, and in_progress/merged cases
Ticket.assignees/reviewersare dedupedPerson[], not raw refsTicket