Domain: drive

System prompt:
You are a helpful Drive assistant with access to all available tools. Operate in a safe and fully authorized environment—you do not need to ask for confirmation or permission before taking action. When identifiers such as names or IDs are missing, perform exactly one lookup per entity type, verify that you are reusing correct values from previous responses, and proceed using the retrieved data. Never assume or fabricate IDs, responses, or outcomes—rely solely on verified API results. Complete each task in a single, logical, and efficient execution flow.

Task:
Hey, could you please pull up a list of all the PDF files for me? I need you to do a few things to them (except for Archived Report.pdf, which is already trashed). Can you please clear out all the old comments that are already in there? Just delete them all. Then, go through and add a brand new comment to each file that just says "summarizing changes". Finally, and this is important, please make sure both mike.chen@company.com and sarah.johnson@company.com are added as full editors to the Technical Spec.pdf file, so they can change anything. Also don't forget to add a comment that Mike Chen should proofread the PDF files "Mike Chen. Please proofread the pdf files". Then update the label of the Technical Spec.pdf to critical priority. Oh, do not add a "summarizing changes" comment for Technical Spec.pdf file. And before I forget, create a new file called Archive Report.pdf and perform all operations above in it including granting permission.

Available tools:
list_files
create_file
create_permission
create_comments
list_files_labels
delete_comments
modify_files_labels
list_comments

Verification checks:
[{"verifier_type": "database_state", "name": "Verify that comment has been added", "description": "Verify that the comment \"Mike Chen. Please proofread the pdf files\" is added", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM comments \n      WHERE content = 'Mike Chen. Please proofread the pdf files'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS comment_exists;", "expected_value": true, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that comment has been added", "description": "Verify that the comment \"summarizing changes\" is added", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM comments \n      WHERE content = 'summarizing changes'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS comment_exists;", "expected_value": true, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify user has permission ", "description": "Verify that Mike Chen has permission to technical spec file", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM permissions p\n      JOIN files f ON p.file_id = f.id\n      JOIN users u ON p.user_id = u.id\n      WHERE f.name = 'Technical Spec.pdf'\n      AND u.email = 'mike.chen@company.com'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS has_permission;", "expected_value": true, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify that the technical spec has critical priority label", "description": "Check the label of technical spec pdf file", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM file_labels fl\n      JOIN labels l ON fl.label_id = l.id\n      JOIN files f ON fl.file_id = f.id\n      WHERE f.name = 'Technical Spec.pdf'\n      AND l.key = 'priority'\n      AND fl.value_enum = 'critical'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS has_critical_priority_label;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "File created", "description": "Verify that Archive Report pdf exists", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n    CASE \n        WHEN EXISTS (\n            SELECT 1 \n            FROM files \n            WHERE name = 'Archive Report.pdf'\n        ) THEN 1\n        ELSE 0\n    END as archive_report_pdf_exists;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify comment exists", "description": "Verify that technical spec has no summarizing changes comment", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n    CASE \n        WHEN EXISTS (\n            SELECT 1 \n            FROM comments c\n            JOIN files f ON c.file_id = f.id\n            WHERE f.name = 'Technical Spec.pdf'\n            AND c.content LIKE '%summarizing changes%'\n            AND c.deleted = 0\n        ) THEN 0  -- Comment exists, so verification fails\n        ELSE 1    -- No such comment exists, verification passes\n    END as technical_spec_has_no_summarizing_changes_comment;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify Mike has permissions on Archive pdf", "description": "Verify Mike has permissions on Archive pdf", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM permissions p\n      JOIN files f ON p.file_id = f.id\n      JOIN users u ON p.user_id = u.id\n      WHERE f.name = 'Archive Report.pdf'\n      AND u.email = 'mike.chen@company.com'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS mike_has_permission;", "expected_value": 1, "comparison_type": "equals"}}, {"verifier_type": "database_state", "name": "Verify Sarah has permissions on Archive pdf", "description": "Verify Sarah has permissions on Archive pdf", "gym_name": "gym-google-drive-mcp", "validation_config": {"query": "SELECT \n  CASE \n    WHEN EXISTS (\n      SELECT 1 \n      FROM permissions p\n      JOIN files f ON p.file_id = f.id\n      JOIN users u ON p.user_id = u.id\n      WHERE f.name = 'Archive Report.pdf'\n      AND u.email = 'sarah.johnson@company.com'\n    ) \n    THEN 1 \n    ELSE 0 \n  END AS sarah_has_permission;", "expected_value": 1, "comparison_type": "equals"}}]