Skip to main content
Glama

Release Readiness Check

release_readiness_check
Read-onlyIdempotent

Check CI status, open bugs, CHANGELOG, release checklist, documentation, and rollback plan to identify blocking issues before release.

Instructions

Pre-release assessment: CI status, open bugs, CHANGELOG, release checklist, rollback template.

Required token scopes:

  • repo, or public_repo for public-only repos (checks, issues, and file contents access)

Args:

  • owner, repo: Repository coordinates.

  • baseRef (string?): Deprecated compatibility field; ignored.

  • headRef (string?): Branch, tag, or commit SHA to release (defaults to default branch).

  • pullNumber (number?): Uses the PR head commit for CI status.

Returns: isReady flag, blocking issues, CI status, docs check, release checklist, rollback template.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoNoGitHub repo. Falls back to GITHUB_REPO.
ownerNoGitHub owner. Falls back to GITHUB_OWNER.
baseRefNoDeprecated compatibility field; currently ignored.
headRefNoBranch, tag, or commit SHA to release. Defaults to default branch.
pullNumberNoIf provided, checks the PR's head commit CI status.
rollbackPlanEvidenceNoCaller-provided rollback runbook/reference and whether it was tested.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
repoYes
policyYes
headRefYes
isReadyYes
ciStatusYes
ciSummaryYes
hasChangelogYes
openBugCountYes
policyDigestYes
policySourcesYes
trustBoundaryNo
blockingIssuesYes
policyDegradedYes
headShaResolvedNo
appliedPolicyRulesYes
ciEvidenceIncompleteNo
rollbackPlanEvidenceYes
bugEvidenceIncompleteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.9.0
    • addedOutput schema / properties / bugEvidenceIncomplete
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / ciEvidenceIncomplete
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / headShaResolved
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / trustBoundary
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "callerAndRepositoryContent": {
      +      "const": "untrusted",
      +      "type": "string"
      +    },
      +    "instructionHandling": {
      +      "const": "never_execute",
      +      "type": "string"
      +    },
      +    "permissionHandling": {
      +      "const": "never_expand",
      +      "type": "string"
      +    },
      +    "secretHandling": {
      +      "const": "never_reveal",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "callerAndRepositoryContent",
      +    "instructionHandling",
      +    "secretHandling",
      +    "permissionHandling"
      +  ],
      +  "type": "object"
      +}
  2. Changed10 schema fields changedv1.8.0
    • changedInput schema / properties / baseRef / description
      Previous value: -"Base ref for comparison. Defaults to default branch."New value: +"Deprecated compatibility field; currently ignored."
    • changedInput schema / properties / headRef / description
      Previous value: -"Head ref to release. Defaults to default branch."New value: +"Branch, tag, or commit SHA to release. Defaults to default branch."
    • addedInput schema / properties / rollbackPlanEvidence
      Added value: +{
      +  "description": "Caller-provided rollback runbook/reference and whether it was tested.",
      +  "properties": {
      +    "reference": {
      +      "maxLength": 500,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "tested": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "reference",
      +    "tested"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / appliedPolicyRules
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "const": "repository",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / policy
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "defaultWorkType": {
      +      "enum": [
      +        "docs",
      +        "feature",
      +        "bugfix",
      +        "refactor",
      +        "security",
      +        "release",
      +        "infra"
      +      ],
      +      "type": "string"
      +    },
      +    "degraded": {
      +      "type": "boolean"
      +    },
      +    "found": {
      +      "type": "boolean"
      +    },
      +    "protectedPaths": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "releaseBlockingLabels": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "requireChangelog": {
      +      "type": "boolean"
      +    },
      +    "requireCodeOwnersForProtectedPaths": {
      +      "type": "boolean"
      +    },
      +    "requireIssueLink": {
      +      "type": "boolean"
      +    },
      +    "requireRollbackPlan": {
      +      "type": "boolean"
      +    },
      +    "requiredChecks": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "appId": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "const": "check_run",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "source",
      +          "appId"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "requiredReviewerRuleIds": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "riskRuleIds": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "schemaVersion": {
      +      "const": 1,
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "found",
      +    "degraded",
      +    "schemaVersion",
      +    "requiredChecks",
      +    "protectedPaths",
      +    "riskRuleIds",
      +    "requiredReviewerRuleIds",
      +    "releaseBlockingLabels",
      +    "requireIssueLink",
      +    "requireCodeOwnersForProtectedPaths",
      +    "requireChangelog",
      +    "requireRollbackPlan"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / policyDegraded
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / policyDigest
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / policySources
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "blobSha": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "digest": {
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "default",
      +          "repository"
      +        ],
      +        "type": "string"
      +      },
      +      "path": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "ref": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "path",
      +      "ref",
      +      "blobSha",
      +      "digest"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / rollbackPlanEvidence
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "reference": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "const": "caller",
      +          "type": "string"
      +        },
      +        "tested": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "reference",
      +        "tested",
      +        "source"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "repo",
      -  "headRef",
      -  "isReady",
      -  "ciStatus",
      -  "ciSummary",
      -  "openBugCount",
      -  "blockingIssues",
      -  "hasChangelog"
      -]New value: +[
      +  "repo",
      +  "headRef",
      +  "isReady",
      +  "ciStatus",
      +  "ciSummary",
      +  "openBugCount",
      +  "blockingIssues",
      +  "hasChangelog",
      +  "rollbackPlanEvidence",
      +  "policy",
      +  "policyDigest",
      +  "policySources",
      +  "appliedPolicyRules",
      +  "policyDegraded"
      +]
  3. First observedv1.5.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds value by detailing what the tool returns (blocking issues, rollback template, etc.) and required token scopes, complementing the annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a topic sentence, token scopes, parameter list, and return summary. Every sentence is necessary, no fluff, and information is front-loaded for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (6 params, nested object, output schema exists), the description covers the essentials: what it does, what it returns, and parameter behavior. Could be slightly more explicit about the output schema structure, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description goes beyond the schema by explaining fallbacks (owner/repo), deprecation (baseRef), and defaults (headRef default branch), adding practical context for parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it's a pre-release assessment and lists specific checks (CI status, open bugs, CHANGELOG, etc.), but does not explicitly differentiate from sibling tools like quality_gate_status or branch_protection_status, which could be confused.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides token scopes and parameter details, but lacks explicit guidance on when to use this tool versus alternatives. No comparative context is given, requiring the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.