Chip-bucket count for Completed at frontend/src/history.ts:303-309 includes anything not pending/in-flight/failed/expired/cancelled (catch-all), but the chip filter at history.ts:574-580 returns s === 'completed' || !p.status which excludes partially_completed. Net effect: partially_completed rows count toward the Completed total but vanish when the chip is clicked.
QA observed (row 3.6) that "Completed" doesn't filter — likely a false positive on a test dataset where everything was already 'completed', OR the partially_completed exclusion bites in a real dataset.
Fix direction
Reproduce on a dataset with at least one non-completed row. Independent of repro: align chip bucket and filter for partially_completed — include in both (filter → s === 'completed' || s === 'partially_completed' || !p.status) or exclude from both (bucket → explicit branch).
Surfaced by QA spreadsheet row 3.6.
Chip-bucket count for Completed at
frontend/src/history.ts:303-309includes anything not pending/in-flight/failed/expired/cancelled (catch-all), but the chip filter athistory.ts:574-580returnss === 'completed' || !p.statuswhich excludespartially_completed. Net effect:partially_completedrows count toward the Completed total but vanish when the chip is clicked.QA observed (row 3.6) that "Completed" doesn't filter — likely a false positive on a test dataset where everything was already 'completed', OR the partially_completed exclusion bites in a real dataset.
Fix direction
Reproduce on a dataset with at least one non-completed row. Independent of repro: align chip bucket and filter for
partially_completed— include in both (filter →s === 'completed' || s === 'partially_completed' || !p.status) or exclude from both (bucket → explicit branch).Surfaced by QA spreadsheet row 3.6.