{"record":{"id":"68a52a7fcb48dd89","repo":"googleapis/mcp-toolbox","slug":"failed-to-validate-rules-w","errorCode":null,"errorMessage":"failed to validate rules: %w","messagePattern":"failed to validate rules: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/sources/firestore/firestore.go","lineNumber":525,"sourceCode":"\ttestRequest := &firebaserules.TestRulesetRequest{\n\t\tSource: &firebaserules.Source{\n\t\t\tFiles: []*firebaserules.File{\n\t\t\t\t{\n\t\t\t\t\tName:    \"firestore.rules\",\n\t\t\t\t\tContent: sourceParam,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t// We don't need test cases for validation only\n\t\tTestSuite: &firebaserules.TestSuite{\n\t\t\tTestCases: []*firebaserules.TestCase{},\n\t\t},\n\t}\n\t// Call the test API\n\tprojectName := fmt.Sprintf(\"projects/%s\", s.GetProjectId())\n\tresponse, err := s.FirebaseRulesClient().Projects.Test(projectName, testRequest).Context(ctx).Do()\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to validate rules: %w\", err)\n\t}\n\n\t// Process the response\n\tif len(response.Issues) == 0 {\n\t\treturn ValidationResult{\n\t\t\tValid:           true,\n\t\t\tIssueCount:      0,\n\t\t\tFormattedIssues: \"✓ No errors detected. Rules are valid.\",\n\t\t}, nil\n\t}\n\n\t// Convert issues to our format\n\tissues := make([]Issue, len(response.Issues))\n\tfor i, issue := range response.Issues {\n\t\tissues[i] = Issue{\n\t\t\tDescription: issue.Description,\n\t\t\tSeverity:    issue.Severity,\n\t\t\tSourcePosition: SourcePosition{","sourceCodeStart":507,"sourceCodeEnd":543,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/sources/firestore/firestore.go#L507-L543","documentation":"Error \"failed to validate rules: %w\" thrown in googleapis/mcp-toolbox.","triggerScenarios":"Thrown at internal/sources/firestore/firestore.go:525 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":"8cc6e09de2ad7b8bffc77751799585a1401a48eb","analyzedAt":"2026-09-05T01:10:36.887Z","contentChangedAt":"2026-09-05T01:10:36.887Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}