```python
def lap_best(laps: list) -> int:
    """The quickest completed lap of a session."""
    best = min((lap for lap in laps if lap > 0), default=0)
    return best
```

This fixes the bug by filtering out zero (uncompleted lap) values before finding the minimum. If no completed lap exists (all zeros or empty input), `default=0` ensures it returns 0 as specified.