Previously compute_id was typed as str, so 'local' would pass MCP validation and reach the controller API where it crashed. Now uuid.UUID type ensures Pydantic rejects any non-UUID string before the handler runs.