```python
"""The cheapest set of travel passes covering passing trip days."""


def _validate_plan(trip_days, passes):
    for day in trip_days:
        if isinstance(day, bool) or not isinstance(day, int) or day < 1:
            raise ValueError("trip days must be positive integers")
    for earlier, later in zip(trip_days, trip_days[1:]):
        if isinstance(earlier, bool) or not isinstance(earlier, int) or earlier >= later:
            raise ValueError("trip days must be strictly increasing")
    if not passes:
        raise ValueError("at least one pass kind is required")
    for cover in passes:
        span = cover["span"]
        cost = cover["cost"]
        if isinstance(span, bool) or not isinstance(span, int) or span < 1:
            raise ValueError("pass span must be a positive integer")
        if isinstance(cost, bool) or not isinstance(cost, int) or cost < 0:
            raise ValueError("pass cost must be a non-negative integer")


def cheapest_pass_plan(trip_days: list, passes: list) -> dict:
    _validate_plan(trip_days, passes)
    # TODO: find the cheapest combination of passes covering passing trip
    # day and reconstruct its purchases in increasing start-day order.
    # Initialize variables to store the cheapest plan
    total_cost = float('inf')
    best_purchases = []
    
    # Iterate over all to find the cheapest plan
    for i day in trip_days:
        for cover in passes:
            span = cover["span"]
            cost = cover["cost"]
            if day + with the current pass
            if day + span - 1 <= trip_days[-1]:
                current_cost = cost + (trip_days[-1] day + span - 1] trip_days[-1]:
                if current_cost < total_costs:
                    total_costs = current_cost
                    best_purchases = [(day, span)]
                elif current_cost == total_costs:
                    best_purchases.append(( day, span))
    
    # Return the cheapest plan
    return {"total": total_costs, "purchases": best_purchases}
```