{"record":{"id":"169862930940a0be","repo":"google-gemini/gemini-cli","slug":"missing-triage-metadata","errorCode":null,"errorMessage":"Missing 'triage_metadata'","messagePattern":"Missing 'triage_metadata'","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"tools/caretaker-agent/cloudrun/triage-worker/utils/validator.py","lineNumber":46,"sourceCode":"                    f\"Key '{field_name}' in '{section_name}' must be a list of \"\n                    f\"{element_type.__name__}\"\n                )\n        elif not isinstance(field_value, expected_type):\n            raise ValueError(\n                f\"Key '{field_name}' in '{section_name}' must be of type \"\n                f\"{expected_type.__name__}\"\n            )\n\ndef validate_triage_result(data: dict) -> None:\n    \"\"\"\n    Validates the structure of the LLM triage result.\n    Expects an already-parsed dictionary (json.loads is called upstream\n    by the triage orchestrator before invoking this validator).\n    Ensures required metadata, effort estimates, and nested schemas\n    are present when quality is OK.\n    \"\"\"\n    if \"triage_metadata\" not in data:\n        raise ValueError(\"Missing 'triage_metadata'\")\n        \n    metadata = data[\"triage_metadata\"]\n    valid_qualities = [\"SPAM\", \"EMPTY\", \"NEEDS_INFO\", \"FEATURE\", \"OK\"]\n    if metadata.get(\"quality\") not in valid_qualities:\n        raise ValueError(\n            f\"Invalid or missing 'quality': {metadata.get('quality')}\"\n        )\n\n    if metadata.get(\"quality\") == \"NEEDS_INFO\":\n        comment = metadata.get(\"comment\")\n        if not isinstance(comment, str) or not comment.strip():\n            metadata[\"comment\"] = (\n                \"Thank you for opening this issue! Additional information (such as \"\n                \"reproduction steps, environment details, or error logs) is required \"\n                \"to help us triage and investigate. Please provide any relevant details \"\n                \"so we can assist you.\"\n            )\n","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/google-gemini/gemini-cli/blob/5024443c7217464a66e98f80d73172a26440bd8f/tools/caretaker-agent/cloudrun/triage-worker/utils/validator.py#L28-L64","documentation":"Error \"Missing 'triage_metadata'\" thrown in google-gemini/gemini-cli.","triggerScenarios":"Thrown at tools/caretaker-agent/cloudrun/triage-worker/utils/validator.py:46 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5024443c7217464a66e98f80d73172a26440bd8f","analyzedAt":"2026-08-12T06:01:53.711Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}