```python
def climb_budget(tolls: list) -> int:
    """
    Calculate the minimum cost to climb a scaffold given its tolls.
    
    Parameters:
    tolls (list): A list of strings representing the tolls on each rung.
    
    Returns:
    int: The minimum cost to climb the scaffold.
    
    Raises:
    ValueError: If a toll contains non-digit characters or a leading zero.
    """
    if not tolls:
        return 0
    
    # Validate tolls
    for i, toll in enumerate(tolls):
        if not toll.isdigit() or (toll.startswith('0') and len(toll) > 1):
            raise ValueError(f"Invalid toll at position {i}: {toll}")
    
    # Convert tolls to integers
    tolls = [int(toll) for toll in tolls]
    
    # Initialize the cost array
    cost = [0] * len(tolls)
    
    # Base cases
    cost[0] = tolls[0]
    if len(tolls) == 1:
        return cost[0]
    
    # Fill the cost array
    for i in range(1, len(tolls)):
        cost[i] = min(cost[i - 1], cost[i - 2]) + tolls[i]
    
    return cost[-1]
```