```python
def drive_bridge(commands: list) -> str:
    if not isinstance(commands, list):
        raise ValueError("Command must be a list.")
    
    span = "lowered"
    for command in commands:
        if command not in ["raise", "lower", "lock", "unlock"]:
            raise ValueError("Command must be one of 'raise', 'lower', 'lock', 'unlock'.")
        if span == command:
            span = "lowered"
        elif span == "lowered":
            span = "raised"
        elif span == "raised":
            if command == "unlock":
                span = "lowered"
        else:
            if command == "raise":
                span = "raised"
    
    return span
```