google-gemini/gemini-cli · error · ValueError

Invalid or missing 'quality': {metadata.get('quality')}

Error message

Invalid or missing 'quality': {metadata.get('quality')}

What it means

Error "Invalid or missing 'quality': {metadata.get('quality')}" thrown in google-gemini/gemini-cli.

Source

Thrown at tools/caretaker-agent/cloudrun/triage-worker/utils/validator.py:51

                f"Key '{field_name}' in '{section_name}' must be of type "
                f"{expected_type.__name__}"
            )

def validate_triage_result(data: dict) -> None:
    """
    Validates the structure of the LLM triage result.
    Expects an already-parsed dictionary (json.loads is called upstream
    by the triage orchestrator before invoking this validator).
    Ensures required metadata, effort estimates, and nested schemas
    are present when quality is OK.
    """
    if "triage_metadata" not in data:
        raise ValueError("Missing 'triage_metadata'")
        
    metadata = data["triage_metadata"]
    valid_qualities = ["SPAM", "EMPTY", "NEEDS_INFO", "FEATURE", "OK"]
    if metadata.get("quality") not in valid_qualities:
        raise ValueError(
            f"Invalid or missing 'quality': {metadata.get('quality')}"
        )

    if metadata.get("quality") == "NEEDS_INFO":
        comment = metadata.get("comment")
        if not isinstance(comment, str) or not comment.strip():
            metadata["comment"] = (
                "Thank you for opening this issue! Additional information (such as "
                "reproduction steps, environment details, or error logs) is required "
                "to help us triage and investigate. Please provide any relevant details "
                "so we can assist you."
            )

    if metadata.get("quality") == "OK":
        effort = metadata.get("effort_estimate")
        if effort not in ["SMALL", "MEDIUM", "LARGE"]:
            raise ValueError(
                f"Invalid or missing 'effort_estimate': {effort}"

View on GitHub (pinned to 5024443c72)

When it happens

Trigger: Thrown at tools/caretaker-agent/cloudrun/triage-worker/utils/validator.py:51 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of google-gemini/gemini-cli@5024443c72 (2026-08-12). Data as JSON: /api/errors/f60c4bced5af276a. Report an issue: GitHub.