{
"issueNumber": 51,
"branchName": "feat/51-fix-pipeline-filters",
"generatedAt": "2026-04-02T12:00:00Z",
"stories": [
{
"id": "S1",
"title": "Replace window.location.href with useRouter().push() and add blur guard to prevent double navigation on Enter+blur for text inputs",
"priority": 1,
"dependsOn": [],
"acceptanceCriteria": [
"All window.location.href assignments in PipelinePageInner replaced with router.push()",
"useRouter imported from next/navigation and instantiated",
"enterPressedRef prevents onBlur from navigating when Enter already triggered navigation",
"Typing a repo name and pressing Enter navigates to ?repo=<value>&page=1",
"Typing a directive and blurring navigates to ?directive=<value>&page=1",
"Both filters combine with AND logic — tasks must match both",
"Filter values persist in URL across pagination",
"Clearing a filter removes the query param",
"Empty state shows 'No tasks match the current filters' when filters are active",
"Status dropdown continues to work correctly",
"npm run build passes",
"npm run lint passes"
],
"passes": false,
"completedAt": null
}
]
}