Skip to main content
Glama

Opsphere — DevOps & SRE Intelligence

Server Details

DevOps, SRE, and QA intelligence for Cursor — investigate bugs, assess release readiness, search logs, triage outages, diagnose failed CI, check deployments, and query connected cloud platforms. Secure remote MCP with OAuth2 and read-only QA subagents.

Ownership verified
Status
Healthy
Uptime
46.5% over 41 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

C2.9/5.0

Scored across 260 tools

Disambiguation2/5

With 260 tools, many overlap heavily: aws_sso_login, aws_sso_login_remote, aws_sso_login_device_start/poll, and aws_sso_login_global_start/poll all serve the same purpose; azure_user_login_start/poll and check_azure_session_* similarly overlap. Multiple environment summary tools (env_health_summary, env_errors_overview, observability_daily_digest, ops_incident_rollup, alerts_active) provide similar rollups, making selection ambiguous despite provider prefixes.

Naming Consistency3/5

Most names follow provider_resource_action (e.g., cf_dns_records, ghe_pr_detail, k8s_pods_list), but conventions vary: some use prefix_resource_verb (aws_athena_query), others noun_verb without prefix (alerts_active, cert_status, dns_lookup, http_check), and a few mix ordering (aws_s3_find vs azure_blob_find). Readable but not fully predictable.

Tool Count1/5

260 tools is far beyond a reasonable surface for any single server, spanning a dozen providers and many near-duplicate operations. This volume forces agents to sift through overlapping choices and makes the server unwieldy despite its broad scope.

Completeness4/5

Coverage is extensive across AWS, Azure, Cloudflare, Kubernetes, Datadog, PagerDuty, Pingdom, Prometheus, Sentry, Git providers, Vercel, Railway, ArgoCD, Jira, and Confluence, with read-only escape hatches like aws_cli_query and azure_cli_query. Some notable gaps remain (e.g., Grafana/Loki, Slack, GitHub.com outside GHE, Terraform), but core SRE read workflows are well covered.

Available Tools

260 tools
alerts_activeActive alerts (Datadog)A
Read-only
Inspect

List active alerts from Datadog monitors or PagerDuty incidents. Datadog: monitors in alert/warn state. PagerDuty: incidents in triggered/acknowledged. Result fields: queriedAt (ISO timestamp confirming data is current), ageCategory per alert ("new" <1h / "recent" 1–24h / "chronic" >24h), _summaryNote (pre-computed human-readable summary), _signatureAscii (ASCII bar chart). ALWAYS start your response with the content of _summaryNote verbatim. If all alerts are chronic (>24h), explicitly state there are NO new alerts — chronic alerts are known ongoing issues, not a new incident. Always include _signatureAscii at the end of your response in a code block (```text).

NameRequiredDescriptionDefault
sourceNoAlert source: datadog (monitors) or pagerduty (incidents)datadog
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
withDowntimesNoDatadog only: include matching active downtimes per monitor

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly/destructive=false, so safety needs no coverage; the description instead contributes real interpretive context — ageCategory thresholds and, importantly, that chronic (>24h) alerts are known ongoing issues rather than new incidents, which materially changes how an agent should report results. It does not cover limits, pagination, or auth requirements, hence not a 5.

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

Conciseness3/5

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

Purpose is front-loaded correctly, but nearly half the text is output-formatting mandates ('ALWAYS start your response with _summaryNote verbatim', 'include _signatureAscii in a code block') that are instruction creep relative to selecting and invoking the tool, and several listed result fields are already covered by the output schema.

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?

For a read-only, zero-required-parameter lister with an existing output schema, the description is close to complete: it defines sources, active states, age semantics, and presentation expectations. Gaps remain around result limits/windowing and how to choose between this and the dedicated Datadog/PagerDuty/Prometheus sibling tools.

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

Parameters3/5

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

Schema coverage is 100% with only three params, so the baseline is 3. The description adds modest semantics for `source` (alert/warn vs triggered/acknowledged) but never mentions `withDowntimes` or `context_id`, leaving whatever nuance those need entirely to the schema.

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?

States a specific verb and resource ('List active alerts') and defines what 'active' means per source: Datadog monitors in alert/warn, PagerDuty incidents in triggered/acknowledged. It does not, however, distinguish itself from siblings like dd_monitors_lookup, pd_incidents_search, or prom_alerts, so an agent must infer the boundary.

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?

Usage is implied through the source split (datadog vs pagerduty), but that split is already encoded in the schema enum, so the description adds little routing guidance. There is no explicit 'use this instead of X' or when-not guidance against the many sibling alert/incident tools in this namespace.

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

argocd_app_resourcesArgoCD: All App ResourcesA
Read-only
Inspect

Returns ALL Kubernetes resources managed by an ArgoCD application — healthy and degraded alike. Unlike argocd_app_unhealthy (which filters to failing resources only), this tool shows the complete picture: every Deployment, Service, ConfigMap, Pod, etc. with its syncStatus and healthStatus. Includes a summary (counts by health state). Optional filters: kind and namespace.

NameRequiredDescriptionDefault
kindNoFilter by Kubernetes resource kind (e.g. Deployment, Service, ConfigMap)
nameYesApplication name (from argocd_list_apps or tenant catalog)
profileNoOptional AWS profile override for management-cluster kubectl authentication. OMIT to preserve the installation management identity (recommended). Do not substitute the destination account/environment profile. Explicit overrides are checked against configured valid_profiles. SSO requirements and Kubernetes permissions remain enforced.
instanceNoArgoCD installation in the active workspace. Read opsphere://argocd/installations for mode and identifiers. In active mode, use an installation slug; an exact environment association or unique migrated alias is also accepted. Omit only when there is one installation. Legacy/shadow modes retain existing catalog aliases and defaults.
namespaceNoFilter by Kubernetes namespace
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that a summary of counts by health state is included and that each resource carries syncStatus and healthStatus, but it says nothing about behavior for large applications, result limits, or ordering.

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

Conciseness4/5

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

Front-loaded with the key scope statement and free of filler; the contrast with argocd_app_unhealthy and the filter mention each earn their place. Slightly longer than necessary given it partly restates return fields.

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?

A read-only tool with full schema coverage, annotations, and an output schema covering return shape — the description supplies the scope and the sibling distinction an agent needs to call it correctly. Only large-result behavior is left unaddressed, which is a minor gap.

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

Parameters3/5

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

Schema coverage is 100%, so all six parameters are already documented in structured fields. The description only restates the kind and namespace filters and omits name, profile, instance, and context_id; with the schema doing the heavy lifting, this is the expected baseline.

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

Purpose5/5

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

States a specific verb and resource (returns all Kubernetes resources managed by an ArgoCD application) and defines the scope precisely as healthy and degraded alike. It explicitly contrasts with the sibling argocd_app_unhealthy, so an agent can distinguish the two without opening a schema.

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

Usage Guidelines4/5

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

Names the alternative (argocd_app_unhealthy) and the condition that selects it — failing resources only versus the complete picture — and points to argocd_list_apps for the required name. It doesn't address when to prefer argocd_get_app or argocd_debug for app-level status, so routing is clear but not exhaustive.

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

argocd_app_unhealthyArgoCD: Unhealthy resources in an ApplicationA
Read-only
Inspect

Returns resources that are not Healthy or not Synced in an ArgoCD Application. Includes kind, namespace, name, status, health, message, and suggested next steps.

NameRequiredDescriptionDefault
nameYesApplication name
profileNoOptional AWS profile override for management-cluster kubectl authentication. OMIT to preserve the installation management identity (recommended). Do not substitute the destination account/environment profile. Explicit overrides are checked against configured valid_profiles. SSO requirements and Kubernetes permissions remain enforced.
instanceNoArgoCD installation in the active workspace. Read opsphere://argocd/installations for mode and identifiers. In active mode, use an installation slug; an exact environment association or unique migrated alias is also accepted. Omit only when there is one installation. Legacy/shadow modes retain existing catalog aliases and defaults.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already establish that this is a safe read-only, non-destructive operation. The description adds that results include status, health, message, and suggested next steps, but it does not disclose edge behavior such as missing applications, empty results, or authentication/context requirements beyond what the schema already documents.

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 two sentences, front-loaded with the core filtering behavior, and every phrase contributes useful information. There is no repetition or filler.

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?

An output schema exists, so the description need not explain return values in depth, and annotations cover the safety profile. The schema also fully documents the application, profile, instance, and context parameters. The only minor gap is lack of explicit sibling routing guidance, but the definition is otherwise complete for a read-only diagnostic tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already well documented in the input schema. The description adds no parameter-level meaning beyond what the schema provides, making the baseline 3 appropriate.

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

Purpose5/5

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

The description states a specific verb and resource: it returns resources that are not Healthy or not Synced in an ArgoCD Application. This clearly distinguishes it from the broader sibling argocd_app_resources by its unhealthy/un-synced filter without requiring schema inspection.

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 implies when this tool is useful by naming the unhealthy/un-synced condition, but it does not explicitly state when to choose it over argocd_app_resources, argocd_get_app, or argocd_debug. No exclusions or routing guidance are provided.

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

argocd_debugArgoCD: Debug connectivityA
Read-only
Inspect

Tests connectivity to an ArgoCD instance by listing applications. Returns the resolved config (profile, context, namespace), reachability status, and app count. Useful for troubleshooting.

NameRequiredDescriptionDefault
profileNoOptional AWS profile override for management-cluster kubectl authentication. OMIT to preserve the installation management identity (recommended). Do not substitute the destination account/environment profile. Explicit overrides are checked against configured valid_profiles. SSO requirements and Kubernetes permissions remain enforced.
instanceNoArgoCD installation in the active workspace. Read opsphere://argocd/installations for mode and identifiers. In active mode, use an installation slug; an exact environment association or unique migrated alias is also accepted. Omit only when there is one installation. Legacy/shadow modes retain existing catalog aliases and defaults.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description goes beyond that by disclosing what the call actually does internally (lists applications) and what it returns (resolved profile/context/namespace, reachability status, app count), which is genuinely useful. It omits any note on cost of listing many apps, but that is minor.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and then the return payload. No filler, though the trailing "Useful for troubleshooting" is the weakest sentence.

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?

With an output schema present, detailed parameter descriptions, and read-only annotations, the description supplies what is needed to call the tool correctly. Only the sibling differentiation is missing, which is partially outside this tool's scope.

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

Parameters3/5

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

Schema description coverage is 100% and each of the three optional parameters has a detailed description, so the schema carries the parameter burden. The tool description adds no parameter-level meaning, which matches the baseline 3.

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 names a specific verb and resource (tests connectivity to an ArgoCD instance via listing applications) and states the returned data. It is clear on its own, but it never references the sibling argocd_* tools (argocd_get_app, argocd_app_unhealthy, argocd_app_resources), so an agent must infer how it differs from them.

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?

"Useful for troubleshooting" implies the intended situation (diagnosing connectivity/config problems) but gives no explicit when-not or alternative routing among the many sibling argocd tools. Usage is only implied, not stated.

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

argocd_get_appArgoCD: Get Application detailB
Read-only
Inspect

Returns the full ArgoCD Application CRD for a specific app. Includes spec (source, destination, syncPolicy) and status (sync, health, resources, conditions, operationState).

NameRequiredDescriptionDefault
nameYesApplication name (from argocd_list_apps or tenant catalog)
profileNoOptional AWS profile override for management-cluster kubectl authentication. OMIT to preserve the installation management identity (recommended). Do not substitute the destination account/environment profile. Explicit overrides are checked against configured valid_profiles. SSO requirements and Kubernetes permissions remain enforced.
instanceNoArgoCD installation in the active workspace. Read opsphere://argocd/installations for mode and identifiers. In active mode, use an installation slug; an exact environment association or unique migrated alias is also accepted. Omit only when there is one installation. Legacy/shadow modes retain existing catalog aliases and defaults.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already establish that this is a read-only, non-destructive, non-open-world operation. The description adds useful scope by listing the spec and status content returned, but it does not disclose any additional behavioral context such as authentication requirements or limitations beyond what the schema and annotations provide.

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 two tightly written sentences with the core purpose front-loaded. Every sentence contributes useful information, and there is no filler.

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 read-only annotations, complete parameter descriptions, and the existence of an output schema, the description is largely complete for invocation. Its main missing piece is sibling differentiation, which would help an agent choose this tool over other ArgoCD detail tools.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already well documented in the input schema. The description only implies that a specific application name is required and adds no extra semantics beyond the schema, which matches the baseline for fully documented parameters.

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 uses a specific verb and resource: it returns the full ArgoCD Application CRD for a named app. It also names the main contents (spec and status fields), making the tool's purpose clear. However, it does not distinguish this tool from sibling ArgoCD tools such as argocd_app_resources or argocd_app_unhealthy.

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

Usage Guidelines2/5

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

The description implies usage by saying it returns a specific app's full CRD, but it gives no explicit guidance on when to use this tool versus alternatives. With several ArgoCD siblings available, the absence of routing guidance is a clear gap.

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

aws_athena_queryAthena Query (read-only)AInspect

Run a read-only SQL query in Amazon Athena (StartQueryExecution → results). Prefer this over aws_cli_query for Athena/Glue analytics. Requires workGroup and/or outputLocation (s3://…). Uses the logged-in AWS session permissions. Only SELECT/WITH/SHOW/DESCRIBE/EXPLAIN. Caps returned rows.

NameRequiredDescriptionDefault
sqlYesRead-only SQL (SELECT / WITH…SELECT / SHOW / DESCRIBE / EXPLAIN)
regionNoAWS region, e.g. eu-central-1
catalogNoData catalog name (optional)
maxRowsNoMax data rows (default 100, max 500)
profileNoAWS_PROFILE opcional
databaseNoAthena/Glue database for QueryExecutionContext
workGroupNoAthena workgroup (preferred when it sets result location)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
outputLocationNos3://bucket/prefix for query results when workgroup does not enforce location

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior3/5

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

Adds real context beyond the annotations: session-based auth ('Uses the logged-in AWS session permissions'), the result-location prerequisite, and a row cap. However, the annotations declare readOnlyHint=false while the description only says 'read-only SQL', and the description never explains the tool's own side effects — a query execution resource is created and results are written to S3, which is also implied by the outputLocation parameter. It also omits any cost/data-scanning caution, which matters for Athena billing. The tension is reconcilable (the read-only claim is scoped to the SQL statement types) but is never made explicit.

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?

Five short sentences, each carrying distinct information (purpose, routing, prerequisite, auth, statement whitelist, output cap), with the primary action front-loaded. Nothing is repeated from the title or schema verbatim except the row cap, which adds the behavioral 'caps returned rows' framing.

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?

For a 9-parameter tool with full schema coverage and an output schema, the description covers routing, prerequisites, auth, statement restrictions and output limits — enough to invoke correctly. The remaining gap is behavioral rather than structural: no mention that execution writes to S3 and that the readOnlyHint=false annotation exists for that reason, and no cost/scan-size guidance.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does add one genuinely useful semantic: the workGroup / outputLocation requirement ('Requires workGroup and/or outputLocation (s3://…)'), a one-of constraint the schema does not express, and it restates the row cap ('Caps returned rows'). The remaining seven parameters get no added meaning in the prose.

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

Purpose5/5

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

States a specific verb and resource ('Run a read-only SQL query in Amazon Athena') plus the underlying engine flow (StartQueryExecution → results). It explicitly declares the sibling it supersedes ('Prefer this over aws_cli_query for Athena/Glue analytics'), so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Names the alternative (aws_cli_query) and the condition selecting this tool (Athena/Glue analytics), plus a hard prerequisite ('Requires workGroup and/or outputLocation'). The allowed statement whitelist (SELECT/WITH/SHOW/DESCRIBE/EXPLAIN) tells the agent what will be rejected before it calls.

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

aws_bedrock_agent_diagnoseBedrock Agent DiagnoseA
Read-only
Inspect

Diagnose an Amazon Bedrock Agent: status, alias, action groups, Lambdas, IAM role, knowledge bases, resource graph, and deterministic findings. Read-only (bedrock-agent, lambda, iam, logs). Prefer over aws_cli_query for operational triage. Example: agentId from console or list-agents.

NameRequiredDescriptionDefault
hoursNoLog window hours (default 2)
regionNoAWS region (default eu-central-1)
agentIdYesBedrock Agent ID (10-char alphanumeric from console or list-agents)
profileNoAWS profile from tenant catalog
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
agentAliasIdNoSpecific alias ID; default picks first PREPARED alias
agentVersionNoAgent version for action groups/KB (default from GetAgent)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/destructive false, but the description adds real value by naming the AWS surfaces touched (bedrock-agent, lambda, iam, logs) so an agent can reason about permissions and blast radius, and by promising deterministic findings plus a resource graph. It does not disclose latency, cost, or what the output report contains beyond the enumeration.

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?

Three short sentences: capability scope, read-only/service boundary and sibling routing, then an example for the required input. Front-loaded and no wasted words.

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?

With annotations, a full input schema, and an output schema, the description covers what the tool gathers and its read-only posture, which is enough to call it correctly. It leaves unstated how the log window (hours) and alias selection affect results, but those are adequately covered in the schema.

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

Parameters3/5

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

Schema coverage is 100%, so all seven parameters, defaults, and bounds are already documented in structured data; the description only adds the hint that agentId comes from the console or list-agents. Baseline 3 applies since the schema does the heavy lifting and the description adds no syntax or format detail.

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

Purpose5/5

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

States a specific verb (Diagnose) and resource (Amazon Bedrock Agent) and enumerates exactly what is inspected: status, alias, action groups, Lambdas, IAM role, knowledge bases, resource graph, deterministic findings. This lets an agent distinguish it from generic siblings like aws_cli_query or aws_lambda_agent_diagnose without opening the schema.

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

Usage Guidelines4/5

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

"Prefer over aws_cli_query for operational triage" gives an explicit alternative and the condition that selects this tool. It also hints at how to obtain the required agentId (console or list-agents). It stops short of stating when NOT to use it or how to choose against aws_lambda_agent_diagnose.

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

aws_cli_queryAWS CLI Query (generic, read-only)A
Read-only
Inspect

Run any read-only AWS CLI query. Only allows subcommands starting with read verbs (describe, list, get, search, scan, etc.). Blocks write operations and secrets. Useful for services without a dedicated tool: Lambda, CloudFront, SQS, SNS, Route53, etc. For Athena SQL, S3 key find, DynamoDB Query, or Aurora Data API SQL, prefer aws_athena_query / aws_s3_find / aws_dynamodb_* / aws_rds_data_query. Example: "lambda list-functions", "rds describe-db-instances --region eu-central-1".

NameRequiredDescriptionDefault
commandYesComando AWS CLI sin prefijo "aws". Ej: "lambda list-functions", "rds describe-db-instances --region eu-central-1", "cloudfront list-distributions". Solo subcomandos read-only (describe-*, list-*, get-*, search-*, scan-*, etc.).
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known; the description adds real, non-duplicated enforcement detail — the read-verb allowlist (describe/list/get/search/scan) and that secrets are blocked. It stops short of covering credential/profile requirements, region defaults, pagination, or what happens on a blocked command.

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

Conciseness4/5

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

Front-loaded with the core capability, then the constraint, then the alternatives, then examples — every sentence carries weight and there is no filler. It runs slightly dense as one paragraph, but no sentence is redundant.

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?

With an output schema present, the description needn't explain return values, and it covers the gaps that matter: what is blocked, which sibling to prefer, and callable command examples. Remaining gaps (auth/profile behavior, region defaults, error semantics on blocked calls) are modest for a generic passthrough tool.

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 still adds meaning beyond the schema's free-form string by defining the acceptable value class (read-verb subcommands only) and showing that extra CLI flags like --region can be appended to the command string, which the schema does not state explicitly.

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

Purpose5/5

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

States a specific verb+resource (run read-only AWS CLI queries) and immediately names the distinguishing scope: a generic fallback for services without a dedicated tool. It lists covered services (Lambda, CloudFront, SQS, SNS, Route53) so an agent can tell it apart from the many aws_* siblings without opening a schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use this for services lacking a dedicated tool, and prefer aws_athena_query / aws_s3_find / aws_dynamodb_* / aws_rds_data_query for those cases. This is the when-to-use plus named-alternatives pattern done properly.

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

aws_codeartifact_packagesCodeArtifact PackagesA
Read-only
Inspect

List packages in a CodeArtifact repository, optionally filtered by prefix or format. Example: "list npm packages in domain your-tenant, repo npm-store starting with your-tenant".

NameRequiredDescriptionDefault
domainYesCodeArtifact domain (e.g. your-tenant)
formatNoFormato del paquete (opcional, filtra por formato)
regionNoRegión AWS (ej: eu-central-1)
profileNoAWS_PROFILE opcional
namespaceNonpm scope without @ to filter (e.g. your-tenant for @your-tenant/*). Cleaned automatically if passed with @
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMáximo de paquetes (default: 50)
repositoryYesNombre del repositorio (ej: npm-store)
packagePrefixNoPrefijo del nombre del paquete para filtrar

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety behavior is covered. The description adds filtering context through the prefix/format sentence and example, but does not add much beyond that, such as pagination expectations or repository scoping caveats.

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 two concise sentences, front-loads the core action, and uses the example efficiently. There is no redundant or wasted text.

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?

The tool has nine parameters but full schema coverage, an output schema, and read-only annotations, so the description does not need to explain all parameters or return values. It is nearly complete, though it would be stronger with an explicit note on when to use aws_codeartifact_versions instead.

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

Parameters3/5

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

Schema description coverage is 100%, so all nine parameters are already documented in the schema. The description mentions prefix and format filtering and gives an example involving domain, repository, npm format, and prefix, but it does not add significant meaning beyond the schema.

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 states a specific verb and resource: list packages in a CodeArtifact repository, with optional prefix/format filters. It is clear enough to distinguish the operation generally, but it does not explicitly differentiate itself from the sibling aws_codeartifact_versions tool.

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

Usage Guidelines4/5

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

It gives clear usage context: list packages in a repository and optionally filter by prefix or format, reinforced by a concrete example. It lacks explicit when-not guidance or an alternative such as aws_codeartifact_versions.

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

aws_codeartifact_versionsCodeArtifact Package VersionsA
Read-only
Inspect

List versions of a package in CodeArtifact. Shows version, status and revision. For npm scoped packages (@scope/name), pass only the bare name in packageName and the scope (without @) in namespace. Auto-normalizes scoped names if passed as packageName. Example: "versions of package utils (namespace: your-tenant) in domain your-tenant, repo npm-store".

NameRequiredDescriptionDefault
domainYesCodeArtifact domain (e.g. your-tenant)
formatYesFormato del paquete
regionNoRegión AWS (ej: eu-central-1)
profileNoAWS_PROFILE opcional
namespaceNonpm scope without @ (e.g. your-tenant for @your-tenant/*). Auto-detected if packageName includes @scope/name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMáximo de versiones (default: 20)
repositoryYesNombre del repositorio (ej: npm-store)
packageNameYesNombre del paquete sin scope (ej: utils, lodash). Si se pasa @scope/name, se auto-normaliza

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds useful behavioral context: it names the fields returned and describes the auto-normalization behavior for @scope/name inputs, though it omits pagination/maxResults behavior.

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

Conciseness4/5

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

Purpose and return fields are front-loaded, followed by the tricky npm-scope guidance. The scoped-package rule is stated twice (explicit instruction plus auto-normalize note plus example), which is slightly redundant but not wasteful.

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?

With an output schema available, the description needn't explain return shape, and the schema covers the remaining parameters (region, profile, maxResults, context_id). The description adequately addresses the one genuinely tricky input case (npm scoping), making it complete for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so all nine parameters are documented in the schema itself, including the namespace and packageName scoping rules. The description reinforces the packageName/namespace handling with an example but adds little beyond what the schema already states, so baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb+resource ('List versions of a package in CodeArtifact') and enumerates the returned fields (version, status, revision), which clearly distinguishes it from the sibling aws_codeartifact_packages tool that lists packages rather than versions.

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?

It gives a concrete invocation example and explains how to handle npm scoped packages, which implies when this tool is appropriate, but it never states when to use it versus aws_codeartifact_packages or any prerequisites.

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

aws_dynamodb_describe_tableDynamoDB Describe TableA
Read-only
Inspect

Describe DynamoDB table structure: key schema, GSIs/LSIs, status, approx size. No item data. Prefer before aws_dynamodb_query when keys are unknown. Uses the logged-in AWS session.

NameRequiredDescriptionDefault
regionNoAWS region, e.g. eu-central-1
profileNoAWS_PROFILE opcional
tableNameYesDynamoDB table name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already carry readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds real value beyond them by stating that no item data is returned and that the logged-in AWS session is used (i.e., no credentials need to be supplied). It stops short of describing throttling or error behavior, but nothing material is missing for a read-only metadata call.

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?

Three short sentences, front-loaded with the returned fields, then the exclusion, then the routing hint. Every clause carries information; nothing is padding.

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?

An output schema exists, so return values need not be explained, and the auth model plus data-scope limits are stated. Minor gap: it doesn't note how region/profile are resolved when omitted, which matters given those optional parameters in a multi-account setup.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (tableName, region, profile, context_id) are already documented in the schema. The description adds no syntax, defaulting, or format guidance beyond that, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource (describe DynamoDB table) and enumerates exactly what is returned: key schema, GSIs/LSIs, status, approximate size. The 'No item data' clause draws a hard line between this tool and aws_dynamodb_query, so an agent can distinguish them without opening a schema.

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

Usage Guidelines5/5

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

'Prefer before aws_dynamodb_query when keys are unknown' names the concrete alternative and the condition that selects it, which is precisely the decision an agent faces here. The negative scope statement ('No item data') reinforces when not to use it.

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

aws_dynamodb_queryDynamoDB QueryA
Read-only
Inspect

Query a DynamoDB table or index (Query API only — Scan is not supported). Requires keyConditionExpression and expressionAttributeValues (partition key, sort key if needed). Prefer aws_dynamodb_describe_table first if key names are unknown. Uses the logged-in AWS session.

NameRequiredDescriptionDefault
limitNoMax items (default 25, max 100)
regionNoAWS region, e.g. eu-central-1
profileNoAWS_PROFILE opcional
indexNameNoGSI/LSI name when querying an index
tableNameYesDynamoDB table name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
consistentReadNoConsistentRead (base table only)
filterExpressionNoOptional FilterExpression (applied after Query)
scanIndexForwardNoSort order on sort key (default true = ascending)
exclusiveStartKeyNoPagination token from a previous lastEvaluatedKey
keyConditionExpressionYesRequired KeyConditionExpression, e.g. pk = :pk AND begins_with(sk, :sk)
expressionAttributeNamesNoOptional name placeholders, e.g. { "#st": "status" }
expressionAttributeValuesYesPlaceholders map, e.g. { ":pk": "user#42" }

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint/openWorldHint, so safety is covered. The description adds auth context ("Uses the logged-in AWS session") and the API-surface limitation (no Scan), which are traits beyond the annotations; it does not discuss result size or pagination behavior, but the 100-item cap is already in the schema.

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?

Three short sentences, front-loaded with the capability and its boundary, then the requirement, then the alternative. No sentence is filler and nothing is buried.

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?

With 13 parameters, a full output schema, and 100% schema coverage, the description only needs to carry intent, requirements, and routing — which it does. It stops short of explaining pagination or index-selection nuances, but those are documented per-parameter.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter carries its own description with examples, so the baseline is 3. The description only restates that keyConditionExpression and expressionAttributeValues are required and hints at the partition/sort key shape — no syntax or format detail beyond what the schema already supplies.

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

Purpose5/5

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

States a specific verb and resource ("Query a DynamoDB table or index") and immediately bounds the scope with "Query API only — Scan is not supported," which separates it from the describe/scan siblings. An agent knows exactly what operation this performs without opening the schema.

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

Usage Guidelines4/5

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

Names a concrete prerequisite path ("Prefer aws_dynamodb_describe_table first if key names are unknown") and states the hard requirement that keyConditionExpression and expressionAttributeValues are mandatory. It lacks an explicit negative case beyond Scan, but the routing advice is actionable.

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

aws_ecr_imagesECR ImagesA
Read-only
Inspect

List images in an ECR repository sorted by date (most recent first). Shows tags, digest, push date and size. Example: "latest images of your-tenant-storefront".

NameRequiredDescriptionDefault
regionNoRegión AWS (ej: eu-central-1). Si no se indica, usa la del perfil
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMáximo de imágenes a mostrar (default: 10)
repositoryNameYesECR repository name (e.g. your-tenant-storefront)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered by structured data. The description adds real value beyond that — result ordering and the fields returned (tags, digest, push date, size) — but says nothing about pagination, whether maxResults truncates silently, or what happens when the repository is empty or missing.

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

Conciseness4/5

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

Three short sentences with the core behavior front-loaded and no filler. The example sentence is somewhat redundant with the repositoryName schema description (which uses the same 'your-tenant-storefront' sample) but it does clarify intent cheaply.

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?

For a simple read-only list tool with an output schema and full schema coverage, the description covers what it does, how results are ordered, and what fields come back. The remaining gap — truncation behavior at maxResults and error cases for nonexistent repositories — is minor but not fully negligible.

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

Parameters3/5

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

Schema description coverage is 100%, so region, profile, context_id, maxResults and repositoryName are all documented in the schema itself. The description only restates the repositoryName example and the sort order, adding no meaning to maxResults truncation semantics or region/profile precedence — baseline 3 applies.

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?

States a specific verb and resource ('List images in an ECR repository') plus the ordering ('sorted by date, most recent first'), which is enough to distinguish it from aws_ecr_repos (which lists repositories rather than images). It never names that sibling explicitly, so the differentiation is inferred from the resource noun rather than stated.

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?

Usage is implied by the required repositoryName parameter and the imagery of the example, but there is no explicit 'use this when...' guidance, no exclusions, and no mention of when to prefer aws_ecr_repos or another image-inspection path. An agent can infer the context but must do the routing work itself.

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

aws_ecr_reposECR RepositoriesB
Read-only
Inspect

List available ECR repositories, optionally filtered by name. Example: "list ECR repos containing storefront".

NameRequiredDescriptionDefault
regionNoRegión AWS (ej: eu-central-1)
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMáximo de repos a mostrar (default: 50)
namePrefixNoFiltro por nombre (substring, case-insensitive)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, and the description does not contradict them. However, it adds no behavioral context beyond the annotations, such as pagination behavior, maxResults truncation, or any other operational trait.

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 two short sentences with the core purpose front-loaded and no wasted wording. The example is brief and directly illustrates the optional name filter.

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?

For a simple read-only list tool with full schema coverage, annotations, and an output schema, the description is mostly complete. It could be stronger by mentioning the related aws_ecr_images tool for listing images within a repository.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents region, profile, context_id, maxResults, and namePrefix. The description only restates the optional name filter and adds no syntax or semantics beyond what the schema provides.

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 states a specific verb and resource: 'List available ECR repositories,' with optional name filtering. It clearly distinguishes repositories from sibling tools like aws_ecr_images, though it does not explicitly mention that sibling as an alternative.

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 example 'list ECR repos containing storefront' implies usage for name-filtered listing, but the description does not state when to use this tool versus aws_ecr_images or other AWS listing tools. Guidance is present only by implication.

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

aws_lambda_agent_diagnoseLambda Agent Action Group DiagnoseA
Read-only
Inspect

Diagnose a Lambda backing a Bedrock Agent action group: config, IAM role policies, CloudWatch errors, signals (OOM, public invoke, deprecated runtime). Env var values redacted. Read-only.

NameRequiredDescriptionDefault
hoursNoLog window hours (default 2)
regionNoAWS region (default eu-central-1)
logTailNoMax error log lines (default 15)
profileNoAWS profile from tenant catalog
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
functionNameYesLambda function name (not ARN)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds genuinely new context by disclosing that env var values are redacted and that it looks for specific failure signals (OOM, public invoke, deprecated runtime). It stops short of describing scope of the IAM/CloudWatch calls or failure modes.

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

Conciseness4/5

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

A single dense sentence front-loads the action and target, then lists evidence and constraints (redaction, read-only). Efficient, though the compressed parenthetical list is slightly harder to parse than separate clauses would be.

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?

An output schema exists, so return values need not be explained, and the description covers what is inspected. The main residual gap is auth/prerequisite context (profile/SSO), which matters for an AWS tool but is left implicit.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter (hours, logTail, region, profile, context_id, functionName) documented inline, so the schema carries the semantic load. The description adds nothing beyond the schema — e.g. no note on how hours/logTail interact with the signals reported — so the baseline 3 applies.

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?

States a specific verb (diagnose) and resource (Lambda backing a Bedrock Agent action group) and enumerates the evidence it collects (config, IAM policies, CloudWatch errors, signals). It is distinguishable from the similarly-named aws_bedrock_agent_diagnose by naming Lambda as the target, though it never explicitly contrasts the two.

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 implies usage — troubleshooting a Lambda that backs an agent action group — and notes 'Read-only,' but it gives no explicit when-to-use/when-not guidance, no mention of prerequisites such as an active AWS SSO session or profile, and no routing advice versus aws_bedrock_agent_diagnose or aws_cloudwatch_logs_search.

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

aws_rds_data_queryRDS Data API Query (Aurora, read-only)A
Read-only
Inspect

Run read-only SQL against Aurora via the RDS Data API (HTTPS; no VPC TCP from the MCP). Requires resourceArn (cluster) + secretArn (Secrets Manager DB credentials). Data API must be enabled. Uses the logged-in AWS session for IAM; not for classic RDS without Data API. Only SELECT/WITH/SHOW/DESCRIBE/EXPLAIN. Prefer over aws_cli_query for SQL data during incidents.

NameRequiredDescriptionDefault
sqlYesRead-only SQL (SELECT / WITH…SELECT / SHOW / DESCRIBE / EXPLAIN)
regionNoAWS region, e.g. eu-central-1
schemaNoOptional schema (engine-dependent)
maxRowsNoMax records (default 100, max 500)
profileNoAWS_PROFILE opcional
databaseNoDatabase/schema name
secretArnYesSecrets Manager ARN containing DB username/password for Data API
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceArnYesAurora cluster ARN (rds-data resourceArn)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.6/5.0
Behavior4/5

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

Goes beyond readOnlyHint by disclosing the auth model (logged-in AWS session for IAM, secretArn for DB creds) and the enforced SQL allowlist (SELECT/WITH/SHOW/DESCRIBE/EXPLAIN) with implied write rejection. It does not mention result truncation behavior or rate limits, though maxRows is in the schema.

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?

Six short sentences, front-loaded with the action and transport, then requirements, then exclusions, then sibling preference. Nothing redundant with the title.

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?

For a 9-param query tool with an output schema and full annotation coverage, the description supplies the operational context (enablement prerequisite, credential sourcing, statement allowlist) an agent needs. Missing only result-size/truncation expectations, which maxRows partially covers in the schema.

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 adds real semantics by tying resourceArn to the Aurora cluster, secretArn to Secrets Manager DB credentials, and explaining the Data API requirement that gives these params meaning. It skips region/profile/context_id, all of which the schema already covers.

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

Purpose5/5

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

Specific verb + resource + transport: 'Run read-only SQL against Aurora via the RDS Data API (HTTPS; no VPC TCP)'. It distinguishes itself from aws_cli_query and from Data-API-less RDS by name, so an agent can route without opening a schema.

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

Usage Guidelines5/5

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

States explicit preconditions (Data API must be enabled, not for classic RDS without Data API) and names the alternative: 'Prefer over aws_cli_query for SQL data during incidents.' That is when-to-use, when-not, and sibling routing in one paragraph.

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

aws_s3_findS3 Find (prefix/key)A
Read-only
Inspect

List objects in an S3 bucket by prefix or exact key (ListObjectsV2, one page). Prefer this over aws_cli_query for finding keys. Does not download object bodies. Uses the logged-in AWS session. Provide bucket + prefix or key for the account/environment.

NameRequiredDescriptionDefault
keyNoExact object key (overrides prefix; filters to exact match)
bucketYesS3 bucket name
prefixNoKey prefix to list (e.g. logs/2026/)
regionNoAWS region, e.g. eu-central-1
maxKeysNoMax keys this page (default 50, max 200)
profileNoAWS_PROFILE opcional
delimiterNoOptional delimiter (e.g. /) for common-prefix listing
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/destructive=false, but the description adds real value: 'one page' (ListObjectsV2 pagination constraint), 'does not download object bodies', and 'uses the logged-in AWS session'. These are behavioral facts not derivable from the annotations, though maxKeys/default paging depth details are left to the schema.

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

Conciseness4/5

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

Four tight sentences, front-loaded with the core action, each earning its place (scope, sibling routing, body-download exclusion, session context). No filler, though slightly more compact phrasing is possible.

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?

With an output schema present and full annotation/parameter coverage, the description supplies the key behavioral gaps (one-page listing, no body download, session use). Adequate for correct invocation; only minor paging/follow-up behavior is left implicit.

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

Parameters3/5

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

Schema description coverage is 100%, so all eight parameters are already documented, including key overriding prefix. The description reinforces bucket+prefix/key but adds no syntax, region, or pagination semantics beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('List objects in an S3 bucket') with the two lookup modes (prefix or exact key), and explicitly contrasts itself with the aws_cli_query sibling. An agent can distinguish it from other AWS tools without opening the schema.

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

Usage Guidelines5/5

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

'Prefer this over aws_cli_query for finding keys' gives an explicit alternative and the condition selecting this tool. The 'Provide bucket + prefix or key for the account/environment' line adds the invocation context.

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

aws_secretsmanager_describeSecrets Manager DescribeA
Read-only
Inspect

Verify if a secret exists in AWS Secrets Manager and show its metadata (name, ARN, rotation, tags, dates). Does NOT return the secret value. Example: "does the secret prod/storefront/api-key exist?".

NameRequiredDescriptionDefault
regionNoRegión AWS (ej: eu-central-1)
profileNoAWS_PROFILE opcional
secretIdYesID o nombre del secreto (ej: prod/storefront/api-key)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive and not-open-world, so the safety profile is covered structurally. The description still adds real value by disclosing that the secret VALUE is not returned and by listing the exact metadata fields an agent will get back, which prevents a wasted follow-up call.

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?

Three tightly packed sentences: capability, exclusion, and worked example, with the most important information front-loaded. No filler.

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?

For a simple read-only describe call with an output schema and full annotation coverage, the description covers purpose, exclusion, and examples adequately. Only the relationship to the sibling list tool is left implicit.

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

Parameters3/5

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

Schema description coverage is 100% with all four parameters documented, so baseline is 3. The description only echoes the secretId example format already present in the schema and says nothing about region/profile/context_id usage.

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

Purpose5/5

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

States a specific verb (verify existence) plus resource (secret in AWS Secrets Manager) and enumerates the metadata returned (name, ARN, rotation, tags, dates). The 'does the secret X exist?' framing makes clear this is a single-secret lookup rather than the bulk listing done by aws_secretsmanager_list.

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

Usage Guidelines4/5

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

The example question ('does the secret prod/storefront/api-key exist?') gives a concrete trigger condition, and the negative constraint 'Does NOT return the secret value' steers the agent away from expecting a payload. It stops short of naming the sibling (aws_secretsmanager_list) or any alternative for retrieving the value.

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

aws_secretsmanager_listSecrets Manager ListA
Read-only
Inspect

List secrets in AWS Secrets Manager, optionally filtered by name. Does NOT return values, only metadata. Example: "list secrets containing storefront".

NameRequiredDescriptionDefault
regionNoRegión AWS (ej: eu-central-1)
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMáximo de secretos a mostrar (default: 50)
nameFilterNoFiltro por nombre del secreto

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuinely new behavioral fact — that secret values are never returned — but says nothing about pagination or the maxResults default truncation, which matters for a list tool.

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

Conciseness4/5

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

Three short sentences, front-loaded with the core action and immediately followed by the most important constraint (no values). The quoted example is useful; nothing is redundant.

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?

An output schema exists, so return-value shape need not be described, and the annotations cover safety. The main residual gap is pagination/truncation behavior for a tool capped at 100 results, which the description never mentions.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including region, profile, context_id, maxResults and nameFilter is already documented. The description only echoes the name-filter behavior, adding no format or example syntax beyond the schema, which is the expected baseline when the schema does the work.

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?

States a specific verb ('List') and resource ('secrets in AWS Secrets Manager') plus the filter scope, and clarifies it returns metadata only, which implicitly distinguishes it from aws_secretsmanager_describe. It does not explicitly name that sibling, so an agent still has to infer which one to pick when it wants details.

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 'Does NOT return values, only metadata' line and the example imply when this tool is appropriate, but there is no explicit statement of when to use it versus aws_secretsmanager_describe or what happens when the list is truncated. Usage is inferable rather than spelled out.

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

aws_sso_loginAWS SSO LoginBInspect

Start/renew the SSO session for a profile (without restarting the server).

NameRequiredDescriptionDefault
profileYesAWS profile name (e.g. your-tenant-pre)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context by clarifying that it starts or renews a session without restarting the server, but it omits auth-flow details, expiry behavior, and side effects of renewing a session.

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 a single front-loaded sentence with no wasted words. It states the action and a key constraint immediately, making it easy to scan.

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

Completeness3/5

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

An output schema exists, so return values need not be explained. However, given the crowded family of AWS SSO login tools, the description is too thin to fully help an agent choose this variant or understand the session renewal lifecycle; it is minimally adequate but incomplete for the tool's context.

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

Parameters3/5

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

Schema description coverage is 100%, so both the required 'profile' and optional 'context_id' parameters are fully documented in the schema. The description only echoes 'for a profile' and adds no syntax or selection guidance beyond what the schema provides; baseline 3 is appropriate.

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 gives a specific verb+resource ('Start/renew the SSO session') and clarifies it works for a profile without restarting the server. It does not distinguish this tool from sibling login tools such as aws_sso_login_device_start, aws_sso_login_remote, or aws_sso_login_global_start, leaving ambiguity about which login entry point to select.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus the many sibling login variants. The parenthetical 'without restarting the server' implies renewal, but no exclusions, prerequisites, or alternatives are named, so the agent must infer usage from tool names.

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

aws_sso_login_device_pollAWS SSO Device Code PollBInspect

Poll the device_code status and verify that AWS role credentials are usable. User-scoped sessions are stored encrypted in PostgreSQL; legacy local sessions use the AWS filesystem cache.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
device_codeYesdevice_code devuelto por aws.sso.login.device.start

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

The description adds useful context beyond the annotations by explaining that user-scoped sessions are stored encrypted in PostgreSQL while legacy local sessions use the AWS filesystem cache. However, it does not explain why the operation is non-read-only, what side effects polling may have, or whether there is a required polling cadence.

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

Conciseness4/5

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

The description is concise and front-loads the primary action in the first sentence. The second sentence adds storage context without excessive length, though it is somewhat tangential to the immediate invocation.

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

Completeness3/5

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

The output schema and annotations cover return values and safety signals, and the input schema fully documents the parameters. Still, the description does not route the agent among the several SSO login siblings or explain the expected polling lifecycle, which are meaningful gaps for an authentication tool.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters are fully documented in the input schema. The description does not add meaning beyond the schema, so the baseline score of 3 is appropriate.

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 uses a specific verb and resource: polling the device_code status and verifying that AWS role credentials are usable. It is clear what the tool does, though it does not explicitly differentiate itself from siblings such as aws_sso_login_device_start or aws_sso_login_global_poll.

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 phrase 'Poll the device_code status' implies this is a follow-up step after obtaining a device_code, but the description does not explicitly say when to use it, when not to use it, or how it relates to alternative SSO login tools.

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

aws_sso_login_device_startAWS SSO Device Code StartAInspect

Module: aws (not aws-sessions). Start the Device Code flow for SSO (URL + code) and return deviceCode for polling. If a valid session already exists, returns status "already_authenticated" without starting a new login.

NameRequiredDescriptionDefault
profileYesAWS profile name (e.g. your-tenant-pre)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate the tool is not read-only and not destructive. The description adds valuable behavioral context: it returns a deviceCode for polling and conditionally returns 'already_authenticated' if a session exists, without starting a new login. It does not cover error cases or permissions, but the annotations lower the bar.

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?

Two sentences with zero waste. The module clarification is front-loaded, followed by the core action and then a key conditional behavior. Every sentence earns its place and is easy to parse.

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 presence of an output schema, annotations, and full schema descriptions, the description covers the essential purpose, return value (deviceCode), and conditional behavior. It could mention what to do after receiving the deviceCode, but the polling step is referenced implicitly via 'for polling' and a sibling tool exists.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (profile and context_id) are fully documented in the schema. The description does not add any parameter-specific meaning beyond what the schema provides, so the baseline score of 3 applies.

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

Purpose5/5

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

The description states a specific verb ('Start') and resource ('Device Code flow for SSO') and clarifies the module ('aws (not aws-sessions)'). It also mentions the return value (deviceCode) and a conditional behavior, making it easy to distinguish from siblings like aws_sso_login_device_poll or aws_sso_login_global_start.

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 implies usage by stating 'If a valid session already exists, returns status already_authenticated without starting a new login,' which gives a condition for calling it. However, it does not explicitly name alternatives like aws_sso_login or aws_sso_login_global_start or state when to prefer this tool over them.

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

aws_sso_login_global_pollAWS SSO Global PollBInspect

Poll in batch the status of multiple AWS SSO global device_codes and return aggregated status (success|pending|partial|error).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
device_codesYesLista de device_code devueltos por aws_sso_login_global_start.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior1/5

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

The description frames the operation as polling status and returning aggregated status, which strongly implies a read-only check. The annotations declare readOnlyHint=false, creating an annotation contradiction: an agent cannot tell whether this polling has side effects or state-changing behavior.

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?

One front-loaded sentence states the action, resource, batch scope, and aggregated return values. There is no wasted text.

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?

For a two-parameter polling tool with an output schema, the description is largely complete: it says what is polled and what status classes are returned. It omits when-to-use guidance and any side-effect disclosure, but return-value detail is appropriately left to the output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents device_codes and context_id. The description reinforces that multiple device_codes are processed in batch, but adds no format, source, or handling details beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: poll the status of multiple AWS SSO global device_codes. The batch/global scope distinguishes it from single-device SSO polling tools without needing the sibling name.

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?

Implies usage by saying it polls multiple device_codes in batch, which suggests use after a global login start. However it does not explicitly state when to use it versus aws_sso_login_device_poll or other SSO siblings, nor does it list prerequisites or exclusions.

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

aws_sso_login_global_startAWS SSO Global Start (nonprod + prod)AInspect

Start remote SSO login for global coverage (typically nonprod + prod SSO profiles). When profiles are omitted, uses SSO profiles from the cloud catalog for this tenant. Returns a batch with device code logins (flow_type=device_code_batch).

NameRequiredDescriptionDefault
profilesNoOptional AWS profile names; when omitted, defaults are resolved from the cloud catalog.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
dedupeBySsoSessionNoSi true (default), evita login duplicado cuando perfiles comparten la misma sso_session.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior4/5

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

With annotations already declaring non-readonly, non-destructive, non-open-world behavior, the description adds useful context: it returns a batch with device code logins (flow_type=device_code_batch) and resolves omitted profiles from the cloud catalog. It does not state auth prerequisites or whether starting a login creates persistent state, but the added return-flow detail is meaningful beyond annotations.

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

Conciseness4/5

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

The description is three tight sentences, front-loaded with the action and scope, followed by default resolution and return shape. Every sentence contributes information without repetition.

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

Completeness3/5

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

The description covers the core operation, default resolution, and return shape, which is adequate given the output schema and annotations. However, it omits explicit guidance on choosing this tool over the several other SSO login siblings, leaving a meaningful selection gap for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description restates the profiles default behavior and adds 'typically nonprod + prod' context, but does not clarify dedupeBySsoSession or context_id beyond what the schema provides. Baseline 3 applies when the schema carries parameter documentation.

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 gives a specific verb and resource ('Start remote SSO login') plus a scope ('global coverage, typically nonprod + prod SSO profiles'). It does not explicitly name the sibling alternatives (e.g., aws_sso_login_remote, aws_sso_login_device_start) that an agent must choose between, so differentiation is implied rather than stated.

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 only usage rule is 'When profiles are omitted, uses SSO profiles from the cloud catalog for this tenant', which is parameter default behavior rather than when to choose this tool over siblings. The name and title imply global login, but there are no explicit when/when-not conditions or named alternatives.

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

aws_sso_login_remoteAWS SSO Login RemotoAInspect

Start SSO login without opening a browser. Detects the flow type (Device Code vs OAuth PKCE) and returns the necessary information.

NameRequiredDescriptionDefault
profileYesAWS profile name (e.g. your-tenant-pre)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so safety is partially covered. The description adds that no browser opens and flow type is detected, but it omits the multi-step consequence, such as needing a follow-up poll tool, and does not describe session/token side effects.

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?

Two sentences with zero waste, and the key action plus remote constraint is front-loaded.

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

Completeness3/5

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

An output schema exists, so return shape need not be explained. However, for an SSO login starter in a family of start/poll tools, the description does not explain the follow-up step or how the returned flow information maps to the device/global poll siblings, leaving an important workflow gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both profile and context_id are documented in the schema. The description adds no parameter-level meaning beyond that, which is the baseline expectation when the schema is fully described.

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?

States a specific verb and resource: 'Start SSO login,' with the scope 'without opening a browser,' and adds that it detects Device Code versus OAuth PKCE. This distinguishes it from a browser-based sibling, but it does not explicitly name which sibling to use for each detected flow.

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?

Gives a clear usage context (browserless login) but does not say when to use this instead of aws_sso_login, aws_sso_login_device_start, or aws_sso_login_global_start. The agent must infer the routing from the detected flow type.

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

aws_sts_whoamiAWS STS WhoAmIB
Read-only
Inspect

Show the current identity (Account/Arn) for a profile (optional).

NameRequiredDescriptionDefault
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the returned fields (Account/Arn); it does not say what happens when the profile is unauthenticated or expired (error vs. login prompt), which is the key behavioral question for an STS identity call.

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

Conciseness4/5

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

A single front-loaded sentence with the core purpose first and the optional input in parentheses; no filler. Only the slightly awkward parenthetical phrasing keeps it from being maximal.

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

Completeness3/5

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

With annotations covering safety, a full schema and an output schema, the description is adequate but incomplete on the operationally important point: how this tool behaves with missing/invalid credentials and whether it interacts with the SSO login flow. For a two-parameter read tool that is a moderate gap rather than a fatal one.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, so the schema carries parameter documentation. The description only restates that profile is optional and says nothing about context_id or what omitting profile falls back to (default/ambient credentials) — baseline 3 applies.

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?

States a concrete verb and resource — 'Show the current identity (Account/Arn)' — plus the scoping input (profile). It is clearly distinguishable from the aws_sso_login_* siblings, which perform authentication rather than identity reporting, though it never names those siblings explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus alternatives such as aws_sso_login or aws_sso_login_device_start, nor any stated precondition (e.g. 'call this to verify credentials before other aws_* tools'). The only usage hint is that profile is optional, which the schema already conveys.

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

azure_blob_findAzure Blob Find (prefix/key)A
Read-only
Inspect

Lists blobs in an Azure Storage container by prefix or exact key (single page, no download). Prefer this over azure_cli_query for finding blob keys during incidents. Requires Storage Blob Data Reader (or equivalent) on the container.

NameRequiredDescriptionDefault
keyNoExact blob name — filters list results to this key only
prefixNoBlob name prefix (e.g. logs/2026/)
containerYesContainer name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoPage size (default 50, max 200)
storageAccountYesStorage account name (not FQDN, e.g. mystorageacct)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and non-destructive, so safety is covered; the description adds genuinely new behavior: results are a single page (no auto-pagination), nothing is downloaded, and it requires Storage Blob Data Reader on the container. Missing is what happens when a page is truncated or how to continue.

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?

Three short sentences: what it does, when to prefer it, what it requires. Zero filler and each clause carries information an agent needs.

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?

With an output schema present, return values need not be explained, and the description covers scope, safety-adjacent behavior (read-only, single page), and the permission prerequisite. The one gap is pagination continuation, which matters for a capped 200-result listing but is partly mitigated by naming maxResults in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including key/prefix semantics, maxResults bounds, and tenant defaults is already documented. The description's 'prefix or exact key' phrasing restates what the schema says rather than adding format or interaction details, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (lists) plus resource (blobs in an Azure Storage container) and scopes it to prefix or exact key matching, single page, no download. That is enough to distinguish it from the general azure_cli_query sibling without opening a schema.

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

Usage Guidelines4/5

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

Explicitly names the alternative and the condition that selects it: 'Prefer this over azure_cli_query for finding blob keys during incidents.' It does not state exclusions (e.g. when azure_cli_query is still the better call, or when to use prefix vs key).

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

azure_cli_queryAzure CLI — Generic Read-Only QueryA
Read-only
Inspect

Executes any read-only Azure CLI command (az …). Only allows read-only verbs: list, show, get, describe, check, verify, query, search, count, export. Never allows write, delete or secret-value operations. Examples: "network dns zone list", "servicebus namespace list --resource-group my-rg", "vm list", "storage account list", "monitor metrics list --resource /subscriptions/…".

NameRequiredDescriptionDefault
commandYesAzure CLI command WITHOUT the leading "az" prefix. Example: "network vnet list" or "servicebus namespace list --resource-group my-rg"
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint=false, but the description adds substantive behavior: an explicit allowlist of read verbs and an explicit exclusion of secret-value reads, which the annotations do not convey. It stops short of mentioning permission prerequisites, throttling, or how command failures surface.

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?

Three tight sentences: capability first, constraint second, concrete examples last. No redundancy or filler; every sentence carries decision-relevant information.

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?

With an output schema present, full parameter documentation, and annotations covering safety, the description needs only to define scope and constraints, which it does. The one missing piece is routing guidance against more specific Azure tools, which matters given the crowded sibling set.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters are already documented in the schema. The description repeats the command-format hint (no leading 'az') and gives example command strings, but adds no new semantics for context_id or azure_tenant_id. Baseline 3 applies.

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?

States a specific verb and resource ('executes any read-only Azure CLI command') and bounds the scope with a verb allowlist plus examples. It is clear what the tool does, but never contrasts itself with the many specialized Azure siblings (azure_resource_groups, azure_servicebus_namespaces, azure_blob_find) that cover a subset of the same ground.

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 allowed-verb list ('list, show, get, describe, check, verify…') and the prohibition on write/delete/secret-value operations give real guidance on when the tool is usable. However, there is no instruction on when to prefer a specialized sibling over this generic escape hatch, which is the key routing decision for an agent facing ~200 alternatives.

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

azure_dns_lookupAzure DNS LookupA
Read-only
Inspect

Queries Azure DNS zones and record sets. Without zone: lists all DNS zones in the subscription. With zone: lists all record sets (or filter by recordType / hostname). Supports both public and private DNS zones.

NameRequiredDescriptionDefault
zoneNoDNS zone name (e.g. example.com). Omit to list all zones.
hostnameNoHostname to look up within the zone (e.g. api.example.com)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
recordTypeNoDNS record type filter (default: all types)
privateZoneNoIf true, queries Azure Private DNS zones instead of public (default: false)
resourceGroupNoResource group containing the zone (optional, auto-detected when possible)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: the two output modes driven by presence/absence of zone, and the public/private zone distinction. Missing auth/rate-limit notes, but strong for a read tool with annotations.

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?

Three tight sentences, front-loaded with the core action, then the two modes, then a scoping note. No filler; every clause carries information.

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?

With an output schema and full schema coverage, the description needn't explain return values. It adequately covers purpose, modes, and zone types. A minor gap is not clarifying the relationship to the generic dns_lookup/cf_dns_records siblings.

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

Parameters3/5

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

Schema coverage is 100%, so all seven parameters are already documented in the schema. The description reinforces how zone (optional) flips behavior between listing zones and listing record sets, and mentions recordType/hostname filtering, but adds little beyond what the schema's own descriptions provide. Baseline 3 is appropriate.

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?

States a specific verb+resource (queries Azure DNS zones and record sets) and scopes it to Azure, which distinguishes it from cf_dns_records and dns_lookup implicitly. However, it never names those siblings explicitly, so the differentiation relies on the agent inferring 'Azure' means not-Cloudflare/not-generic.

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

Usage Guidelines4/5

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

Provides explicit conditional branching: without zone -> list zones, with zone -> list record sets (optionally filtered). This is genuine when-to-use guidance for the tool's own modes. It stops short of routing the agent away from the generic dns_lookup or cf_dns_records siblings.

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

azure_keyvault_secret_metadataAzure Key Vault — Secret MetadataA
Read-only
Inspect

Returns metadata for a single Key Vault secret by name (no secret value). Prefer this over azure_cli_query("keyvault secret show …") which is blocked. List names first with azure_keyvault_secrets_list.

NameRequiredDescriptionDefault
vaultUrlYesKey Vault URI (e.g. https://myvault.vault.azure.net)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
secretNameYesSecret name (not version-specific URI)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered; the description still adds real behavior the annotations do not — that the payload never includes the secret value, and that a common substitute path is blocked. It does not discuss auth/tenant requirements beyond the schema's own default note, keeping it just short of a 5.

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?

Two sentences, zero filler, with the core scope statement front-loaded and the routing/exclusion rules following. Every clause carries decision-relevant information.

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

Completeness5/5

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

An output schema exists and all parameters are documented, so the description only needs to supply scope, ordering, and the blocked-alternative caveat — all of which it does. Nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% with all four parameters documented, so the baseline is 3. The description reinforces that lookup is by name rather than versioned URI, but that meaning is already present in the secretName schema description, so it adds little beyond it.

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

Purpose5/5

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

States a specific verb and resource ('Returns metadata for a single Key Vault secret by name') and immediately scopes the result by excluding the secret value. An agent can distinguish it from the bulk list tool and from any value-retrieval path without opening the schema.

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

Usage Guidelines5/5

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

Gives an explicit alternative ('Prefer this over azure_cli_query("keyvault secret show …") which is blocked') with the reason, plus a required precursor ('List names first with azure_keyvault_secrets_list'). Both the when and the ordering are spelled out rather than inferred.

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

azure_keyvault_secrets_listAzure Key Vault — List Secret MetadataA
Read-only
Inspect

Lists secret properties in a Key Vault (metadata only — never returns secret values). Prefer this over azure_cli_query for Key Vault discovery. Use azure_keyvault_secret_metadata for a single secret.

NameRequiredDescriptionDefault
vaultUrlYesKey Vault URI (e.g. https://myvault.vault.azure.net)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNoMax secrets this page (default 50, max 200)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description's added value is the explicit 'never returns secret values' guarantee, which prevents an agent from expecting secret material. It does not mention required vault permissions/RBAC or pagination-cursor handling, which would complete the behavioral picture.

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?

Three short sentences, no filler, with the most important constraint (metadata-only) front-loaded in the first sentence and the two routing hints following immediately.

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?

An output schema exists, so return values need not be explained, and all four parameters are covered by the schema. The only remaining gap is auth/prerequisite context (vault access requirements, cross-tenant behavior given the optional azure_tenant_id), which would make it fully self-contained.

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

Parameters3/5

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

Schema description coverage is 100%, with vaultUrl, context_id, maxResults (with default 50 / max 200) and azure_tenant_id all documented inline. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Lists secret properties in a Key Vault') and immediately qualifies the scope with 'metadata only — never returns secret values'. It names both the sibling it replaces for discovery (azure_cli_query) and the sibling for single-secret lookups (azure_keyvault_secret_metadata), so it is unmistakable.

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

Usage Guidelines5/5

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

Gives explicit routing: 'Prefer this over azure_cli_query for Key Vault discovery' and 'Use azure_keyvault_secret_metadata for a single secret.' Both the preferred alternative and the inverse case are stated, leaving nothing to inference.

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

azure_log_analytics_queryAzure Log Analytics — KQL Query (read-only)A
Read-only
Inspect

Executes a read-only KQL query against a Log Analytics workspace. Prefer this over azure_cli_query for App Insights / Log Analytics incidents. Requires an active Azure delegated session (azure_user_login_start). Only read-only KQL — mutations are blocked by guard.

NameRequiredDescriptionDefault
kqlYesRead-only KQL query string
endTimeNoQuery window end (ISO 8601). Use with startTime instead of timespan
maxRowsNoMax rows returned (default 100, max 500)
timespanNoISO 8601 duration (e.g. PT1H). Default PT1H when start/end omitted
startTimeNoQuery window start (ISO 8601). Use with endTime instead of timespan
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
workspaceIdYesLog Analytics workspace GUID or full ARM resource ID
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/destructiveHint, but the description adds real context: the delegated-session prerequisite and the fact that a guard blocks mutations, so the agent knows a write attempt will fail rather than silently no-op. It does not disclose rate limits or result-size behavior beyond what the schema's maxRows carries.

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

Conciseness4/5

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

Three short sentences with the purpose front-loaded, followed by routing and then prerequisites — a sensible order. Minor redundancy: read-only is asserted in the opening sentence and again in the closing guard sentence.

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?

With annotations, a full output schema, and 100% parameter coverage, the description supplies the remaining pieces an agent needs: when to prefer it and what session state is required. It stops short of explaining workspace resolution or context_id behavior, but those are schema-documented.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (kql, timespan, startTime/endTime, maxRows, context_id, workspaceId, azure_tenant_id) is documented in the schema itself. The description adds nothing about parameter syntax or the timespan-vs-start/end tradeoff, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb (executes) and resource (KQL query against a Log Analytics workspace) plus the read-only scope, which immediately distinguishes it from the general azure_cli_query sibling. An agent can select it without opening the schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'Prefer this over azure_cli_query for App Insights / Log Analytics incidents' names the alternative and the condition that selects it. It also states the prerequisite (an active Azure delegated session via azure_user_login_start), covering the main failure mode.

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

azure_resource_groupsAzure Resource GroupsB
Read-only
Inspect

Lists all available resource groups

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description only adds that the listing is unfiltered ('all available'), but says nothing about which subscription/tenant the groups come from or whether azure_subscription_set affects the result.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is, however, arguably too terse for a tool whose output scope depends on tenant/subscription context.

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

Completeness3/5

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

An output schema exists and parameters are fully documented, so much of the burden is carried structurally. Still, for a cross-tenant Azure listing tool, the description omits which tenant/subscription the 'available' groups belong to and how to switch scope — a meaningful gap.

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

Parameters3/5

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

Schema description coverage is 100%, so both optional parameters (context_id, azure_tenant_id) are already documented, and the description adds nothing about them. Baseline 3 applies when the schema does the heavy lifting.

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?

Specific verb+resource ('Lists ... resource groups') with an explicit scope word ('all available'). It does not distinguish itself from nearby siblings such as azure_subscriptions_list or azure_servicebus_resourcegroup_detect, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites (subscription/tenant context, auth state), and no routing to alternatives like azure_servicebus_resourcegroup_detect when the goal is detecting a resource group for a Service Bus namespace.

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

azure_servicebus_dlq_contentAzure Service Bus Dead Letter Queue ContentB
Read-only
Inspect

Reads the real content of Dead Letter Queue messages using the Azure Service Bus SDK

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
queueNameNoQueue name to inspect
topicNameNoTopic name to inspect
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxMessagesNoMax messages to show
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)
connectionStringNoService Bus connection string (auto-detected if not provided)
subscriptionNameNoTopic subscription name

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and closed-world scope, so the safety profile is carried. The description adds that the read goes through the Azure Service Bus SDK, which explains why content is 'real', but it omits the behaviorally critical point of whether the SDK read peeks or receives/dead-letters messages, and says nothing about auth or subscription requirements for a 9-parameter tool.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is efficient, though arguably under-specified rather than tight — the brevity comes at the cost of routing and behavioral detail.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the schema is fully described. Still, for a 9-parameter tool sitting among many near-identical Service Bus siblings, the description leaves the agent without the queue/topic distinction or the reason to pick this over adjacent tools.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented. The description adds no syntax, format, or constraint detail beyond the schema and does not explain the queueName vs topicName/subscriptionName relationship, so the baseline 3 applies.

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 names a specific verb (Reads) and a specific resource (Dead Letter Queue message content), and the phrase 'real content' hints that this returns payloads rather than metadata. However, it never names the sibling tools it must be distinguished from (e.g. azure_servicebus_queue_deadletter or azure_servicebus_message_explorer), so the agent has to infer the split itself.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus the dead-letter or message-explorer siblings, no prerequisites, and no exclusions. The only guidance is implicit in the word 'real', which is not enough to route an agent reliably among a dozen Service Bus tools.

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

azure_servicebus_health_overviewAzure Service Bus — Health OverviewB
Read-only
Inspect

Shows the general health status of all Service Bus environments. Optionally filter by environment (dev/tst/pre/prod) or show all.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoEnvironment to query, or "all" for all
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare this as a read-only, non-destructive, closed-world query. The description adds that it spans all Service Bus environments and can be scoped by environment, which is useful scope information, but it does not explain aggregation behavior, what 'general health' means, or permission requirements.

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?

Two sentences, front-loaded with the core action and scope, with no wasted words. The optional filter is stated immediately after the primary behavior.

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

Completeness3/5

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

The tool is simple and has an output schema, so return-value detail is not required. However, the description does not resolve the overlap with azure_servicebus_namespace_health or clarify whether 'all Service Bus environments' means the dev/tst/pre/prod environment dimension or Azure namespaces.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents context_id, environment, and azure_tenant_id. The description restates the environment enum values and the 'all' option but adds nothing about tenant defaulting or context handling beyond what the schema provides.

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?

States a clear verb and resource: show general health status of all Service Bus environments, with optional environment filtering. It is understandable, but it does not differentiate itself from the sibling azure_servicebus_namespace_health, which plausibly covers similar ground.

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

Usage Guidelines2/5

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

The description says the environment filter is optional and can be 'all', which gives minimal usage context. It does not say when to prefer this over azure_servicebus_namespace_health or azure_servicebus_monitoring_report, even though those siblings clearly overlap.

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

azure_servicebus_message_explorerAzure Service Bus Message ExplorerB
Read-only
Inspect

Inspects messages in queues and topics with full details (like Service Bus Explorer GUI)

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
queueNameNoQueue name to inspect
topicNameNoTopic name to inspect
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxMessagesNoMax messages to show
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)
peekDeadLettersNoIf true, inspect dead letter queue
subscriptionNameNoTopic subscription name

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the notion of 'full details' (rich message body/properties rather than counts), but says nothing about whether peeking is non-destructive on the broker side, the maxMessages cap of 20, or ordering/truncation behavior — all relevant for a message-inspection tool.

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

Conciseness4/5

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

One short sentence, front-loaded with verb and resource, with zero filler. It is arguably too terse for a nine-parameter tool, which is why it falls short of 5 — brevity here edges into under-specification rather than pure efficiency.

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

Completeness2/5

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

An output schema exists, so return values need not be explained. But for a nine-parameter tool with mutually exclusive queue/topic addressing and a dead-letter mode that duplicates a dedicated sibling, the description leaves key selection decisions unaddressed. The agent has to open the schema and cross-read sibling names to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all nine parameters are documented in the schema itself and a baseline of 3 applies. The description adds no extra semantics beyond that — it does not explain that queueName and topicName are alternative addressing modes, nor mention subscriptionName or the dead-letter toggle.

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?

States a concrete verb and resource: 'Inspects messages in queues and topics with full details.' That is clearly a read/peek operation on Service Bus messages, and the GUI analogy reinforces the 'show me everything' intent. However, it never distinguishes itself from siblings that also surface message content, notably azure_servicebus_dlq_content and azure_servicebus_queue_deadletter, which the peekDeadLetters parameter overlaps with.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all — nothing says to reach for this instead of azure_servicebus_queues (discovery), azure_servicebus_queue_metrics (counts), or azure_servicebus_dlq_content (dead letters). The only hint is the GUI comparison, which is descriptive rather than directive. The agent must infer routing from the name alone.

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

azure_servicebus_monitoring_reportAzure Service Bus Monitoring ReportB
Read-only
Inspect

Generates automatic Service Bus report (queues and topics with dead letter counts)

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoEnvironment (dev/prod). Auto-detected if not specified
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that the report aggregates queue and topic dead letter counts, which is useful scope information, but says nothing about report format, size, latency, or whether it queries live vs cached data.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the parenthetical efficiently names the report's contents. It is perhaps overly terse given the dense sibling namespace, but every word earns its place.

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

Completeness3/5

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

An output schema exists so return values needn't be described, and all three parameters are optional and documented. What is missing is the differentiation from the crowded azure_servicebus_* family, which is the main thing an agent needs to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100% (context_id, environment, azure_tenant_id are all documented with auto-detection behavior), so the schema carries parameter meaning. The description adds nothing about parameters, which is acceptable at full coverage and yields the baseline 3.

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?

States a specific verb ('Generates') and resource ('Service Bus report') and scopes the content to queues and topics with dead letter counts. However, it does not distinguish this from the many sibling Service Bus tools (azure_servicebus_health_overview, azure_servicebus_queues, azure_servicebus_topics, azure_servicebus_dlq_content), so an agent cannot tell from the description which one to pick.

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

Usage Guidelines2/5

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

No guidance on when to use this report versus azure_servicebus_health_overview or the individual queues/topics tools. The word 'automatic' is not explained (scheduled? on-demand?) and there are no prerequisites or exclusions stated.

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

azure_servicebus_namespace_healthAzure Service Bus Namespace HealthC
Read-only
Inspect

Gets health and status information of a namespace

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond that — not what "health" comprises, not whether it needs an authenticated Azure session or a resolved subscription, not how it differs from the overview tool.

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

Conciseness4/5

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

A single short clause with no filler and the resource front-loaded. It is efficiently written; the problem is under-specification, not verbosity.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and the annotations cover safety. However, for a tool sitting in a dense cluster of overlapping Service Bus and health-overview tools, the description leaves the selection problem entirely unaddressed, which is the main thing an agent needs here.

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

Parameters3/5

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

Schema description coverage is 100% and all four parameters (namespace, resourceGroup, context_id, azure_tenant_id) are documented in the schema itself. The description adds nothing about parameter semantics, so the baseline 3 applies.

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

Purpose3/5

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

The description names a verb ("Gets") and a resource ("health and status information of a namespace"), so the basic intent is legible. But "health and status information" is vague about what is actually returned, and it does nothing to distinguish this tool from close siblings like azure_servicebus_health_overview, azure_servicebus_monitoring_report, or azure_servicebus_namespaces.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. an active Azure session), and no exclusion pointing at the sibling health/overview tools. An agent choosing among a dozen azure_servicebus_* tools gets no help from this sentence.

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

azure_servicebus_namespacesAzure Service Bus NamespacesB
Read-only
Inspect

Lists all available Service Bus namespaces

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description's help. The description adds nothing beyond that – no indication of scope (current subscription only, or all subscriptions the tenant can see), pagination, or cost of the call. An output schema exists, so return-shape disclosure is not required, making a 3 the right level.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or redundancy. It is appropriately sized, though the brevity is achieved partly by omitting scope detail that would have earned additional value.

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

Completeness3/5

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

With an output schema and full annotation coverage, the description only needs to establish scope and role in the workflow. It leaves the tenant/subscription scope of 'all available' undefined, which is a real ambiguity given the azure_tenant_id and context_id parameters.

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

Parameters3/5

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

Schema description coverage is 100%, with context_id and azure_tenant_id both documented in the schema itself, so the baseline is 3. The description adds no meaning about how these parameters affect which namespaces are returned, which is the one place extra text would have helped.

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 states a specific verb and resource ('Lists all available Service Bus namespaces'), which is unambiguous on its own. It does not, however, differentiate itself from the dense family of siblings (azure_servicebus_queues, azure_servicebus_topics, azure_servicebus_namespace_health), so an agent gets no signal that this is the discovery entry point those tools depend on.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus alternatives, no mention that it should be used first to discover a namespace before calling queue/topic tools, and no prerequisites such as an active Azure session. The agent must infer usage entirely from the name and the sibling list.

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

azure_servicebus_queue_deadletterAzure Service Bus Queue Dead Letter MetricsC
Read-only
Inspect

Gets dead letter queue metrics (failed messages)

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
queueNameYesQueue name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the '(failed messages)' gloss on dead-letter semantics and says nothing about what metrics are returned, time window, per-queue vs aggregate scope, or permissions — with annotations carrying the load, that is a thin addition.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is efficient, though the brevity borders on under-specification rather than optimal tightness.

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

Completeness2/5

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

For a 5-parameter tool inside a dense Service Bus tool family, the description does not say what the metrics represent or how they differ from queue_metrics/topic_sub_metrics. The output schema covers return values and annotations cover safety, but the routing information an agent needs to pick this tool is absent.

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

Parameters3/5

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

Schema description coverage is 100% and all five parameters (namespace, queueName, context_id, resourceGroup, azure_tenant_id) are documented in the schema itself. The description contributes no additional parameter meaning, so the baseline 3 applies.

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?

States a specific verb (Gets) and resource (dead letter queue metrics), and the parenthetical '(failed messages)' clarifies what a dead-letter queue holds. It implies a distinction from azure_servicebus_queue_metrics and azure_servicebus_dlq_content but never names those siblings, leaving the boundary to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite statement, and no mention of alternatives such as azure_servicebus_queue_metrics (normal queue metrics) or azure_servicebus_dlq_content (message payloads). The agent must guess which of the several Service Bus tools to call.

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

azure_servicebus_queue_metricsAzure Service Bus Queue MetricsB
Read-only
Inspect

Gets detailed metrics of a queue (messages, status, configuration)

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
queueNameYesQueue name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

The annotations already establish that this is a safe, read-only, non-destructive operation, so the description does not need to carry the full safety burden. It adds that the result covers messages, status, and configuration, but it does not disclose whether queue existence is required or how detailed or fresh the metrics are.

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 a single front-loaded sentence with no filler. The parenthetical list efficiently clarifies the scope of 'detailed metrics' without adding unnecessary length.

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

Completeness3/5

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

For a read-only metrics tool with full schema coverage, annotations, and an output schema, the description is minimally adequate. However, it does not help an agent choose this tool over closely related Service Bus queue tools or clarify what distinguishes these metrics from monitoring or health reports.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the input schema. The description does not add any further meaning about required parameters such as namespace and queueName or optional context/resource-group scoping, so the baseline score of 3 applies.

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 states a clear verb and resource: gets detailed metrics of a queue, with parenthetical examples of what those metrics include. It is distinguishable from generic queue-listing siblings, but it does not explicitly differentiate itself from other Service Bus queue-level tools such as queue_deadletter, monitoring_report, or health_overview.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. Given the many adjacent Service Bus tools, an agent must infer from the name whether this is for health, monitoring, dead-letter, or general queue inspection.

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

azure_servicebus_queuesAzure Service Bus QueuesC
Read-only
Inspect

Lists all queues in a namespace

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false and an output schema exists, so the safety profile is fully covered elsewhere. The description adds nothing beyond scope – no note on namespace-wide enumeration cost, pagination, or empty-result behavior.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is appropriately sized but borders on under-specified rather than padded, so it loses a point for thinness rather than verbosity.

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

Completeness3/5

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

For a simple read-only list tool whose annotations and output schema are rich, the description is minimally sufficient to call it correctly. It still omits how results relate to sibling queue-level tools and whether the namespace must be resolved first, leaving an agent to guess the intended workflow.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (namespace, context_id, resourceGroup, azure_tenant_id) are already documented in structured form. The description mentions the namespace implicitly but adds no semantics beyond the schema; baseline 3 applies.

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?

States a specific verb and resource ('Lists all queues') plus a scope ('in a namespace'), which implicitly separates it from the azure_servicebus_topics / topic_subscriptions siblings. It never names those siblings explicitly, so the differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites (e.g. that a namespace must be known first, likely via azure_servicebus_namespaces), and no routing to related siblings such as azure_servicebus_queue_metrics, azure_servicebus_queue_deadletter, or azure_servicebus_message_explorer.

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

azure_servicebus_resourcegroup_detectAzure Service Bus Resource Group DetectB
Read-only
Inspect

Auto-detects the most common resource group for Service Bus

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the heuristic hint that it picks the 'most common' resource group, without explaining selection logic, fallback behavior, or scope. This is adequate but thin for a detection tool.

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?

A single front-loaded sentence with no wasted words. It communicates the core operation immediately and is appropriately sized for the tool's apparent simplicity.

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

Completeness3/5

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

The output schema exists, so return values need not be described. However, for a heuristic detection tool, the description omits what 'most common' means, how results are selected, and whether there is a fallback when no resource group is found. It is minimally complete but misses useful behavioral context.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are optional and fully documented in the schema. The description adds no parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 applies.

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?

States a specific verb (auto-detects) and resource (most common resource group for Service Bus), so the agent can understand the operation. It does not explicitly distinguish itself from sibling azure_resource_groups, but the Service Bus scoping provides reasonable differentiation.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool versus alternatives such as azure_resource_groups, nor does it state prerequisites or exclusions. The phrase 'auto-detects' implies a default-detection use case, but that is left entirely to inference.

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

azure_servicebus_topicsAzure Service Bus TopicsB
Read-only
Inspect

Lists all topics in a namespace

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description's only added detail is 'all' topics (i.e., no server-side filtering), with no word on pagination, result size, or required auth/session state. That is modest value on top of annotations.

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

Conciseness4/5

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

A single front-loaded sentence with zero padding. It is efficient, though its brevity borders on under-specification rather than optimal density.

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

Completeness3/5

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

With an output schema, full parameter descriptions, and complete annotations, the description does not need to explain returns or safety. It is minimally adequate but says nothing about the multi-namespace/tenant context that the context_id and azure_tenant_id parameters suggest is relevant.

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

Parameters3/5

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

Schema description coverage is 100%, so namespace, context_id, resourceGroup, and azure_tenant_id are all documented in the schema itself. The description adds nothing beyond the namespace scoping already implied, so the baseline of 3 applies.

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?

States a specific verb and resource ('Lists all topics') scoped to a namespace, so the operation is unambiguous. It does not differentiate from close siblings such as azure_servicebus_namespaces, azure_servicebus_queues, or azure_servicebus_topic_subscriptions, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus the queue/subscription/namespaces siblings, nor any mention of prerequisites (e.g., that the namespace must already be known or discovered via azure_servicebus_namespaces). The agent must infer placement from the name alone.

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

azure_servicebus_topic_sub_metricsAzure Service Bus Topic Subscription MetricsB
Read-only
Inspect

Gets metrics of a topic subscription (messages, dead letters)

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
topicNameYesTopic name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)
subscriptionNameYesSubscription name

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this is a non-destructive, closed-world read, so the safety profile is covered. The description adds that output covers messages and dead letters, but says nothing about metric time window, freshness, or whether the subscription must exist — meaningful gaps for a metrics call.

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

Conciseness4/5

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

A single front-loaded clause with no filler; the resource is stated before the parenthetical detail. It is efficient, though so terse that the parenthetical is doing most of the disambiguation work.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and the schema fully documents inputs. However, for a metrics tool the description omits any notion of the measurement window or aggregation, which an agent needs in order to interpret results correctly.

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

Parameters3/5

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

Schema description coverage is 100% across all six parameters (namespace, topicName, subscriptionName, resourceGroup, azure_tenant_id, context_id), so the schema carries parameter semantics. The description adds no extra meaning such as naming conventions or whether context_id affects scope, which is the baseline-3 outcome.

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?

States a specific verb ("Gets metrics") and a specific resource ("a topic subscription"), plus the kinds of metrics returned (messages, dead letters). It is clear enough to distinguish from queue metrics by resource, but it never names or contrasts with siblings like azure_servicebus_topic_subscriptions or azure_servicebus_queue_metrics.

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?

Usage is only implied: an agent infers it should call this when it needs metrics for one specific topic subscription. There is no explicit when-to-use/when-not guidance and no mention of alternatives such as the subscriptions list or the namespace health overview, which sit close to this tool in the catalog.

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

azure_servicebus_topic_subscriptionsAzure Service Bus Topic SubscriptionsC
Read-only
Inspect

Lists all subscriptions for a topic

NameRequiredDescriptionDefault
namespaceYesService Bus namespace name
topicNameYesTopic name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
resourceGroupNoResource Group (optional)
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds only the trivial scoping note ('for a topic') and says nothing about pagination, result volume, or authorization requirements for the namespace.

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

Conciseness4/5

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

A single seven-word sentence with zero filler and the scope constraint front-loaded. It is efficient, though so terse that it borders on under-specification rather than optimal density.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the schema covers all parameters. But for a five-parameter, multi-resource Azure tool, the description leaves open how resourceGroup and context_id interact with namespace resolution — a gap the structured fields do not close.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (namespace, topicName, resourceGroup, context_id, azure_tenant_id) are already documented in the schema. The description only echoes the topicName concept and adds no semantics beyond it; baseline 3 applies.

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?

States a specific verb and resource ('Lists all subscriptions for a topic') with the scoping constraint that results are limited to one topic. It does not, however, distinguish itself from nearby siblings such as azure_servicebus_topics or azure_servicebus_topic_sub_metrics, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus azure_servicebus_topics (parent listing) or azure_servicebus_topic_sub_metrics (per-subscription metrics). No prerequisites, no exclusions — the agent gets a purpose but no routing logic.

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

azure_subscription_setAzure Subscription SetCInspect

Switches the active subscription

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
subscriptionYesSubscription name or ID
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-destructive, closed-world mutation, and the description adds nothing beyond that. It does not explain whether the switch persists for the conversation, affects subsequent azure_* calls, or what happens if the subscription is invalid.

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

Conciseness4/5

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

A single front-loaded sentence with no wasted words. It is efficient, though its brevity contributes to the broader contextual gaps.

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

Completeness3/5

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

Output schema exists and annotations cover the safety profile, while all parameters are documented in the schema. However, the description omits the state-persistence semantics of switching the active subscription, which is important context an agent needs before invoking it.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (context_id, subscription, azure_tenant_id) are documented in the schema. The description adds no parameter-level meaning, which is acceptable at the baseline when the schema does the heavy lifting.

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?

States a specific verb and resource ('Switches the active subscription'), which distinguishes it from the sibling list tool azure_subscriptions_list. It is clear but does not reference any siblings or scope of the switch, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this versus azure_subscriptions_list, azure_cli_query, or check_azure_session_for_tenant. There are no prerequisites, alternatives, or conditions mentioned.

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

azure_subscriptions_listAzure Subscriptions ListC
Read-only
Inspect

Lists all available subscriptions

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID (optional — defaults to AZURE_TENANT_ID from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. Beyond that, the description adds nothing: it doesn't say whether results are scoped to the tenant in config, whether listing requires an established Azure session, or how results behave when no subscription is selected.

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

Conciseness4/5

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

A single short sentence, front-loaded with the verb and resource. It earns its place but is borderline under-specified rather than efficiently concise.

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

Completeness3/5

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

An output schema exists so return values needn't be explained, and annotations cover the safety profile. However, for a tool whose sibling set includes azure_subscription_set and session checks, the description omits the selection context an agent needs to call it at the right time.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are optional, so the schema already explains context_id and azure_tenant_id including the AZURE_TENANT_ID default. The description adds no parameter meaning, which meets the baseline for fully documented schemas.

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 names a specific verb and resource ('Lists all available subscriptions'), which is enough for an agent to know what it returns. It does not distinguish itself from the sibling azure_subscription_set, which sounds closely related and would leave an agent guessing which one to select.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus azure_subscription_set, azure_resource_groups, or the login/session tools. No prerequisites (auth state, tenant selection) are mentioned, so an agent must infer usage from the name alone.

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

azure_user_login_pollAzure User Login — PollAInspect

Checks whether the device code login initiated by azure_user_login_start has completed. Returns status: "completed" when the token is stored and ready.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure AD directory GUID (optional — defaults to azure.tenant_id from tenant config)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

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

The annotations declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description does not need to carry the full behavioral burden. It adds useful context that 'completed' means the token is stored and ready, but it does not explain polling frequency, intermediate statuses, or why the operation is not marked read-only.

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 two short sentences and is front-loaded with the core purpose. The second sentence adds a precise completion condition rather than restating the schema.

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?

For a simple polling tool with an output schema, fully documented parameters, and annotations covering safety, the description provides the essential prerequisite and completion meaning. It could be more complete by stating whether the agent should repeatedly poll until completion, but nothing critical to correct invocation is missing.

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

Parameters3/5

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

Schema description coverage is 100%, and both parameters are optional, so the schema already documents their meanings and defaults. The description adds no parameter-specific guidance, making the baseline score appropriate.

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

Purpose5/5

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

The description uses a specific verb and resource: it checks whether the device code login initiated by azure_user_login_start has completed. It explicitly ties itself to that sibling, so an agent can distinguish it from the login-start tool without opening the schema.

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

Usage Guidelines4/5

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

The description clearly establishes the prerequisite context: this tool is for a device code login initiated by azure_user_login_start. It does not, however, explicitly say when to choose this over azure_user_session_status or how often to poll, so some usage details remain inferred.

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

azure_user_login_startAzure User Login — StartAInspect

Starts a device code login flow for a specific Azure tenant. Returns a URL and code the user must visit to authenticate. Only available in user-scoped mode (web chat).

NameRequiredDescriptionDefault
scopesNoOAuth scopes (optional). Defaults to https://management.azure.com/.default only. Do not pass multiple *.default scopes — Entra ID rejects them (ADSTS70011).
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure AD directory GUID (optional — defaults to azure.tenant_id from tenant credentials). Do NOT pass the MCP tenant slug (e.g. "example-workspace").

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare that this is not read-only or destructive, and the description adds useful behavior: it starts a device code flow, returns a URL and code, and requires the user to visit that URL. The user-scoped mode restriction is also meaningful context beyond the annotations, though expiry and polling behavior are not disclosed.

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 three short sentences with no waste. It front-loads the core action, then states the return value and availability constraint.

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?

With annotations, a complete input schema, and an output schema, the description is largely sufficient for correct invocation. Its main omission is not mentioning the necessary follow-up with azure_user_login_poll, which an agent may need in order to complete the login flow.

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

Parameters3/5

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

Schema description coverage is 100%, so all three optional parameters are already documented in the schema, including scopes and tenant ID details. The description only generally refers to a 'specific Azure tenant' and does not add syntax or meaning beyond the schema.

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 states a specific verb and resource: starting a device code login flow for an Azure tenant. It clearly distinguishes the operation from generic Azure tools, but it does not explicitly differentiate itself from the closely related azure_user_login_poll sibling.

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 gives a clear availability constraint with 'Only available in user-scoped mode (web chat)', which helps an agent know when this tool is usable. However, it provides no explicit alternatives or follow-up guidance, such as when to use azure_user_login_poll after starting the flow.

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

azure_user_session_revokeAzure User Session RevokeA
Destructive
Inspect

Revokes Azure session(s) for the current user. If azure_tenant_id is given, revokes only that tenant session; otherwise revokes all.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure tenant ID to revoke (omit to revoke all)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description earns credit for clarifying the blast radius of the default path (omitting azure_tenant_id revokes all sessions), which is the single most important behavioral fact for this destructive call. It stops short of saying whether revocation is reversible or whether refresh tokens/other devices are affected.

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?

Two short sentences, zero filler, with the destructive default scope stated up front right after the core action.

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

Completeness3/5

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

An output schema exists, so return values need no explanation, and annotations carry the safety profile. However, for a destructive auth operation the description omits what exactly is destroyed (device sessions, tokens), any prerequisite that the user must be signed in, and whether the action can be undone — gaps an agent would want before invoking it.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented, including 'omit to revoke all' which the description merely restates. The description adds the useful framing that the target is the current user's sessions, but supplies no extra detail on context_id handling or tenant ID format.

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?

States a specific verb and resource (revoke Azure session(s)) plus the scope qualifier 'for the current user'. It is distinguishable from the read-only sibling azure_user_session_status, though it never names any sibling explicitly.

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 conditional sentence tells the agent what happens when azure_tenant_id is supplied vs omitted, which implies usage but does not say when to prefer this tool over alternatives such as azure_user_session_status (check first) or azure_user_login_start (re-authenticate). No prerequisites or exclusions are stated.

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

azure_user_session_statusAzure User Session StatusA
Read-only
Inspect

Returns all active Azure sessions for the current user (tenant IDs, usernames, expiry, last used). Only available in user-scoped mode (web chat).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds one genuine behavioral fact — a mode restriction to interactive user-scoped sessions — but says nothing about what happens outside that mode, whether the list can be empty, or how it relates to revocation. Adequate but thin beyond what structured fields provide.

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?

Two short sentences, zero waste, and the scope/return content is front-loaded ahead of the availability constraint. Every sentence carries information an agent needs.

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?

An output schema exists, so return values and the parenthetical field list are already covered; the description needn't repeat them. For a simple zero-required-param read tool with full annotation coverage, it is essentially complete — only the lack of sibling routing slightly lowers it.

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

Parameters3/5

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

There is a single optional parameter (context_id) with 100% schema description coverage, so the schema already handles the semantics. The description says nothing about context_id or its fallback behavior, which is acceptable at this coverage level but adds no value.

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?

States a specific verb and resource (returns active Azure sessions) plus the enumerable output fields (tenant IDs, usernames, expiry, last used), and scopes to 'the current user'. That scoping implicitly separates it from check_azure_session_for_account and check_azure_session_for_tenant, but those siblings are never named, so differentiation is inferential rather than explicit.

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 availability constraint ('only available in user-scoped mode (web chat)') is useful context for choosing this tool. However, it offers no guidance on when to prefer this over azure_user_session_revoke, check_azure_session_for_account, or check_azure_session_for_tenant — usage is implied only by the phrase 'current user'.

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

bb_branches_listLista branchesC
Read-only
Inspect

List all branches of the repository.

NameRequiredDescriptionDefault
repoYesRepo slug
limitNo
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond the basic purpose, and 'all branches' is potentially misleading because the schema exposes a default and maximum limit.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no wasted wording. Its brevity is efficient, though it leaves important invocation details to the schema.

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

Completeness3/5

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

The output schema and annotations cover return values and safety, so the description need not explain those. However, for a four-parameter tool it omits meaningful guidance about limit and workspace, leaving it only minimally adequate.

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

Parameters2/5

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

Schema coverage is only 50%, and the description does not compensate by explaining limit, workspace, or pagination behavior. It also does not clarify repository scoping or the optional context_id beyond what the schema already states.

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 uses a specific verb and resource: 'List all branches of the repository.' It is clearly distinguishable from sibling tools such as bb_tags_list and bb_commits_list, though it does not explicitly name those alternatives.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor on prerequisites or scoping choices. It only implies usage from the purpose statement.

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

bb_commits_listCommits de una ramaC
Read-only
Inspect

Get the commit history of a specific branch.

NameRequiredDescriptionDefault
repoYesRepo slug
limitNo
branchNoNombre de la ramamain
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered without the description. The description adds nothing further beyond what the schema implies: no mention of result ordering, the default/maximum result count (20/100), or that branch defaults to main, all of which affect how an agent should call it.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is efficient, though its brevity is part of why the usage and parameter guidance are missing.

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

Completeness3/5

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

An output schema exists and annotations cover the read-only nature, so return values and safety need not be described. However, for a 5-parameter listing tool with two undocumented parameters and no paging/ordering context, the definition is only minimally sufficient.

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

Parameters2/5

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

Schema coverage is only 60%: repo, branch and context_id are documented, but limit and workspace carry no description and the definition does not fill that gap (no explanation of the 1-100 range, default 20, or what workspace scoping means). The one phrase in the description, "a specific branch", merely restates the branch parameter already documented in the schema.

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?

States a specific verb and resource ("Get the commit history") scoped to a specific branch, so the agent knows exactly what it retrieves. It does not distinguish itself from near-siblings such as bb_pr_commits (commits scoped to a pull request) or the GitLab/GitHub equivalents, which a fully clear definition would do.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance and names no alternative. With bb_pr_commits, gl_commits_list, ghe_commits_list and bb_branches_list in the sibling set, an agent must infer on its own that this is the provider/repo-level branch commit lister rather than a PR-scoped one.

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

bb_pipeline_diagnoseDiagnosticar pipeline fallidoA
Read-only
Inspect

Identify which step failed in a pipeline and show its log. Without UUID it automatically finds the last failed pipeline. Returns: pipeline info, list of steps, and logs of the failed steps.

NameRequiredDescriptionDefault
repoYesRepo slug
uuidNoUUID del pipeline (omitir para usar el último fallido)
branchNoFiltrar por rama al buscar el último fallido
tailLinesNoLíneas de log a mostrar por step fallido
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavior by disclosing the automatic last-failed-pipeline selection and the shape of the response, but it omits failure cases such as no failed pipeline found and any log truncation behavior.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action and then the default behavior. The return-value sentence is brief and useful, though slightly redundant given an output schema exists.

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?

With an output schema and strong parameter coverage, the description covers the essential behavior: what it finds, the UUID default, and the response contents. It would be stronger with an edge-case note about missing failed pipelines or the branch filter.

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

Parameters3/5

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

Schema description coverage is 83%, so the schema already documents most parameters. The description restates the UUID-omission behavior, which the schema also says ('omitir para usar el último fallido'), and adds little beyond that; baseline 3 is appropriate.

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?

States a specific verb and resource: identify the failed step and show its log. That is clearly distinct from bb_pipeline_get (fetch a pipeline) and bb_pipelines_latest (list recent pipelines), even though no sibling is named explicitly.

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?

Gives one useful usage condition: without a UUID it automatically finds the last failed pipeline. It does not say when to prefer this over bb_pipeline_get or bb_pipelines_latest, nor what to do when no failed pipeline exists.

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

bb_pipeline_getEstado de un pipelineB
Read-only
Inspect

Get the detailed status of a specific pipeline by UUID.

NameRequiredDescriptionDefault
repoYesRepo slug
uuidYesUUID del pipeline
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only that it returns 'detailed status'; it does not disclose any behavioral traits like auth requirements, rate limits, or scoping constraints beyond what the annotations provide. For a simple read-only GET, this is adequate but minimal.

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 definition is a single, front-loaded sentence that states the core action and key identifier without any waste or redundancy. Every word earns its place.

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?

With an output schema present, annotations covering safety, and 75% parameter coverage, the description is sufficiently complete for a simple status retrieval tool. The main missing piece is sibling differentiation from bb_pipeline_diagnose, but that is more of a usage-guideline gap than a completeness failure.

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

Parameters3/5

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

Schema coverage is 75% with three of four parameters documented (repo, uuid, context_id). The description's 'by UUID' reinforces the uuid parameter but adds no new semantics, and the undocumented 'workspace' parameter remains a gap. The schema does most of the heavy lifting, so baseline 3 is appropriate.

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 states a specific verb ('Get'), resource ('detailed status of a specific pipeline'), and key parameter ('by UUID'), clearly distinguishing it from bb_pipelines_latest which implies recent pipelines. However, it does not explicitly name or differentiate from bb_pipeline_diagnose, leaving a small ambiguity about which sibling to pick for diagnostic versus status retrieval.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives like bb_pipelines_latest (for the latest run) or bb_pipeline_diagnose (for deeper diagnostics). Usage is only implied by the phrase 'specific pipeline by UUID,' leaving the agent to infer the appropriate context.

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

bb_pipelines_latestBitbucket Pipelines (latest)B
Read-only
Inspect

Returns the status of the latest pipeline runs (default 3).

NameRequiredDescriptionDefault
repoYesRepo slug
limitNo
branchNoFiltra por rama
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the default count of 3, but says nothing about ordering, whether failed/running runs are included, or how the 1-25 limit bounds the response.

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

Conciseness4/5

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

One short sentence with the resource front-loaded and the default count appended. No filler, but also no structural cues beyond that single clause.

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

Completeness3/5

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

An output schema exists, so return-shape detail is not required. However, for a 5-parameter tool with branch and workspace scoping, the description leaves the agent guessing about which runs are counted and what 'latest' means without a branch filter.

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

Parameters3/5

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

Schema coverage is 60% and the description only restates the default of 3, which the schema already declares. It says nothing about branch filtering (a key semantic that determines which runs are 'latest') or workspace scoping, so it does not compensate for the coverage gap.

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?

States a specific verb and resource: returns the status of the latest pipeline runs, with the default count. It is distinguishable from bb_pipeline_get and bb_pipeline_diagnose by its 'latest runs' framing, though it never explicitly says it returns a list for a repo.

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

Usage Guidelines2/5

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

No guidance on when to use this versus bb_pipeline_get or bb_pipeline_diagnose, which are the obvious alternatives in the sibling set. The agent must infer that this is for a quick recent-status overview rather than inspecting one specific pipeline.

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

bb_pr_commitsCommits de un PRC
Read-only
Inspect

Get all commits included in a Pull Request.

NameRequiredDescriptionDefault
prIdYesNúmero de PR
repoYesRepo slug
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: no mention of pagination, result ordering, commit-count limits, or auth/scope requirements — all relevant behavioral details for a listing tool on a large PR.

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

Conciseness3/5

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

A single front-loaded sentence with zero waste, but it is under-specified rather than concise — it spends its one sentence restating the name+title without adding discriminating information.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and annotations cover safety. For a read tool with 4 params in a crowded PR/commit tool family, the missing pieces are pagination behavior and explicit sibling disambiguation — enough to keep it at minimum viable rather than complete.

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

Parameters3/5

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

Schema coverage is 75%, with prId and repo documented in the schema (workspace and context_id partially or not described). The description contributes no parameter meaning at all, but with coverage this high the schema carries most of the load, so the baseline 3 applies.

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?

States a specific verb and resource ('Get all commits included in a Pull Request'), which is unambiguous on its own. It does not, however, explicitly differentiate itself from near-siblings like bb_commits_list (repo-wide commits) or bb_pr_diff, so an agent still has to infer the boundary.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus bb_commits_list, bb_pr_diff, or bb_pr_get. No prerequisites, no conditions, no exclusions — the agent must guess from the name alone.

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

bb_pr_diffDiff completo de un PRA
Read-only
Inspect

Get the changed content of all files in a Pull Request as unified diff (patch). Includes added and removed lines per file. For file list and statistics only, use bb_pr_diffstat.

NameRequiredDescriptionDefault
prIdYesNúmero de PR
repoYesRepo slug
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds that output is per-file with added and removed lines, but doesn't disclose truncation limits, size caps, or rate-limit behavior for very large PRs, which is the main residual risk here.

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?

Three short sentences, front-loaded with the core purpose, followed by format detail, then the sibling redirect. Nothing is redundant.

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?

An output schema exists, so return-value explanation isn't required, and read-only annotations cover the safety profile. The definition is sufficient to call correctly; only a note about large-diff/truncation behavior is missing.

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

Parameters3/5

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

Schema coverage is 75% (repo and prId documented; workspace undocumented), and the description adds nothing about parameter meaning, range of prId, or how workspace/context_id interacts. With high-but-not-complete coverage, the schema carries the load and a baseline 3 is appropriate.

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

Purpose5/5

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

Specific verb ('Get'), resource ('changed content of all files in a Pull Request'), and concrete output format ('unified diff (patch)') are stated. It explicitly distinguishes itself from bb_pr_diffstat so the agent can route correctly without opening a schema.

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

Usage Guidelines4/5

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

It names the alternative sibling bb_pr_diffstat and the condition that selects it ('file list and statistics only'), which is a genuinely useful routing hint. It stops short of stating prerequisites (repo access/auth) or when a large PR might produce unmanageable output.

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

bb_pr_diffstatArchivos cambiados en un PRA
Read-only
Inspect

Get the COMPLETE list of files modified in a PR with added/removed line statistics. Returns ALL files in the "files" array — always iterate over all elements to present them to the user.

NameRequiredDescriptionDefault
prIdYesNúmero de PR
repoYesRepo slug
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/closed-world, so the bar is lower; the description still adds real value by promising the COMPLETE file set and pinning the result to a 'files' array, warning against presenting only a subset. It does not cover truncation limits, missing files, or error/empty behavior.

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?

Two short sentences, zero filler, with the scope ('COMPLETE list') and the output-consumption rule front-loaded. Capitalized emphasis does real work here by flagging the common failure mode of partial presentation.

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?

An output schema exists, so return values need not be spelled out, yet the description still identifies the 'files' array. Remaining gap is contextual: nothing on workspace/context resolution for a tool scoped to a repo, and no note on large-PR pagination limits.

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

Parameters3/5

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

Schema coverage is 75% with prId, repo, and context_id documented, so the schema carries most of the load. The description adds nothing about parameters and leaves 'workspace' with no explanation anywhere, so the baseline 3 is appropriate.

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?

States a concrete verb and resource (list files modified in a PR) plus a distinguishing output trait (added/removed line statistics), which implicitly separates it from the full-diff sibling bb_pr_diff. It never names bb_pr_diff explicitly, so an agent must infer the boundary from the 'statistics' wording.

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

Usage Guidelines2/5

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

The only directive is about output consumption ('always iterate over all elements'), not about when to choose this tool over bb_pr_diff, bb_pr_get, or bb_pr_commits. No prerequisites, no exclusions, no alternative named.

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

bb_pr_getBitbucket PR by NumberC
Read-only
Inspect

Get the details of a Pull Request by PR number.

NameRequiredDescriptionDefault
idYesNúmero de PR
repoYesRepo slug, e.g. your-tenant-storefront-next
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is fully covered by structured data. The description adds nothing beyond that: no note on auth/workspace scoping, no mention of what the 'details' payload includes, no rate-limit or error behavior. With annotations carrying the load this is a minor but real gap.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is efficient, though its terseness means nothing beyond the bare action is surfaced.

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

Completeness3/5

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

The tool is a simple read with only four parameters and an output schema, so return values need not be explained. However, one parameter (workspace) is undocumented and the description does not clarify default scoping or how the active workspace interacts with context_id, leaving a small but meaningful gap.

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

Parameters3/5

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

Schema coverage is 75%, so the baseline is 3. The description only echoes the 'id' parameter as 'PR number' and adds nothing for the undocumented 'workspace' parameter or the vaguely explained 'context_id'; the schema's own descriptions carry nearly all parameter meaning.

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?

States a specific verb and resource ('Get the details of a Pull Request by PR number'), so an agent can tell it retrieves PR metadata rather than diffs or commits. It does not name the sibling retrieval tools (bb_pr_diff, bb_pr_search) or explain how 'details' differs from them, but the noun 'details' does most of the distinguishing work.

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

Usage Guidelines2/5

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

The description offers no when-to-use guidance: no mention of prerequisites (workspace/repo defaults), no statement of how it differs from bb_pr_search when the PR number is unknown, and no exclusions. The only implicit cue is that the caller must already have a PR number.

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

bb_repos_listLista repositoriosB
Read-only
Inspect

List all repositories in a workspace.

NameRequiredDescriptionDefault
limitNo
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.1/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the workspace scoping context, which is useful, but it does not mention pagination or the effect of the limit parameter despite saying 'all repositories'.

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 a single front-loaded sentence with no wasted text. It is appropriately sized for a simple repository-listing tool, though its brevity contributes to gaps scored in other dimensions.

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

Completeness3/5

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

The tool is relatively simple, has annotations covering safety, and has an output schema, so the description need not explain return values. However, with three parameters, low schema description coverage, and no mention of limit or context_id behavior, it is only minimally complete for correct invocation.

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

Parameters2/5

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

Schema description coverage is only 33%, so the description needs to compensate, but it only loosely covers the workspace parameter and says nothing about limit or context_id. The schema itself documents context_id and exposes limit constraints, but the description does not clarify how pagination or context selection should be understood.

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 states a specific verb and resource: list repositories, scoped to a workspace. That is clear enough to distinguish this from sibling branch, commit, or pipeline tools, although it does not explicitly contrast itself with other repository-list tools such as ghe_org_repos or gl_projects_list.

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

Usage Guidelines2/5

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

The description only says 'List all repositories in a workspace' and gives no explicit when-to-use guidance, no prerequisites, and no alternatives. Usage is implied by the name and sentence, but an agent gets no routing help for choosing this tool over comparable repository-listing siblings.

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

bb_tags_listLista tagsC
Read-only
Inspect

List all tags of the repository.

NameRequiredDescriptionDefault
repoYesRepo slug
limitNo
workspaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not explain pagination behavior, ordering of tags, or what happens when more tags exist than the limit. Saying 'all tags' while the schema caps results at 100 is a mild mismatch worth flagging.

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?

A single short, front-loaded sentence with no wasted words. It is sized appropriately for a simple list operation.

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

Completeness3/5

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

An output schema exists so return values need not be explained, and annotations cover safety. However, the description leaves the pagination cap and the workspace/context_id parameters unexplained, which are relevant for calling this tool correctly on large repositories.

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

Parameters2/5

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

Schema description coverage is only 50%. The description never mentions repo, limit, workspace, or context_id, and does not compensate for the two undocumented parameters (limit, workspace). It adds no meaning beyond the structured schema.

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 gives a specific verb and resource ('List all tags of the repository'), so the operation is unmistakable. It does not distinguish itself from the sibling tools gl_tags_list and ghe_tags_list, which perform the same action against different providers; only the bb_ prefix on the name hints at Bitbucket.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over bb_branches_list or the GitLab/GitHub tag siblings, and no prerequisites or context are stated. An agent must infer usage from the tool name alone.

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

cert_statusTLS certificate statusA
Read-only
Inspect

Certificate expiry and validity for a hostname:port. Use to rule out cert-expired as cause of outage.

NameRequiredDescriptionDefault
portNo
hostnameYesHostname (e.g. www.your-tenant.com)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description adds that expiry and validity are the data points of interest, but says nothing about whether it performs a live TLS handshake, how timeouts or connection failures surface, or how chain/hostname-mismatch errors are reported.

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?

Two short sentences, zero filler. The what (expiry/validity) is front-loaded and the diagnostic purpose follows immediately.

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

Completeness3/5

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

With an output schema present, return-value explanation is not required, and annotations cover safety. However, for a network-probing cert check the description is silent on probing behavior and failure modes, and the one undocumented parameter (port) is left to its default alone.

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

Parameters3/5

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

Schema description coverage is 67%: hostname has an example and context_id is documented in the schema, while port is undocumented except for its default of 443 and 1-65535 bounds. The description's 'hostname:port' phrasing implies the port is a target selector defaulting to standard HTTPS, adding only marginal meaning beyond the schema.

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?

States a specific resource and what is returned: 'Certificate expiry and validity for a hostname:port.' An agent can distinguish this from Cloudflare-specific siblings like cf_ssl_verification or cf_ssl_certificate_packs because the scope is an arbitrary host:port, though the description never names those siblings to make the distinction explicit.

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

Usage Guidelines4/5

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

'Use to rule out cert-expired as cause of outage' gives a clear triggering context during incident triage. It stops short of stating when NOT to use it or pointing to the alternative generic TLS/DNS checks (cf_ssl_verification, dnssec_check, tcp_connect) that an agent could confuse it with.

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

cf_account_ruleset_entrypoint_getCloudflare: account ruleset entrypointA
Read-only
Inspect

Read account-level ruleset entrypoint: custom WAF (http_request_firewall_custom), managed WAF (http_request_firewall_managed), rate limiting (http_ratelimit), bulk redirects (http_request_redirect). Returns execute rules with childRulesetId when action is execute.

NameRequiredDescriptionDefault
phaseYes
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds a useful note about execute-action rules and childRulesetId, but that is return-value content already covered by the output schema, and it says nothing about permissions, pagination, or account/zone resolution behavior.

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?

Two sentences, zero filler, with the read purpose and resource front-loaded before the phase breakdown and the return-value note. Every clause adds information.

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?

With annotations covering the safety profile, the output schema covering the return shape, and 83% schema coverage on parameters, the description only needs to establish scope and add semantics. It does that well; the only real gap is the unstated relationship to the zone-level sibling cf_ruleset_entrypoint_get.

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 description coverage is 83%, so the schema carries most parameter meaning and the baseline would be 3. The description earns above baseline by mapping each cryptic enum value (http_request_firewall_custom, etc.) to plain-English labels like 'custom WAF' and 'bulk redirects', which the raw enum strings do not convey.

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

Purpose5/5

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

States a specific verb and resource ('Read account-level ruleset entrypoint') and enumerates exactly which rule categories it covers (custom WAF, managed WAF, rate limiting, bulk redirects). The 'account-level' qualifier cleanly distinguishes it from the zone-scoped sibling cf_ruleset_entrypoint_get without needing to open either schema.

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?

Scope is implied by the 'account-level' wording and the phase list, so an agent can infer this is the account-scoped counterpart to cf_ruleset_entrypoint_get. But it never explicitly names that alternative nor states when to use one versus the other, leaving the routing decision to inference.

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

cf_account_ruleset_getCloudflare: account ruleset by IDA
Read-only
Inspect

Read an account-level ruleset by UUID (child custom WAF rulesets, bypass lists, Noibu blocks, etc.). Returns normalized rules with trimmed actionParameters (phases/ruleset for skip rules).

NameRequiredDescriptionDefault
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
rulesetIdYesCloudflare account ruleset ID (32-char hex UUID)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the safe read-only profile, so the description's job is to add context — and it does: it discloses that rules are returned normalized with trimmed actionParameters and that skip rules carry phases/ruleset, which materially affects how results should be interpreted. It does not mention permission requirements or account-resolution behavior, but the added normalization note is genuinely non-obvious value.

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

Conciseness4/5

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

Two sentences, front-loaded with the verb and scope, no filler. The parenthetical example list is slightly noisy ('Noibu blocks, etc.') but earns its place by naming real ruleset categories.

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?

An output schema exists, so return shape needn't be described, and the annotations cover safety. The description supplies scope, example use cases, and a note about normalization/trimming — sufficient for an agent to call this correctly, with the only gap being routing guidance against the similar entrypoint/list tools.

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

Parameters3/5

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

Schema coverage is 100% with all six parameters documented, including the rulesetId UUID format and the account/zone resolution fallbacks, so the schema carries the parameter burden. The description adds only 'by UUID', which is already in the schema, and says nothing about how rulesetId relates to zoneOrId/accountId resolution.

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?

States a specific verb and resource (read an account-level ruleset) plus the key scope qualifier (account-level, by UUID), and gives concrete examples of the ruleset types it covers (child custom WAF rulesets, bypass lists). It implicitly separates itself from the zone-level siblings like cf_ruleset_entrypoint_get, but never names them, so differentiation requires the agent to infer from 'account-level'.

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?

Usage is only implied through the example ruleset categories and the 'by UUID' phrasing. There is no explicit statement of when to pick this over cf_account_ruleset_entrypoint_get, cf_ruleset_entrypoint_get, or cf_rulesets_list, which is a real ambiguity given the sibling set.

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

cf_analytics_overviewCloudflare: analytics overviewA
Read-only
Inspect

Zone traffic totals (requests, bandwidth, threats, pageviews, uniques). Uses GraphQL httpRequests1mGroups first (same token as cf_cache_analytics); REST dashboard is a fallback. since/until: ISO 8601 or negative minutes (e.g. -60).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
sinceNoStart: ISO 8601 datetime or negative minutes relative (e.g. "-1440" for last 24h)
untilNoEnd: ISO 8601 datetime or "0" for now
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
continuousNoIf true, returns continuous timeseries
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: it discloses the dual data path (GraphQL httpRequests1mGroups primary, REST dashboard fallback) and the shared token with cf_cache_analytics, which implies possible metric discrepancies between paths. It stops short of describing latency, rate limits, or how `continuous` alters the result.

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

Conciseness4/5

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

Three tight sentences that front-load the returned metrics before the implementation note and the time-format hint. No filler, though the since/until sentence is redundant with the schema and slightly dilutes the front-loading.

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?

With an output schema present, the description need not explain return values, and annotations cover the safety profile; the 7-param schema is fully documented. What remains missing is sibling routing (when to prefer cf_http_security_breakdown or cf_firewall_events for threat detail) and how `continuous` affects the response, but the core call path is adequately covered.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The only parameter text in the description ('since/until: ISO 8601 or negative minutes (e.g. -60)') duplicates what the schema already states for both fields, so it adds no meaning beyond the structured data; zone, continuous, account_slug, and environment_slug are untouched.

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?

Names the resource and enumerates the exact metrics returned (requests, bandwidth, threats, pageviews, uniques), which is far more specific than the title alone. It explicitly references the sibling cf_cache_analytics, giving partial differentiation, though it does not contrast with the other analytics siblings such as cf_http_security_breakdown or cf_firewall_events.

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?

Usage is only implied: the tool is for high-level zone traffic totals, and the token-reuse note about cf_cache_analytics hints at when both are called together. There is no explicit 'use this instead of X when Y' guidance, and no statement of prerequisites or exclusions (e.g. when a detailed breakdown tool is more appropriate).

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

cf_cache_analyticsCloudflare: cache analyticsB
Read-only
Inspect

Analyze Cloudflare cache outcomes for a zone over time, grouped by five-minute bucket, cache status, and hostname. Returns requests and edge bytes for HIT, MISS, BYPASS, DYNAMIC, EXPIRED, REVALIDATED, and other observed statuses.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
limitNo
sinceNoStart: RFC3339 timestamp or negative minutes (default -1440)
untilNoEnd: RFC3339 timestamp or 0 for now
hostnameNoOptional hostname inside the zone (e.g. www.your-tenant.com)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral detail about granularity (five-minute buckets) and returned measures, but says nothing about result truncation given the limit/max 10000 cap, cardinality of statuses, or data freshness/lag.

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?

Two sentences, front-loaded with the action and scope, then the output content. No filler or restated boilerplate.

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?

With an output schema present and 88% parameter coverage, the description only needs to frame scope and it does so well. The remaining gap is the absence of any routing hint among the many cf_* analytics siblings, which matters given the crowded sibling set.

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

Parameters3/5

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

Schema description coverage is 88%, so since/until/zone/hostname defaults are already documented in the schema and the baseline of 3 applies. The description adds no parameter-level meaning beyond noting that hostname is one of the grouping dimensions, which only loosely implies the hostname filter parameter.

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?

Clear verb+resource: 'Analyze Cloudflare cache outcomes for a zone over time' with the grouping dimensions (five-minute bucket, cache status, hostname) and the returned metrics spelled out. It is distinguishable from mutation siblings like cf_cache_purge, but it never distinguishes itself from the closest read sibling cf_analytics_overview.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no pointer to alternatives such as cf_analytics_overview (broad analytics) or cf_cache_probe (single-URL cache check). The agent must infer applicability purely from the name and the word 'cache'.

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

cf_cache_probeCloudflare: cache URL probeA
Read-only
Inspect

Probe one public URL 1-3 times and report CF-Cache-Status, Age, CF-Ray, cache headers, latency, and status transitions. Point-in-time evidence for the responding Cloudflare path/POP; not a global cache inventory.

NameRequiredDescriptionDefault
urlYesPublic URL inside the zone (e.g. https://www.your-tenant.com/asset.js)
zoneYesParent Cloudflare zone name (e.g. your-tenant.com) or zone ID
attemptsNo
timeoutMsNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish read-only and non-destructive behavior, while the description adds useful context about repeated probing, status transitions, latency, and the point-in-time nature of the evidence. It does not discuss auth, rate limits, or failure modes, but it meaningfully improves transparency beyond the annotations.

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?

Two sentences are front-loaded with the core action and output fields, followed by a scope limitation. There is no filler, and every clause contributes to correct tool selection or interpretation.

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?

The description is complete enough for a diagnostic probe with an output schema, annotations, and mostly documented parameters. It covers purpose, outputs, and scope, though it could do more to explain parameter routing and alternative diagnostic tools.

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

Parameters3/5

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

Schema coverage is moderate at 71%, and the schema already describes zone, URL, context_id, account_slug, and environment_slug. The description adds the 1-3 attempt range for the attempts parameter, but it does not clarify timeoutMs or the account/zone routing parameters beyond what the schema provides.

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

Purpose5/5

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

The description uses a specific verb and resource: it probes one public URL 1-3 times and reports named Cloudflare cache and timing fields. It also distinguishes the tool's scope from a global cache inventory, which helps separate it from analytics-style cache siblings.

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

Usage Guidelines4/5

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

The phrase 'Point-in-time evidence for the responding Cloudflare path/POP; not a global cache inventory' gives clear usage context and an exclusion. It does not explicitly name a sibling alternative such as cf_cache_analytics, so it falls short of full when-to-use/when-not guidance.

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

cf_cache_purgeCloudflare: Purge cacheA
Destructive
Inspect

Purge cached assets for a zone (urls, cache-tags, hosts, or prefixes). Requires API token with Cache Purge permission.

NameRequiredDescriptionDefault
tagsNoCache-tags to purge
zoneYesZone name (e.g. your-tenant.com) or zone ID
filesNoFull URLs to purge (max 500 combined)
hostsNoHostnames to purge
prefixesNoURL path prefixes to purge
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true; the description adds real value on top by stating the required Cache Purge token permission, which is the main failure mode for this call. It does not mention that a purge is irreversible/instantly affects live traffic or any rate limits, which would be the remaining useful disclosure.

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?

Two short sentences with no filler; the scope and the four modes come first and the permission requirement follows as the supporting constraint.

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?

With 8 parameters but 100% schema coverage, an output schema, and full annotations, the description needs only to frame the operation and its prerequisite, which it does. A note that purges are immediate and irreversible would close the last gap.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter including the account/context routing fields is already documented; the description only loosely maps its mode list onto files/tags/hosts/prefixes. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (purge) and resource (cached assets for a zone) and enumerates the four purge modes (urls, cache-tags, hosts, prefixes), which cleanly separates it from read-only siblings like cf_cache_probe, cf_cache_analytics, and cf_cache_purge_history.

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

Usage Guidelines4/5

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

Gives a clear operational context ('purge cached assets for a zone') and a prerequisite (API token with Cache Purge permission). It stops short of naming when NOT to use it or pointing at cf_cache_probe for verification or cf_cache_purge_history for auditing, so it is clear context without explicit alternatives.

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

cf_cache_purge_historyCloudflare: cache purge historyA
Read-only
Inspect

Read detailed cache purge events from Cloudflare Audit Logs v2 for a zone. Returns when, who/token, success/failure, and the purged files, prefixes, hosts, tags, or purge-everything request. Read-only; requires Account Settings Read.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
limitNo
sinceNoStart date or RFC3339 timestamp
untilNoExclusive end date or RFC3339 timestamp
cursorNoPagination cursor from a previous response
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
actionResultNo
actorTokenNameNoFilter by Cloudflare API token name
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only and non-destructive behavior, and the description adds useful context beyond them: the data source (Audit Logs v2), the required permission ('Account Settings Read'), and the shape of the returned event details. It does not describe pagination or rate-limit behavior, but the output schema and parameter descriptions cover those areas.

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?

Two tight sentences, front-loaded with the core purpose and followed by return content and access requirements. Every sentence contributes useful information without repetition.

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?

The description gives the source system, required permission, and a summary of returned fields; the output schema handles return structure, and most parameters are documented in the schema. It is nearly complete for a read-only audit tool, though it lacks guidance on when this history view should be preferred over related Cloudflare tools.

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

Parameters3/5

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

Schema description coverage is 80%, so the baseline is 3 even though the description does not explain individual parameters. It mentions 'for a zone', but that only restates the required parameter already documented in the schema.

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 states a specific verb and resource: 'Read detailed cache purge events from Cloudflare Audit Logs v2 for a zone.' It is clearly distinguishable from cf_cache_purge (which creates purges) and from analytics siblings, but it does not explicitly name or contrast with any sibling tool.

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?

Usage is implied by the phrasing 'Read detailed cache purge events' and 'Read-only', but the description never states when to choose this tool over related tools such as cf_cache_purge, cf_cache_analytics, or general audit-log tools. No exclusions or alternatives are given.

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

cf_cache_rules_listCloudflare: Cache Rules listC
Read-only
Inspect

Get Cache Rules entrypoint for advanced cache settings.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds nothing beyond that — no indication of what the 'entrypoint' contains, whether it returns a ruleset skeleton for editing, or how it relates to the replace tool that presumably consumes it.

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

Conciseness3/5

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

A single short sentence, so nothing is padded, but it is under-specified rather than concise — the key noun 'entrypoint' is never explained and there is no front-loaded statement of what is returned.

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

Completeness2/5

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

An output schema exists, so return values needn't be described, and annotations cover safety. However, in a dense Cloudflare ruleset family the description should clarify that this reads the cache-rules ruleset entrypoint that cf_cache_rules_replace writes; it leaves that relationship and the tool's role entirely implicit.

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

Parameters3/5

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

Schema description coverage is 100% and all four parameters (zone, context_id, account_slug, environment_slug) are documented in the schema. The description adds no additional meaning about zone resolution or account routing, so baseline 3 applies.

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

Purpose3/5

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

The description names the resource (Cache Rules) and a retrieval verb, but 'entrypoint' is ambiguous — the tool name says list while the description suggests fetching a ruleset entrypoint structure. It does not distinguish this from nearby siblings such as cf_rules_list_items, cf_page_rules_list, or cf_origin_rules_list, so the agent cannot easily tell which retrieval tool covers which ruleset type.

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

Usage Guidelines2/5

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

No guidance on when to use this versus cf_cache_rules_replace, cf_rules_list_items, or cf_ruleset_entrypoint_get. 'For advanced cache settings' implies a context but gives no selection criteria or exclusions.

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

cf_cache_rules_replaceCloudflare: Cache Rules replaceB
Destructive
Inspect

Replace Cache Rules entrypoint with the provided full rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
rulesYesComplete Cloudflare cache rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description does add value by making clear this is a full replacement (the entire entrypoint is overwritten), but it does not state that omitted existing rules are dropped or mention auth/permission requirements.

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

Conciseness4/5

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

One front-loaded sentence with no filler. It is arguably too terse for a destructive operation, but nothing in it is wasted.

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

Completeness2/5

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

For a destructive replace, the critical unknown is the structure of the objects inside 'rules' (schema items are untyped with additionalProperties: {}), and the description says nothing about it. Output schema exists so return values need no explanation, but the input-side gap is significant.

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

Parameters3/5

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

Schema coverage is 83%, so the schema documents most parameters. The description's 'full rules array' reinforces that the rules parameter must be complete, not a delta, which is a meaningful addition beyond the schema's terse 'Complete Cloudflare cache rules array'.

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?

Specific verb+resource: 'Replace Cache Rules entrypoint' with a full rules array. An agent can distinguish it from cf_cache_rules_list (read) and from other ruleset replacers by resource name, though the description does not explicitly name the sibling it complements.

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

Usage Guidelines2/5

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

No explicit when-to-use, when-not-to-use, or alternative (e.g. cf_ruleset_entrypoint_update for partial changes, or cf_cache_rules_list to fetch current state first). The 'full rules array' phrasing hints at replacement semantics but the agent must infer the workflow.

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

cf_cname_flattening_getCloudflare: CNAME flattening mode getA
Read-only
Inspect

Get CNAME flattening mode at zone level: root_only or all.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description's added value is the return-value domain (root_only vs all), which is genuinely useful, but it says nothing about fallback behaviour, defaults, or what happens for a zone that hasn't set the value.

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?

A single short sentence with the verb, scope and value domain front-loaded and nothing wasted. It does not pad with restated annotations or boilerplate.

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?

For a read-only, single-value getter with full schema coverage, an output schema, and complete annotations, this covers what an agent needs to call it correctly. The only shortfall is that account/context routing caveats live entirely in the schema rather than being flagged here.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (zone, context_id, account_slug, environment_slug) are already documented in structured form. The description only echoes the 'zone level' scoping without adding syntax or format detail, so baseline 3 applies.

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?

States a specific verb+resource (get the CNAME flattening mode) scoped 'at zone level', and enumerates the only two possible values (root_only, all). It is distinguishable from the sibling cf_cname_flattening_set by the read verb, though it never names that sibling explicitly.

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?

Usage is implied by the read verb and the 'zone level' scoping, but there is no statement of when to reach for this versus cf_zone_settings_get or cf_cname_flattening_set, and no prerequisites or exclusions. An agent can infer intent but gets no routing guidance.

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

cf_cname_flattening_setCloudflare: CNAME flattening mode setC
Destructive
Inspect

Set CNAME flattening mode at zone level: root_only (flatten at root) or all (flatten all CNAMEs).

NameRequiredDescriptionDefault
modeYes
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnly=false, destructive=true, and openWorld=true, so the safety profile is known from structured data. The description adds nothing beyond that: it never warns that this mutates live zone DNS behavior, whether the change is reversible, how propagation works, or what permissions are needed.

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

Conciseness4/5

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

One tight sentence with the operation front-loaded and the two modes clarified parenthetically. No wasted words, though the brevity partly reflects missing content rather than disciplined editing.

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

Completeness2/5

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

For a destructive, open-world mutation on production DNS with five parameters and no annotation-level detail about impact, the description leaves out effect, prerequisites, and side effects. The output schema covers return values, but the behavioral side of the call is under-described.

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

Parameters3/5

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

Schema coverage is 80%, so the baseline is 3. The description does add meaning for the mode enum ('flatten at root' vs 'flatten all CNAMEs'), which the schema only lists as bare values, but it says nothing about zone/account_slug/environment_slug routing behavior beyond the schema text.

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?

States a specific verb and resource ('Set CNAME flattening mode at zone level') and disambiguates the enum values, so the operation is instantly recognizable and distinguishable from the sibling read tool cf_cname_flattening_get. It stops short of naming that sibling explicitly.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or prerequisite guidance. An agent is not told to inspect the current mode first via cf_cname_flattening_get, nor when root_only should be preferred over all.

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

cf_config_rules_listCloudflare: Config Rules listC
Read-only
Inspect

Get Configuration Rules entrypoint (http_config_settings). Controls per-request zone settings: Browser Integrity Check, Security Level, SSL mode, Hotlink Protection, etc.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful scope by naming the per-request zone settings these rules control, but does not discuss return behavior or pagination; the output schema partly covers that gap.

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

Conciseness4/5

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

The description is two short sentences and is reasonably front-loaded with the resource name. The second sentence efficiently explains what the rules control, though "entrypoint" and "etc." add slight ambiguity rather than substance.

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

Completeness3/5

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

For a simple read-only tool with an output schema, full schema coverage, and read-only annotations, the description covers the minimum. However, it leaves the list-versus-entrypoint distinction unclear and does not mention the sibling mutation tool, which matters for correct tool selection.

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

Parameters3/5

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

Schema description coverage is 100%, so the four parameters are fully documented in the schema, establishing the baseline of 3. The description does not add meaning beyond that, such as how the zone identifier is used or when context_id and account_slug matter.

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

Purpose3/5

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

The description names a resource and a retrieval verb ("Get Configuration Rules entrypoint"), but "entrypoint (http_config_settings)" is jargon and it never explicitly says this tool lists existing configuration rules. It also does not distinguish the read operation from the sibling cf_config_rules_replace.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no when-not-to-use condition, and no reference to cf_config_rules_replace as the alternative for changing rules. The read-only nature is implied, but the agent must infer it without stated boundaries.

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

cf_config_rules_replaceCloudflare: Config Rules replaceB
Destructive
Inspect

Replace Configuration Rules entrypoint (http_config_settings) with the provided full rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
rulesYesComplete Cloudflare configuration rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the bar is lower. The description adds real value by clarifying that this is a full overwrite of the entrypoint (not a merge or patch), but says nothing about what existing rules are lost, ordering requirements, or any prerequisite read-modify-write flow.

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

Conciseness4/5

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

One sentence, no filler, and the destructive overwrite semantics are front-loaded via the verb 'Replace'. It is close to minimal but leaves the reader wanting one more clause about prerequisites.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained. However, for a destructive full-replacement tool with six parameters including account/environment routing, the description omits the crucial workflow context (read current rules first via cf_config_rules_list) and any account-routing notes.

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

Parameters3/5

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

Schema coverage is 83%, so most parameters are already documented in the schema. The description reinforces that 'rules' must be the complete array rather than a delta, which is genuinely useful, but adds nothing about zone vs. account_slug vs. environment_slug routing logic.

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?

Specific verb plus resource: 'Replace Configuration Rules entrypoint (http_config_settings)' names the exact Cloudflare entrypoint being written. It doesn't distinguish itself from adjacent siblings like cf_config_rules_list or cf_ruleset_entrypoint_update, but the resource is unambiguous.

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

Usage Guidelines2/5

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

No statement of when to use this versus cf_config_rules_list (to read current state first) or the other *_rules_replace siblings. The phrase 'with the provided full rules array' hints that a complete array is required, but the agent must infer this rather than being told.

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

cf_dns_recordsCloudflare: DNS recordsA
Read-only
Inspect

List DNS records for a Cloudflare zone. Accepts zone name or ID. Filter by record type (A, AAAA, CNAME, MX, TXT, etc.) or name. Shows proxied status and TTL.

NameRequiredDescriptionDefault
nameNoFilter by record name (e.g. www.your-tenant.com)
pageNo
typeNoFilter by record type: A, AAAA, CNAME, MX, TXT, NS, etc.
zoneYesZone name (e.g. your-tenant.com) or zone ID
per_pageNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

The readOnlyHint=true and destructiveHint=false annotations already communicate that this is a safe read operation. The description adds useful context by noting filters and that proxied status and TTL are shown, but it does not mention pagination limits, authentication/account-routing needs, or other behavioral constraints. It does not contradict the annotations.

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

Conciseness4/5

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

The description is short, front-loaded with the primary operation, and each sentence contributes useful scoping or filtering information. There is minor repetition of schema-level details such as accepting a zone name or ID, but no significant waste.

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 that an output schema exists and 75% of parameters are documented in the schema, the description is largely sufficient for correct invocation. It could do more to explain multi-account routing parameters and pagination behavior, but the essential operation and filters are clear.

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

Parameters3/5

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

Schema description coverage is 75%, so the schema already documents the key parameters reasonably well. The description restates that zone accepts a name or ID and that type/name filters exist, but adds little beyond the schema and does not explain pagination, context_id, account_slug, or environment_slug. Baseline 3 is appropriate.

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 states a specific verb and resource: list DNS records for a Cloudflare zone. It also names the supported filters and visible fields, so an agent can understand the operation without opening the schema. It does not explicitly distinguish itself from related lookup tools such as dns_lookup or azure_dns_lookup, which keeps it from a 5.

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?

Usage is implied by the list/filter framing: use this to inspect DNS records in a Cloudflare zone. However, the description gives no explicit when-to-use guidance, no when-not-to-use conditions, and does not route the agent to alternatives such as generic DNS lookup tools.

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

cf_firewall_eventsCloudflare: firewall eventsA
Read-only
Inspect

Recent WAF/firewall security events only (blocked/challenged traffic with a rule action). Does not replace full HTTP request analytics — use cf_http_security_* for cart/checkout bot score, JA4, and volume on all eyeball requests.

NameRequiredDescriptionDefault
pageNo
zoneYesZone name (e.g. your-tenant.com) or zone ID
sinceNoStart: ISO-8601 (e.g. 2025-01-01T00:00:00Z) or relative minutes (e.g. "-60"). Not now-1h.
untilNoEnd: ISO-8601 or relative minutes (e.g. "0" for now). Not now-1h.
actionNoFilter by firewall action (e.g. block, challenge)
sourceNoFilter by event source (e.g. firewall)
per_pageNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
path_containsNoFilter events whose request path contains this substring (GraphQL fallback)
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered and the description's job is smaller. The description adds a meaningful caveat about the data domain (only rule-action events, so empty results do not mean no traffic), but says nothing about pagination behavior, retention window, or rate limits on an 11-parameter paginated query.

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?

Two short sentences, front-loaded with the scope constraint, followed immediately by the counter-case and the alternative family. Zero filler.

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?

An output schema exists and annotations cover safety, so the description needn't explain returns. It cleanly frames scope and alternatives; only minor things like the default time window behind 'Recent' and the interaction between the action filter and the implicit rule-action restriction are left unstated.

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

Parameters3/5

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

Schema description coverage is 82%, so the schema already documents zone, since/until format, action, source, page/per_page, and the Hub context params. The description adds nothing parameter-level — notably it never clarifies the default time window implied by 'Recent' nor how the action filter interacts with the fixed rule-action scope. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose5/5

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

States the resource precisely (WAF/firewall security events) and narrows the scope to events carrying a rule action (blocked/challenged), so an agent knows exactly what data comes back. It also draws the boundary against the cf_http_security_* family in the same breath.

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

Usage Guidelines4/5

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

Explicitly names the condition for choosing the alternative: use cf_http_security_* when you need bot score, JA4, or volume across all eyeball requests. It doesn't state a positive trigger ('use this when investigating blocks') and doesn't address the other nearby WAF siblings such as cf_waf_custom_rules_list or cf_waf_ip_audit, so routing among rule-configuration vs event tools is left to inference.

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

cf_http_security_breakdownCloudflare: HTTP security breakdownA
Read-only
Inspect

Aggregate eyeball HTTP requests (GraphQL adaptive groups) for bot score buckets, ASN, country, JA4/JA3, path, or bot decision. Requires Zone Analytics Read; bot dimensions need Bot Management. Complements cf_firewall_events (WAF-only).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
limitNo
sinceNoStart/end: RFC3339 or negative minutes relative to now (default -60 / 0)
untilNo
methodsNo
group_byYes
hostnameNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
path_prefixNo
path_presetNoPath filter preset; cart_checkout_api matches common cart/checkout API paths (breitling_cart_checkout is deprecated alias)
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
bot_score_maxNo
bot_score_minNo
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.
custom_path_containsNoUsed when path_preset=custom

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, non-destructive, closed-world, so the safety profile is covered. The description adds real value beyond that: required permission scopes and the fact that bot-score/decision dimensions depend on Bot Management, which is exactly the kind of failure-mode context an agent needs. It does not mention aggregation windows, sampling, or result-size behavior.

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?

Three tight sentences: what it aggregates and by what, then permissions, then sibling relationship. Front-loaded with the core capability and no redundant restatement of the title.

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?

For a 15-parameter aggregation tool with an output schema, the description covers purpose, auth prerequisites, and the key alternative. Gaps remain around filter interaction (bot_score_min/max pairing with bot_score_bucket), time-range defaults, and path_preset usage, but these are partially mitigated by schema descriptions.

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

Parameters2/5

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

Schema coverage is only 47% across 15 parameters, so the description needs to compensate and largely does not. It enumerates the group_by values (which the enum already provides) but says nothing about limit, methods, hostname, path_prefix, bot_score_min/max, or how filters combine, leaving roughly half the parameters undocumented in both places.

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

Purpose5/5

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

States a specific verb ('Aggregate') and resource ('eyeball HTTP requests') plus the exact set of grouping dimensions, which matches the group_by enum. It also names the sibling it is not (cf_firewall_events, WAF-only), so an agent can distinguish the two without opening schemas.

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

Usage Guidelines4/5

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

Gives clear preconditions to use it (Zone Analytics Read; Bot Management for bot dimensions) and frames its role relative to cf_firewall_events. It does not, however, distinguish itself from the adjacent cf_http_security_samples or cf_http_security_top_talkers siblings, leaving that inference to the agent.

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

cf_http_security_samplesCloudflare: HTTP security samplesB
Read-only
Inspect

Recent individual HTTP requests (max 20) with Ray ID, bot score, JA4, path, and client metadata. Filter by client_ip, ja4, or bot_score_max.

NameRequiredDescriptionDefault
ja4No
zoneYesZone name (e.g. your-tenant.com) or zone ID
limitNo
sinceNoStart/end: RFC3339 or negative minutes relative to now (default -60 / 0)
untilNo
hostnameNo
client_ipNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
path_presetNoPath filter preset; cart_checkout_api matches common cart/checkout API paths (breitling_cart_checkout is deprecated alias)
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
bot_score_maxNo
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.
custom_path_containsNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly/non-destructive/closed-world, so safety is covered. The description adds the 'max 20' and 'recent' scope, but with an output schema and rich annotations, there is little extra behavioral context such as time-window defaults or pagination behavior.

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?

Two tight sentences front-load the resource and scope, then list filters. No filler or repetition.

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

Completeness3/5

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

Output schema exists so return values needn't be described, and annotations cover the safety profile. But for a 13-param tool with half the schema undocumented, the description doesn't fully explain zone resolution, time windows, or path presets, and gives no sibling routing.

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

Parameters3/5

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

Schema coverage is only 46%, so the description carries some burden; it does surface the three key filter params (client_ip, ja4, bot_score_max), which lack schema descriptions. However, several undocumented params (hostname, custom_path_contains, limit, until semantics) remain unexplained, leaving a partial gap.

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?

States a specific resource (recent individual HTTP requests) with a max cap and enumerates key fields (Ray ID, bot score, JA4, path, client metadata). This clearly separates it from aggregate-oriented siblings like cf_http_security_breakdown and cf_http_security_top_talkers, though it never names those alternatives explicitly.

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

Usage Guidelines2/5

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

Lists filterable fields but provides no when-to-use guidance or comparison against the other HTTP security tools (breakdown, top_talkers, firewall_events). An agent must infer when to prefer individual samples over aggregations.

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

cf_http_security_top_talkersCloudflare: HTTP security top talkersB
Read-only
Inspect

Top client IPs or JA4 fingerprints by request volume on filtered paths (cart/checkout preset supported). Includes requests_per_minute and abuse_signal heuristics.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
limitNo
sinceNoStart/end: RFC3339 or negative minutes relative to now (default -60 / 0)
untilNo
group_byYes
hostnameNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
path_presetNoPath filter preset; cart_checkout_api matches common cart/checkout API paths (breitling_cart_checkout is deprecated alias)
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
min_requestsNo
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.
hosting_asn_onlyNoFlag hosting-provider ASNs in abuse_signal
include_dimensionsNo
custom_path_containsNo
min_requests_per_minuteNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing that results carry requests_per_minute and abuse_signal heuristics, which is behavioral context beyond the annotations. It stops short of noting query cost or how far back the lookback can go.

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

Conciseness4/5

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

Two dense sentences that front-load the ranking semantics and then the output heuristics; nothing is filler. The parentheticals are slightly compressed but still readable.

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

Completeness2/5

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

For a 15-parameter analytics tool, the definition is thin: it never explains include_dimensions, custom_path_contains versus path_preset 'custom', or the account/environment routing parameters. An output schema exists, so return-shape coverage is excused, but the input-side gaps leave the agent guessing on roughly half the surface.

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

Parameters3/5

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

Schema coverage is 47%, so the description has to carry weight and does partially: it explains the group_by choice (IP vs JA4 fingerprints), the path preset including cart/checkout, and hints at min_requests_per_minute and abuse_signal/hosting_asn_only. Many parameters (limit, min_requests, include_dimensions, custom_path_contains, account/env routing) get no mention in either place, so the gap is only partly closed.

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 states a specific verb-equivalent and resource: ranking top client IPs / JA4 fingerprints by request volume over filtered paths. That is far more specific than the title alone and lets an agent tell it apart from per-request tools. It does not name the nearest siblings (cf_http_security_breakdown, cf_http_security_samples) to sharpen the boundary.

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?

Usage is implied by 'by request volume' and the cart/checkout preset mention, so an agent can guess this is the aggregate-ranking tool. But there is no explicit when-to-use versus cf_http_security_breakdown or cf_http_security_samples, and no stated prerequisites or exclusions.

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

cf_kv_keys_listCloudflare: KV keysA
Read-only
Inspect

List keys in a KV namespace (metadata only, not values). Supports prefix filter and pagination.

NameRequiredDescriptionDefault
cursorNo
prefixNoKey prefix filter
per_pageNo
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
namespaceIdYesKV namespace ID
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description only needs to add context. It adds the useful 'keys not values' clarification and pagination mention, but says nothing about page size limits, cursor exhaustion behavior, or rate limits for a 9-param enumeration tool.

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?

One sentence, front-loaded with the verb and resource, then two clarifying clauses. Every clause earns its place and nothing is padded.

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

Completeness3/5

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

An output schema exists so return values needn't be explained, but for a tool with 9 parameters and several account/zone-resolution knobs, the description leaves the routing precedence rules entirely to the schema. Adequate to call correctly in the common case, incomplete for multi-account workspaces.

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

Parameters3/5

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

Schema coverage is 78%, so most parameters are documented in the schema itself. The description names only prefix and pagination (cursor/per_page) and is silent on the account-routing parameters (zoneOrId, accountId, account_slug, environment_slug, context_id) that dominate this tool's complexity. Baseline 3 is appropriate at this coverage level.

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

Purpose5/5

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

States a specific verb and resource ('List keys in a KV namespace') and immediately disambiguates from the value-reading sibling by parenthetical '(metadata only, not values)'. An agent can tell this apart from cf_kv_value_get without opening either schema.

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 list-vs-read distinction is implied by the 'metadata only, not values' note, and prefix/pagination are surfaced. But there's no explicit directive on when to prefer this over cf_kv_value_get, nor any stated prerequisite that namespaceId must come from cf_kv_namespaces_list.

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

cf_kv_namespaces_listCloudflare: KV namespacesB
Read-only
Inspect

List Workers KV namespaces in the account.

NameRequiredDescriptionDefault
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the account-scoping fact; it says nothing about pagination, result volume, or whether all namespaces are returned unpaged — the kind of detail that matters when enumerating.

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

Conciseness4/5

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

One front-loaded sentence with no filler or redundancy. Efficient, though the extreme brevity is itself the weakness rather than a virtue here.

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

Completeness3/5

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

An output schema exists and annotations carry the safety profile, so return-value detail is not needed. However, given five account-routing parameters and a cluster of related KV tools, the description leaves the agent to infer the account/zone resolution flow and the follow-up path to key listing.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (zoneOrId, accountId, context_id, account_slug, environment_slug) are already documented inline with precedence rules. The description contributes nothing about the account-resolution chain or which parameter wins, so the baseline 3 applies.

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?

States a specific verb and resource ("List Workers KV namespaces") plus a scope ("in the account"). An agent can distinguish it from cf_kv_keys_list and cf_kv_value_get by the resource noun, but the description never names those siblings or clarifies the namespace-vs-key hierarchy.

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

Usage Guidelines2/5

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

No when-to-use guidance, no note that listing namespaces is typically the prerequisite step for cf_kv_keys_list / cf_kv_value_get (which need a namespace ID). Nothing tells the agent when this tool is the right call versus the sibling KV tools.

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

cf_kv_value_getCloudflare: KV value readA
Read-only
Inspect

Read a single KV value by key. Large values are truncated (~8k chars) with truncated=true.

NameRequiredDescriptionDefault
keyYesKV key name
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
namespaceIdYesKV namespace ID
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds a genuinely useful, non-obvious behavior: values above ~8k chars are truncated and flagged via truncated=true, which affects how an agent should interpret the result.

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?

Two short sentences, front-loaded with the core action and immediately followed by the truncation caveat. No filler.

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?

With an output schema present, the description needn't explain return shape, and the truncation note covers the main interpretation pitfall. The remaining gap is the discovery path (keys and namespaces must come from the sibling list tools), which an agent would need to infer.

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

Parameters3/5

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

Schema coverage is 100%, so all seven parameters (including account routing fields and context_id) are documented in the schema itself. The description mentions only 'by key' and adds nothing about namespaceId, accountId, zoneOrId or routing precedence, so the baseline 3 applies.

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?

States a specific verb and resource ('Read a single KV value by key'), which an agent can map directly onto cf_kv_keys_list and cf_kv_namespaces_list without ambiguity. It does not explicitly name those siblings to differentiate, keeping it just short of a 5.

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

Usage Guidelines2/5

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

No guidance on when to use this versus cf_kv_keys_list (key discovery) or how to obtain a namespaceId. The description gives a precondition-free read recipe but never says what to do first or when not to call it.

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

cf_lb_monitors_listCloudflare: list LB monitorsA
Read-only
Inspect

List account Load Balancer health monitors (path, interval, retries, expected codes). Requires Account Load Balancers Read.

NameRequiredDescriptionDefault
pageNo
per_pageNo
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish that this is a safe read-only, non-destructive operation. The description adds the required Account Load Balancers Read permission, which is useful beyond annotations, but does not disclose pagination behavior, account/zone resolution behavior, or other operational traits.

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 definition is two short sentences with no wasted text. The resource and scope are front-loaded, followed by the permission requirement.

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?

The description identifies the resource and the required permission, and an output schema exists to explain return values. It does not fully cover the multi-parameter account/zone routing context, but the schema carries most of that detail.

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

Parameters2/5

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

The description mentions monitor attributes such as path, interval, retries, and expected codes, but these are not the input parameters. With schema coverage at 71% and no description of pagination or account/zone routing parameters beyond the schema, the description adds little parameter-level meaning.

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

Purpose5/5

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

States a specific verb and resource: list account Load Balancer health monitors. The parenthetical examples (path, interval, retries, expected codes) clarify what monitor data is involved and distinguish this from load balancer or pool listing siblings.

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 gives a clear prerequisite (Account Load Balancers Read), which helps determine whether the caller can use it. However, it does not explicitly say when to choose this over siblings like cf_load_balancers_list or cf_lb_pools_list, leaving usage mostly implied by the resource name.

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

cf_lb_pools_listCloudflare: list LB poolsA
Read-only
Inspect

List account Load Balancer pools with origins and health summary. Requires Account Load Balancers Read.

NameRequiredDescriptionDefault
pageNo
per_pageNo
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered; the description adds a real operational fact in the required scope/permission. It says nothing about pagination limits or ordering despite page/per_page parameters existing.

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?

Two sentences, scoping and payload contents front-loaded, permission requirement last. Zero filler.

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?

For a read-only paginated list with a full output schema and clear annotations, the description covers what is listed, what comes back, and the auth requirement. Only pagination/result-size behavior is left unstated, which is a minor gap given the output schema.

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

Parameters3/5

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

Schema description coverage is 71% and the description contributes no parameter meaning at all, leaving account routing (zoneOrId, accountId, account_slug, environment_slug) and pagination entirely to the schema. Baseline 3 is appropriate since the schema does most of the work, but no value is added.

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?

States a specific verb and resource ('List account Load Balancer pools') plus the payload shape ('with origins and health summary'), which distinguishes it from cf_load_balancers_list and cf_lb_monitors_list by resource type. It does not explicitly name those siblings as alternatives, so it stops short of a 5.

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?

Adds a permission prerequisite ('Requires Account Load Balancers Read') but never says when to choose this over cf_load_balancers_list or cf_lb_monitors_list, nor when pool listing is the wrong call. Usage is implied by the resource name rather than stated.

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

cf_load_balancer_getCloudflare: load balancer detailA
Read-only
Inspect

Get Load Balancer detail: pools, origins (healthy/unhealthy), steering, session affinity. Requires zone or zoneOrId. loadBalancerId from cf_load_balancers_list.

NameRequiredDescriptionDefault
zoneNoZone name (e.g. your-tenant.com) or zone ID — required if zoneOrId omitted
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID — required if zone omitted
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
loadBalancerIdYesLoad Balancer ID
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that origin health (healthy/unhealthy) is surfaced, which hints at behavioral richness, but since an output schema exists, describing return contents carries only modest incremental value and no auth/rate-limit/edge-case behavior is disclosed.

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?

Three short clauses, zero filler, and the informative part (what detail is returned) is front-loaded ahead of the precondition and ID provenance. Nothing could be removed without losing signal.

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?

For a single-object read tool with a full output schema and 100% parameter coverage, the description supplies purpose, required input, and how to obtain the ID — enough to call it correctly. It omits nothing critical, though a note on zone-vs-accountId routing overlap would close the final gap.

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 the baseline would be 3; the description raises it by explaining where loadBalancerId comes from (cf_load_balancers_list), which is genuine guidance the schema does not contain. The "requires zone or zoneOrId" sentence merely restates the schema's mutual-exclusion note, and the other five routing parameters are untouched.

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

Purpose5/5

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

States a specific verb and resource ("Get Load Balancer detail") and enumerates the payload an agent cares about: pools, origin health, steering, session affinity. It also explicitly distinguishes itself from the sibling cf_load_balancers_list by naming it as the source of the required ID.

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

Usage Guidelines4/5

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

"Requires zone or zoneOrId. loadBalancerId from cf_load_balancers_list" gives a clear precondition and a concrete call-order dependency, which is the key routing decision here. It stops short of exclusion guidance (e.g. when to prefer cf_lb_pools_list or cf_lb_monitors_list instead).

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

cf_load_balancers_listCloudflare: list load balancersA
Read-only
Inspect

List account Load Balancers (name, hostname, enabled, pools). Optional zone filter. Requires Account Load Balancers Read.

NameRequiredDescriptionDefault
pageNo
zoneNoFilter by zone name (e.g. your-tenant.com) or zone ID
searchNoSearch load balancers by name or hostname
per_pageNo
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already mark this as a read-only, non-destructive, non-open-world operation. The description adds a useful authorization requirement ('Requires Account Load Balancers Read') and the zone-filter scoping, but does not discuss pagination behavior or account-routing nuances.

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 a single compact sentence plus a permission note, with the core purpose and scoping front-loaded. Every sentence contributes useful information without repetition.

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?

With an output schema available and rich schema descriptions for most parameters, the description does not need to explain return values or every routing parameter. It is still fairly terse for a 9-parameter account/zone-routing tool, but the structured fields compensate for most of the remaining gaps.

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

Parameters3/5

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

Schema description coverage is 78%, so most parameters are already documented in the schema. The description mentions the optional zone filter but adds no detail about search, pagination, accountId overrides, zoneOrId resolution, or context routing beyond what the schema provides.

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 states a specific verb and resource ('List account Load Balancers') and names the returned fields, making the operation clear. It does not explicitly differentiate itself from close siblings such as cf_load_balancer_get or cf_lb_pools_list, so it falls short of a 5.

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?

It mentions an optional zone filter and the required permission, which gives some usage context. However, it does not say when to use this list tool instead of cf_load_balancer_get, cf_lb_pools_list, or cf_lb_monitors_list, nor does it state exclusions.

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

cf_logpush_job_getCloudflare: Logpush job detailA
Read-only
Inspect

Get a single Logpush job by ID for a zone.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
jobIdYesLogpush job ID from cf_logpush_jobs_list
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the zone-scoped single-job nature and does not elaborate on auth requirements, rate limits, or other behavioral context.

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 a single front-loaded sentence with no wasted words. For a simple read operation, this is appropriately concise.

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?

The tool has full schema coverage, annotations, and an output schema, so the description need not explain return values or parameter details. It identifies the operation clearly, though it could add slight usage context versus the list sibling.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters are already documented in the schema, including zone, jobId, context_id, account_slug, and environment_slug. The description adds no parameter-specific meaning beyond what the schema provides, making 3 the appropriate baseline.

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 states a specific verb and resource: "Get a single Logpush job by ID for a zone." It clearly distinguishes a single-job lookup from the sibling list operation implicitly through "single" and "by ID," though it does not explicitly name cf_logpush_jobs_list.

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?

Usage is implied: fetch one job when its ID is known. However, the description does not explicitly say when to use this versus cf_logpush_jobs_list, nor does it state prerequisites or exclusions.

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

cf_logpush_jobs_listCloudflare: list Logpush jobsA
Read-only
Inspect

List Logpush jobs for a zone (destination, dataset, enabled). Includes edgeHttpForensics: whether http_requests Logpush exists and recommended Datadog queries for EdgeResponseStatus / RayID. Use this before blaming app logs for edge redirects; cf_firewall_events and cf_http_security_* are not HTTP response forensics.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

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

The readOnly and non-destructive annotations already cover the safety profile, so the description adds useful behavioral context by disclosing the edgeHttpForensics output and its recommended Datadog queries. It does not cover permissions, pagination, or freshness behavior, but for a read-only list with an output schema this is solid.

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 three sentences with zero waste, front-loading the core action and scope before the specialized forensic context and sibling caveat. Every sentence adds actionable information.

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

Completeness5/5

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

Given the annotations, complete parameter schema, and an output schema, the description is sufficient for correct invocation. It also supplies the key situational context about edge redirects and the relevant alternative tools.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already documented in the input schema. The description reinforces the zone scope but does not add syntax or routing details for context_id, account_slug, or environment_slug beyond what the schema provides.

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

Purpose5/5

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

The description states a specific verb and resource ('List Logpush jobs') and scopes it to a zone. It also calls out included fields and the special edgeHttpForensics payload, making the tool's purpose distinct from basic list operations.

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

Usage Guidelines4/5

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

It gives a clear usage scenario ('Use this before blaming app logs for edge redirects') and explicitly names cf_firewall_events and cf_http_security_* as unsuitable for HTTP response forensics. It stops short of a complete when-to-use/when-not matrix but provides strong contextual routing.

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

cf_origin_rules_listCloudflare: Origin Rules listB
Read-only
Inspect

Get Origin Rules entrypoint (origin host/port overrides).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The parenthetical adds domain meaning (what origin rules control) that annotations cannot convey, but nothing is said about what the entrypoint response contains or whether an empty/unconfigured entrypoint is possible.

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

Conciseness4/5

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

A single short sentence, front-loaded with the verb and resource. Nothing wasted, but the terseness leaves useful routing information out rather than including it efficiently.

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

Completeness3/5

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

Output schema and annotations are present and the input schema is fully documented, so the description's remaining burden is mainly the read/write distinction and sibling routing, which it only half-delivers. Adequate but noticeably thin for a tool sitting among many similarly named Cloudflare rules tools.

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

Parameters3/5

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

Schema description coverage is 100% with clear per-parameter docs including zone format, context_id routing, and account_slug conditions. The description adds nothing about parameters, so baseline 3 applies.

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?

States a specific verb ('Get') and resource ('Origin Rules entrypoint') and clarifies the domain with 'origin host/port overrides'. It implicitly distinguishes itself from the write sibling cf_origin_rules_replace, though 'entrypoint' is Cloudflare-specific jargon an agent may not resolve without external knowledge.

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

Usage Guidelines2/5

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

No guidance on when to use this versus cf_ruleset_entrypoint_get, cf_rules_list_items, cf_origin_rules_replace, or the other CF rules-list tools. The read-vs-modify split is only inferable from the verb 'Get'.

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

cf_origin_rules_replaceCloudflare: Origin Rules replaceB
Destructive
Inspect

Replace Origin Rules entrypoint with the provided full rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
rulesYesComplete Cloudflare origin rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this overwrites state. The description reinforces this with 'Replace ... full rules array', but adds no detail on what gets destroyed (omitted rules are removed), whether it's reversible, ordering/precedence effects, or any rate limits/permission requirements.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the verb and payload expectation come first. Its brevity borders on under-specification for a destructive tool, but nothing is wasted.

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

Completeness3/5

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

An output schema exists, so return values need no explanation. Still, for a destructive, open-world mutation with 6 parameters, the description omits the practical consequences of the wholesale replace, any prerequisite to fetch current rules, and account/zone routing caveats already implied by the schema.

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

Parameters3/5

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

Schema coverage is 83%, so the schema already documents zone, context_id, account_slug, and environment_slug. The description only touches 'rules', and the schema's own text ('Complete Cloudflare origin rules array') already conveys the completeness requirement, so added meaning is marginal.

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?

States a specific verb ('Replace') and a specific resource ('Origin Rules entrypoint'), which distinguishes it from the read-only sibling cf_origin_rules_list. It does not, however, differentiate itself from other write-path siblings such as cf_ruleset_entrypoint_update or cf_config_rules_replace.

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 phrase 'provided full rules array' implies a precondition (you must supply the complete set, not a delta), which is useful guidance. But there is no explicit when-to-use vs. when-not, no mention of reading existing rules via cf_origin_rules_list first, and no named alternative.

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

cf_page_rule_createCloudflare: Page Rule createB
Destructive
Inspect

Create a Page Rule. Provide native Cloudflare payload including targets, actions, priority and status.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
payloadYesCloudflare Page Rule payload
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is covered. The description adds that a native Cloudflare payload is expected, but doesn't mention irreversibility, effects on existing rules, or evaluation order despite being a destructive write.

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?

Two sentences, no filler, with the action stated first and the payload requirement second. Every sentence earns its place.

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

Completeness3/5

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

For a destructive create-mutation with a fully documented parameter schema and an output schema, this is minimally adequate. Gaps remain around routing between the Page Rule family and ruleset-based tools, and around preconditions for a successful create.

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 the baseline is 3, but the description genuinely adds value for the 'payload' parameter, which the schema leaves as an unconstrained object (additionalProperties: {}). Naming targets, actions, priority and status tells the agent what the payload must contain.

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?

States a specific verb and resource ('Create a Page Rule') and lists the payload fields involved (targets, actions, priority, status). It does not distinguish itself from siblings like cf_page_rule_update or cf_page_rule_delete, so an agent must infer the create-vs-update boundary.

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

Usage Guidelines2/5

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

No guidance on when to use this versus cf_page_rule_update, cf_page_rule_delete, or the ruleset-based alternatives (cf_ruleset_entrypoint_update). Prerequisites such as required zone permissions or Page Rule plan limits are unstated.

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

cf_page_rule_deleteCloudflare: Page Rule deleteC
Destructive
Inspect

Delete a Page Rule by ID.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
ruleIdYesCloudflare Page Rule ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is known. The description adds nothing beyond restating the destructive verb: no note that deletion is irreversible, no propagation/delay warning, no confirmation or permission requirements, and no mention that a zone must resolve first.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler. It is arguably too terse rather than bloated, which is penalized under other dimensions rather than here.

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

Completeness2/5

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

This is a destructive, open-world mutation with five parameters including zone-routing options (account_slug, environment_slug), yet the description says nothing about prerequisites, side effects, or how the zone/rule ID should be sourced. An output schema exists so return values need no explanation, but the missing operational context leaves the definition thin for a destructive operation.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (zone, ruleId, context_id, account_slug, environment_slug) is documented in the schema itself. The description only echoes 'by ID', so baseline 3 applies — the schema does the heavy lifting.

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 states a specific verb and resource ('Delete a Page Rule') plus the lookup key ('by ID'), which is unambiguous against read siblings like cf_page_rules_list. It does not, however, explicitly contrast itself with cf_page_rule_update or cf_page_rule_create beyond the verb difference.

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

Usage Guidelines2/5

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

No guidance on when to use this versus cf_page_rule_update (which might also remove a rule by disabling it), and no prerequisites such as needing a rule ID from cf_page_rules_list first. The agent must infer the workflow entirely from the tool name.

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

cf_page_rules_listCloudflare: Page Rules listB
Read-only
Inspect

List Page Rules (redirects, forwarding, SSL overrides, cache behavior) for a zone.

NameRequiredDescriptionDefault
pageNo
zoneYesZone name (e.g. your-tenant.com) or zone ID
statusNoFilter by Page Rule status
per_pageNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is clear without description help. The description adds zone scoping and rule-type examples, but does not mention pagination, status filtering, or response behavior; with an output schema present, that is a modest but acceptable gap.

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 a single front-loaded sentence with no filler. It immediately identifies the operation, resource, and zone scope.

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

Completeness3/5

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

For a read-only list tool with an output schema and annotation coverage, the description gives enough to know the required zone context. However, it is incomplete for selection in a large suite because it does not distinguish Page Rules from other rule-list tools or mention filtering and pagination.

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

Parameters3/5

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

Schema description coverage is 71%, and the schema itself documents zone, status, context_id, account_slug, and environment_slug; page and per_page are conventional integers with defaults and bounds. The description adds little beyond repeating 'for a zone' and does not explain the status filter or pagination, so it is adequate but not enriching.

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 states a specific verb and resource: 'List Page Rules ... for a zone', and the parenthetical examples clarify what page rules cover. It does not explicitly differentiate this tool from nearby sibling list tools such as cf_cache_rules_list, cf_redirect_rules_list, or cf_origin_rules_list.

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

Usage Guidelines2/5

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

It says the tool is for a zone but gives no when-to-use or when-not-to-use guidance. With many sibling rule-list tools, an agent gets no explicit direction on when this tool is preferable to cf_cache_rules_list, cf_redirect_rules_list, cf_config_rules_list, or similar alternatives.

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

cf_page_rule_updateCloudflare: Page Rule updateA
Destructive
Inspect

Replace an existing Page Rule by ID. Provide full native Cloudflare payload.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
ruleIdYesCloudflare Page Rule ID
payloadYesFull Cloudflare Page Rule payload
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description earns credit for clarifying the replace semantics ('By ID' + 'full native payload'), which tells the agent existing rule content is overwritten wholesale — a detail no annotation conveys.

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?

Two short sentences, action and required-input caveat front-loaded, with no filler or duplicated schema content.

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

Completeness3/5

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

An output schema exists and parameters are fully documented, so the remaining burden is low. Still, for a destructive overwrite tool the description doesn't state whether omitted payload fields are dropped, whether replace is atomic/reversible, or what permissions are needed.

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

Parameters3/5

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

Schema coverage is 100%, so zone, ruleId, payload, and the routing params are all documented in the schema. The description adds only the note that payload must be the 'full native Cloudflare payload', which reinforces the schema rather than extending it much.

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?

States a specific verb ('Replace') and resource ('Page Rule') plus the ID selector, which clearly separates it from cf_page_rule_create and cf_page_rule_delete. It stops short of naming those siblings explicitly.

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?

'Replace an existing Page Rule by ID' implies the update scenario, and 'Provide full native Cloudflare payload' warns that the entire rule body is required. However, it never contrasts with cf_page_rule_create, cf_page_rule_delete, or cf_page_rules_list, nor states prerequisites such as needing an existing rule ID.

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

cf_quick_statusCloudflare zone quick status (outage)A
Read-only
Inspect

Quick Cloudflare zone health check for outage triage. Returns zone status (active/pending/moved), paused flag, nameservers, plan, and SSL certificate status in a single call. Use alongside dns_lookup, http_check, and cert_status during outage investigation.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID (32-char hex)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), so the description's added value is the behavioral trait that all these signals are aggregated "in a single call" and that it is a lightweight triage probe. It does not disclose rate limits or failure behavior, but for a read-only diagnostic call this is solid added context.

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?

Three tight sentences: purpose first, return payload second, usage context third. Nothing is redundant and the triage framing is front-loaded.

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?

Because an output schema exists, the description needn't enumerate return values, and its purpose/usage coverage is adequate for a two-parameter read-only tool. The one meaningful gap is sibling disambiguation from cf_zone_status, which is not addressed.

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

Parameters3/5

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

Schema description coverage is 100%, with both zone (name or 32-char hex ID) and context_id fully documented in the schema. The description adds nothing about either parameter, so the baseline 3 applies.

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 states a specific verb and resource ("Cloudflare zone health check") and enumerates exactly what comes back (status, paused flag, nameservers, plan, SSL cert status). It is clear about what the tool does, though it never distinguishes itself from the sibling cf_zone_status, which an agent could easily confuse it with.

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

Usage Guidelines4/5

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

It gives a clear usage context ("for outage triage", "during outage investigation") and names complementary tools to run alongside it (dns_lookup, http_check, cert_status). It stops short of stating when to prefer it over cf_zone_status or cf_zones_list, so routing between overlapping Cloudflare zone tools is left to inference.

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

cf_redirect_rules_listCloudflare: Redirect Rules listB
Read-only
Inspect

Get Redirect Rules entrypoint (http_request_dynamic_redirect). Lists dynamic URL redirects (Single Redirects) for a zone.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful context by identifying the specific ruleset phase being read (http_request_dynamic_redirect) and the product surface (Single Redirects), but says nothing about behavior when the entrypoint does not exist yet or how the returned rules are ordered.

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

Conciseness4/5

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

Two short sentences, front-loaded with the action and resource, with zero filler. There is minor redundancy between 'Redirect Rules', 'dynamic URL redirects' and 'Single Redirects', which triple-names the same concept using internal and public terminology.

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?

An output schema exists and the input schema is fully described, so the description needn't explain return values. For a simple zone-scoped list read with read-only annotations, what is present is nearly sufficient; only the missing pointer to the write sibling leaves a small gap.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (zone, context_id, account_slug, environment_slug) are already documented in the schema. The description adds no meaning beyond that — notably it does not explain the 'zone' vs 'account_slug' routing interplay — so the baseline 3 applies.

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?

States a specific verb ('Lists') and resource ('dynamic URL redirects / Single Redirects') scoped to a zone, and names the underlying Cloudflare phase ('http_request_dynamic_redirect' entrypoint). It does not, however, differentiate itself from sibling cf_redirect_rules_replace or from the generic cf_ruleset_entrypoint_get, so the agent must infer that this is the read counterpart of the replace tool.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance, and no mention of alternatives such as cf_redirect_rules_replace (for writing) or cf_ruleset_entrypoint_get. The agent is left to infer that this is the read path from the tool name alone.

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

cf_redirect_rules_replaceCloudflare: Redirect Rules replaceA
Destructive
Inspect

Replace Redirect Rules entrypoint (http_request_dynamic_redirect) with the provided full rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
rulesYesComplete Cloudflare redirect rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds useful detail beyond that by naming the concrete entrypoint phase and implying full-overwrite semantics ('the provided full rules array'), but it never explicitly states that rules omitted from the array are removed, nor whether the change is reversible or requires a ruleset permission scope.

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?

One sentence, front-loaded with the verb and the target, with zero filler. Nothing in it is redundant with the title beyond what is necessary for disambiguation.

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

Completeness5/5

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

Scored against a lower bar: an output schema exists and annotations declare the destructive/open-world profile, so the description does not need to explain return values or safety. The remaining essential fact for calling it correctly - that the rules array must be the full replacement set - is present.

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

Parameters3/5

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

Schema description coverage is 83%, so the schema already documents zone, rules, context_id and account_slug. The description's only added value is emphasizing that the rules argument must be the complete array rather than a diff; it says nothing about the optional routing parameters (account_slug, environment_slug, context_id).

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?

States a specific verb (replace) and the exact resource (the Redirect Rules entrypoint at phase http_request_dynamic_redirect), which is precise enough to distinguish it from the read-only cf_redirect_rules_list. It does not, however, distinguish itself from close siblings such as cf_ruleset_entrypoint_update or cf_rules_list_items, leaving some ambiguity about which ruleset-level tool to pick.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites (e.g. that the current rules should be read first with cf_redirect_rules_list), and no mention of alternatives. The only hint about context is the phrase 'with the provided full rules array', which is behavioral rather than a usage guideline.

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

cf_ruleset_entrypoint_getCloudflare: Ruleset entrypoint getA
Read-only
Inspect

Get the active entrypoint ruleset for a zone phase (includes http_request_firewall_custom for WAF custom rules).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
phaseYes
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the meaningful qualifier 'active', implying unpublished/draft rulesets are not returned, but does not say what happens when no entrypoint exists (error vs empty) or how large rulesets are returned.

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

Conciseness4/5

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

One front-loaded sentence with the verb+resource first and the clarifying parenthetical after; nothing is wasted. Slightly terser than ideal — a single clause on missing-entrypoint behavior would cost little and add a lot.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile; the two required params are schematized. What remains missing is failure semantics when no entrypoint ruleset exists for a phase, which is a plausible and consequential case for this call.

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

Parameters3/5

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

Schema description coverage is 80%, so zone, context_id, account_slug and environment_slug are already documented. The description contributes one useful clarification — that http_request_firewall_custom yields WAF custom rules — but says nothing about the enum's other phases or how phase selection changes the result shape, so the baseline of 3 fits.

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?

States a specific verb ('Get') and resource ('the active entrypoint ruleset for a zone phase'), and the parenthetical disambiguates the most commonly used phase. It does not explicitly distinguish itself from cf_account_ruleset_entrypoint_get (account-scoped) or cf_ruleset_entrypoint_update, so sibling differentiation is only partial.

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 parenthetical hints that this is the route to WAF custom rules, implying when to prefer it, but there is no explicit when-to-use or when-not guidance and no named alternatives (e.g. the account-scoped variant or cf_waf_custom_rules_list). Usage is left inferable rather than stated.

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

cf_ruleset_entrypoint_updateCloudflare: Ruleset entrypoint updateA
Destructive
Inspect

Replace entrypoint rules for a phase. Use with care: send full intended rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
phaseYes
rulesYesComplete Cloudflare rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, and the description adds genuinely non-redundant context: this is a total replacement, so the caller must supply the complete intended array. It still omits what happens to existing rules not included, whether the change is atomic/staged, and whether prior state is recoverable.

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?

Two sentences, no filler, with the danger warning front-loaded immediately after the operation description. Every clause carries information.

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

Completeness3/5

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

An output schema exists and annotations carry the safety profile, so the description needn't explain return values. But for a destructive full-ruleset replacement, the description should at minimum point to the read tool as a prerequisite and clarify the interaction with phase-specific replace siblings; that omission materially affects correct invocation.

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

Parameters3/5

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

Schema description coverage is 71%, so the schema documents zone, rules, context_id, account_slug, and environment_slug. The description adds nothing parameter-specific beyond the 'full intended rules array' hint for `rules`, and leaves `phase` (the enum that actually selects the target ruleset) entirely unexplained.

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?

States a specific verb and resource with scope ('Replace entrypoint rules for a phase'), which cleanly separates it from cf_ruleset_entrypoint_get and cf_rulesets_list. It does not, however, distinguish it from cf_account_ruleset_entrypoint_get or the phase-specific replacers (cf_waf_custom_rules_replace, cf_transform_rules_replace), and the 'entrypoint' vs 'account ruleset entrypoint' distinction is left implicit.

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?

'Use with care: send full intended rules array' implies the replace semantics but gives no explicit when-to-use or when-not-to-use guidance. Nothing tells the agent that the phase enum value http_request_firewall_custom overlaps with the sibling cf_waf_custom_rules_replace, nor that reading current rules first via cf_ruleset_entrypoint_get is the recommended precondition.

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

cf_rulesets_listCloudflare: Rulesets listA
Read-only
Inspect

List zone rulesets, optionally filtered by phase (transform, origin, cache, config, redirect, or WAF custom rules via http_request_firewall_custom).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
phaseNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds only the phase-filter behavior and an implicit account/zone scoping note; it says nothing about pagination, result ordering, or empty-result behavior. Adequate but thin on top of the annotations.

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?

A single sentence that front-loads the verb and resource, then attaches the optional filter. No filler, no restatement of the title, nothing that could be cut without losing information.

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?

The tool has an output schema and complete annotations, and the description covers purpose plus the phase filter, so the agent has enough to call it correctly. The residual gap is routing in a crowded cf_* ruleset family, where the description could have said why this generic lister exists alongside the phase-specific siblings.

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 80%, so baseline is 3; the description earns an increment by translating the raw enum values into human categories (transform, origin, cache, config, redirect, WAF custom rules) and explicitly mapping WAF custom rules to the http_request_firewall_custom phase. It adds nothing about zone vs. account_slug vs. context_id resolution, which the schema handles.

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?

States a specific verb+resource ("List zone rulesets") with an optional scope modifier (phase). An agent immediately knows what it retrieves. However, it does not differentiate itself from the many phase-specific siblings (cf_transform_rules_list, cf_waf_custom_rules_list, cf_cache_rules_list), which is the main ambiguity a reader faces.

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?

"Optionally filtered by phase" implies the use case (enumerate a zone's rulesets, narrow by phase), but there is no explicit when-to-use versus the phase-specific list tools in the sibling set, nor any stated prerequisite beyond the required zone. Usage is inferable but not guided.

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

cf_rules_list_itemsCloudflare: Rules List itemsA
Read-only
Inspect

Paginated items of an account Rules List (IPs, hostnames, etc.). listId from cf_rules_lists_list.

NameRequiredDescriptionDefault
cursorNoPagination cursor from previous response
listIdYesRules List ID
per_pageNo
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish that this is a read-only, non-destructive operation. The description adds useful behavior context by saying results are paginated and by naming the item types, but it does not mention rate limits, auth requirements, or how account routing affects results.

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?

Two tight sentences, with the core purpose front-loaded and the required prerequisite appended. There is no filler and every phrase contributes useful information.

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?

The tool has annotations, a rich schema, and an output schema, so the description does not need to explain safety or return values. It covers the essential purpose, item scope, and listId dependency, though it could be slightly more complete about when this should be used versus cf_rules_lists_list.

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

Parameters3/5

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

With 88% schema description coverage, the schema already documents most parameters well. The description adds only one piece of parameter meaning beyond the schema: that listId comes from cf_rules_lists_list; it does not otherwise clarify pagination, account routing, or context_id behavior.

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 states a specific action and resource: paginated items of an account Rules List, with examples of item types (IPs, hostnames). It also links to the sibling cf_rules_lists_list as the source of listId, though it does not explicitly frame that sibling as an alternative tool.

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 phrase 'listId from cf_rules_lists_list' implies the prerequisite workflow: first list Rules Lists, then retrieve their items. However, there is no explicit when-to-use guidance, no exclusions, and no comparison to other sibling tools.

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

cf_rules_lists_listCloudflare: account Rules ListsA
Read-only
Inspect

List account Rules Lists (IP, hostname, ASN, redirect). Used in WAF expressions as ip.src in $list_name. Requires Account Rules Lists Read.

NameRequiredDescriptionDefault
kindNoFilter account rules lists by kind
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds the IAM prerequisite (Account Rules Lists Read) and explains what the returned lists are for, which goes beyond the structured fields.

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?

Three short sentences, zero filler, with the core action and returned kinds front-loaded before the usage note and permission requirement.

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?

Output schema exists and annotations cover safety, so the description only needs to frame scope, permissions and data meaning — all present. The one gap is the multi-parameter account/zone resolution path, which is the trickiest part of calling this correctly and is left untouched.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description's mention of kinds mirrors the 'kind' enum already documented in the schema, and it says nothing about the non-trivial account resolution parameters (zoneOrId, accountId, account_slug, environment_slug).

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?

States a specific verb and resource (list account Rules Lists) and enumerates the kinds of lists returned (IP, hostname, ASN, redirect), which cleanly separates it from siblings like cf_rules_list_items and cf_waf_custom_rules_list. It does not explicitly name the sibling it contrasts with, so it stops short of 5.

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?

Adds real usage context — 'Used in WAF expressions as ip.src in $list_name' and the prerequisite 'Requires Account Rules Lists Read' — but says nothing about when to pick this over cf_rules_list_items (item contents) or cf_rulesets_list. Usage is implied rather than directed.

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

cf_snippet_rules_listCloudflare: Snippet rulesA
Read-only
Inspect

List Snippet rules for a zone (GET /snippets/snippet_rules). Optional snippetId filters by snippet name.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
snippetIdNoOptional snippet name filter from cf_snippets_list
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the endpoint and the optional filter behavior; it does not discuss pagination, zone requirements, or other behavioral traits beyond that.

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 definition is a single tight sentence plus one optional-filter clause. The core purpose and endpoint are front-loaded, and there is no wasted text.

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?

With a complete input schema, an output schema, and annotations covering safety, the description provides enough to call the tool correctly. It could be stronger if it clarified how this differs from cf_snippets_list, but the essential behavior is present.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters. The description repeats that snippetId filters by snippet name, which matches the schema's own wording rather than adding new meaning, so the baseline 3 is appropriate.

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?

States a clear verb and resource ("List Snippet rules for a zone") and includes the underlying endpoint. It is understandable in isolation, but it does not explicitly distinguish itself from the closely named sibling cf_snippets_list.

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 implies the tool's use for listing snippet rules and notes the optional snippetId filter. However, it gives no explicit when-to-use guidance, no exclusions, and no comparison to cf_snippets_list or other rule-listing siblings.

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

cf_snippets_listCloudflare: list SnippetsA
Read-only
Inspect

List Snippets deployed on a zone (name, id, enabled).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the returned field set, but says nothing about pagination, result limits, or behavior when the zone has no Snippets deployed — modest value on top of structured data.

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?

A single front-loaded sentence that identifies the operation, its scope, and its output fields with zero filler. Nothing is padded or repeated.

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?

For a read-only, single-parameter listing tool with full schema coverage, an output schema, and complete annotations, the description is nearly sufficient. The one meaningful gap is the absence of any disambiguation from cf_snippet_rules_list, which an agent must resolve to pick correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all four parameters carry their own documentation, including the zone name-or-ID format and the optional account_slug routing hint. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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?

States a specific verb and resource (list Snippets) plus the scoping constraint (deployed on a zone) and the fields returned. It does not, however, distinguish itself from the closely related sibling cf_snippet_rules_list, leaving an agent to infer the difference between Snippets and Snippet Rules.

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?

Usage is only implied by the name and the 'deployed on a zone' phrasing; there is no explicit statement of when to reach for this tool versus cf_snippet_rules_list or other cf_* listing tools. Adequate for a simple list operation but no exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_ssl_certificate_packsCloudflare: SSL certificate packsA
Read-only
Inspect

List SSL certificate packs for a zone. Shows pack type, covered hosts, status, validation method, and certificate authority. Use to audit certificate coverage.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds the shape of the returned record fields, which is useful context, but says nothing about pagination, ordering, empty results, or what happens with an uncataloged zone plus account_slug.

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?

Three short sentences, zero waste: purpose first, then returned fields, then the intended use. Nothing is buried and nothing repeats the name.

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?

With an output schema present and full annotation coverage, the description need not explain return format, and it covers purpose and fields adequately. Minor gap: it does not acknowledge the multi-account routing parameters (account_slug/environment_slug), which are the only non-obvious operational nuance here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter carries its own description, so the schema does the heavy lifting. The description only mentions 'zone' and adds no meaning about account_slug, environment_slug, or context_id beyond what is already documented.

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?

Starts with a specific verb+resource ('List SSL certificate packs for a zone') and enumerates what each pack record contains (pack type, covered hosts, status, validation method, CA). It is easily separable from nearby siblings like cf_ssl_mode_get or cf_ssl_verification, though it never names those alternatives explicitly.

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?

'Use to audit certificate coverage' implies a use case but gives no when-not guidance and does not route the agent between this tool and cf_ssl_mode_get / cf_ssl_verification / cert_status. The usage direction is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_ssl_mode_getCloudflare: SSL/TLS mode getA
Read-only
Inspect

Get SSL/TLS encryption mode for a zone. Returns one of off, flexible, full, strict.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the enumerated mode values, which is useful context, but says nothing about auth requirements, routing behavior for context_id/account_slug, or what happens if the zone is unknown. It adds some value beyond annotations but not rich behavioral context.

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?

Two short sentences with no waste, and the primary outcome (the mode value) is front-loaded immediately after the purpose statement.

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?

For a read-only getter with an output schema and full parameter coverage, the description is nearly complete, and the enumerated return values are a helpful touch. A brief note on the zone/account-routing prerequisite would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so zone, context_id, account_slug, and environment_slug are all documented in the schema. The description adds no syntax, format, or routing guidance beyond that, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get SSL/TLS encryption mode for a zone') and enumerates the possible return values (off, flexible, full, strict), which immediately distinguishes it from the sibling mutator cf_ssl_mode_set. An agent can identify the tool without opening the schema.

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 read-only nature implies a lookup use case, but the description never states when to use this versus cf_ssl_mode_set or cf_zone_settings_get, nor does it mention prerequisites such as the zone needing to be cataloged or accessible. Usage is only implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_ssl_mode_setCloudflare: SSL/TLS mode setC
Destructive
Inspect

Set SSL/TLS encryption mode for a zone. Allowed values: off, flexible, full, strict.

NameRequiredDescriptionDefault
modeYes
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered. However, the description adds no behavioral context beyond restating the enum values: it does not explain that lowering the mode can leave origin traffic unencrypted, whether the change propagates immediately, or whether a confirmation step is expected. For a destructive mutation, this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the core action is front-loaded. The second sentence is largely redundant with the schema enum, but it does not bloat the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world mutation with an output schema available, the description is too thin: it omits the operational consequences of each mode, permission requirements, and any warning about the change affecting live traffic or certificate issuance. The structured fields cover safety flags and parameter names, but an agent needs more to invoke this responsibly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so the schema already documents zone, context_id, account_slug, and environment_slug. The description lists the allowed mode values, but that duplicates the enum in the schema and does not clarify routing parameters or when account_slug is needed. Baseline 3 is appropriate when the schema is doing the heavy lifting.

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 gives a specific verb and resource ('Set SSL/TLS encryption mode for a zone'), which is clear enough that an agent can distinguish it from the read-only cf_ssl_mode_get sibling. It does not explicitly name or contrast with any other tool, but the name/description pairing is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus cf_ssl_mode_get or cf_ssl_verification, nor any mention of prerequisites such as account permissions or whether the zone must already be cataloged. The description simply states what it does, leaving all usage context to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_ssl_verificationCloudflare: SSL verificationA
Read-only
Inspect

Get SSL/TLS certificate verification status for a zone. Shows certificate status, brand check, and verification details per hostname. Use to check if SSL is active and valid.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds that results are broken down per hostname and include a brand check, which is useful shape information, but says nothing about auth requirements, rate limits, or behavior when a zone has no certificate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and followed by return shape and usage. Minor redundancy between 'verification status' and 'verification details per hostname,' but nothing that could be cut without loss.

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?

With an output schema present, the description need not explain return values, and 100% parameter coverage means the schema handles inputs. The description covers purpose, scope, and output shape adequately; only the relationship to sibling SSL tools is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all four parameters (zone, context_id, account_slug, environment_slug) carry their own descriptions, so the schema does the heavy lifting. The tool description itself adds no parameter guidance, which is acceptable but not additive – baseline 3.

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?

States a specific verb and resource ('Get SSL/TLS certificate verification status for a zone') and enumerates what it surfaces (certificate status, brand check, per-hostname verification details). This is materially distinct from siblings like cf_ssl_mode_get or cf_ssl_certificate_packs, though the description never names those alternatives, so differentiation is inferred from the resource phrasing rather than stated.

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?

'Use to check if SSL is active and valid' gives a clear usage context, but there are no exclusions and no pointer to the adjacent SSL tools (cf_ssl_mode_get, cf_ssl_certificate_packs, cert_status) that could be confused with it. Usage is implied rather than delimited.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_transform_rules_listCloudflare: Transform Rules listA
Read-only
Inspect

Get Transform Rules entrypoint by phase (request transform, response headers transform, late transform).

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
phaseNohttp_request_transform
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results are phase-scoped entrypoints, but says nothing about behavior when no ruleset exists for a phase or about the entrypoint structure it returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the phase list is the only mildly redundant element since those values are already in the enum, but it aids 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?

The tool is a simple scoped read, the schema is largely documented, and an output schema exists so return values need no explanation. The description is sufficient to call it correctly, with only sibling routing left ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so the schema documents all five parameters including the phase enum and default. The description's parenthetical mirrors the enum values rather than adding format or routing detail, so baseline 3 applies.

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 states a specific verb ("Get") and resource ("Transform Rules entrypoint") scoped by phase, and it enumerates the three phase variants. It does not name the sibling cf_transform_rules_replace, so the read-vs-write distinction is left implicit rather than stated.

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?

Usage is implied by the read verb and the phase parameter, but there is no explicit guidance such as when to use this versus cf_transform_rules_replace or cf_ruleset_entrypoint_get, and no exclusions or prerequisites. An agent must infer the read-only inspection context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_transform_rules_replaceCloudflare: Transform Rules replaceB
Destructive
Inspect

Replace Transform Rules for a phase with the provided full rules array.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
phaseNohttp_request_transform
rulesYesComplete Cloudflare transform rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true. The description adds value by signaling that replacing is done with the FULL rules array, implying existing rules are overwritten. However it does not state auth requirements, irreversibility, or live-traffic impact, so the added context is modest for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the replacement semantics front-loaded and no wasted words. It is lean, though arguably under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a destructive, 7-parameter mutation with an output schema (so returns need no explanation), yet the description omits prerequisites like account resolution, phase behavior, and what replacement means for existing rules. For a destructive operation the context provided is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, so most parameters are documented in the schema. The description references 'phase' and 'full rules array' (matching the phase and rules params) but says nothing about zone, account_slug, context_id, or environment_slug, leaving the routing/routing-preference params undocumented anywhere. Baseline 3 fits.

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?

States a specific verb (Replace), resource (Transform Rules), and scope (per phase, full array), which distinguishes it from cf_transform_rules_list. It does not explicitly differentiate from sibling *_replace tools like cf_redirect_rules_replace or cf_config_rules_replace, but the resource is clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus cf_transform_rules_list or the other *_replace endpoints, and no prerequisites (permissions, phase semantics, warning that it overwrites existing rules) are noted. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_waf_custom_rules_listCloudflare: WAF custom rules listA
Read-only
Inspect

List WAF custom rules for a zone (phase http_request_firewall_custom). Returns rule id, description, expression, action, enabled, and order. Requires CLOUDFLARE_API_TOKEN with Zone > Firewall Services > Read.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful behavioral context beyond annotations: the required CLOUDFLARE_API_TOKEN permission and the returned rule fields. It omits pagination/rate-limit behavior, which is a minor gap for a list tool.

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?

Three tight sentences, front-loaded with the core action and scope, then return fields, then authentication requirement. Every sentence carries useful information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema coverage, an output schema, and annotations covering safety, the description supplies the remaining needed context: phase, authentication scope, and what is returned. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents zone, context_id, account_slug, and environment_slug. The description only mentions the zone and returned fields, adding no parameter semantics beyond the schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'List WAF custom rules for a zone', and names the exact ruleset phase. This clearly distinguishes it from the sibling write tool cf_waf_custom_rules_replace and from other Cloudflare list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context: listing rules for a zone in the http_request_firewall_custom phase, plus the required API token permission. It does not explicitly name alternatives or state when not to use it, but the read-only listing scope is easy to infer against the replace sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_waf_custom_rules_replaceCloudflare: WAF custom rules replaceA
Destructive
Inspect

Replace ALL WAF custom rules for the zone (http_request_firewall_custom entrypoint PUT). Sends the full rules array; this is not a partial patch. Requires Firewall Services > Write. Use with care.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
rulesYesComplete Cloudflare WAF custom rules array
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
descriptionNo
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true, but the description adds substantive context: the operation is a full overwrite of the entire rules array, so rules omitted from the payload are lost. It also discloses the required permission (Firewall Services > Write), which annotations cannot express. It could go further by stating rate limits or that the prior ruleset is unrecoverable.

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?

Three short sentences, front-loaded with the destructive scope and the full-replacement constraint before the permission note. No filler or repetition.

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?

For a destructive replace tool with an output schema and destructiveHint already set, the description covers scope, semantics and auth. The main gap is that it gives no guidance on retrieving existing rules before overwriting, which matters for a call that silently drops anything not resubmitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the schema already documents zone, rules, context_id, account_slug and environment_slug. The description reinforces that 'rules' must be the complete array but adds no syntax, ordering, or field-level detail for individual rule objects, which are left as opaque additionalProperties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Replace ALL WAF custom rules for the zone'), names the underlying API entrypoint and method, and explicitly rules out partial-patch semantics. An agent can distinguish this from cf_waf_custom_rules_list and cf_ruleset_entrypoint_update without opening any schema.

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?

'Use with care' plus 'this is not a partial patch' implies caution and excludes the partial-update case, but no alternative tool is named for that case (e.g., fetching current rules first via cf_waf_custom_rules_list, or using cf_ruleset_entrypoint_update). The agent must infer the safe workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_waf_ip_auditCloudflare: WAF IP allowlist auditA
Read-only
Inspect

Read-only: compare IPs/CIDRs against WAF custom rules: ip.src in {…} literals, ip.src eq , and (when resolveLists is true) ip.src in $list_name via Account Rules Lists API. Returns found/not_found per IP, unparseable rules, listRefsRequested/Resolved, warnings. Token needs Zone → Firewall Services → Read; for $lists also Account → (Rules) Lists → Read. Optional CLOUDFLARE_ACCOUNT_ID or accountId if zone response lacks account.id.

NameRequiredDescriptionDefault
ipsYesIPv4/v6 addresses or CIDRs to check
zoneYesZone name (e.g. your-tenant.com) or zone ID
accountIdNoCloudflare account ID for Lists API; overrides env CLOUDFLARE_ACCOUNT_ID and zone account
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
resolveListsNoExpand ip.src in $name using Account Rules Lists (default: true)
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotations, the description discloses the exact return shape (found/not_found per IP, unparseable rules, listRefsRequested/Resolved, warnings), conditional list resolution behavior, and the required token permissions. This is substantial behavioral context that an agent could not infer from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with the core purpose and packs useful details into a dense paragraph. It is longer than ideal but every clause carries operational value and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with full schema coverage, an output schema, and annotations, the description is complete: it covers purpose, conditional list handling, return values, and permission fallbacks. An agent has everything needed to call it correctly.

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 the baseline is 3, but the description adds meaningful semantics: resolveLists controls expansion of ip.src in $list_name via the Account Rules Lists API, and accountId/CLOUDFLARE_ACCOUNT_ID is an optional fallback when the zone response lacks account.id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'compare IPs/CIDRs against WAF custom rules' for an audit. It clearly distinguishes this from sibling tools like cf_waf_custom_rules_list by focusing on IP membership checking rather than rule listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The read-only audit context is clear and the conditional behavior of resolveLists is explained, which helps an agent understand when list resolution applies. However, it does not explicitly name alternatives or state when-not to use this tool versus cf_waf_custom_rules_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_domains_listCloudflare: Worker custom domainsA
Read-only
Inspect

List custom domains attached to Workers at account level. Optional accountId or zoneOrId to resolve account.

NameRequiredDescriptionDefault
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds the account-level scoping context and account-resolution inputs, but does not mention pagination, result limits, or authentication assumptions beyond what annotations and schema provide.

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?

Two short sentences, front-loaded with the core listing action and followed by the only notable routing hint. There is no filler or redundant restatement of the name.

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?

For a read-only listing tool with full schema coverage, an output schema, and safe annotations, the description is largely complete. It covers scope and account resolution, though it could do more to route agents away from route-based siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are already documented in the input schema. The description only restates that accountId or zoneOrId resolve the account and adds no extra semantics beyond the schema, making the baseline 3 appropriate.

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 states a specific verb and resource: listing custom domains attached to Workers, scoped to account level. This distinguishes it from generic route-listing siblings, but it never names cf_workers_routes_list or explicitly contrasts custom domains with routes.

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?

Usage is implied by the listing phrasing, and the description notes that accountId or zoneOrId may be used to resolve the account. It does not say when to choose this over cf_workers_routes_list or other Workers-related listing tools, so selection still requires inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_route_createCloudflare: Workers Route createB
Destructive
Inspect

Create a Workers Route. pattern is required; script is optional to disable route script binding.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
scriptNoWorker script name
patternYesRoute pattern, e.g. example.com/api/*
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, so the mutation profile is covered structurally. The description adds one genuinely useful behavioral detail — that omitting script disables route script binding — but does not warn that creating a route immediately re-routes live zone traffic, nor mention the account_slug requirement when the zone is uncataloged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the action first and the required parameter highlighted. The second sentence is somewhat telegraphic ('optional to disable route script binding') and could be phrased more cleanly, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and annotations cover the destructive profile. However, for a mutation that changes live traffic routing on a zone, the description omits operational context (account_slug fallback rules, effect on existing routes) that an agent would need before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description clarifies the semantic consequence of omitting script (disabling the binding) rather than just restating 'Worker script name', which is a modest value-add, but it says nothing about zone, account_slug or context_id beyond the schema.

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?

States a specific verb and resource ('Create a Workers Route'), which is clearly distinguishable from the cf_workers_route_update and cf_workers_route_delete siblings. It doesn't explicitly name those siblings, but the create verb plus the adjacent toolset makes the distinction obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus updating an existing route, nor any prerequisites such as needing a deployed script or a specific zone/account setup. The only usage-like statement is that pattern is required, which duplicates the schema's required list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_route_deleteCloudflare: Workers Route deleteC
Destructive
Inspect

Delete a Workers Route by route ID.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
routeIdYesCloudflare Workers Route ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds nothing beyond that: it does not say the deletion is permanent/irreversible, whether the Workers script keeps serving after route removal, or anything about required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with zero filler. It is efficient, though the brevity borders on under-specification for a destructive operation rather than being genuinely informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A destructive tool with 5 parameters (2 required) and an output schema, so return values need no description. However, the description omits the two-identifier routing requirement (zone + routeId) and any irreversibility caveat, leaving meaningful gaps for a delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so zone, routeId, context_id, account_slug and environment_slug are all documented in the schema. The phrase 'by route ID' merely restates the schema; baseline 3 applies when the schema carries the semantics.

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?

Specific verb (Delete) plus specific resource (Workers Route) and the keying parameter (route ID). An agent can tell it apart from cf_workers_route_create/update/routes_list by the verb alone, but the description never names the siblings or states the scope of what is removed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative guidance. It does not say to list routes first with cf_workers_routes_list to obtain the routeId, nor when to use cf_workers_route_update instead of deleting and recreating.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_routes_listCloudflare: Workers Routes listB
Read-only
Inspect

List Workers Routes (edge interceptors) configured for a zone.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that routes are edge interceptors and scoped to a zone, but says nothing about pagination, permissions, or how results are returned; with the annotations doing the heavy lifting, this is adequate but not rich.

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 a single front-loaded sentence with no filler. The scope and clarifying phrase 'edge interceptors' both earn their place.

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?

The tool has complete schema coverage, an output schema, and annotations covering safety, so the description does not need to explain return values or permissions. It is nearly complete for correct invocation, though the lack of usage guidance relative to sibling list/mutation tools leaves a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters including zone, context_id, account_slug, and environment_slug are already documented in the schema. The description only reinforces that listing is zone-scoped and does not add syntax or format details beyond the schema, making the baseline 3 appropriate.

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 gives a specific verb and resource: 'List Workers Routes', scoped to a zone, and clarifies what routes are ('edge interceptors'). It is clearly not a create/update/delete route tool, but it does not explicitly differentiate itself from nearby list tools such as cf_workers_domains_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says only what the tool does. It gives no guidance on when to use this route listing versus cf_workers_domains_list, cf_workers_scripts_list, or the route mutation tools, and it states no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_route_updateCloudflare: Workers Route updateC
Destructive
Inspect

Update an existing Workers Route by route ID.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
scriptNoWorker script name
patternYesRoute pattern, e.g. example.com/api/*
routeIdYesCloudflare Workers Route ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: it doesn't say which fields are mutable, what happens to the previous pattern/script binding, or whether the change propagates globally. "Update ... by route ID" largely restates the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero filler and the identifying key front-loaded. It is efficient, though the brevity borders on under-specification rather than tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering destructiveness and an output schema present, the description doesn't need to explain return values. However, for a destructive 7-parameter mutation it should at least note that the pattern/script binding is what changes and that the mutation is zone-scoped; the agent is left to reconstruct the semantics from the schema alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (zone, pattern, script, routeId, context_id, account_slug, environment_slug) is documented in the schema itself. The description only echoes that routeId identifies the target and adds no extra semantics, which matches the baseline for fully covered schemas.

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?

States a specific verb and resource ("Update an existing Workers Route") plus the identifying key ("by route ID"). The verb cleanly separates it from cf_workers_route_create, cf_workers_route_delete, and cf_workers_routes_list, though those siblings are never named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to update versus create/delete a route, no prerequisites (e.g. the script must already be deployed), and no mention of alternatives. The agent must infer usage purely from the tool name and verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_script_deploymentsCloudflare: Worker script deploymentsA
Read-only
Inspect

List deployments for a Worker script (version history, active deployment). Params: scriptName (Worker name), optional accountId/zoneOrId.

NameRequiredDescriptionDefault
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
scriptNameYesWorker script name (e.g. cors-worker)
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the useful detail that results include both version history and the active deployment, but says nothing about pagination, result ordering, or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the purpose front-loaded and zero filler. The trailing 'Params:' clause is largely redundant given the fully documented schema, a minor waste.

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?

An output schema exists and annotations cover the read-only profile, so the description needn't explain return values. It conveys enough to call the tool correctly; only account-resolution fallback behavior (accountId overrides zone/account id) is left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter including account_slug, environment_slug, and context_id is documented in the schema. The description restates scriptName as 'Worker name' and flags accountId/zoneOrId as optional, which is mildly useful routing context but adds no syntax or format beyond the schema.

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?

States a specific verb and resource: 'List deployments for a Worker script', and clarifies what a deployment listing contains (version history, active deployment). It is distinguishable from cf_workers_scripts_list and cf_workers_routes_list by the 'deployments' resource, though no sibling is named.

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?

Usage is only implied by the resource name – an agent infers this is the tool for version/rollout inspection while cf_workers_scripts_list is for the script inventory. There are no explicit when-to-use or when-not-to-use statements and no stated prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_workers_scripts_listCloudflare: list Worker scriptsA
Read-only
Inspect

List Worker scripts in the account (script names/ids). Use cf_workers_script_deployments for live versions. Account-scoped — not zone routes (see cf_workers_routes_list).

NameRequiredDescriptionDefault
zoneOrIdNoZone name (e.g. your-tenant.com) or zone ID to resolve account.id
accountIdNoCloudflare account ID; overrides CLOUDFLARE_ACCOUNT_ID and zone.account.id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint=true, destructiveHint=false), so the description's added value is the account-scoping constraint and the disambiguation from zone routes. It doesn't mention pagination or result size, but the output schema covers return shape.

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?

Three tight clauses, front-loaded with verb+resource, then the alternative and the scope exclusion. Nothing wasted.

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?

With an output schema, full param coverage, and annotations covering safety, the description supplies the routing and scope context an agent needs. Pagination behavior for a potentially long list is the only minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are fully documented in the schema. The description adds no parameter-level meaning (e.g., which to prefer, zone-vs-account precedence), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (Worker scripts in the account), and explicitly distinguishes itself from two siblings (cf_workers_script_deployments for live versions, cf_workers_routes_list for routes). An agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names both alternatives with the conditions that select them ('for live versions', 'not zone routes'), giving explicit routing guidance. It lacks any prerequisite or auth/cost note, but the when-vs-what guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_zone_settings_getCloudflare: zone settingsA
Read-only
Inspect

Get zone settings. Omit settingId for all settings; pass settingId (e.g. ssl, security_level, hsts) for one.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID
settingIdNoSetting id (e.g. ssl, security_level, always_use_https)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds only the all-vs-single retrieval semantics and says nothing about response shape, errors, or permission needs; with annotations carrying the load, this is an adequate 3.

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?

Two short clauses, the primary action first and the conditional parameter rule second. Nothing is redundant and nothing is buried.

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?

An output schema exists and all parameters are described in the schema, so the description does not need to cover returns or routing fields. The one thing it could have added — how this differs from cf_ssl_mode_get or cf_zone_status — is missing, but for a simple read tool what is present is close to sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters including zone, context_id, account_slug and environment_slug are documented in the schema. The description's settingId examples (ssl, security_level, hsts) largely restate what the schema already shows, so it adds little beyond the baseline.

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?

States a specific verb and resource ('Get zone settings') and immediately clarifies the two retrieval modes. It does not name or distinguish itself from nearby siblings such as cf_ssl_mode_get or cf_zone_status, so an agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'omit settingId for all settings; pass settingId ... for one', which resolves the only branching decision in the call. It offers no when-to-use-this-vs-a-sibling guidance, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_zones_listCloudflare: list zonesA
Read-only
Inspect

List all Cloudflare zones for the account. Returns zone name, status (active/pending/moved), plan, and nameservers. Use to get a quick inventory or find a zone ID.

NameRequiredDescriptionDefault
nameNoFilter by exact domain name (e.g. your-tenant.com)
pageNo
statusNoFilter by status: active, pending, initializing, moved, deleted, deactivated
per_pageNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds the returned fields (zone name, status, plan, nameservers), but since an output schema exists, that information is somewhat redundant and no additional behavioral details (e.g., pagination limits, required auth) are disclosed.

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?

Two tightly written sentences, front-loaded with the action and scope, then the use case. No wasted words.

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?

For a read-only list tool with annotations and an output schema, the description covers purpose, return fields summary, and use case. It does not mention pagination or account-routing parameters, but those are documented in the schema, so the description is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71%, with five of seven parameters documented. The description adds no parameter-level meaning beyond the schema, but the schema itself provides adequate semantics for most parameters, so baseline 3 is appropriate.

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?

States a specific verb ('List') and resource ('Cloudflare zones') with scope ('for the account'). It also names key return fields, but does not explicitly differentiate itself from sibling tools like cf_zone_status or cf_quick_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: 'Use to get a quick inventory or find a zone ID.' This tells the agent when to use it, but gives no explicit exclusions or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cf_zone_statusCloudflare: zone statusA
Read-only
Inspect

Get detailed status for a specific Cloudflare zone. Accepts zone name or zone ID. Returns status, paused flag, plan, nameservers, and metadata. Key tool for outage diagnostics.

NameRequiredDescriptionDefault
zoneYesZone name (e.g. your-tenant.com) or zone ID (32-char hex)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloudflare account slug. Required when the workspace has multiple accounts and the zone is not yet cataloged.
environment_slugNoCloud Catalog environment used as an account-routing preference when no zone is provided.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish that this is a read-only, non-destructive operation, so the safety profile is clear. The description adds the diagnostic framing and lists returned fields, but it does not disclose permissions, rate limits, error behavior, or other operational traits beyond the annotations and output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is short and front-loads the core action before listing inputs and outputs. The return-field list is somewhat redundant given the output schema, but it does not make the description bloated.

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?

With annotations covering safety and an output schema covering return values, the description is nearly sufficient for an agent to call this read-only diagnostic tool. The main remaining gap is sibling differentiation and explicit guidance on when to choose this over cf_quick_status or cf_zone_settings_get.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the zone, context_id, account_slug, and environment_slug parameters. The description repeats that the zone can be a name or ID but adds no further semantic guidance beyond the schema.

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 gives a specific verb and resource: getting detailed status for a specific Cloudflare zone. It is clear what the tool returns at a high level, but it does not explicitly distinguish itself from nearby siblings such as cf_quick_status, cf_zones_list, or cf_zone_settings_get.

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 phrase 'Key tool for outage diagnostics' gives an implied usage context, which helps an agent know when this may be relevant. However, it does not state when not to use it or name alternatives like cf_quick_status or cf_zones_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_azure_session_for_accountCheck Azure Session for Catalog AccountAInspect

Internal preflight: validates Azure auth for a cloud catalog account slug or explicit azure_tenant_id. Returns { valid: true } or azure_login_required.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
account_slugNoCloud catalog account slug (e.g. example-azure)
azure_tenant_idNoAzure AD directory GUID override

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so safety is largely covered; notably a 'check' tool is flagged non-read-only, and the description does not explain why (e.g., token refresh side effects). The description does add value by naming the two outcome shapes, { valid: true } or azure_login_required, which tells the agent what a failure looks like.

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?

Two efficient sentences, front-loaded with the key framing 'Internal preflight' before the inputs and return shapes. Nothing wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is not required, and the description is adequate for calling the tool. It is thin on what an agent should do next after azure_login_required and on the zero-argument case (all params optional), which are the practical gaps for a preflight tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters including context_id are already documented. The description reinforces the account_slug / azure_tenant_id alternative and the 'override' nature of the tenant id, but adds no syntax or precedence rules (e.g., what happens if both are supplied).

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?

States a specific verb and resource: validates Azure auth for a cloud catalog account slug or explicit azure_tenant_id. The account-vs-tenant distinction is conveyed by the name and parameter phrasing, though the sibling check_azure_session_for_tenant is never mentioned to make the split explicit.

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?

"Internal preflight" implies the usage context (a precondition check before Azure work), which is real guidance. However, there is no explicit when-to-use vs when-to-skip, no mention of when to prefer check_azure_session_for_tenant, and no remediation guidance when the check fails.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_azure_session_for_tenantCheck Azure Session for TenantAInspect

Internal preflight: validates Azure auth for the tenant directory. Returns { valid: true } or azure_login_required with device-code payload.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
azure_tenant_idNoAzure AD directory GUID (optional — defaults to azure.tenant_id from tenant credentials)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and the description adds behavior beyond them: it discloses the two possible outcomes, including a device-code payload on failure, which signals the call may initiate an interactive auth flow. It does not mention caching or token lifetime, but the success/failure contract is clear.

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?

Two short sentences, front-loaded with the purpose and the preflight framing, followed by the return contract. No filler.

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?

An output schema exists, so return values need not be spelled out in detail, and the description still summarizes them. The main gap is not linking the azure_login_required outcome to a follow-up login tool, but the definition is otherwise sufficient to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are optional and documented in the schema, so baseline 3 applies. The description adds nothing about how azure_tenant_id defaults or what omitting context_id implies beyond what the schema already says.

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?

States a specific verb and resource: 'validates Azure auth for the tenant directory.' The 'for the tenant' scope distinguishes it from the account-level sibling check_azure_session_for_account, though that sibling is never named explicitly.

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?

'Internal preflight' implies it should run before Azure operations against a tenant, which is useful contextual framing. However, it never states when to choose this over check_azure_session_for_account or azure_user_session_status, nor what the caller should do after receiving azure_login_required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confluence_page_readRead a Confluence pageA
Read-only
Inspect

Reads the full content of a Confluence page and converts it to Markdown. Supports pagination via contentOffset/maxChars for large pages. Supply either pageId (from confluence_search) or title.

NameRequiredDescriptionDefault
titleNoExact page title. Provide this OR pageId.
pageIdNoPage ID (from confluence_search results). Provide this OR title.
maxCharsNoMax characters to return per call (default 8000). Use with contentOffset for pagination.
spaceKeyNoConfluence space key when using title lookup (optional if set on default cloud account or env CONFLUENCE_SPACE / CONFLUENCE_SPACE_KEY)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
contentOffsetNoCharacter offset to start reading from (default 0). Use nextOffset from previous response to paginate.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a read-only, non-destructive, closed-world operation. The description adds useful behavioral detail beyond annotations: content is converted to Markdown and large pages are paginated via contentOffset/maxChars. It does not discuss permissions or error behavior, but that gap is less critical given the annotation coverage.

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?

Two sentences, front-loaded with the core action and output format, followed by pagination and lookup guidance. Every sentence adds useful information without waste.

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?

The tool has an output schema, rich annotations, and full schema-description coverage, so the description need not explain return values or every parameter. It covers the essential purpose, output format, and pagination behavior; however, it omits any mention of spaceKey fallback or context_id, relying entirely on the schema for those edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters thoroughly. The description reinforces the pageId/title mutual exclusivity and pagination mechanics, but adds little beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Reads the full content of a Confluence page' and adds the output format ('converts it to Markdown'). It also distinguishes this tool from confluence_search by noting that pageId comes from search results, so an agent can tell the read tool apart from the search sibling.

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 implies usage by saying 'Supply either pageId (from confluence_search) or title,' which hints that search precedes reading. However, it does not explicitly state when to use this tool versus confluence_search, nor does it give clear inclusion/exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_downtimes_activeDatadog active downtimesA
Read-only
Inspect

List currently active monitor downtimes (scheduled silences). Complements alerts_active withDowntimes, which only attaches downtimes to firing monitors.

NameRequiredDescriptionDefault
monitorIdNoFilter to one monitor id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a safe read-only operation, so the description need not restate safety. It adds useful scope by specifying that results are currently active downtimes only and explaining the relationship to alerts_active withDowntimes.

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?

Two sentences with no waste: the first front-loads the tool's purpose, and the second adds the key sibling distinction. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage, annotations, and an output schema, the description is complete enough to support correct selection and invocation. No essential behavioral or scope information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the input schema. The description does not add syntax or filtering semantics beyond the schema, which is acceptable at the baseline for fully covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: listing currently active monitor downtimes, clarified as scheduled silences. It also explicitly distinguishes this tool from alerts_active withDowntimes, so an agent can tell which tool to use without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative, alerts_active withDowntimes, and explains its limitation: it only attaches downtimes to firing monitors. This gives clear selection context, though it does not explicitly spell out the inverse condition for choosing the sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_errors_by_serviceError counts by service (Datadog aggregate)A
Read-only
Inspect

Aggregate error counts grouped by service for a time window. Prefer from/to for historical windows (now-15h / ISO); hours is used only when from is omitted (defaults to now-${hours}h → now). totalErrorsInWindow is the full-window count; services lists top-N. Discovery step BEFORE dd_errors_recent.

NameRequiredDescriptionDefault
toNoEnd window (default now when from is set)
envNoDatadog env tag to filter (e.g. prd, int, tst)
fromNoStart window: now-15h, now-14h30m, ISO-8601, or epoch (overrides hours)
hoursNoRelative window in hours when from/to omitted (default 1)
limitNoMax services to return
queryNoOverride default error query (default: status:error)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds real interpretive context the annotations cannot: totalErrorsInWindow is the full-window count while services is truncated to top-N, which prevents misreading the result as incomplete data. No auth or rate-limit notes, hence not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences with the core action and the sibling ordering front-loaded. The middle sentence on window precedence partially duplicates schema text, which is the only wasted space in an otherwise dense definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter read-only aggregate with an output schema and full annotation coverage, the description supplies everything an agent needs: what is grouped, how the window resolves, how to read the two result fields, and where it sits in the error-triage flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description restates the from/to/hours precedence that the schema itself already documents ("overrides hours", "default now when from is set"); the only marginal addition is the concrete now-${hours}h window expression. env, query, and context_id receive no added meaning in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — aggregate error counts grouped by service over a time window — and explicitly positions itself as the discovery step before dd_errors_recent, so it is distinguishable from its closest sibling without reading either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing ("Discovery step BEFORE dd_errors_recent") and parameter-selection preference ("Prefer from/to for historical windows; hours is used only when from is omitted"). It stops short of stating when this aggregate view is the wrong choice versus other error siblings, but the primary routing guidance is present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_errors_recentRecent errors (Datadog logs)A
Read-only
Inspect

Deduplicated error sample from Datadog logs (not full window coverage). pageTotal is window volume; sample comes from up to maxLogEvents fetched logs. Use dd_errors_by_service first, then call with service and hours<=6. Default query: status:error OR 5xx.

NameRequiredDescriptionDefault
hoursNo
limitNoMax deduplicated error signatures in sample
queryNoOverride default error query
serviceNoPlain service name only (e.g. "edge", "storefront"). Do NOT pass attribute filters like "env:prd" — include those in the query parameter instead.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxLogEventsNoMax raw log events to fetch before deduplication

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/destructive annotations by disclosing the sampling model: pageTotal is window volume while the sample is drawn from up to maxLogEvents fetched logs, and coverage is explicitly not full-window. That is exactly the caveat an agent needs to avoid over-interpreting counts from this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense, front-loaded sentences with no filler; sampling caveat first, then routing, then default query. The 'pageTotal' sentence is slightly terse and assumes the output schema is available to decode it, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter, zero-required, read-only tool with an output schema, the description covers the essential gaps: sampling limitations, sequencing relative to the sibling, and the default query. Return-value shape is left to the output schema, which is appropriate.

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 already 83%, so the baseline is 3; the description adds real value by tying maxLogEvents to sample size and stating the default error query that applies when query is omitted. The hours parameter's semantics (window for pageTotal) are only implied rather than stated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Deduplicated error sample from Datadog logs') with an explicit scope qualifier ('not full window coverage'). It names the sibling it complements ('Use dd_errors_by_service first'), so an agent can distinguish it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear workflow ('Use dd_errors_by_service first, then call with service and hours<=6') including a concrete constraint on the hours parameter. It lacks an explicit 'do not use for X' exclusion (e.g. broad triage or long windows), so it stops just short of the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_log_getGet Datadog Logs by Trace IDA
Read-only
Inspect

Retrieve all Datadog logs associated with a specific trace_id. Use this when you have a trace_id from a log in dd_logs_search results and want the full distributed trace context (all services involved, timeline of spans/logs). Returns logs sorted by timestamp descending. Pair with dd_logs_search to first find the trace_id, then use this tool for deep trace investigation.

NameRequiredDescriptionDefault
toNoFin del rango. Default: now
fromNoInicio del rango (e.g.: now-1h, now-6h). Default: now-1h
traceIdYesEl trace_id (e.g.: "17402851653418008602") obtenido del campo attributes.attributes.dd.trace_id o dd.trace_id de un log de dd_logs_search
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful behavior: it retrieves all logs for the trace and returns them sorted by timestamp descending, though it does not discuss pagination or limits.

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?

Front-loads the core action, then gives usage context and workflow in four short sentences. No sentence is redundant or misplaced.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given annotations, a full schema, and an output schema, the description supplies what an agent needs: purpose, when to use it, trace_id source, return ordering, and sibling workflow. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so traceId, from, to, and context_id are already documented in the schema. The description reinforces trace_id sourcing from dd_logs_search but adds little beyond the schema's parameter definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: retrieve Datadog logs associated with a specific trace_id. It clearly distinguishes the tool from dd_logs_search by describing the trace-investigation use case and workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it when you have a trace_id from dd_logs_search and want the full distributed trace context. It also states the pairing workflow: first find the trace_id with dd_logs_search, then use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_logs_aggregateDatadog logs aggregateA
Read-only
Inspect

Exact log counts (and optional top-N group_by) via Logs Analytics aggregate — no log sampling. Use before dd_logs_search when you need window volume or breakdown by service/facet. Optional timeseries buckets.

NameRequiredDescriptionDefault
toNoEnd window (default now); same formats as from
fromNoStart window: now-1h, now-14h30m, ISO-8601, or epoch (normalized to ISO before Datadog)
hoursNoAlternative to from/to
queryYesDatadog log query, e.g. status:error service:storefront
groupByNoIndexed facet to group by (e.g. service, status, @http.status_code). Must exist in the log index.
intervalNoTimeseries bucket, e.g. 1h (when includeTimeseries)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
groupByLimitNo
includeTimeseriesNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/destructive/openWorld, so the description's job is to add context — and it does, by disclosing that the counts are exact rather than sampled (a meaningful accuracy claim) and that timeseries bucketing is opt-in. It does not mention rate limits or query-cost implications, keeping it from a 5.

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?

Two tight sentences, front-loaded with the core capability and followed by the routing rule and the optional features. Every clause carries information; no filler.

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?

An output schema exists, so return-value detail is not required. For a read-only aggregate tool with a well-described schema, the definition covers purpose, sibling routing, and key options. Minor gaps like cost/cardinality limits on groupBy are tolerable at this richness level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 78%, so the schema already documents most parameters (from/to/hours/query/groupBy/interval). The description reinforces the groupBy and interval semantics ('top-N group_by', 'timeseries buckets') but adds no format or constraint details beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (log aggregate counts) plus scope qualifiers: exact counts, no sampling, optional top-N group_by and timeseries. This clearly distinguishes it from dd_logs_search, which returns log lines rather than counts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative sibling and the condition that selects it: use this before dd_logs_search when you need window volume or a service/facet breakdown. It stops short of stating when not to use it (e.g., when you need individual log samples), but the routing guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_metrics_queryDatadog Metrics QueryA
Read-only
Inspect

Query Datadog metrics timeseries via /api/v1/query. Use for CPU, latency, error-rate spikes. Example: avg:trace.servlet.request.errors{service:edge}. from/to accept now-1h, now-14h30m, ISO-8601, or epoch.

NameRequiredDescriptionDefault
toNoEnd window: now, ISO-8601, or epoch (default now)
fromNoStart window: now-1h, now-14h30m, ISO-8601, or epoch (default now-1h)
queryYesDatadog metrics query expression
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful operational context — the API route and the accepted time-window formats — but says nothing about auth requirements, rate limits, or datapoint/rollup behavior, which matters for a metrics API.

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?

Three tight sentences: purpose and endpoint first, use cases second, then an example and time-format note. No filler, nothing buried.

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?

An output schema exists, so return values need no explanation, and annotations cover safety. The description is close to complete, but as a timeseries tool it omits anything about rollup/granularity or result-size limits that would affect how an agent phrases the query.

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 the baseline is 3. The description earns an increment by supplying a concrete query expression example for the required `query` param, which the terse schema text ('Datadog metrics query expression') does not; the from/to format list largely duplicates the schema, and context_id is untouched in the description but documented in schema.

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 opens with a specific verb and resource ('Query Datadog metrics timeseries') and even names the underlying endpoint (/api/v1/query). It implicitly separates itself from the Prometheus siblings (prom_query/prom_query_range) by naming Datadog, but never states that distinction explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use for CPU, latency, error-rate spikes' gives a clear signal of the intended scenarios, and the example query pins down the expression dialect. It stops short of exclusions or naming alternatives such as prom_query or dd_apm_traces_search for trace-level investigation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_monitors_lookupDatadog monitor lookupA
Read-only
Inspect

Fetch monitor definition/state by id or search query. For all firing monitors use alerts_active, not this tool.

NameRequiredDescriptionDefault
nameNoSubstring match via title: filter
limitNo
queryNoMonitor search query
monitorIdNoNumeric monitor id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare this as a non-destructive, read-only operation, so the safety profile does not need to be restated. The description adds that it fetches monitor definition/state and supports id or search-query lookup, but does not add meaningful behavioral details beyond annotations and purpose, such as pagination behavior or authentication requirements.

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 two concise sentences with the primary purpose front-loaded and the sibling-tool routing stated second. Every sentence earns its place and there is no unnecessary text.

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?

An output schema exists, annotations cover the safety profile, and the schema documents most parameters, so the description is largely complete for an agent to call the tool. The main remaining ambiguity is what happens when no id or query is supplied, since the description implies an id/search-query lookup mode while the schema requires no parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 80%, so the schema already documents most parameters, including monitorId, query, name, and context_id. The description only echoes the id/search-query distinction and does not add meaning for name, limit, or context_id beyond the structured schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Fetch) and resource (monitor definition/state), and explicitly supports lookup by id or search query. It also distinguishes this tool from the sibling alerts_active, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit exclusion: for all firing monitors, use alerts_active instead of this tool. Combined with the stated id/search-query lookup modes, this tells an agent both when to use this tool and when to choose the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_synthetics_resultsDatadog Synthetics execution resultsA
Read-only
Inspect

Execution results (pass/fail) for a Datadog Synthetic test in a time window — NOT config status live/paused. Prefer publicId (e.g. yg3-kef-xsw); or nameContains to resolve. Optional resultId for full detail of one run. Do NOT call the Datadog API outside Opsphere when this tool is available.

NameRequiredDescriptionDefault
toNoEnd window: now or ISO timestamp
fromNoStart window: now-1h, now-14h30m, or ISO timestamp
limitNoMax results to return
probeDcNoFilter by probe location(s), e.g. ["aws:us-east-1"]
publicIdNoSynthetic test public_id (preferred)
resultIdNoIf set, fetch full detail for this result_id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
nameContainsNoCase-insensitive substring of test name if publicId unknown

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond them: the semantic boundary between execution results and test configuration state, the mode switch where resultId returns full detail for a single run rather than a list, and the constraint to use Opsphere rather than the public Datadog API.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and its main disambiguation in the first clause, then identifier guidance and the resultId caveat. Every sentence carries information, though the dash-heavy compression and the closing policy sentence make it slightly denser than it needs to be.

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?

An output schema exists and all 8 parameters are documented in-schema, so return format and parameter detail need not be restated. The description closes the two gaps that matter for correct invocation — what the results represent versus config status, and how to identify the test. It could still note default limit/pagination behavior for multi-test queries.

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 the baseline is 3; the description earns above that by ranking the two resolver parameters ('Prefer publicId ... or nameContains') and by explaining that resultId changes the call from a list of runs to full detail of one run — semantics the schema only hints at.

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?

States a specific verb+resource: execution results (pass/fail) for a Datadog Synthetic test within a time window, and explicitly carves out what it is NOT (config status live/paused). That negation does most of the sibling differentiation against dd_synthetics_summary and synthetics_summary_by_location, though neither is named directly.

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?

Gives identifier-resolution guidance ('Prefer publicId ... or nameContains to resolve') and an escalation path ('Optional resultId for full detail of one run'), plus a policy directive against calling the Datadog API directly. However there is no explicit statement of when to reach for this tool versus dd_synthetics_summary or synthetics_summary_by_location, so routing between Datadog synthetics siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_synthetics_summaryDatadog Synthetics SummaryA
Read-only
Inspect

List all Datadog Synthetic tests and their config status (live|paused). This is inventory, NOT pass/fail of the last run. For execution results use synthetics_summary_by_location(hours) or dd_synthetics_results(publicId|nameContains).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/non-destructive/non-open-world, so safety is covered. The description adds real behavioral context beyond that: what the returned status field means (config state, not run outcome). It does not mention result volume, pagination, or any workspace/auth caveats, which keeps it short of a 5.

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?

Three short sentences: identity, the key disambiguation, then the alternatives. Zero filler and the most important qualifier (inventory, not results) lands in the second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, safety annotations, and a single optional hub parameter, the description needs only to state scope and route to siblings. It does both, and the run-result boundary is the one thing an agent would otherwise get wrong.

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?

There is effectively one optional parameter, context_id, and the schema documents it at 100% coverage. The description correctly adds nothing about parameters, which is appropriate here, though it also gives no hint about scoping behavior (workspace-wide vs context-limited).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (list Synthetic tests) and the exact attribute returned (config status live|paused). It also pre-empts the most likely misreading by declaring this is inventory, NOT pass/fail, which separates it cleanly from dd_synthetics_results and synthetics_summary_by_location.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not ('For execution results use...') and names both alternatives with their distinguishing parameters (hours, publicId|nameContains). An agent can route between the three Synthetics tools without opening any schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dd_waf_botsAkamai WAF/Bots (desde logs en Datadog)C
Read-only
Inspect

Quick summary of unwanted traffic (bots/WAF) from your logs

NameRequiredDescriptionDefault
toNo
fromNo
queryNoQuery explícita para acotar (service/source/attrs)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, closed-world, so safety is covered. Beyond that, the description adds nothing: no default time window, no note that it fans out over log indexes via the query param, no indication of aggregation granularity or whether results are sampled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler and the key qualifier ('quick summary') front-loaded. It is tight, though the brevity borders on under-specification rather than economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and annotations cover safety. But with four all-optional parameters and no stated default time range, an agent calling this with no arguments has no idea what period it summarizes — a material gap the description should close.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: 'to' and 'from' have no descriptions anywhere, and the description says nothing about parameters, so an agent cannot infer whether they are date bounds, entities, or free text. 'query' and 'context_id' are documented in the schema, but the description contributes zero semantic value on top.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'summary of unwanted traffic (bots/WAF)' identifies the resource and the output shape (an aggregate summary), but the verb is nominalized and the source is vaguely 'your logs'. The description never names Datadog (only the title does) and never differentiates itself from sibling log tools like dd_logs_search, dd_logs_aggregate or dd_errors_by_service.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'Quick' hints at an overview use case, but there is no explicit when-to-use, no when-not-to-use, and no alternative named. With ~20 dd_* siblings, the agent gets no routing guidance at all from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deployment_statusLatest deployment status (multi-platform)A
Read-only
Inspect

Multi-stack deployment status: Vercel, CI (Bitbucket/GHE/GitLab), ArgoCD GitOps, S3+CloudFront, ECS. Resolves sources from cloud catalog (vercel_project, argocd_*, deployment_sources JSON). Use target to qualify the catalog account/product; scope=auto queries all configured sources.

NameRequiredDescriptionDefault
envNoEnvironment slug or label (e.g. PRD, int). Defaults to catalog default environment.
scopeNoWhich deployment platforms to queryauto
targetNoCloud Catalog account or product qualifier (slug, name, alias, or detection pattern). Required when the tenant has multiple accounts sharing the same env (e.g. prd) — otherwise the tool returns candidates.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses that sources are resolved from a cloud catalog via vercel_project, argocd_*, and deployment_sources JSON, and that scope=auto fans out across all configured sources — useful for understanding what a call actually touches.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the platform list so the agent knows the scope immediately. The catalog key names (vercel_project, argocd_*, deployment_sources JSON) are compact shorthand that earns its place by explaining source resolution, though the paragraph is information-dense for a single read.

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?

With an output schema present, return values need not be described, and all four parameters are documented in the schema. The description covers platform coverage, catalog resolution, and scope fan-out; it could still say what happens when a source fails or how results are aggregated across stacks, but nothing critical is missing for a correct call.

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 earns above baseline by explaining that scope=auto means "query all configured sources" and that target qualifies the catalog account/product. It adds interpretive meaning on top of the schema rather than restating it.

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?

States a specific verb+resource ("deployment status") and distinguishes itself from the many single-platform siblings by enumerating the stacks it aggregates: Vercel, CI (Bitbucket/GHE/GitLab), ArgoCD GitOps, S3+CloudFront, ECS. It never names an alternative sibling explicitly, so an agent must infer that vercel_deploys_latest/vercel_project_status are the narrower single-stack equivalents.

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?

Gives operational direction ("scope=auto queries all configured sources", "Use target to qualify the catalog account/product"), but these are parameter hints rather than when-to-use guidance. There is no statement of when to pick this over vercel_project_status or env_health_summary, so usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dns_lookupDNS Lookup (multi-resolver)A
Read-only
Inspect

Lookup a hostname against multiple resolvers (8.8.8.8, 1.1.1.1, system). Returns A, AAAA, CNAME, and/or NS records with status (NOERROR, SERVFAIL, NXDOMAIN) per resolver. Use recordTypes ["NS","CNAME"] to confirm public nameserver delegation and detect a legacy alias during DNS cutovers.

NameRequiredDescriptionDefault
hostnameYesHostname to resolve (e.g. www.your-tenant.com)
resolversNoPublic resolver IP literals or exact "system" for the OS resolver; private, local and hostname resolvers are rejected
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
recordTypesNoDNS record types to query (default A only; use NS for delegation checks)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful behavior beyond that: it queries multiple resolvers and returns a status (NOERROR, SERVFAIL, NXDOMAIN) per resolver, which tells the agent to expect divergent per-resolver results. The return record-type list overlaps somewhat with the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and resolver scope, followed by return info and a targeted usage tip. Every sentence carries weight with minimal padding, though the return-format sentence partly duplicates the output schema.

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?

For a 4-param tool with an output schema and annotations, the description covers purpose, per-resolver return semantics, and a key usage scenario. It does not clarify why one would pick this over azure_dns_lookup or dnssec_check, a minor gap against the large sibling set.

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 adds real semantic value to recordTypes by explaining what NS/CNAME queries are for (delegation checks, legacy alias detection), rising above the schema-only baseline.

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?

States a specific verb (lookup) and resource (hostname) plus scope (multiple resolvers) and the record types returned. An agent knows exactly what it does, but it does not explicitly distinguish itself from near-siblings like azure_dns_lookup or dnssec_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete when-to-use scenario: 'Use recordTypes [NS,CNAME] to confirm public nameserver delegation and detect a legacy alias during DNS cutovers.' This is clear context, but it offers no exclusions or routing advice against the sibling DNS tools (azure_dns_lookup, dnssec_check).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dnssec_checkDNSSEC validationA
Read-only
Inspect

Validate DS → DNSKEY chain for a domain (via delv). Returns OK or error message (e.g. no SEP matching DS). Requires delv installed; if not, returns clear message.

NameRequiredDescriptionDefault
domainYesDomain to check (e.g. your-tenant.com)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, yet the description adds real value: it discloses the return contract ('OK or error message, e.g. no SEP matching DS') and the external prerequisite ('requires delv installed; if not, returns clear message'). This environment dependency is exactly the kind of context the annotations cannot carry.

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?

Three short clauses, front-loaded with the action and mechanism, then return shape, then prerequisite. Every sentence earns its place with zero filler.

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?

Output schema exists so return values needn't be spelled out, but the description still summarizes them and flags the delv dependency, which is the main failure mode. Complete enough for an agent to call correctly; only missing explicit sibling routing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented there, so the description adds no parameter-level detail beyond what the schema provides. Baseline 3 applies.

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?

States a specific verb and technical scope: 'Validate DS → DNSKEY chain for a domain (via delv)'. This is clearly distinct from generic lookups like dns_lookup or azure_dns_lookup, though it does not name a sibling to contrast against explicitly.

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?

Implicitly tells the agent to use this for DNSSEC chain validation, but gives no explicit when-to-use vs. dns_lookup/dnssec alternatives, and no guidance on when validation is unnecessary (e.g. unsigned zones).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eks_update_kubeconfigEKS update-kubeconfigAInspect

Sensitive setup action: update/create the default kubeconfig entry for an EKS cluster. Requires you to already KNOW the cluster name. Do not use this for health checks or other read-only monitoring: Kubernetes tools accept profile and context directly and create isolated runtime access. DO NOT use this to discover clusters — use k8s_contexts to list available clusters/contexts, or eks_sync_cluster_metadata to discover clusters from the AWS account.

NameRequiredDescriptionDefault
aliasNoAlias de contexto opcional
regionYesRegión, p.ej. eu-central-1
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
clusterNameYesNombre del cluster EKS

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, non-destructive, non-open-world. The description adds real value on top: it writes into the default kubeconfig entry (a local, persistent side effect), it is a 'sensitive setup action', and Kubernetes tools can bypass it by passing profile/context directly. It stops short of saying what happens to an existing entry (overwrite vs. merge) or whether auth is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and its sensitivity, then the exclusions and alternatives. Slightly verbose with heavy capitalization for emphasis, but every sentence carries routing or precondition information.

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 an output schema exists and annotations cover the safety profile, the description supplies the missing decision context (when not to use, what to use instead) and the known-cluster-name precondition. Only the overwrite semantics of the default kubeconfig entry are left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so region, clusterName, profile, alias, and context_id are already documented. The description only reinforces that clusterName must be known in advance; it adds no format or interaction detail for the other four parameters. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('update/create the default kubeconfig entry for an EKS cluster') and immediately distinguishes it from read-only monitoring and cluster-discovery siblings. An agent can place it precisely without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names when NOT to use it (health checks, read-only monitoring, cluster discovery) and routes to concrete alternatives: k8s_contexts for listing contexts and eks_sync_cluster_metadata for AWS-side discovery. Also flags the precondition that the cluster name must already be known.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

env_capacity_overviewResumen de capacidad del entornoB
Read-only
Inspect

Devuelve un resumen de capacidad del clúster: utilización de CPU/memoria, número de nodos y pods, y presión de recursos. El resultado incluye _signatureAscii: un gráfico ASCII de barras. Incluye siempre el contenido de _signatureAscii al final de tu respuesta en un bloque de código (```text) para que el usuario vea el gráfico.

NameRequiredDescriptionDefault
envYesNombre del entorno (INT, TST, PRE, PRD, etc.)
hoursNoVentana temporal hacia atrás en horas
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely non-obvious behavior: the result contains a _signatureAscii ASCII bar chart and the agent is obligated to reproduce it in a ```text code block at the end of its answer. That output-presentation contract is real value beyond structured fields, though scoping behavior (per-env, per-window) is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with what the tool returns, then the output-format requirement. No filler or repetition, though the formatting instruction could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description is nearly sufficient for calling the tool. However, for a capacity-overview tool that overlaps heavily with env_health_summary and k8s_cluster_summary, the missing selection guidance leaves a real gap for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so 'env', 'hours' and 'context_id' are already fully documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb and resource ('Devuelve un resumen de capacidad del clúster') and enumerates the concrete contents: CPU/memory utilization, node and pod counts, and resource pressure. It is clear what the tool returns, but it does not differentiate itself from adjacent siblings such as k8s_cluster_summary or env_health_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, nor any prerequisites or exclusions among the many sibling observability/k8s tools. The only instruction given ('include _signatureAscii in your response') is about response formatting, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

env_errors_overviewResumen de errores del entornoA
Read-only
Inspect

Devuelve un resumen enfocado en errores de un entorno: top servicios con errores, mensajes frecuentes, y posibles causas raíz. El resultado incluye _signatureAscii: un gráfico ASCII de barras. Incluye siempre el contenido de _signatureAscii al final de tu respuesta en un bloque de código (```text) para que el usuario vea el gráfico.

NameRequiredDescriptionDefault
envYesNombre del entorno (INT, TST, PRE, PRD, etc.)
hoursNoVentana temporal hacia atrás en horas
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds behavior those annotations don't contain: the result always includes a field _signatureAscii and the agent must paste it at the end of its answer in a ```text block. That is a concrete output contract that meaningfully changes how the tool is used.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what is returned, followed by the mandatory output instruction. The second sentence about _signatureAscii is longer but earns its place since omitting the chart would be a real failure mode.

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?

An output schema exists, so return values needn't be explained, and the one thing the schema can't express — the mandatory ASCII chart rendering — is stated. The gap is domain placement: with dozens of overlapping observability/environment siblings, the description never says what data source backs 'posibles causas raíz' or when this beats env_health_summary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: env, hours (1-168, default 24) and context_id are all documented in the schema. The description adds nothing about parameters, so baseline 3 applies — the schema does all the work.

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?

States a specific verb (devuelve), a specific resource (resumen de errores de un entorno), and enumerates the content: top error services, frequent messages, and possible root causes. That is concrete, but it never names or distinguishes itself from equally disjoint siblings such as env_health_summary, dd_errors_by_service or env_capacity_overview, which all deal with the same domain.

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?

Usage is only implied by the subject matter (error-focused summary of an environment). There are no when-to-use vs when-not-to-use rules, no mention of env_health_summary or the Datadog error tools, and no stated prerequisites . The agent has to infer that env_errors_overview is chosen when errors are the focus.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

env_health_summaryResumen de salud del entornoA
Read-only
Inspect

Devuelve un resumen estructurado del estado general de un entorno (INT, TST, PRE, PRD) en las últimas N horas, incluyendo errores, salud de pods, latencia y eventos relevantes de despliegue. El resultado incluye _signatureAscii: un gráfico ASCII para CLI/IDE. Incluye siempre el contenido de _signatureAscii al final de tu respuesta en un bloque de código (```text) para que el usuario vea el gráfico.

NameRequiredDescriptionDefault
envYesNombre del entorno (INT, TST, PRE, PRD, etc.)
hoursNoVentana temporal hacia atrás en horas
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further by naming the returned dimensions and disclosing a _signatureAscii artifact plus a mandatory convention for surfacing it to the user. It stops short of stating data sources, freshness, or any cost/latency caveats for a tool that fans out across errors, pods, latency and deploys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the purpose and return scope before the ASCII directive. The final sentence is longer than needed but carries an operational instruction the agent must follow, so it earns its place.

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?

An output schema exists, so return-value detail is not owed, and the description correctly spends its budget on the one thing the schema cannot convey: the ASCII signature and how to present it. Nothing critical is missing for calling a read-only summary tool with three self-documented parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents env, hours (1-168, default 24) and context_id. The description only echoes these, restating the env names and the 'últimas N horas' window without adding new semantics such as how invalid or empty windows behave. Baseline 3 applies.

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?

States a specific verb and resource ('Devuelve un resumen estructurado del estado general de un entorno') and enumerates the sections included (errores, salud de pods, latencia, eventos de despliegue), which makes its breadth self-evident. It never names the closer-grained siblings env_errors_overview or env_capacity_overview, so the agent must infer that this is the rollup option rather than the targeted one.

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?

No explicit when-to-use or when-not-to-use guidance against alternatives; usage is only implied by the phrase 'estado general'. The only imperative given is about output presentation ('Incluye siempre el contenido de _signatureAscii...'), which is a response-handling rule, not selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_actions_diagnoseGHE Actions: Diagnose Failed WorkflowA
Read-only
Inspect

Auto-diagnose the last failed workflow run: finds the failed run, identifies failed jobs/steps, and returns their logs. Without a workflow filter it searches across all workflows. Returns: run info, all jobs (with steps), and logs for each failed job.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNoFilter by branch (optional)
workflowNoFilter by workflow name, path, or ID (optional)
tailLinesNoLog lines to show per failed job
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/non-destructive/closed, so the safety profile is covered. The description adds real value beyond that: it explains the auto-discovery logic (find the last failed run) and the exact return payload (run info, jobs with steps, per-failed-job logs), including the absence of a workflow filter widening the search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the filter caveat, then a structured 'Returns:' enumeration. Slight redundancy between 'returns their logs' and the closing 'Returns: ... logs for each failed job', but overall tight and well-ordered.

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?

An output schema exists, so return values needn't be spelled out, yet the description summarizes them anyway, which aids selection. With rich annotations and full schema coverage, the description gives an agent everything needed to call it correctly; only explicit sibling routing is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all six parameters are already documented in the schema. The description only adds semantics for the workflow filter's absence and the tail-line log scope; it does not explain branch/repo/owner precedence beyond what the schema states. Baseline 3 is appropriate.

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?

States a specific verb and resource: 'Auto-diagnose the last failed workflow run', then enumerates the sub-actions (find run, identify failed jobs/steps, return logs). It implicitly distinguishes itself from the ghe_actions_latest* siblings by scoping to the last *failed* run, though it never names them explicitly.

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?

It gives one usage condition ('Without a workflow filter it searches across all workflows'), which tells the agent how filtering changes behavior. But it offers no explicit when-to-use-vs-alternative guidance against siblings like ghe_actions_latest_logs or ghe_actions_latest_jobs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_actions_latestGHE Actions: Latest RunB
Read-only
Inspect

Get the latest workflow run of a repo (optionally filter by workflow/branch/event).

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
eventNo
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNo
workflowNoWorkflow name, path, or ID (optional)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing behavioral on top of that – no note on what 'latest' resolves to when multiple branches or events exist, and no failure behavior for repos with no runs. It largely restates the name and schema.

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?

One sentence, front-loaded with the action and resource, with the optionality qualifier immediately after. Nothing wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations carrying the safety profile, the core is in place. However, the ambiguity of 'latest' (most recent across all branches vs. per-branch, tie-breaking, behavior with zero runs) is unaddressed, and that matters for an agent deciding whether to call this or the runs-list sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the schema already documents repo, owner, workflow, and context_id with more detail than the description. The description only echoes the three filter parameters, adding no semantics (e.g., whether workflow accepts a filename path or a display name, or how event values map to GitHub event names). Baseline 3 is appropriate.

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 states a specific verb and resource ('Get the latest workflow run of a repo') with the scope qualifier 'latest' plus optional filter dimensions. That is enough to separate it from ghe_workflow_runs_list in spirit, but it never names that sibling explicitly, so the differentiation is left implicit.

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?

'Optionally filter by workflow/branch/event' implies the common usage pattern, but there is no statement of when to pick this over ghe_workflow_runs_list, ghe_actions_latest_jobs, or ghe_actions_diagnose. The agent must infer the routing from the word 'latest' alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_actions_latest_jobsGHE Actions: Jobs of Latest RunC
Read-only
Inspect

List jobs and steps of the latest run of a repo.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNo
workflowNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description usefully clarifies that it returns both jobs and steps (not just job summaries), but it says nothing about behavior when the repo has no runs, whether runs are re-resolved on each call, or how filtering interacts with 'latest'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is terse, but the terseness is a symptom of missing content rather than padding, so it should not be penalized heavily here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for a tool whose selection logic hinges on branch and workflow, the description leaves the agent unable to predict which run's jobs it will get or what happens on an empty result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, and the two undocumented parameters, branch and workflow, are exactly the ones that determine which run is 'latest'. The description adds no meaning for them, leaving critical selection semantics undefined in both schema and prose.

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 names a specific verb (List) and resource (jobs and steps) and scopes it to the latest run of a repo, which distinguishes it from ghe_actions_latest (run metadata) and ghe_actions_latest_logs (logs). It does not explicitly name those siblings, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to pick this over ghe_actions_latest, ghe_actions_latest_logs, or ghe_workflow_runs_list, nor any precondition such as 'a run must already exist'. The agent must guess from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_actions_latest_logsGHE Actions: Logs (preview) of Latest RunA
Read-only
Inspect

Download the ZIP of logs from the latest run and return a concatenated preview.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNo
workflowNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
previewBytesNoPreview size in bytes

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds real context beyond them: it fetches a ZIP artifact and returns a truncated concatenated preview, not the full archive. It omits auth/permission requirements and that truncation is governed by previewBytes.

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?

One sentence, front-loaded with the action and resource, with the output behavior attached. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but with 6 parameters and two undocumented in the schema, the description leaves the branch/workflow selection semantics and preview truncation ambiguous for a tool whose whole purpose is filtered latest-run retrieval.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; branch and workflow are undocumented in the schema, and the description does not explain that supplying branch/workflow narrows which run counts as 'latest'. It also adds nothing about previewBytes controlling the preview cutoff. Baseline 3 for partial schema coverage with marginal added meaning.

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?

States a specific verb and resource ('Download the ZIP of logs from the latest run') and even describes the return shape ('concatenated preview'). An agent can distinguish it from siblings like ghe_actions_latest (metadata) and ghe_actions_latest_jobs (job list), though it never names those siblings explicitly.

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?

Usage is implied by 'latest run' — reach for this when you need raw log text rather than run/job metadata — but there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g. pointing at ghe_actions_diagnose for analysis).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_branches_listGHE: List BranchesC
Read-only
Inspect

List all branches of a repository.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
limitNo
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the description owes little on the safety front. But it adds nothing at all beyond the name — nothing about pagination, the 50-default/500-max limit, truncation behavior, or empty-repo cases, which are exactly the behaviors an agent needs here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero waste and the core intent front-loaded. Its brevity is achieved by omission rather than by density, so it is concise but thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover the safety profile, which offloads a lot, and three of four params are documented in the schema. However, for a paged listing tool the absence of any pagination/limit or result-volume note leaves a real gap an agent will hit on large repositories.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, below the high-coverage baseline, and the one undocumented parameter (limit) is the operationally important one. The description mentions no parameters, so it does not compensate for the gap or explain that results are capped and paginated via limit.

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?

States a specific verb and resource ("List all branches of a repository"), so the operation is unambiguous. It does not distinguish itself from the near-identical siblings ghe_tags_list, bb_branches_list, gl_branches_list, or sq_branches_list; only the tool name/title carries the GitHub Enterprise platform scoping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus the other branch-listing tools or versus ghe_repo_summary. No prerequisites, no exclusions, no mention of what to do when the repo slug is unknown.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_commits_listGHE: Commit HistoryC
Read-only
Inspect

Get the commit history of a branch (default: default branch).

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
limitNo
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNoBranch name (defaults to repo default branch)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the default-branch fallback, which is already stated in the branch parameter's schema description; it says nothing about ordering, pagination, or how far back history is fetched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler. Its only weakness is that the parenthetical restates information already in the schema rather than spending that space on something new.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter listing tool with an output schema, the description omits relevant behavior: result ordering, the effect of limit (default 20, max 100), and what a commit record contains. The safety and return-shape burdens are carried by annotations and the output schema, but the operational gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80% (only 'limit' is undocumented), so the schema does most of the work and a 3 baseline applies. The description echoes the branch-default behavior already documented in the schema and adds no meaning for repo, owner, limit, or context_id.

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 gives a specific verb and resource ('Get the commit history of a branch'), so an agent knows exactly what it returns. It doesn't differentiate itself from sibling listing tools (bb_commits_list, gl_commits_list, ghe_tags_list) beyond the provider prefix baked into the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives such as ghe_repo_summary, ghe_branches_list, or the Bitbucket/GitLab commit equivalents. Usage is only inferable from the tool name and the parenthetical default.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_org_reposGHE: List Org ReposA
Read-only
Inspect

Preferred repository discovery tool when the repo is not known. Lists repositories in the requested org or the active workspace default org.

NameRequiredDescriptionDefault
orgNoOptional org; defaults to the active workspace GHE_ORG or Cloud Catalog github_org.
limitNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
visibilityNoall

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false. The description adds useful behavioral context: if no org is supplied, it falls back to the active workspace default org. It does not discuss pagination or ordering, but the output schema covers return values.

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?

Two sentences, front-loaded with the primary selection criterion, and no wasted words. Every sentence earns its place.

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?

For a simple read-only list tool with an output schema and safe annotations, the description covers purpose, usage cue, and default-org fallback. A minor gap remains around limit/visibility filters and pagination, though the schema provides the necessary structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%; org and context_id are documented in the schema. The description merely repeats the org default already stated in the schema and says nothing about limit or visibility. Those remaining parameters are simple (integer with default/max/min, enum) and reasonably self-explanatory, so a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lists') and resource ('repositories in the requested org or the active workspace default org'). The phrase 'Preferred repository discovery tool when the repo is not known' distinguishes it from repo-specific siblings like ghe_repo_summary, ghe_repo_prs, and ghe_actions_latest.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides a when-to-use cue: 'when the repo is not known' and labels itself the 'Preferred repository discovery tool.' It does not name alternative tools or state when not to use it, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_pr_detailGHE: PR DetailC
Read-only
Inspect

Get full details of a Pull Request by number.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
pull_numberYesPull Request number

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing on top: no note on auth/connection requirements, rate limits, or what 'full details' actually spans, which is the one piece of behavior an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, so nothing needs trimming. It is arguably over-compressed for a tool whose scope ('full details') is itself the ambiguity, but the sentence itself earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and parameters are fully documented. What is missing is scope definition relative to the diff/files siblings, which is exactly the gap that matters for a 'detail' retrieval tool in this family.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all four parameters carry their own descriptions, including the repo-vs-owner precedence rule. The phrase 'by number' merely restates pull_number, so the description adds no semantics beyond the schema — baseline 3 applies.

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?

States a specific verb and resource ('Get full details of a Pull Request') plus the identifying key ('by number'), which is enough to separate it from ghe_pr_diff, ghe_pr_files, and ghe_repo_prs. It stops short of naming those siblings explicitly, so differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance. An agent must guess whether 'full details' already covers the data returned by ghe_pr_files or ghe_pr_diff, or whether those must be called separately — a real ambiguity given the dense GHE PR sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_pr_diffGHE: PR Full DiffA
Read-only
Inspect

Get the changed content of all files in a Pull Request as unified diff (patch). Includes added and removed lines per file. For file list and statistics only, use ghe_pr_files.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
pull_numberYesPull Request number

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds the output shape (unified diff with added/removed lines), but says nothing about the main operational risk for a diff tool: whether large PRs are truncated, capped, or fail, and whether there is any pagination. That omission matters for a tool that can return very large payloads.

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?

Two sentences, zero waste, and the capability statement is front-loaded ahead of the sibling routing note. Nothing could be removed without losing information.

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?

An output schema exists, so return values need not be explained, and the sibling routing is handled. The only meaningful gap is operational behavior on large diffs (truncation/limits), which for a patch-retrieval tool is worth one more sentence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all four parameters (repo, owner, context_id, pull_number) are documented in the schema, including the repo-vs-owner precedence rule. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the changed content of all files in a Pull Request') and pins the output format ('unified diff (patch)') plus its contents ('added and removed lines per file'). This is clearly distinguishable from ghe_pr_files and ghe_pr_detail without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use this for diff content, use ghe_pr_files when only the file list and statistics are needed. The condition selecting the alternative is stated, not implied, which is exactly the ambiguity an agent faces between these two siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_pr_filesGHE: PR Changed FilesB
Read-only
Inspect

Get the COMPLETE list of files modified in a Pull Request with added/removed line statistics. Returns ALL files in the "files" array — always iterate over all elements.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
pull_numberYesPull Request number

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that the files array is not a truncated page and every element must be iterated — but says nothing about large-PR limits, renamed/deleted files, or ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the verb and resource, with no filler. Minor redundancy in restating completeness twice ('COMPLETE list' / 'ALL files'), but both serve to prevent an early-exit mistake.

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?

An output schema exists, so return values need no explanation, and all four params are documented. For a read-only listing tool this is close to sufficient; only edge-case behavior on very large PRs or non-paginated result limits is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all four parameters, including the repo vs owner precedence and context_id semantics, so the schema does the heavy lifting. The description adds no parameter-level meaning beyond that, which is the correct baseline.

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?

States a specific verb and resource — get files modified in a Pull Request — plus what the payload contains (added/removed line statistics). It implicitly separates itself from ghe_pr_diff (patches) and ghe_pr_detail (metadata), but never names those siblings, so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement, no prerequisite (e.g. pull_number must be resolved first) and no routing to alternatives such as ghe_pr_diff or ghe_pr_detail. The 'always iterate over all elements' line governs result consumption, not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_repo_prsGHE: List PRsB
Read-only
Inspect

List Pull Requests (latest N). Filter by state: open (default), closed, or all.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
limitNo
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
stateNoopen
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful 'latest N' ordering constraint but says nothing about pagination, rate limits, or result scope beyond state filtering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no waste; the core capability and the filtering option are front-loaded. Terse but appropriately sized for a simple list tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described. However, for a tool with 5 parameters and 60% schema coverage, the description leaves the owner/repo routing nuance and pagination behavior unaddressed, making it adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%, with the important repo and owner parameters already documented in the schema. The description restates the state enum values already present in the schema and hints at limit via 'latest N', adding little meaning beyond structured fields.

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?

States a specific verb and resource ('List Pull Requests') plus scope ('latest N'), which distinguishes it from the single-PR siblings like ghe_pr_detail, ghe_pr_diff, and ghe_pr_files. It doesn't explicitly name those siblings, but the list-vs-single distinction is clear.

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 state filter values and default ('open (default), closed, or all') imply when to use each mode, but there is no explicit guidance about when to prefer this over ghe_pr_detail or how it relates to the other PR tools. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_repo_summaryGHE: Repo SummaryA
Read-only
Inspect

Summary of a repository: default branch, latest commit, open PRs count, branch count, etc. repo accepts "name" or full slug "owner/name" (github.com or GHE).

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered and the bar is lower. The description adds what data the summary contains, but says nothing about return format beyond field names or any rate/scope caveats, so it adds only modest value.

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?

Two tight sentences, front-loaded with the summary contents followed by the repo format note. Zero filler.

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?

A read-only summary tool with a fully documented schema and an existing output schema needs little prose; the description conveys purpose and scope adequately. Slightly more guidance on how it relates to sibling listing tools would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters are fully documented in the schema. The description restates that repo accepts 'name' or 'owner/name' slug, which is already in the repo parameter description, adding no meaning beyond the schema. Baseline 3 applies.

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?

States a specific resource (repository summary) and enumerates the aggregated fields returned (default branch, latest commit, PR/branch counts). This differentiates it from granular siblings like ghe_branches_list or ghe_commits_list, though it doesn't name them explicitly.

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 aggregated nature implies 'use this for a quick overview,' but there is no explicit when-to-use versus when-to-use-siblings guidance or exclusions. Usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_search_codeGHE: Search Code in OrgB
Read-only
Inspect

Search code remotely in GitHub across the organization (REST /search/code). Use repo:owner/name or the shorthand repo:name.

NameRequiredDescriptionDefault
qYesGitHub code-search query, e.g. "VERCEL_TOKEN path:.env" or "symbol repo:owner/name".
orgNoOptional org; defaults to the active workspace GHE_ORG or Cloud Catalog github_org.
limitNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the REST endpoint and the word 'remotely'; it does not disclose rate limits, permissions, result caps, pagination behavior, or search scope limitations.

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?

Two short sentences are front-loaded with the core purpose and query syntax. There is no filler or repetition.

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?

The tool has an output schema, rich annotations, and mostly documented parameters, so the description need not explain return values. It covers purpose and key query syntax, though it could be more complete about scope defaults and search limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the schema already documents q, org, and context_id. The description adds the shorthand repo:name syntax for q, but does not explain the limit parameter or add meaning beyond the schema for the remaining parameters.

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 a specific verb and resource: search code in GitHub across an organization, and names the REST endpoint. It is distinguishable from sibling tools such as ghe_org_repos or ghe_repo_summary, though it does not explicitly contrast with them.

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 gives syntax guidance for the query using repo:owner/name or repo:name, which implies code-search usage. However, it does not state when to use this tool versus alternatives, nor does it mention exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_tags_listGHE: List TagsC
Read-only
Inspect

List all tags of a repository.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
limitNo
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no pagination behavior despite a limit parameter capped at 500, no ordering of results, no note on what happens when the repo has no tags or the repo is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; nothing needs trimming. It is efficient but borders on under-specification rather than concise-but-complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover safety, so the remaining burden is light. Still, for a paginated list tool (limit default 50, max 500) the description should say whether results are truncated and how to page through them — an agent cannot tell from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%: repo, owner, and context_id all carry meaningful descriptions, and limit is bounded (1-500, default 50) so its role is inferable. The description adds no parameter meaning at all, which is acceptable at this coverage level but earns no credit above baseline.

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?

States a specific verb and resource: 'List all tags of a repository.' Combined with the ghe_ prefix it is distinguishable from gl_tags_list and bb_tags_list, but the description itself does nothing to differentiate it from the sibling ghe_branches_list or to clarify what a 'tag' means here (Git tags vs release tags).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisite statement (auth, repo visibility), and no naming of alternatives such as ghe_branches_list when the agent actually wants branch refs. The agent must infer usage purely from the one-line purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_workflow_dispatchGHE Workflows: Trigger (workflow_dispatch)A
Destructive
Inspect

Manually trigger a GitHub Actions workflow that has "on: workflow_dispatch" defined. Accepts workflow ID, name, or file path. Returns confirmation with repo, workflow, and ref. Returns HTTP 422 if the workflow does not support manual dispatch.

NameRequiredDescriptionDefault
refNoBranch or tag to run the workflow on (default: main)main
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
inputsNoKey-value inputs declared in the workflow (optional)
workflowYesWorkflow ID, name, or path (e.g. deploy.yml)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag this as a non-read-only, open-world, destructive operation; the description adds value by disclosing the success response shape (repo, workflow, ref) and the HTTP 422 failure mode for workflows lacking manual dispatch. It stops short of mentioning required token scopes or that dispatching creates a real run consuming the target ref.

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?

Three short sentences, front-loaded with the action and its precondition, then return values, then the error case. No filler or repetition.

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?

An output schema exists, so the return-description sentence is redundant but harmless, and the description covers the key failure mode and precondition. Given this is a mutating tool with a destructive hint, a brief note on permissions or side effects would round it out.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including inputs, context_id, and owner is already documented. The description's 'workflow ID, name, or file path' restates the schema rather than adding new semantics such as input key validation or ref defaults, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb and resource ('manually trigger a GitHub Actions workflow') and adds the essential precondition ('on: workflow_dispatch'). The action is clearly distinguishable from read-oriented siblings like ghe_workflow_list and ghe_workflow_runs_list, which only inspect state.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The precondition ('has on: workflow_dispatch defined') implicitly defines when the tool is applicable, and the 422 note warns of the failure case when it isn't. However, it never names alternatives or states explicitly that list/inspect tools should be used first to find a workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_workflow_listGHE Workflows: ListA
Read-only
Inspect

List all GitHub Actions workflows of a repository with their ID, name, path, state (active/disabled_manually/etc.), and URL. Use this to discover available workflows before triggering one.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the agent knows this is a safe read-only listing operation. The description reinforces the list scope and returned workflow metadata, but does not add deeper behavioral details like pagination, filtering behavior, or permission requirements. With annotations and an output schema present, a 3 is appropriate.

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 two sentences, front-loads the core list operation and returned fields, and then gives the primary usage reason. There is no redundant or wasted text.

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?

This is a simple read-only list tool with three fully documented parameters, annotations covering safety, and an output schema for return values. The description supplies the essential purpose and usage context; a small gap remains around pagination or filtering behavior, but the tool is otherwise complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters — repo, owner, and context_id — are fully documented in the input schema. The description only implicitly references the repository and adds no extra parameter semantics beyond the schema, so this hits the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'List all GitHub Actions workflows of a repository' — and enumerates the returned fields (ID, name, path, state, URL). It also distinguishes the tool's role from triggering workflows by saying to discover workflows before triggering one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage context: use it to discover available workflows before triggering one. It does not explicitly name or rule out sibling alternatives such as ghe_workflow_runs_list, but the intended use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ghe_workflow_runs_listGHE Workflows: List RunsA
Read-only
Inspect

List recent runs of a specific GitHub Actions workflow. Accepts workflow ID, name, or file path (e.g. "deploy.yml"). Returns status, conclusion, branch, actor, timestamps, duration, and URL per run.

NameRequiredDescriptionDefault
repoYesRepository name or full owner/name slug. Prefer owner/name when known so routing never depends on a workspace default.
limitNoMax runs to return (default 20, max 100)
ownerNoOptional GitHub org/user. A full repo slug (owner/name) takes precedence; otherwise the active workspace default org is used.
branchNoFilter by branch
statusNoFilter by conclusion/status (e.g. failure, success, in_progress)
workflowYesWorkflow ID, name, or path (e.g. deploy.yml)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish that this is a read-only, non-destructive, non-open-world operation. The description adds the accepted workflow identifier forms and a summary of returned run fields, but it does not mention ordering, pagination beyond the schema's limit, rate limits, or permission requirements; with an output schema present, the return-field sentence adds limited behavioral context.

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?

Two tight sentences, with the core purpose front-loaded and no wasted preamble. The second sentence efficiently covers accepted identifiers and return content.

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?

The tool has rich structured context: complete parameter descriptions, annotations, and an output schema. The description is complete enough to support correct invocation, though it could better clarify how this differs from sibling GitHub Actions listing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters are already documented in the input schema. The description reinforces that workflow may be an ID, name, or file path and gives a deploy.yml example, but it does not add meaning beyond the schema for repo, owner, branch, status, limit, or context_id.

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 states a specific verb and resource: "List recent runs of a specific GitHub Actions workflow." That is clear and actionable, but it does not distinguish this tool from nearby siblings such as ghe_actions_latest or ghe_actions_latest_jobs, so it falls short of a 5.

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 implies when to use it by saying it lists runs for a specific workflow, and it explains the accepted workflow identifiers. However, it does not explicitly say when to choose this tool over ghe_actions_latest, ghe_actions_latest_jobs, or ghe_workflow_list, so the guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_branches_listGitLab branchesC
Read-only
Inspect

List repository branches.

NameRequiredDescriptionDefault
limitNo
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that: no pagination behavior, no default of 50 / maximum of 100 on limit, and no note on what happens when project is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of padding, so there is no structural waste. But its brevity comes at the cost of under-specification rather than genuine efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. Still, for a four-parameter tool with two undocumented parameters, no provider disambiguation and no pagination guidance, the description is too thin to let an agent invoke it confidently alongside a dozen similar branch-listing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: project and context_id are documented in the schema, but limit and namespace are not. The description compensates for none of this, offering no explanation of namespace scoping or the meaning of the limit cap, so an agent gains nothing about parameters from it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ("List repository branches"), so the basic action is clear. However, it gives no hint that this is the GitLab variant, leaving the agent to infer that from the name prefix and title when siblings like bb_branches_list, ghe_branches_list and sq_branches_list do nearly the same thing for other providers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to reach for this tool versus the Bitbucket, GitHub Enterprise or SonarQube branch-listing siblings, and no stated prerequisites such as a required project reference. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_commits_listGitLab commits on branchC
Read-only
Inspect

Get commit history of a branch.

NameRequiredDescriptionDefault
limitNo
branchNomain
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the branch-scoping fact; it says nothing about default ordering, pagination behavior, or the default limit of 20 / max 100 that governs result completeness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with zero waste, but this is under-specification rather than true conciseness. Nothing is front-loaded beyond the bare purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter list tool with 40% schema coverage, the description omits result ordering, pagination/limit semantics, and how namespace combines with project. The output schema and annotations relieve some burden on return shape and safety, but the operational gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40%: project and context_id are documented, but limit, branch, and namespace have no descriptions anywhere. The phrase 'of a branch' implicitly points at the branch parameter (default 'main'), yet the description adds nothing about limit caps or the namespace/repo-slug relationship.

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 states a clear verb and resource ('Get commit history of a branch'), and the branch scoping differentiates it from MR-centric siblings like gl_mr_commits. It never names a sibling explicitly, so an agent must infer the distinction from naming alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus gl_mr_commits, gl_branches_list, or gl_tags_list, and no prerequisites or exclusions are stated. The agent is left to infer usage purely from the title and tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_mr_changesGitLab MR changed filesB
Read-only
Inspect

Get the complete list of files changed in an MR with line statistics.

NameRequiredDescriptionDefault
iidYesMerge request IID
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds only that the list is 'complete' and includes line statistics; it says nothing about pagination, size limits, or behavior on large MRs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no filler; every clause (complete list, line statistics) carries information. It is arguably too terse rather than too long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations and an output schema present, the definition is callable as-is, but for a read tool in a dense sibling set (gl_mr_diff, gl_mr_commits, bb_pr_diffstat) it could have stated the split of responsibilities without much added length.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% with the required iid and project documented, and an output schema exists. The description adds no parameter meaning beyond what the schema provides, which is the expected baseline here.

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?

States a specific verb and resource (list files changed in an MR) plus the returned shape (line statistics), which meaningfully separates it from gl_mr_diff. It doesn't explicitly name the sibling it is not, so it stops short of a 5.

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?

Usage is only implied: an agent can infer this is for enumerating file-level stats rather than raw patch content, but no when-to-use or when-to-prefer-gl_mr_diff guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_mr_commitsGitLab MR commitsB
Read-only
Inspect

Get all commits included in a merge request.

NameRequiredDescriptionDefault
iidYesMerge request IID
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The phrase 'all commits' weakly signals an unfiltered complete listing, but nothing is said about pagination or size limits on large MRs, which is the main behavioral risk here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste, but its brevity reflects under-specification rather than disciplined editing. Nothing is redundant, though little is offered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, and annotations cover safety. However, the description leaves the undocumented namespace parameter and pagination/completeness behavior unaddressed, which is a meaningful gap for a tool that can return very large lists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% — iid, project, and context_id are documented, while namespace has no description in either the schema or the tool description. The description adds no parameter meaning beyond the schema, but since most parameters are already self-documented, this lands at the baseline rather than below it.

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?

States a specific verb and resource ('Get all commits included in a merge request'), which cleanly separates it from gl_commits_list (project-level commits) and gl_mr_diff/gl_mr_changes (patch content). It never names those siblings, so the agent must infer the distinction from the names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this over gl_mr_changes, gl_mr_diff, gl_mr_get, or gl_commits_list, and no prerequisites (e.g., needing the MR IID from gl_mr_search/gl_mr_get) are mentioned. Usage is only implied by the tool name and title.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_mr_diffGitLab MR full diffA
Read-only
Inspect

Get unified diff patches for all files in a merge request.

NameRequiredDescriptionDefault
iidYesMerge request IID
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a read-only, non-destructive, closed-world operation. The description adds that all files are included and that output is unified diff patches, but it does not mention large-diff handling, truncation, auth needs, or other operational behavior.

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?

A single front-loaded sentence with no wasted wording. It communicates the essential action and scope immediately.

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?

The description is adequate for a simple read-only diff retrieval tool, especially since annotations cover safety and an output schema exists. It still leaves some useful context unstated, such as behavior on very large merge requests or relationship to sibling change-listing tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, documenting project, iid, and context_id, while namespace is undocumented. The description maps conceptually to the required MR parameters but does not explain namespace or add syntax or format details beyond the schema.

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?

States a specific verb and resource: get unified diff patches for all files in a merge request. It is clearer than a generic MR read, but it does not explicitly distinguish itself from sibling tools such as gl_mr_changes.

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 phrase 'all files in a merge request' implies when to use it: when the full unified diff is needed. However, it gives no explicit alternatives, exclusions, or guidance versus gl_mr_changes or gl_mr_get.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_mr_getGitLab MR by NumberB
Read-only
Inspect

Get merge request details by IID (visible MR number).

NameRequiredDescriptionDefault
iidYesMerge request IID
projectYesProject path, ID, or repo slug under namespace
namespaceNoGroup/namespace slug (optional if configured in catalog)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds only the clarification that IID is the visible MR number; it says nothing about missing-project behavior, cross-namespace resolution, or what happens when the IID does not exist in the project.

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?

A single sentence, front-loaded with the verb and resource, with zero filler. Every word carries identifying information.

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?

With a fully described schema, annotations covering safety, and an output schema for return values, the description needs little more. It is adequate for calling the tool, though it never states prerequisites such as needing a resolvable project path or that namespace is optional when catalog-configured.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents iid, project, namespace, and context_id; baseline 3 applies. The phrase "visible MR number" marginally clarifies the IID vs internal-ID distinction but adds no syntax or format detail beyond the schema.

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?

Specific verb + resource ("Get merge request details") plus an identifying key ("by IID"), which distinguishes it from search/diff/changes siblings by implication. It stops short of explicitly naming which sibling to use when the IID is unknown.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given, and no alternative is named. An agent must infer that gl_mr_search is the discovery path and this tool is the lookup-by-IID path; nothing in the text states that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_pipeline_diagnoseDiagnose failed GitLab pipelineA
Read-only
Inspect

Identify which job failed in a pipeline and show its trace log. Without pipelineId it finds the last failed pipeline (optional branch filter).

NameRequiredDescriptionDefault
branchNoBranch when searching last failed
projectYesProject path, ID, or repo slug under namespace
namespaceNo
tailLinesNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
pipelineIdNoPipeline ID (omit for last failed)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely new behavior: a fallback mode that resolves the last failed pipeline when pipelineId is omitted, plus an optional branch filter and the fact that a trace log is returned. It omits edge behavior such as what happens when no failed pipeline exists.

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?

Two short sentences, front-loaded with the core action and then the fallback condition. Every clause earns its place with no filler.

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?

An output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. For a 6-parameter diagnostic tool the description is nearly complete, with the remaining gap being what the tool does when no failed pipeline is found and how tailLines affects output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, above the low-coverage threshold, so the schema carries most of the burden. The description explains pipelineId's optionality and branch's role, but says nothing about tailLines, namespace, or the context_id work-context parameter, so it adds only marginal meaning over structured data.

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 names a specific verb and resource pair ('identify which job failed', 'show its trace log') that is clearly distinct from siblings like gl_pipeline_get or gl_pipelines_latest. It never names those siblings explicitly, so differentiation is inferable rather than stated.

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 clause 'Without pipelineId it finds the last failed pipeline (optional branch filter)' gives useful conditional context for how to invoke the fallback mode. However, there is no explicit when-to-use/when-not guidance and no routing to alternatives such as gl_pipeline_get for a successful pipeline or bb_pipeline_diagnose for Bitbucket.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_pipeline_getGitLab pipeline statusB
Read-only
Inspect

Get detailed status of a specific pipeline by ID.

NameRequiredDescriptionDefault
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
pipelineIdYesPipeline ID

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that: no mention of required scopes/permissions, rate limits, or what 'detailed' actually encompasses relative to the diagnosis sibling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the space saved is not reinvested in the differentiation or guidance the definition lacks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations fully cover the read-only, non-destructive nature. For a simple single-resource read with 2 required params, the definition supplies everything an agent needs to invoke it correctly, even if it says little about when to prefer it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, with 'project' and 'pipelineId' documented, but 'namespace' has no description in the schema and is not mentioned in the description either. The description only reinforces the ID-based lookup, adding marginal semantics beyond the schema.

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?

States a concrete verb and resource ('Get detailed status of a specific pipeline by ID'), which tells an agent this is a single-entity fetch, distinct from gl_pipelines_latest. However, it never distinguishes itself from gl_pipeline_diagnose, a close sibling whose purpose overlaps heavily with 'detailed status'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance. The phrase 'by ID' weakly implies the caller must already hold a pipeline ID (so use gl_pipelines_latest to obtain one), but that routing is left entirely to inference, and the diagnose alternative is never mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_pipelines_latestGitLab Pipelines (latest)B
Read-only
Inspect

Returns the status of the latest pipeline runs (default 3).

NameRequiredDescriptionDefault
limitNo
branchNoFilter by branch/ref
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the default limit of 3 — which is already in the schema — and says nothing about ordering ('latest' by what field), pagination, or whether results span branches when no branch filter is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler — the core purpose arrives immediately. It is lean to the point of under-specification, but nothing in it is wasted or buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape needn't be described, and annotations cover the read-only nature. However, for a five-parameter tool with a required project argument and a namespace qualifier, the description says nothing about parameter interplay or how 'latest' is ordered, which is the main informational gap an agent would hit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Five parameters at 60% schema coverage; the description repeats only the limit default already present in the schema. It does not explain the required project parameter's accepted forms, how namespace interacts with project, or what branch filtering does to the 'latest' semantics, leaving the undocumented namespace parameter with no explanation anywhere.

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?

States a specific verb and resource — returns the status of the latest pipeline runs — with the default count noted. It is clear what the tool returns, but it never distinguishes itself from close siblings like gl_pipeline_get, gl_pipeline_diagnose, or bb_pipelines_latest, so the agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no mention of the alternatives (gl_pipeline_get for a specific pipeline, gl_pipeline_diagnose for failures). The agent is left to infer that this is the list-recent entry point rather than the single-pipeline or diagnostic tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_projects_listGitLab projects in groupB
Read-only
Inspect

List projects in a GitLab group/namespace.

NameRequiredDescriptionDefault
limitNo
namespaceNoGroup slug (defaults to catalog gitlab_group)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is a safe, read-only, closed-world operation, lowering the bar. The description adds the group-scoping context but says nothing about pagination via the limit parameter, default namespace resolution, or result size, which are the behaviors an agent would actually need to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the scope front-loaded and no filler. It is efficient but borders on under-specified, so it earns a 4 rather than a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover safety. However, for a tool with a partially undocumented limit parameter and default-namespace behavior, the description is marginally adequate—nothing is wrong, but an agent must infer default and pagination behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: namespace and context_id are documented in the schema, while limit carries only default/maximum with no explanation. The description contributes only the notion of a group/namespace and does not compensate for the undocumented limit or explain defaulting behavior.

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 names a specific verb ('List'), resource ('projects'), and scope ('in a GitLab group/namespace'), so the operation is unambiguous. It does not differentiate itself from other GitLab siblings (e.g. gl_branches_list, gl_mr_search), though no sibling is a direct project-list alternative, keeping the risk low.

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?

Usage is only implied: it says projects are listed 'in a GitLab group/namespace,' hinting at when to reach for it, but there is no explicit when-to-use/when-not guidance, no note that the namespace defaults to the catalog gitlab_group, and no alternatives named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gl_tags_listGitLab tagsC
Read-only
Inspect

List repository tags.

NameRequiredDescriptionDefault
limitNo
projectYesProject path, ID, or repo slug under namespace
namespaceNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so safety is covered structurally. The description itself adds nothing: no mention of pagination behavior, default page size, ordering of returned tags, or what happens when a project path is ambiguous or missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, waste-free sentence that is front-loaded, so nothing is redundant. However, it is under-specified rather than effectively concise given a four-parameter tool with an undocumented namespace field.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation is not required, and annotations cover the read-only profile. Still, for a tool whose schema leaves half the parameters undocumented and whose siblings overlap heavily across providers, one sentence leaves the agent without enough to invoke it confidently or choose it over bb_tags_list/ghe_tags_list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: 'namespace' has no description in the schema and gets no explanation here, and the relationship between namespace and project (path vs. ID vs. repo slug) is left unresolved. The description explains none of the four parameters, so it fails to compensate for the coverage gap beyond what limit's min/max/default already self-document.

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 gives a specific verb and resource ("List repository tags"), and "repository" disambiguates from GitLab's label-style tags. It does not differentiate from the parallel siblings bb_tags_list and ghe_tags_list, relying on the gl_ name prefix alone to convey the provider.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus gl_branches_list, gl_commits_list, or the Bitbucket/GitHub tag equivalents, and no prerequisites (auth, project identification) are mentioned. The agent must infer usage entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

http_checkHTTP/HTTPS checkA
Read-only
Inspect

HEAD request to a URL from this environment. Returns status code, time, and response headers, or resolution/connection/timeout error. Optional connectHost, headers (e.g. Host), and servername for direct origin probes bypassing CDN DNS (curl -H Host to origin IP).

NameRequiredDescriptionDefault
urlYesURL to check (e.g. https://www.your-tenant.com)
headersNoOptional request headers (e.g. Host for origin bypass)
timeoutMsNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
servernameNoTLS SNI hostname (defaults to Host header or URL hostname)
connectHostNoConnect to this IP/hostname instead of URL DNS (origin bypass)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a read-only, non-destructive operation. The description adds meaningful behavior beyond annotations: it performs a HEAD request, returns status code, timing, and headers, and reports resolution/connection/timeout errors, plus explains the origin-bypass pattern.

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 compact and front-loaded with the primary operation, then proceeds to return values and advanced optional parameters. The parenthetical curl comparison is dense but directly useful for the origin-bypass use case.

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?

An output schema exists and annotations cover safety, while the description explains what the tool returns, what errors it can surface, and the key origin-bypass parameter pattern. It is complete enough to call correctly, with only minor gaps around timeout and context_id that the schema already documents.

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 description coverage is high at 83%, so the schema already carries most parameter meaning. The description still adds useful combined semantics for connectHost, headers, and servername as an origin-probe pattern, though it does not explain timeoutMs or context_id.

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?

States a specific verb and resource: "HEAD request to a URL from this environment." The HTTP/HEAD framing distinguishes it from DNS and TCP siblings implicitly, but it does not explicitly name alternatives or contrast directly with tools like tcp_connect or dns_lookup.

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 gives a useful implied usage context: checking a URL from this environment and optionally probing an origin directly by bypassing CDN DNS. However, it does not explicitly say when to use this tool versus siblings such as tcp_connect, dns_lookup, cert_status, or cf_cache_probe.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

investigation_closeClose investigation sessionB
Read-only
Inspect

Synthesize accumulated evidence with investigation-core and return the canonical Veredicto markdown (read-only diagnosis).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
investigation_idYesSession id from investigation_open

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, and the description's 'read-only diagnosis' is consistent with them. However, for a tool literally named close it never says whether the session is finalized, whether evidence is consumed, or whether it can be re-invoked for a refreshed verdict — the single most important behavioral question here stays unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with no filler and the key qualifier ('read-only') placed early. Slight density of internal jargon keeps it from being maximally readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, and annotations cover the safety profile. Still missing the lifecycle detail an agent needs to sequence this correctly: does calling it end the investigation, and can investigation_open be resumed afterwards?

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters carry their own descriptions (context_id workspace semantics, investigation_id provenance), so the schema does the work. The description adds nothing about either parameter, which is acceptable but not value-adding.

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?

Names a concrete action pair (synthesize evidence, return canonical Veredicto markdown) and characterizes the result as a read-only diagnosis, so the agent knows what it gets back. It never states that it *closes/terminates* the session, so the name's core promise is left implicit, and 'investigation-core'/'Veredicto' are internal jargon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement about when this should be called versus continuing with other investigation steps, and no mention of the sibling investigation_open that produces the required investigation_id. The only hint is the parenthetical 'read-only diagnosis'; there are no exclusions or preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

investigation_openOpen investigation sessionA
Read-only
Inspect

Start a scoped MCP investigation. Pass _meta.investigation_id on subsequent atomic tool calls to accumulate evidence, then call investigation_close for the Veredicto markdown.

NameRequiredDescriptionDefault
envNoEnvironment slug or label (e.g. PRD, int)
queryNoFree-text symptom or question
hostnameNoHostname or URL under investigation
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
service_hintsNoService names to bias hypotheses
include_memory_precedentsNoWhen true, search operational memory for non-authoritative precedents

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/non-destructive/closed-world, so safety is covered; the description adds the valuable part — that state is carried via `_meta.investigation_id` across later calls and is finalized by investigation_close into a "Veredicto markdown" artifact. Slight tension remains: "Start" implies creating session state while readOnlyHint=true, though this is not a hard contradiction since nothing is described as mutated or destroyed. It does not say whether re-opening with the same context resumes or replaces an existing session.

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?

Two sentences, roughly thirty words, front-loaded with the purpose before the follow-up mechanics. Every clause carries actionable information about lifecycle or next steps.

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?

An output schema exists, so return values need no explanation, and all six optional parameters are schema-documented. What is missing is prerequisite context — whether an active work context (context_id / ops_context_open) is expected, and how the session interacts with those sibling context tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so env/query/hostname/context_id/service_hints/include_memory_precedents are already fully documented and the baseline of 3 applies. The description adds a non-schema parameter (`_meta.investigation_id`) and its propagation rule, but says nothing about which of these six inputs shape the session scope versus merely seed hypotheses.

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?

States a specific verb and resource ("Start a scoped MCP investigation") and names the terminating sibling (investigation_close), so the agent knows this opens a session rather than running a query. What "scoped" actually means for the investigation is never defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit workflow: call this first, propagate `_meta.investigation_id` on subsequent atomic tool calls, then finish with investigation_close. It does not say when NOT to open an investigation, nor how this differs from the similar session-opening siblings ops_context_open / ops_set_work_context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_issue_commentsComentarios de un issueA
Read-only
Inspect

Get all comments of a Jira issue.

NameRequiredDescriptionDefault
issueKeyYesKey del issue (ej: BEC-123)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only the 'all comments' scope hint; it says nothing about pagination, ordering, or truncation behavior that an agent would want to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though its brevity is part of why other dimensions are thin.

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?

The tool is simple, has an output schema (so return values needn't be described), and its parameters are fully documented in the schema. The description covers the core operation; only sibling disambiguation and pagination details are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters (issueKey, context_id) are documented in the schema, so the baseline of 3 applies. The description adds no extra meaning about the issue key format or the connection-context parameter.

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?

States a specific verb and resource ('Get all comments of a Jira issue'), so the operation is unambiguous. However, it does not distinguish itself from siblings like jira_issue_get or jira_issue_fulldetails, which plausibly also surface comment data.

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?

Usage is only implied: an agent infers 'use this when you need the comments on a known issue.' There is no explicit guidance on when to prefer this over jira_issue_fulldetails or jira_issue_get, and no mention of prerequisites such as needing the issue key first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_issue_fulldetailsDetalles completos de un issueA
Read-only
Inspect

Get all available information of a Jira issue in a single call: basic info, comments, changelog, worklogs, attachments and watchers.

NameRequiredDescriptionDefault
fieldsNoCampos específicos a obtener del issue (opcional, por defecto campos comunes)
issueKeyYesKey del issue (ej: BEC-123)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds the meaningful behavioral trait that this is an aggregate/fan-out read ('in a single call'), but does not warn that it is heavier than a targeted get or comment on cost/latency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with the resource front-loaded and the included sections listed efficiently. Minor loss because 'all available information' is vaguer than the enumeration that follows it, but there is no waste.

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?

An output schema exists, so return-shape explanation is not needed, and the description does tell the agent what categories of data come back. The remaining gap is sibling disambiguation for an aggregate tool that overlaps jira_issue_get and jira_issue_comments.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are documented in the schema and the baseline is 3. The description adds nothing about the optional 'fields' filter, which is the one parameter where extra guidance (e.g. that omitting it returns a default set) would actually help.

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?

States a specific verb ('Get') and resource ('all available information of a Jira issue') and enumerates the included sections (comments, changelog, worklogs, attachments, watchers). However, it never distinguishes itself from the sibling jira_issue_get or jira_issue_comments, which an agent must disambiguate on its own.

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?

'in a single call' implies this replaces several narrower calls, which is a useful hint, but there is no explicit rule such as 'use this instead of jira_issue_get + jira_issue_comments when you need a full picture' and no mention of when it is overkill or slower.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_issue_getObtiene issue de JiraB
Read-only
Inspect

Get detailed information of a specific issue by key (e.g.: BEC-123).

NameRequiredDescriptionDefault
fieldsNoCampos específicos a obtener (opcional, por defecto campos comunes)
issueKeyYesKey del issue (ej: BEC-123, STORE-456)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a safe read-only, non-destructive operation. The description adds no behavioral context beyond that, such as authentication expectations, rate limits, or caveats about what 'detailed information' includes.

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 a single front-loaded sentence with no wasted text. It states the core action and the identifying input immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with full schema coverage, annotations, and an output schema, the description is minimally sufficient to invoke it with a key. However, it omits context that would help an agent choose between this and the overlapping jira_issue_fulldetails sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description restates the required issueKey example but adds no extra semantics for fields or context_id, making the baseline 3 appropriate.

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 gives a specific verb and resource: retrieving detailed information for a specific issue by key, with an example key format. It distinguishes itself from list/search siblings, but does not differentiate from jira_issue_fulldetails, which appears to overlap with 'detailed information.'

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?

Usage is implied: call this when you already have a Jira issue key and need its details. There is no explicit guidance on when to prefer this over jira_issue_fulldetails, jira_issue_comments, or search/list alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_issues_listLista issues de un proyectoB
Read-only
Inspect

List issues in a project with optional filters (status, assignee, issueType, etc.).

NameRequiredDescriptionDefault
labelsNoFiltro por labels
statusNoFiltro por estados (ej: ["Open", "In Progress"])
orderByNoOrdenamiento JQL (ej: "updated DESC", "created ASC", por defecto: "updated DESC")
assigneeNoFiltro por asignado (email o accountId)
reporterNoFiltro por reporter (email o accountId)
issueTypeNoFiltro por tipos (ej: ["Bug", "Story", "Task"])
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNo
projectKeyNoKey del proyecto (ej: PROJ, STORE); por defecto desde catálogo o JIRA_PROJECT_KEY

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds nothing beyond that: no mention of the 50-item default/100 max cap, no pagination behavior, and no note that projectKey falls back to the catalog or JIRA_PROJECT_KEY env var when omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity is what leaves the guidance gaps elsewhere rather than being tight-and-complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema and annotations carry the return-value and safety burden, and the params are well documented, so the description needn't do much. But for a 9-parameter listing tool with three overlapping siblings, omitting which tool to use and how defaulting/pagination works leaves it only minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 89%, so nearly every parameter is already documented (labels, status, orderBy JQL syntax, assignee/reporter, maxResults bounds). The description only restates the filter names the schema already covers, adding no extra semantics. Baseline 3 applies.

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?

Specific verb and resource ('List issues in a project') plus the filter surface, so the agent knows exactly what it returns. However it never distinguishes itself from close siblings like jira_issues_recent or jira_issues_search, leaving the agent to guess which listing tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description names optional filters but gives no when-to-use guidance, no exclusions, and no pointers to the alternative sibling tools (issues_search, issues_recent, issue_get). Nothing tells the agent when this tool is the right choice over those.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_issues_recentIssues recientes de un proyectoB
Read-only
Inspect

Get the most recent issues in a project (sorted by update date).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
maxResultsNo
projectKeyNoKey del proyecto (opcional; por defecto catálogo jira_project_key, JIRA_PROJECT_KEY o JIRA_PROJECT_PREFIX)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the sort order, which is useful behavioral context, but says nothing about result volume, pagination, or what happens when projectKey is omitted and no default catalog exists — omissions that matter for a listing tool capped at 100 results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with zero filler and the ordering rule placed immediately after the resource. It is efficient, though slightly under-sized for a tool whose disambiguation need is high.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape need not be explained, and annotations cover the read-only profile. What is missing is the sibling routing and the default-limit/pagination context, which leaves the agent guessing on the two decisions this tool actually forces.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: projectKey and context_id have descriptions with fallback behavior, maxResults carries only default/min/max with no prose. The description adds no parameter meaning beyond the schema, so the baseline 3 is appropriate for moderate coverage.

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 names a specific verb and resource plus a concrete ordering rule ('sorted by update date'), which is more than a restatement of the name. However, it never contrasts itself with the near-identical siblings jira_issues_list and jira_issues_search, so an agent cannot tell from the text which one to pick.

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?

'Most recent issues in a project' implies a recency-triage use case, which is implicit guidance. There is no explicit when-to-use/when-not, no mention of the alternatives (jira_issues_search for JQL, jira_issues_list for full listing), and no prerequisite or project-scope caveat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_autodiag_notificationK8s Auto-Diagnosis from NotificationBInspect

SSO en el profile indicado, deduce el Application y el cluster de Argo desde la notificación; si el CRD no está, busca por la etiqueta argocd.argoproj.io/instance=. Devuelve ~100 líneas de logs.

NameRequiredDescriptionDefault
tailNo
contextNo
profileYesWorkload cluster (e.g. your-tenant-pre | -tst | -prd)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
notificationYesTexto/pega completo de la notificación

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, and the description is consistent with a tool that mutates SSO session state. The description usefully discloses the SSO precondition and the CRD-missing fallback path, but does not explain side effects, permission needs, or the meaning of the readOnly=false hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence chain that front-loads the SSO step and the deduction logic. It is dense with semicolons but wastes no words; a minor readability cost rather than bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no elaboration, and the main resolution path is covered. However, for a 5-parameter tool with 60% schema coverage and a non-read-only annotation, the description leaves the context/tail parameters and the side effects of the SSO step under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%: profile, context_id and notification are documented in the schema, while tail and context are not. The description ties 'profile' and 'notificación' to the workflow and explains the ~100-line default that maps to the tail parameter, but adds nothing about context, context_id or tail bounds.

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 states a specific workflow: perform SSO on the given profile, deduce the Argo Application and cluster from the notification, fall back to a label lookup (argocd.argoproj.io/instance=<app>), and return logs. It is clear what the tool produces, though it never explicitly frames the output as a diagnosis and the 'autodiagnóstico' intent is only implied by the name.

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?

Usage is only implied: you have a notification and want to triage it. There is no explicit when-to-use guidance, no mention of alternatives such as argocd_debug, argocd_app_unhealthy or k8s_describe, and no statement of when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_cluster_summaryCluster SummaryA
Read-only
Inspect

Returns cluster-wide totals across ALL namespaces: ready nodes and pods by phase. Does NOT accept a namespace parameter — use k8s_pods_list for namespace-scoped queries. El resultado incluye _signatureAscii: un gráfico ASCII de barras. Incluye siempre el contenido de _signatureAscii al final de tu respuesta en un bloque de código (```text) para que el usuario vea el gráfico.

NameRequiredDescriptionDefault
contextNokubectl --context opcional
profileNoAWS_PROFILE opcional para EKS/SSO
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environment_slugNoCloud catalog environment slug or alias (resolves AWS profile and kubectl context)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/non-destructive/closed-world, and the description adds real context beyond them: the response includes _signatureAscii and the agent must echo it in a ```text block. It stops short of describing freshness, cost, or failure behavior, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the namespace exclusion, and every sentence earns its place by either scoping the tool or directing the output rendering. The English/Spanish mix makes it slightly less scannable than it could be, but nothing is padded.

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?

With an output schema present, the description needn't enumerate return fields, yet it still names the key contents (node readiness, pod phases) and the mandatory _signatureAscii handling. Only ambiguity about how the connection params select a cluster keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all four params (context, profile, context_id, environment_slug) are documented in the schema itself. The description only adds the negative fact that no namespace parameter exists, saying nothing about how context/environment_slug resolve — baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus explicit scope (cluster-wide totals across ALL namespaces: ready nodes, pods by phase), and immediately contrasts itself with the namespace-scoped sibling k8s_pods_list. An agent can distinguish it from k8s_find_pod or k8s_containers_count without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says it does NOT accept a namespace parameter and directs the agent to k8s_pods_list for namespace-scoped queries — a clear when-not plus named alternative. The condition selecting each tool is spelled out rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_containers_countCount Containers in ClusterA
Read-only
Inspect

Returns the total number of containers (not pods) across ALL namespaces in the cluster, including init containers. Does NOT accept a namespace filter — it always counts cluster-wide. The "byNamespace" field in the result shows every namespace independently, not a single one. For namespace-specific pod counts, use k8s_pods_list instead. Returns total, breakdown by namespace (byNamespace), by pod phase, and separation between regular and init containers.

NameRequiredDescriptionDefault
contextNokubectl --context opcional
profileNoAWS_PROFILE opcional para EKS/SSO
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environment_slugNoCloud catalog environment slug or alias (resolves AWS profile and kubectl context)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description adds real behavioral context: always cluster-wide, includes init containers, and how 'byNamespace' should be interpreted. It stops short of mentioning cost/latency of a cluster-wide scan, which would be useful at scale.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core scope constraint, and every sentence carries routing or interpretation value. The trailing enumeration of return fields is mildly redundant given an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers scope, exclusions, the sibling alternative, and the shape of the result, on top of annotations that declare it a safe read and an output schema that defines return structure. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the four optional auth/context parameters (context, profile, context_id, environment_slug) are already documented in the schema. The description adds only a negative statement about a namespace parameter that does not exist, contributing nothing about the parameters that do.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns the total number of containers') with explicit scope ('across ALL namespaces') and a clarifying parenthetical ('not pods') plus init-container inclusion. An agent can distinguish this from pod-counting siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names a non-capability ('Does NOT accept a namespace filter') and routes to the alternative ('For namespace-specific pod counts, use k8s_pods_list instead'). Both the when and the when-not are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_contextskubectl contextsA
Read-only
Inspect

List available EKS clusters/contexts in kubeconfig. PREFERRED tool when the user asks "what clusters do I have?" or "which EKS cluster?" — use this INSTEAD of eks_update_kubeconfig.

NameRequiredDescriptionDefault
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds that the source is the local kubeconfig, which explains why results are environment-scoped. It does not discuss pagination or auth prerequisites, but with annotations plus an output schema present, that gap is minor.

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?

Two short sentences with zero filler: the purpose leads, and the routing rule follows. Nothing is repeated from the title or annotations.

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?

With an output schema, full parameter documentation, and read-only annotations, the description covers what an agent needs to select and call it. A slight gap remains around whether it lists all kubeconfig contexts or only EKS ones, which the first sentence leaves ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both optional parameters (profile, context_id), so the schema already carries the semantics. The description adds nothing about how profile affects which contexts appear, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (available EKS clusters/contexts in kubeconfig), which distinguishes it from the sibling k8s_context_use (switch context) and eks_update_kubeconfig. An agent can tell exactly what this returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the trigger phrasings ("what clusters do I have?", "which EKS cluster?") and the alternative to use instead (eks_update_kubeconfig). This is precisely the routing guidance an agent needs to pick between the related kubectl tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_context_usekubectl use-contextAInspect

Sensitive setup action: switch the default kubeconfig context. Do not use this for health checks or other read-only monitoring; pass profile and context directly to the Kubernetes tool instead.

NameRequiredDescriptionDefault
contextYesContext name, e.g. your-tenant-pre
profileNoAWS_PROFILE opcional
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false / destructiveHint=false / openWorldHint=false, so the safety profile is known. The description adds real value by flagging this as a 'Sensitive setup action' that mutates the default context for subsequent calls, which is not in the annotations. It stops short of stating reversibility, required permissions, or how to restore a previous context.

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?

Two tight sentences with zero filler, front-loading the risk signal ('Sensitive setup action') before the exclusion. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter mutation with full schema coverage, complete annotations, and an output schema (so return values need no explanation), the description covers purpose, risk, and the correct alternative. Nothing an agent needs in order to call this safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented. The description only echoes that 'profile and context' can be passed through, adding no meaning beyond the schema; context_id is not mentioned at all. Baseline 3 applies.

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?

States a specific verb and resource — 'switch the default kubeconfig context' — which is unambiguous about the operation and its global scope. It does not name the sibling tools (k8s_contexts, eks_update_kubeconfig) it should be distinguished from, so an agent must infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the when-not case ('Do not use this for health checks or other read-only monitoring') and points to the preferred alternative (pass profile and context directly to the Kubernetes tool). The positive case is only implied by 'Sensitive setup action', and it doesn't say whether the switch persists for the rest of the session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_cronjob_podsBuscar pods de un cronjobA
Read-only
Inspect

Find pods related to a specific cronjob. Cronjobs create jobs, and jobs create pods. This tool finds all pods created by jobs of the specified cronjob. Useful when asked about a cronjob status and you need to see its running pods. Examples: "pods of the contentful-import cronjob", "show pods of the backup-daily cronjob".

NameRequiredDescriptionDefault
nsNoNamespace; alias: namespace
nameNoAlias of cronJobName
contextNokubectl --context opcional
profileNoAWS_PROFILE opcional para EKS/SSO
namespaceNoAlias of ns
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
cronJobNameNoCronJob name; alias: name
environment_slugNoCloud catalog environment slug or alias (resolves AWS profile and kubectl context)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful structural fact, that pods are reached transitively via jobs, but says nothing about whether pods of completed/failed historical jobs are included or what happens when jobs have been TTL-cleaned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded purpose statement followed by the mechanism and then usage examples; almost every sentence earns its place. The two example utterances are somewhat redundant with the stated use case but aid routing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and parameter meanings are in the schema, so the description needs only scope context. It omits which pods are returned (all jobs ever, or only current/recent) and does not mention that a namespace is needed despite zero required parameters, leaving real ambiguity for an 8-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 8 parameters including aliases (ns/namespace, name/cronJobName), so the schema carries the parameter semantics. The description mentions no parameter names or constraint such as namespace being effectively required in practice.

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?

States a specific verb and resource ('Find pods related to a specific cronjob') and usefully explains the ownership chain (cronjob -> job -> pod). It does not name or differentiate against the obvious sibling k8s_find_pod, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear triggering context ('when asked about a cronjob status and you need to see its running pods') plus two concrete example utterances. There is no when-not-to-use guidance pointing to k8s_find_pod or k8s_describe for other pod lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_describekubectl describeA
Read-only
Inspect

Describe a Kubernetes resource in detail (read-only). Shows configuration, status, events and metadata. Useful for understanding why a pod is not starting, verifying deployment configurations, reviewing services and analyzing nodes. IMPORTANT: If looking for a cronjob and want to see its pods, first use k8s.pods.list or k8s.cronjob.pods to find the related pods. Examples: "describe the storefront deployment in production", "describe the failing pod", "describe the contentful-import cronjob".

NameRequiredDescriptionDefault
nsNoNamespace; alias: namespace
kindNoResource kind, e.g. deployment, externalsecret, service, pod
nameNoResource name
contextNokubectl --context opcional
profileNoAWS_PROFILE opcional para EKS/SSO
resourceNoAlternative kind/name form, e.g. externalsecret/sfdc
namespaceNoAlias of ns
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environment_slugNoCloud catalog environment slug or alias (resolves AWS profile and kubectl context)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The '(read-only)' parenthetical only restates readOnlyHint=true and destructiveHint=false, earning no extra credit. What it does add is that output includes status, events, and metadata, which helps an agent know this is the diagnostic surface rather than a list. It says nothing about permissions, latency, or size of output for large resources, so it stays at a solid but not rich 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the definition, then use cases, then the critical routing caveat, then examples — a good information order with little waste. It runs slightly long, and the routing note could be trimmed, but every block contributes.

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?

With nine optional parameters, an output schema, and annotations already covering safety, the description supplies what's missing: what the output contains and when to prefer other tools. The one residual gap is guidance on choosing among the overlapping namespace/kind-name/resource parameter shapes, which the schema handles only mechanically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all nine parameters are already documented, and this tool is at the baseline. The examples implicitly show kind+name usage, but the description never explains how kind/name relates to the alternative 'resource' form, nor what profile/environment_slug/context_id do beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Describe a Kubernetes resource in detail'), enumerates what is returned (configuration, status, events, metadata), and is clearly separable from siblings like k8s_find_pod, k8s_cluster_summary, and k8s_cronjob_pods. The natural-language examples further anchor the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit use cases (pod not starting, verifying deployment configs, reviewing services, analyzing nodes) and an IMPORTANT routing rule: for cronjob pods use k8s.pods.list or k8s.cronjob.pods first. That is when-to-use plus a named alternative, which is the top of the scale.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

k8s_find_podBuscar pod en todos los namespacesA
Read-only
Inspect

Find pods whose name contains the required, non-empty pattern, scanning all namespaces in the cluster. Use k8s_cluster_summary for general cluster health; do not call this tool without a known pod/app pattern. Equivalent to: kubectl get pods -A | grep . Useful to locate in which namespace a pod is running when its location is unknown. Each result has a "name" (human-readable app name for display) and a "pod" (full technical pod name, used only as argument to k8s_logs/k8s_describe). ALWAYS use "name" when showing pods to the user. Examples: "where is the scheduler-cron pod", "in which namespace does storefront run", "find all pods containing algolia".

NameRequiredDescriptionDefault
nsNoOptional namespace to avoid a cluster-wide scan; alias: namespace
contextNokubectl --context opcional
patternYesCadena no vacía que debe aparecer en el nombre del pod (obligatoria)
profileNoAWS_PROFILE opcional para EKS/SSO
namespaceNoAlias of ns
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environment_slugNoCloud catalog environment slug or alias (resolves AWS profile and kubectl context)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, non-destructive, non-open-world, so the safety profile is covered; the description adds real value beyond that with the kubectl equivalence (kubectl get pods -A | grep <pattern>), the cluster-wide scan cost implication, and the critical result-field contract ('name' for display, 'pod' only as an argument to k8s_logs/k8s_describe). It stops short of noting match semantics edge cases (case sensitivity) or result-volume expectations, small but real gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and scope, then the routing rule, then the output-field contract — good ordering with no filler sentences. It runs slightly long with the trailing example list, but each element serves disambiguation or correct tool chaining.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, fully schema-documented, output-schema-backed read tool, the description covers purpose, exclusions, equivalence, and — unusually — how to consume the returned fields and pass them to k8s_logs/k8s_describe. Nothing an agent needs to call it correctly or use the results is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including ns, context, profile, and the alias namespace is already documented in the schema. The description only restates that the pattern is required and non-empty and that the scan is cluster-wide, adding no syntax or matching details beyond structured data. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find pods whose name contains the required, non-empty pattern') plus scope ('scanning all namespaces in the cluster'). It explicitly distinguishes itself from k8s_cluster_summary, so an agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use ('locate in which namespace a pod is running when its location is unknown'), an explicit when-not ('do not call this tool without a known pod/app pattern'), and names the alternative for the other case (k8s_cluster_summary). Concrete example queries further anchor selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

observability_daily_digestDaily Digest de ObservabilidadA
Read-only
Inspect

Genera un resumen completo de observabilidad para múltiples entornos, pensado para una vez al día o cuando se solicite. Incluye salud, errores y latencia por entorno. El resultado incluye _signatureAscii: un gráfico ASCII de barras. Incluye siempre el contenido de _signatureAscii al final de tu respuesta en un bloque de código (```text) para que el usuario vea el gráfico.

NameRequiredDescriptionDefault
envsYesLista de entornos a incluir (INT, TST, PRE, PRD)
hoursNoVentana temporal hacia atrás en horas
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a safe, read-only, non-destructive operation, so the description doesn't need to restate safety. It adds real behavioral context instead: the payload shape (health, errors, latency per env) and, crucially, an output-handling instruction to always append _signatureAscii in a ```text code block, which the agent cannot infer from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose first, output content second, presentation instruction last. Nothing is redundant, though the final formatting instruction is a bit long relative to the rest.

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?

With an output schema present, the description needn't enumerate return fields, and it still flags the notable one (_signatureAscii) plus how to present it. For a read-only digest tool with full schema coverage, an agent has what it needs to call it and render the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so envs, hours and context_id are already fully documented with defaults and ranges. The description only implies multi-environment scope and adds no syntax, format, or constraint detail beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb and resource: it generates a complete observability summary for multiple environments, covering health, errors and latency per environment. That multi-environment, cross-pillar scope distinguishes it from per-environment siblings like env_health_summary and env_errors_overview, though it never names them.

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?

Gives a timing hint (once a day, or on request) that implies the intended usage pattern, but provides no explicit when-not-to-use guidance and does not point to the narrower sibling tools an agent might prefer for a single environment or metric.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_accounts_listList linked accountsA
Read-only
Inspect

Connection Hub only. List active linked tenant connections (id, label, tenant slug, status) for the authenticated Hub owner.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral facts: results are scoped to the authenticated Hub owner and only 'active' connections are returned. It doesn't mention pagination or empty-result behavior, keeping it below a 5.

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?

One sentence, front-loaded with the domain constraint and the verb, and the parenthetical enumerates return fields compactly. Nothing is wasted.

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?

An output schema exists, so return values need no prose. For a zero-parameter read tool with full annotation coverage, the description supplies the missing scope and ownership context, though it omits pagination/limit behavior and how errors surface when the caller isn't a Hub owner.

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?

The tool takes zero parameters, so the baseline is 4. The description usefully clarifies that no filtering arguments exist because scoping is fixed to the authenticated owner.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('active linked tenant connections') plus the exact fields returned and a domain constraint ('Connection Hub only'). An agent can distinguish this from siblings like ops_list_integrations or ops_account_link_start without reading the schema.

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 'Connection Hub only' qualifier implies the usage context and implicitly excludes non-Hub deployments, but it never names an alternative or states explicit when/when-not conditions. Guidance is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_configure_integrationConfigure integration credentialsA
Destructive
Inspect

Store API credentials for a provider (vercel, datadog, sentry, cloudflare, github, bitbucket, gitlab, jira). AWS is configured only via Admin Cloud Catalog. After configuring, your session reconnects automatically.

NameRequiredDescriptionDefault
providerYesProvider name: vercel, datadog, sentry, cloudflare, github, bitbucket, gitlab, jira
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
credentialsYesKey-value map of credentials. Keys are env var names (e.g. DD_API_KEY). Values are the secret tokens.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds genuine behavioral context beyond annotations: 'After configuring, your session reconnects automatically' discloses an important side effect the agent would otherwise not anticipate. However, annotations declare destructiveHint=true and the description never says whether existing credentials for that provider are overwritten, merged, or rejected, nor whether the operation is reversible. For a destructive write, that omission is the main gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences that are front-loaded with the action and provider scope, then side effects. The provider enumeration duplicates the schema almost verbatim, which is the only wasted material, but overall it is tight.

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?

An output schema exists, so return values need not be explained, and the reconnect behavior plus the AWS exclusion cover the key operational surprises. The remaining hole is what happens to previously stored credentials when this is called again, which matters because destructiveHint=true.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so provider, context_id, and credentials are already documented in the schema; the baseline of 3 applies. The description restates the provider list already present in the schema and adds nothing about the credential key/value map or the context_id fallback behavior, so it contributes no semantic value over the structured fields.

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?

States a specific verb and resource: 'Store API credentials for a provider', and enumerates the supported providers. It also carves out a scope exception (AWS is configured elsewhere), which helps an agent rule out an incorrect call. It does not name any sibling tool (e.g. ops_list_integrations, ops_remove_integration, ops_test_integration), so differentiation from siblings is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context for when to use it (onboarding credentials for a named provider) and an explicit exclusion with a redirect: 'AWS is configured only via Admin Cloud Catalog'. It stops short of covering adjacent flows, such as verifying credentials afterwards with ops_test_integration or removing them with ops_remove_integration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_context_closeClose work contextAInspect

Connection Hub only. Explicitly close an active context_id opened by the current Hub user and MCP session. A normal workspace switch does not require this call because ops_context_open replaces the prior conversation context atomically.

NameRequiredDescriptionDefault
context_idYes

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, non-destructive, non-open-world, so the safety profile is covered. The description adds value with the 'Connection Hub only' scoping and the atomic-replacement guarantee of the alternative path. It does not say what happens on an invalid/already-closed context_id or whether closing is reversible, which matters for a state-changing call.

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?

Two sentences, zero filler. Scope restriction is front-loaded ahead of the negative guidance about workspace switches, which is exactly the ordering an agent benefits from.

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?

An output schema exists so return values need not be explained, and annotations cover the destructive/read-only profile. What is missing is error semantics for a stale or foreign context_id — the one thing an agent is likely to hit when calling a close tool.

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 description coverage is 0%, so the description must carry the load. It does: context_id must reference an 'active' context opened by the 'current Hub user and MCP session', which conveys ownership and liveness constraints the bare string schema lacks. Only the format of the ID remains undocumented.

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?

States a specific verb and resource ('explicitly close an active context_id') and names the sibling relationship to ops_context_open. The description does not explain what closing actually accomplishes beyond ending the context, but the action is unambiguous enough to distinguish it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not rule: a normal workspace switch does not require this call because ops_context_open replaces the prior context atomically. It names the alternative tool and the condition that selects it, though it leaves implicit the situation in which an agent SHOULD call it (e.g. finishing a session).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_context_openSwitch active workspace (confirmation required)A
Destructive
Inspect

Connection Hub only. Persistently select a linked workspace, atomically replacing and closing the previous active context and updating the client preference. This is never a temporary switch. Call only after the user explicitly asks to switch to the named workspace or explicitly confirms a proposed switch. A request for a ticket, zone, repository, project, provider, or tool that belongs to another workspace is not confirmation: explain the mismatch and ask first. Never switch to answer and then switch back automatically. Returns context_id, expires_at, conversation_scope, and replaced_context_ids. Optional chat_session_key is a stable host-supplied conversation identity; never invent one. Without it, the MCP gateway session is the scope.

NameRequiredDescriptionDefault
chat_session_keyNo
linked_connection_idYes

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark this as destructive, and the description adds substantial context beyond them: it destroys/replaces the previous active context, updates the client preference, is never temporary, and must not be auto-reversed. It also discloses return fields and the identity semantics of chat_session_key, which are not captured by the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the action and scope, and most sentences carry high-value behavioral or usage constraints. The sentence listing return values is somewhat redundant because an output schema exists, making the description slightly longer than strictly necessary.

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?

For a destructive context-switch tool, it covers purpose, usage constraints, destruction semantics, and return behavior well, and annotations plus output schema carry the safety and return-shape load. The main remaining gap is that it does not tell an agent where to obtain the required linked_connection_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning. It thoroughly explains the optional chat_session_key (stable host-supplied conversation identity; never invent one; gateway session is used without it), but linked_connection_id is only indirectly described as selecting a 'linked workspace' or 'named workspace' with no format, source, or example for obtaining a valid ID.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: persistently select and activate a linked workspace in Connection Hub, atomically replacing the previous context. It explicitly distinguishes this from a temporary switch and scopes the tool to Connection Hub only, so an agent can tell what it does and what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use conditions (only after the user explicitly asks or explicitly confirms a proposed switch) and concrete exclusions (a request for a ticket, zone, repository, project, provider, or tool in another workspace is not confirmation). It also provides behavioral alternatives: explain the mismatch and ask first, and never switch to answer then switch back automatically.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_execution_budgetYour current execution budgetA
Read-only
Inspect

Show the authenticated user's current investigation budget, usage and reset time for this Cursor session. Informational only; no parameters required and limits cannot be changed.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint=false, so safety is covered; the description adds real value by stating 'limits cannot be changed', which prevents an agent from attempting to modify the budget. It also clarifies the session scoping, though it says nothing about what happens when the budget is exhausted or who the 'authenticated user' is.

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?

Two short sentences, front-loaded with the purpose and followed by the key constraint. No filler or repetition.

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?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description supplies the mutation-impossibility caveat and session scope, leaving only minor gaps around budget-exhaustion semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single optional context_id is fully documented in the schema, so the description's 'no parameters required' only restates the required-count. It neither explains why context_id exists nor when to pass it, adding essentially nothing beyond the schema.

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?

States a specific verb and resource ('show the authenticated user's current investigation budget, usage and reset time') and scopes it to the Cursor session. It never references the closest sibling, ops_my_usage, so an agent must infer the distinction between 'budget' and general usage.

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?

'Informational only' and 'no parameters required' imply a read-oriented, zero-setup call, which is useful. However, there is no explicit when-to-use guidance and no mention of ops_my_usage as the alternative, so selection between the two relies on inference from the names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_get_work_contextGet your work contextA
Read-only
Inspect

Returns operational context configured for your tenant (default account summary plus all cloud accounts). Use when you need full context for a non-default account.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and closed-world scope, so the safety profile is covered elsewhere. The description adds what the payload contains (default account summary plus all cloud accounts), which is useful, but says nothing about the tenant scoping rules, what happens if no tenant default exists, or response size. Modest value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what is returned before the usage note, with no filler. The brevity is close to under-specification given the sibling landscape, but every sentence does carry information.

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?

With an output schema present, return values need no explanation, and the tool is a simple read-only call with one optional parameter. The one real gap is the unresolved ambiguity about default vs. non-default account selection, which the description raises but does not settle.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single optional context_id parameter is fully documented in the schema, including the ctx_* format and the omit-to-use-active-workspace behavior. The description never mentions context_id, so it adds no meaning beyond the schema; baseline 3 applies.

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 uses a specific verb (returns) and a named resource (operational context configured for your tenant), and clarifies the payload (default account summary plus all cloud accounts). It stops short of distinguishing itself from close siblings like ops_set_work_context or ops_accounts_list, so the agent must still infer the boundary between read vs. set.

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?

It offers one when-to-use cue ("Use when you need full context for a non-default account"), but no alternatives or exclusions are named, and the cue sits in tension with the schema note that omitting context_id uses the active workspace. The agent is left to reconcile which situation actually selects this tool over ops_set_work_context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_incident_rollupIncident rollup (read-only timeline)A
Read-only
Inspect

Compact incident timeline: Datadog alerts, deployment_status, and error spikes for an environment. For interactive triage with SSE progress use macro_outage_triage instead.

NameRequiredDescriptionDefault
envNoEnvironment slug or label (e.g. PRD, int)
hoursNoError lookback window in hours
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered; the description adds the substantive behavioral fact that this is a cross-source rollup combining Datadog alerts, deployment status, and error spikes. It adds no notes on latency or per-source failure modes, keeping it short of a 5.

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?

Two sentences: the first front-loads what the tool is and what it aggregates, the second handles the alternative. Nothing is redundant or buried.

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?

An output schema exists so return-shape explanation is unnecessary, annotations cover safety, and all three parameters are documented in the schema. The only small gap is what happens when env is omitted (default environment?) which neither schema nor description states.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear docs for env, hours, and context_id, so the schema does the heavy lifting and baseline is 3. The description adds only the notion of an 'environment' scope and an error lookback, which the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific aggregate ('compact incident timeline') and enumerates its sources (Datadog alerts, deployment_status, error spikes) scoped to an environment. An agent can distinguish it from broader triage or single-source tools like dd_errors_recent or deployment_status without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes the agent to macro_outage_triage when interactive SSE-mediated triage is wanted, which is a real alternative-selection rule. It does not spell out the positive trigger conditions (e.g. quick read-only snapshot before deeper investigation), leaving some inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_list_integrationsList integration statusA
Read-only
Inspect

Shows which provider integrations are configured, available to connect, require upgrade, or are unavailable (beta/enterprise). Availability is derived from PostgreSQL plan entitlements and technical catalog maturity — not from the credential catalog alone. Credential values are never revealed — only masked previews. Only offer "Configure my [Provider]" for providers with configure_cta=true / summary.available_to_connect.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/non-destructive annotations by explaining that availability is derived from PostgreSQL plan entitlements and catalog maturity rather than the credential catalog alone — a non-obvious sourcing caveat an agent could otherwise misread. It also reassures that credential values are never revealed, only masked previews, which is meaningful security context for a status endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences with no filler; the status enumeration comes first and the actionability rule last. Slightly dense with internal terminology ('catalog maturity', 'configure_cta'), but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't document return shapes, yet it still flags the two output fields that drive behavior. Combined with the derivation logic and privacy note, an agent has everything needed to call it and act on results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single context_id parameter has 100% schema description coverage, so the schema already explains the ctx_* semantics and the omit-to-use-active-workspace default. The description adds nothing about the parameter, which is acceptable at this coverage level but not additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Shows which provider integrations are configured, available to connect, require upgrade, or are unavailable') and enumerates the exact status states returned. This clearly separates it from mutating siblings like ops_configure_integration and ops_remove_integration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an actionable rule for downstream behavior: only offer 'Configure my [Provider]' when configure_cta=true / summary.available_to_connect. It does not name explicit alternatives (e.g., ops_accounts_list) or say when not to call it, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_my_usageYour Opsphere plan and usageA
Read-only
Inspect

Show your current plan, trial status, daily tool call usage, configured integrations, and upgrade link. No parameters required.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile needs no further explanation. The description adds the scope of returned data, but since an output schema exists, enumerating return fields adds little beyond what structured data provides; no cost, rate-limit, or auth context is offered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence listing the returned items, followed by a short confirming clause. The final sentence is slightly redundant given the empty input schema, but overall the description is economical.

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?

Annotations cover the safety profile, the input schema is empty, and an output schema documents return values, so the description only needs to convey scope — which it does. It could be marginally better by distinguishing itself from the other ops_* integration tools.

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?

With zero parameters, the baseline is 4, and the statement 'No parameters required' reinforces rather than contradicts the empty schema. Nothing further is needed on parameter semantics.

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 uses a specific verb ('Show') and enumerates exactly what is returned: plan, trial status, daily tool call usage, integrations, upgrade link. This clearly distinguishes it from most siblings, though it does not explicitly separate 'configured integrations' from the separate ops_list_integrations tool, which is a minor ambiguity.

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?

Usage is only implied — the phrase 'your current plan' suggests a self-diagnostic call, but there is no explicit when-to-use statement and no mention of alternatives such as ops_list_integrations or ops_execution_budget. For a zero-parameter informational tool this is largely self-evident, but the guidance is not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_remove_integrationRemove integration credentialsA
Destructive
Inspect

Removes all stored credentials for a provider. Your session reconnects automatically afterward.

NameRequiredDescriptionDefault
providerYesProvider name to remove all credentials for
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the description is not obligated to restate danger. It adds genuine value beyond them by scoping the blast radius ('all stored credentials' for a single provider) and disclosing the post-call side effect ('your session reconnects automatically afterward'). It stops short of saying whether the deletion is recoverable or whether re-authentication is required.

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?

Two short sentences, no preamble, and the scope ('all stored credentials') plus the after-effect are both front-loaded. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations cover the safety profile and an output schema exists, so the description only needs to add scope and consequence — which it does in two sentences. An agent has enough to call it correctly without further prose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both provider and context_id. The phrase 'for a provider' merely echoes the required parameter and adds no syntax, format, or scoping detail, and context_id is not addressed at all. Baseline 3 applies when the schema carries the load.

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?

States a specific verb and resource: removes all stored credentials for a provider. This clearly distinguishes it from read-only siblings like ops_list_integrations or ops_test_integration, though it does not explicitly contrast with ops_account_unlink, the nearest destructive sibling.

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?

Use is implied by the verb (remove credentials) but there is no explicit when-to-use vs. when-not, no mention of the sibling that unlinks accounts, and no warning about when this should be avoided. The agent must infer the trigger condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_set_work_contextSave your usual work contextB
Destructive
Inspect

Store what you usually work with (projects, providers, environments, naming conventions) so Opsphere can personalize responses. Free-tier plugin accounts only.

NameRequiredDescriptionDefault
contextYesFree-form description of your usual stack and operational context (Markdown supported).
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true and readOnlyHint=false, but the description never explains what is destructive here — most likely that setting context overwrites or replaces an existing stored context. It also omits persistence scope (per account? per conversation?) and any auth/plan prerequisites beyond the free-tier note. The only value added over annotations is the free-tier restriction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose and ending with the eligibility constraint. Minimal waste, though "so Opsphere can personalize responses" is slightly vague about the actual effect of storing context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required. But for a destructive write tool with a free-form payload and an optional context_id that redirects where the write lands, the description leaves out the overwrite semantics and the relationship to get/close sibling tools that an agent needs before calling it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including a detailed context_id explanation (ctx_* Connection Hub context, omit to use active workspace), so the schema already carries the parameter burden. The description adds mild value by listing the kinds of content to put in the free-form `context` field, but nothing about format or length expectations beyond schema's Markdown note.

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?

States a specific verb (store) and resource (your usual work context) plus concrete examples of what belongs in it: projects, providers, environments, naming conventions. The counterpart sibling ops_get_work_context is implicit in the naming but never named, so differentiation relies on the shared prefix rather than explicit contrast.

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?

"Free-tier plugin accounts only" is a real applicability gate that tells the agent when this tool is off-limits. However, there is no guidance on when to set context versus opening/closing an ops context (ops_context_open, ops_context_close) or on checking existing context first with ops_get_work_context — usage is implied, not directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ops_test_integrationTest integration credentialsA
Read-only
Inspect

Performs a lightweight API call to verify that stored credentials for a provider are valid. Credential values are never returned — only pass/fail.

NameRequiredDescriptionDefault
envNoCloud catalog environment slug (Algolia multi-env). Tests Application ID + {env}:api_key from Cloud Catalog.
profileNoAWS Cloud Catalog aws_profile or account slug (required when multiple AWS accounts exist).
providerYesProvider name to test credentials for
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly=true, destructive=false, openWorld=false, so the safety profile is covered. The description adds meaningful context beyond them: it is a lightweight call and credential values are never returned, only pass/fail, which reassures an agent about secret exposure. It stops short of saying how failures surface (error vs. fail result), keeping it at 4.

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?

Two tightly written sentences with zero waste, and the core purpose is front-loaded before the security guarantee.

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?

With annotations, a rich 100%-covered schema, and an output schema, the description covers what an agent needs to call it correctly. The only small gap is not stating whether an invalid credential raises an error or returns a fail verdict.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so provider, env, profile, and context_id are already documented in the schema. The description adds no parameter-level meaning, so the baseline 3 applies.

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?

States a specific verb and resource: performs a lightweight API call to verify stored credentials for a provider. It is clearly distinguishable from ops_configure_integration and ops_remove_integration by implication, though it never names those siblings explicitly.

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?

Usage is only implied – an agent can infer this is the post-configuration validation step, but the description gives no explicit when/when-not conditions or pointer to configure/list/remove alternatives in the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pd_incident_getPagerDuty incident detailB
Read-only
Inspect

Get a single incident by ID. Optional include[] for related objects.

NameRequiredDescriptionDefault
idYesIncident ID (e.g. PXXXXXX)
includeNoRelated objects to embed (e.g. services, assignees, escalation_policies)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is fully covered by structured data. The description's only added behavioral detail is that related objects can be embedded via include[], which is closer to parameter semantics than behavior; nothing is said about rate limits, error cases, or ID format expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and no filler. It is arguably under-specified rather than overwritten, but every sentence earns its place.

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?

The tool has full schema coverage, an output schema (so return values need no explanation), and read-only annotations that carry the risk profile. For a simple single-resource fetch, what is missing is only the routing hint toward pd_incidents_search, which is a minor gap rather than a blocking one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are documented in the schema, including include[] examples (services, assignees, escalation_policies) and the optional context_id. The description's note about include[] duplicates rather than extends the schema, so baseline 3 applies.

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?

States a specific verb and resource: 'Get a single incident by ID'. Combined with the title, an agent knows this fetches one PagerDuty incident, and 'single' implicitly distinguishes it from pd_incidents_search. However, it never names the sibling search tool, so the differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, no prerequisite such as 'requires an incident ID obtained from pd_incidents_search', and no exclusion. The only hint is that an ID is required, which an agent must infer from the wording.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pd_incident_log_entriesPagerDuty incident log entriesB
Read-only
Inspect

Timeline of incident log entries (acknowledge, assign, resolve, etc.).

NameRequiredDescriptionDefault
idYesIncident ID
limitNoPage size (default 25)
offsetNoPagination offset
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
isOverviewNoReturn overview entries only (default false)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that this is a timeline of log entries with example action types, but does not disclose pagination behavior, default limit, or what the 'isOverview' flag changes beyond what the schema states.

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 a single front-loaded sentence with no wasted words. It quickly conveys the resource and representative entry types.

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?

For a read-only incident log tool with annotations, full schema descriptions, and an output schema, the description is largely complete. The only notable gap is lack of routing guidance relative to sibling tools like pd_incident_get.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are documented in the schema itself. The description does not add syntax, format, or usage detail beyond what the schema provides, which is the baseline expectation when schema coverage is complete.

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 states a specific resource ('incident log entries') and gives concrete examples of entry types ('acknowledge, assign, resolve'). It is clear what the tool returns, but it does not explicitly differentiate itself from siblings like pd_incident_get or pd_incidents_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool, when not to use it, or which sibling tool to prefer for related needs. An agent must infer its usage context from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pd_service_getPagerDuty service detailB
Read-only
Inspect

Get a service by ID with optional integrations embed.

NameRequiredDescriptionDefault
idYesService ID
includeNoRelated objects (e.g. integrations)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered for free. The description adds only the embedding option and says nothing about behaviour for missing IDs, error responses, or auth/tenant scope. With annotations carrying the main burden, this is adequate-but-thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the verb and resource front-loaded and no wasted words. It is perhaps too terse for the tool's context, but nothing is padded or buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and annotations cover safety. However, for a lookup tool in a large PagerDuty/incident family, the description offers no hint about what is returned (service metadata, escalation policies, teams) or how to obtain a service ID, leaving gaps an agent would want filled.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters (id, include, context_id) are documented in the schema itself. The description restates the id lookup and hints at the include values ('integrations'), which is slightly useful but adds almost nothing over the schema. Baseline 3 applies.

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?

States a specific verb and resource ('Get a service by ID') and names the distinguishing option ('optional integrations embed'). It is clearly separable from siblings like pd_incident_get or pd_incidents_search, though it never names them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of related tools such as pd_incidents_search for finding a service ID. The agent must infer the use case from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingdom_actions_recentPingdom recent actions and alertsA
Read-only
Inspect

Returns the most recent Pingdom actions and notifications (state changes and alerts fired) over a configurable time window. Use this to correlate "did Pingdom alert when we expected?" or to audit which checks triggered notifications. Optionally scope to a specific checkId or filter by action type.

NameRequiredDescriptionDefault
hoursNoTime window in hours (default 24, max 168)
limitNoMax actions to return (default 50, max 200)
typeInNoOptional: filter by action type
checkIdNoOptional: scope to a specific check ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, non-destructive, and closed-world, so the safety profile is covered. The description adds genuine context beyond that: the records are state changes and fired alerts over a configurable window, which is what an agent needs to interpret results. It omits truncation behavior (limit default/max) though that is visible in the schema.

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?

Three sentences, front-loaded with what is returned, followed by use cases and filtering options. No filler or repeated information.

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?

With an output schema present and annotations covering safety, the description supplies enough for correct invocation: scope, window concept, and filters. The only small gap is that defaults (24h, 50 results) and result-cap semantics are left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents hours, limit, typeIn, checkId, and context_id with defaults and bounds. The description's mention of a configurable time window, checkId scoping, and action-type filtering largely restates the schema, adding intent but no new syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: returns recent Pingdom actions and notifications (state changes and alerts fired). It also names the time-window scoping and optional checkId/type filters, which separates it from siblings like pingdom_check_outages (availability gaps) and pingdom_check_get (config lookup).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete situations to use it: correlating whether Pingdom alerted when expected, and auditing which checks triggered notifications. It does not explicitly name the alternative tool (e.g., pingdom_check_outages) or state when to prefer that sibling, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingdom_check_getGet a single Pingdom checkA
Read-only
Inspect

Returns full details of a single Pingdom check by ID: hostname, type, current status, last test time, last error time, resolution, tags, contacts. Optionally expands the last 3 raw results (expandResults: true) to include root-cause messages.

NameRequiredDescriptionDefault
checkIdYesNumeric Pingdom check ID (string is coerced to number)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
expandResultsNoIf true, fetch the last 3 raw results and include them in the response

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that: it lists exactly what state is returned and explains that expandResults pulls the last 3 raw results, which carry root-cause messages — a cost/benefit hint the schema only partially conveys.

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?

Two tight clauses, front-loaded with the resource and lookup key, followed by the optional expansion behavior. Every phrase maps to a field or parameter; nothing is padding.

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?

With read-only annotations, full schema coverage, and an output schema, the description covers everything needed to call the tool correctly. Only minor omissions remain (behavior on unknown checkId, when the optional context_id matters), which the surrounding tooling likely handles.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description confirms checkId is the lookup key and reframes expandResults as fetching root-cause messages, but it says nothing about context_id or about what omitting context_id implies, leaving the schema to carry the rest.

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?

States a specific verb and resource ('Returns full details of a single Pingdom check by ID') and enumerates the returned fields (hostname, type, status, last test/error time, resolution, tags, contacts). It implicitly distinguishes itself from pingdom_check_outages and pingdom_check_probes_status by scope ('single check'), but does not name those siblings explicitly.

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?

Usage is only implied: an agent infers it should call this when it already has a checkId and needs full configuration/state details. There is no explicit guidance on when to prefer this over pingdom_check_outages, pingdom_check_probes_status, or pingdom_actions_recent, nor any stated prerequisite for obtaining the ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingdom_check_outagesPingdom check outage historyA
Read-only
Inspect

Returns the historical outage list (incident timeline) for a single check over a configurable time window. Each entry has status (down/up), start time, end time, and durationSeconds. Also returns totalDownSeconds. Use this to answer "how long was it down?", "when did the outage start/end?". Default window: last 24 hours (max 168 h).

NameRequiredDescriptionDefault
hoursNoTime window in hours (default 24, max 168)
checkIdYesNumeric Pingdom check ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral detail: the default 24h window, the 168h maximum, and the shape of each entry (status, start, end, durationSeconds) plus an aggregate totalDownSeconds. It omits pagination/row-count limits for long windows.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the what and return shape, then usage questions, then window constraints. Efficient overall, though 'Default window: last 24 hours (max 168 h)' duplicates the hours parameter description verbatim.

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?

For a low-complexity read tool with annotations, full schema coverage, and an output schema, the description is nearly complete: it covers purpose, window bounds, and the meaning of the returned fields. The only shortfall is not saying whether long windows are truncated or paginated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so checkId, hours, and context_id are already documented in the schema. The description restates the window default and max (already in the hours parameter description) and says nothing about context_id or the integer-or-string form of checkId. Baseline 3 is appropriate when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('returns the historical outage list / incident timeline for a single check') and specifies the scope (one check, configurable window). It is clearly distinguishable from pingdom_check_get (current state), pingdom_actions_recent (actions), and pingdom_check_probes_status (probe health).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage contexts by quoting the questions it answers: 'how long was it down?', 'when did the outage start/end?'. It does not, however, explicitly name a sibling tool or state when NOT to use this (e.g., use pingdom_check_get for current status).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingdom_check_probes_statusPingdom check per-probe statusA
Read-only
Inspect

Returns the most recent status per probe for a single check, in a structure parallel to synthetics_summary_by_location. Use this to determine whether an outage is global (all probes down) or regional (subset of probes down). Returns classification: "global" | "regional" | "healthy", aggregate counts (up/down/unknown), and the list of affected probe IDs.

NameRequiredDescriptionDefault
checkIdYesNumeric Pingdom check ID
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
lookbackResultsNoNumber of recent results to use for computing per-probe status (default 30, max 100)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, non-destructive, closed-world safety profile. The description adds meaningful behavioral context beyond that: the classification enum values (global/regional/healthy) and the aggregate counts and affected probe IDs returned, which tell the agent how to interpret results.

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?

Three sentences, front-loaded with purpose then usage then return shape; no filler, every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a read-only per-probe status tool. It explains scope, the diagnostic question it answers, and the result classification, and an output schema exists to cover return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters including lookbackResults and context_id are fully documented in the schema. The description adds nothing parameter-specific, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: 'Returns the most recent status per probe for a single check.' It also anchors itself against synthetics_summary_by_location and distinguishes implicitly from siblings like pingdom_check_outages (outages) and pingdom_check_get (check details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the decision it supports: 'determine whether an outage is global (all probes down) or regional (subset of probes down).' Strong usage context, though it doesn't explicitly say when to prefer pingdom_check_outages over this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prom_alertsPrometheus alertsB
Read-only
Inspect

List pending and firing alerts evaluated by Prometheus (/api/v1/alerts).

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds that both pending and firing alert states are included (a useful behavioral detail beyond annotations), but says nothing about auth requirements, pagination, or result size on the underlying Prometheus API.

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?

One sentence, front-loaded with the verb and resource, ending with the concrete API path. Nothing extraneous and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not needed, and annotations cover safety. What is missing is sibling disambiguation (notably 'alerts_active') and any operational context such as scoping or expected alert volume for a 150+ tool catalog.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is context_id, whose schema description already fully documents the optional work-context behavior (100% coverage). The tool description adds no parameter-level meaning, which is acceptable at this coverage level but earns only the baseline.

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?

States a specific verb and resource ('List pending and firing alerts') and pins the source to Prometheus's /api/v1/alerts endpoint, so the agent knows exactly what data comes back. However, it never distinguishes itself from the sibling 'alerts_active', which by name appears to cover overlapping territory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus 'alerts_active', 'prom_query', or 'prom_query_range'. The description lists what it returns but gives no selection criteria or exclusions, leaving the agent to guess among several plausible alert/query siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prom_label_valuesPrometheus label valuesB
Read-only
Inspect

List values for a label name (/api/v1/label//values).

NameRequiredDescriptionDefault
endNo
nameYesLabel name (e.g. job, namespace, pod)
matchNoOptional series selectors (match[])
startNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false, and destructiveHint=false, so safety behavior is covered. The description adds little beyond the endpoint path; it does not mention authentication, rate limits, or result shape, though an output schema exists to cover return values.

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?

A single sentence with zero waste, front-loading the purpose and including the API endpoint. Nothing is redundant or overly verbose.

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 low complexity, annotations covering safety, and an output schema, the description is largely complete for invocation. It could be improved by adding brief usage guidance for the optional start/end/match parameters, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so parameters like name, match, and context_id are documented in the schema. The description does not explain the start/end parameters or add meaning beyond what the schema provides, so the baseline of 3 is appropriate.

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 states a specific verb and resource ('List values for a label name') and includes the API endpoint, making the operation unambiguous. It does not differentiate from Prometheus siblings such as prom_query or prom_query_range, leaving that inference to the agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus prom_query or prom_query_range, nor any conditions or prerequisites. Usage is only implied by the name and endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prom_queryPrometheus instant queryA
Read-only
Inspect

Run a PromQL instant query against Prometheus (/api/v1/query). Requires PROMETHEUS_BASE_URL.

NameRequiredDescriptionDefault
timeNoEvaluation timestamp (RFC3339 or unix seconds)
queryYesPromQL expression (e.g. up, rate(http_requests_total[5m]))
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered by structured data. The description adds only the endpoint path and the env-var requirement; it says nothing about result shape, empty-result behavior, or query timeouts that would extend beyond the annotations.

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?

Two sentences, zero filler, with the core action front-loaded and the prerequisite second. Nothing is repeated from the title or schema.

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?

An output schema exists, so return values need not be described, and the annotations carry the safety profile. For a read-only single-query tool the definition is nearly sufficient, though a pointer to prom_query_range for time-series/range needs would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each of the three parameters documented inline (including RFC3339/unix formatting for `time` and an example PromQL expression for `query`). The description adds no parameter meaning of its own, so baseline 3 applies.

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?

States a specific verb and resource ('Run a PromQL instant query against Prometheus') plus the underlying API path, which pins down scope. The word 'instant' implicitly contrasts with prom_query_range in the sibling list, but the alternative is never named, so differentiation is left to inference.

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?

'Requires PROMETHEUS_BASE_URL' is a real prerequisite that tells the agent a misconfiguration failure mode. However, there is no guidance on when to pick this over prom_query_range, prom_alerts, or prom_label_values, nor any note about single-timestamp evaluation vs. range queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prom_query_rangePrometheus range queryA
Read-only
Inspect

Run a PromQL range query (/api/v1/query_range). Max window 7 days; step validated to limit datapoints.

NameRequiredDescriptionDefault
endYesRange end (RFC3339 or unix)
stepYesResolution step (e.g. 60, 1m, 5m)
queryYesPromQL expression
startYesRange start (RFC3339 or unix)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds meaningful operational context beyond annotations: the maximum 7-day window and validation of the step parameter to limit datapoints.

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?

Two tight sentences with the core action front-loaded and constraints following immediately. No wasted wording.

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?

With annotations covering safety, a full input schema, and an output schema, the description supplies the key operational limits an agent needs before invoking the tool. Minor gaps remain around error behavior or return shape, but the output schema handles the latter.

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 description coverage is 100%, so the baseline is 3. The description adds value by tying the 7-day limit to start/end and explaining that step is validated to control datapoint volume, giving more semantic meaning than the schema alone.

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?

States a specific verb and resource ('Run a PromQL range query') and includes the API endpoint, which clearly distinguishes range queries from other Prometheus operations. It does not explicitly contrast with the sibling instant-query tool prom_query, keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives constraints (7-day max window, step validation) but never states when to use this tool versus the closely related prom_query or prom_label_values siblings. Usage is only implied by the word 'range'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qa_catalog_getGet QA catalogB
Read-only
Inspect

Build a normalized, evidence-backed QA catalog from automatically discovered sources in the active workspace. Optional environment and scope resolve a product/site/service only from tenant metadata; no names are hardcoded.

NameRequiredDescriptionDefault
scopeNoOptional site, product, application, repository, or service qualifier from the user request
refreshNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoTarget environment, e.g. PRE or production

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds real context that scope/environment are resolved only from tenant metadata and nothing is hardcoded, but it leaves an ambiguity that matters: 'Build' implies work and possibly a scan, and the description never says whether refresh=true or the catalog build triggers expensive discovery or mutates any state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with the deliverable front-loaded and no filler. The closing 'no names are hardcoded' clause is defensively phrased but does useful work by warning the agent off inventing scope names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and annotations cover safety. What remains missing for a four-parameter, zero-required tool is the meaning of refresh, whether calling it performs discovery, and how it sequences with qa_sources_discover and qa_release_snapshot.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so three of four parameters are already documented, and the description mostly restates scope and environment resolution rather than adding syntax or constraints. The undocumented 'refresh' flag, the parameter most likely to change agent behavior, is explained in neither the schema nor the description.

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?

States a concrete output artifact (a normalized, evidence-backed QA catalog) and its input basis (automatically discovered sources in the active workspace). This is a specific verb+resource, though the 'Build' framing sits oddly against the tool's 'get' name and it never explicitly distinguishes itself from siblings like qa_sources_discover or qa_release_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no named alternatives among the four qa_* siblings. An agent must infer that this runs after qa_sources_discover and before qa_release_snapshot purely from the description's wording, which is not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qa_release_evidenceEvaluate QA release evidenceB
Read-only
Inspect

Correlate the tenant-scoped QA catalog and optional policy with CI evidence for one environment, optional site/product/service scope, and commit. An unmatched scope is blocked and is never broadened to the tenant.

NameRequiredDescriptionDefault
scopeNoOptional site, product, application, repository, or service qualifier
refreshNo
commit_shaNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe read-only, closed-world operation, so the safety burden is light. The description adds one genuinely useful behavioral rule: an unmatched scope is blocked and never broadened to the tenant, which prevents an agent from trying to fan out. It says nothing about refresh semantics, caching, or how the correlation result is judged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with no filler; the core action and the scoping dimension come first and the blocking rule second. Dense but appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the blocking behavior is disclosed. However, with five parameters and zero required fields, the description should say what minimum input is needed to succeed (environment at least) and whether optional policy/refresh alter the verdict.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 40%, so compensation is expected. The description gives meaning to environment ("one environment"), scope ("optional site/product/service scope"), and commit, but leaves refresh and context_id entirely to the schema, and does not clarify that no parameter is formally required despite environment being semantically necessary.

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 uses a specific verb+resource ("Correlate the tenant-scoped QA catalog and optional policy with CI evidence") and names the scoping dimensions (environment, site/product/service, commit). It is clearly distinguishable from qa_catalog_get and qa_sources_discover, but it never names a sibling to sharpen the boundary.

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?

Usage is only implied: the agent must infer that this is the evaluation step that consumes the catalog/policy and CI evidence. There is no statement of when to pick this over qa_release_snapshot or qa_catalog_get, and no prerequisites (e.g., catalog must already exist) are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qa_release_snapshotGet bounded QA release snapshotA
Read-only
Inspect

Resolve tenant-scoped QA context first, then collect release, deployment and observability evidence with at most two concurrent provider reads. Returns partial evidence instead of failing the whole investigation.

NameRequiredDescriptionDefault
hoursNo
scopeNoOptional product, site, application, repository or service, resolved only from active-tenant metadata
targetNoExact Cloud Catalog account/product slug for deployment evidence. Separate from scope (QA suites/repository). With target alone, returns deployments but no target-specific QA readiness verdict.
refreshNo
commit_shaNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentYes

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint/destructiveHint already covering safety, the description adds genuinely new behavior: a concurrency ceiling of two provider reads and a partial-result contract that degrades rather than failing the whole investigation. It does not mention authorization requirements or cost/latency expectations, so it falls short of a 5.

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?

Two sentences, both load-bearing, with the prerequisite and the partial-result guarantee front-loaded. No filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation is not required, and annotations cover safety. But for a 7-parameter aggregation tool with low schema coverage, the description leaves the agent guessing on window size, refresh cost, and commit pinning — gaps that matter for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 43%: hours, refresh, commit_sha and the required environment have no descriptions at all. The description does nothing to compensate — it says nothing about what the time window means, what refresh invalidates, or how commit_sha narrows the evidence — despite these being the parameters most likely to be set wrong.

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?

States a specific verb ('collect') and resource set (release, deployment and observability evidence) plus a scoping quality ('bounded', 'tenant-scoped'). However, it never distinguishes itself from the obvious sibling qa_release_evidence, which from its name alone appears to overlap heavily, so the agent cannot confidently choose between them.

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?

'Resolve tenant-scoped QA context first' is a useful prerequisite/sequencing hint, and 'Returns partial evidence instead of failing' implies it is the resilient choice for whole-investigation runs. But there is no explicit statement of when to prefer this over qa_release_evidence, qa_sources_discover, or qa_catalog_get, and no when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

qa_sources_discoverDiscover QA sourcesB
Read-only
Inspect

Discover read-only QA repositories in the active workspace using technical evidence; no repository configuration or code execution.

NameRequiredDescriptionDefault
refreshNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is known. The description reinforces it and adds useful scope ('no repository configuration or code execution'), meaning it works without setup, but says nothing about caching, refresh behavior, or cost/latency of discovery.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the resource and scope first and the constraint clause after. It wastes nothing, though 'using technical evidence' is slightly opaque phrasing rather than informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values needn't be explained. But for a discovery tool with an unexplained 'refresh' parameter and no mention of how evidence is gathered or what a discovered 'source' is, the description leaves gaps an agent must resolve by trial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: context_id is documented in the schema, but 'refresh' has no description anywhere and the prose says nothing about it, so the agent has to guess whether re-discovery is cached or forced. The description adds no parameter meaning beyond the schema.

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?

States a specific verb+resource ('Discover read-only QA repositories') and scope ('in the active workspace'), which is clear. It does not differentiate from the related qa_catalog_get / qa_release_evidence / qa_release_snapshot siblings, so an agent can't tell from the description alone whether discovery is a prerequisite for those or an alternative.

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?

'Discover' plus 'using technical evidence' implies a pre-step before catalog/release lookups, but the description never says when to call this instead of the other qa_* tools or what a caller should do with the result. Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

railway_environments_listRailway environments listB
Read-only
Inspect

List environments in a Railway project. project accepts ID or unique name.

NameRequiredDescriptionDefault
limitNo
queryNo
projectYesProject ID or name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that, but with annotations carrying that burden a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and no filler. Nothing is wasted, though the brevity contributes to the under-specification noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. However, with 4 parameters (two undocumented in the schema) and no usage context, the description leaves an agent guessing about limit/query behavior and when this tool applies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The 'project accepts ID or unique name' note largely restates the schema's own 'Project ID or name' description. With coverage at 50%, the description should explain the undocumented limit (max 50) and query parameters, and it does not.

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?

States a specific verb and resource ('List environments in a Railway project'), which cleanly separates it from siblings railway_projects_list and railway_services_list by resource type. It doesn't explicitly name those siblings, but the resource noun is distinctive enough for disambiguation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus railway_project_status or railway_services_list, no prerequisites, and no mention of how it relates to the wider Railway workflow. Usage is only inferred from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

railway_projects_listRailway projects listA
Read-only
Inspect

List Railway projects accessible to the API token (account/workspace/project scope). Optional workspace_id filter, query and limit (max 50).

NameRequiredDescriptionDefault
limitNo
queryNoName filter e.g. storefront
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
workspace_idNoWorkspace ID filter when token supports it

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety and scope are covered structurally. The description adds that results are bounded by the API token's visibility, which is genuinely useful, but adds nothing on pagination or result shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with purpose and scope. The 'limit (max 50)' clause duplicates the schema's maximum constraint and is the only wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations carry the safety profile, so the description only needs to convey purpose, scope and filtering. For a simple zero-required-parameter list tool it covers all of that; the missing context_id note is a minor edge case only relevant to Hub-aware callers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the description only restates limit (max 50, already in the schema's maximum) and names workspace_id/query without explaining them. It omits context_id entirely, leaving a fourth of the parameters undocumented in both places.

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?

States a specific verb and resource ('List Railway projects') plus the token scope it operates over, which distinguishes it from railway_project_status. It never names the sibling it must be told apart from, so differentiation is implied rather than explicit.

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 scope clause ('accessible to the API token') hints at when this is the right discovery call, and the optional filters suggest a browse use case. There is no explicit when-not-to-use or pointer to railway_project_status/railway_environments_list for detail or nested resources.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

railway_project_statusRailway project statusA
Read-only
Inspect

Operational summary for a Railway project: environments, services, latest deployments, optional domains/volumes. SUCCESS does not prove HTTP health.

NameRequiredDescriptionDefault
projectYes
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNo
include_domainsNo
include_volumesNo
deployment_limitNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful outcome caveat—'SUCCESS does not prove HTTP health'—which tells the agent not to treat deployment success as service health, and it discloses that domains/volumes are optional inclusions.

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?

Two tight sentences with zero waste: the contents are front-loaded and the health caveat follows. Nothing is repeated from the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the description appropriately describes what the summary contains rather than return values. However, for a 6-parameter tool it omits the environment filter semantics, deployment_limit behavior, and project identifier format, and gives no sibling-routing guidance, leaving meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17%, so the description must compensate and largely does not. It names domains/volumes and deployments conceptually but never maps them to include_domains/include_volumes/deployment_limit, and it leaves the environment filter and required project identifier unexplained, leaving 5 of 6 parameters undocumented.

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?

States a specific verb (operational summary) and resource (Railway project), and enumerates the contents (environments, services, deployments, optional domains/volumes), which differentiates it from sibling list tools like railway_projects_list and railway_environments_list. It stops short of explicitly saying it aggregates one project where those siblings enumerate many.

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?

Usage is implied by 'for a Railway project', but the description never says when to choose this over railway_environments_list, railway_services_list, or railway_projects_list. No exclusions or selection conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

railway_services_listRailway services listB
Read-only
Inspect

List services (and service instances) in a project. Optional environment filter and latest deployment summary.

NameRequiredDescriptionDefault
limitNo
queryNo
projectYesProject ID or name
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoEnvironment ID or name
include_latest_deploymentNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds that service instances are included and that a deployment summary can be attached, but says nothing about pagination, result ordering, or failure behavior for an unknown project.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action, with no filler. However, 'Optional environment filter' largely restates the schema description 'Environment ID or name' and the second sentence is telegraphic rather than informative, so not every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the annotations cover safety. Still, for a 6-parameter tool with half the parameters undocumented, the description leaves the agent guessing about paging ('limit') and name filtering ('query'), which are relevant to calling it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: project, environment and context_id are documented in the schema, while limit, query and include_latest_deployment are not. The description partly compensates by explaining the environment filter and the optional latest-deployment summary, but 'limit' and 'query' remain undocumented anywhere, so it does not fully close the gap.

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?

States a specific verb and resource ('List services (and service instances)') with the scoping context 'in a project', which is enough to distinguish it from railway_projects_list and railway_environments_list. It does not explicitly name those siblings, so the differentiation is inferential rather than stated.

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 phrase 'in a project' implies the required precondition, and mentioning the environment filter hints at when the extra param is useful. But there is no explicit when-to-use/when-not, no guidance on preferring this over railway_project_status, and no mention of what to do if the project is ambiguous (ID vs name).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_event_getGet Sentry Event by IDA
Read-only
Inspect

Fetch an individual Sentry event by its eventId. Returns full stack trace, breadcrumbs, tags, runtime context, HTTP request, and user variables. Use this when you have a specific eventId (from an alert, Slack notification, or issue details) — events are distinct from grouped issues.

NameRequiredDescriptionDefault
spansNoIncluir spans en la respuesta (aumenta tamaño)
eventIdYesID del evento: hexadecimal de 32 chars o UUID sin guiones
orgSlugNoOrganization slug; resolved from workspace defaults when omitted
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
breadcrumbsNoIncluir breadcrumbs en la respuesta (últimos 100)
projectSlugNoProject slug; resolved from workspace defaults or a sole accessible project

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description's remaining contribution is the events-vs-issues distinction; the enumerated return fields (stack trace, breadcrumbs, tags, request, user) largely duplicate the output schema, and nothing is said about response size or the cost of the spans toggle.

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?

Three short sentences, front-loaded with the action and resource, then return contents, then the usage condition. Zero filler and nothing buried.

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?

With an output schema present and full parameter documentation, the description covers what an agent needs to decide and call. It stops short of mentioning that orgSlug/projectSlug resolve from workspace defaults or that spans/breadcrumbs materially change payload size, which would matter for a large event.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including eventId format, spans, breadcrumbs, and orgSlug/projectSlug fallback is already documented. The description mentions only eventId and adds no format or default semantics beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (fetch) and resource (an individual Sentry event) keyed by eventId, and explicitly separates it from grouped issues, which is exactly the distinction that matters next to sentry_issues_get and sentry_events_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete precondition — 'use this when you have a specific eventId' — and names where such an ID typically comes from (alert, Slack notification, issue details). It does not explicitly name a sibling alternative for the case where you only have a search query, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_issues_exportExporta issues de SentryA
Read-only
Inspect

Export issues from a project to CSV, JSON or Excel with optional filters.

NameRequiredDescriptionDefault
limitNoNúmero máximo de issues a exportar
queryNoQuery de búsqueda libre
formatNoFormato de exportacióncsv
periodNoRelative period, e.g. 1h, 24h, 7d
statusNoFiltro por estado
orgSlugNoOrganization slug; resolved from workspace defaults when omitted
lastSeenNoFecha de última aparición (ISO 8601)
severityNoFiltro por severidad
firstSeenNoFecha de primera aparición (ISO 8601)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
outputPathNoRuta de salida del archivo (opcional)
environmentNoFiltro por entorno
projectSlugNoOptional project slug; omit for organization-wide export
statsPeriodNoAlias of period for Sentry compatibility

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides valuable context by mentioning the output formats and the existence of optional filtering, which implies flexibility. The annotations clearly mark the operation as read-only and non-destructive, reducing the need for the description to cover safety, leading to a strong functional score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise, managing to convey the main function, the resource, the format options, and the filtering capability in a single, efficient sentence.

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 large number of parameters (14) and the explicit input schema, the description is adequate. It tells the agent exactly what the tool does (export issues) and gives high-level insight into how to control the output (formats and filters). No critical functional detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, making the description redundant regarding parameter definition. However, the description's brief mention of 'optional filters' serves as good meta-context, which is sufficient for a high score given the full schema coverage.

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 title and description clearly state the function (Export issues from Sentry), and the description mentions the supported file formats (CSV, JSON, Excel). It is clear, though slightly broad as it doesn't specify *where* the issues come from (i.e., which Sentry project, though parameters handle this).

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 implies that filters are optional ('with optional filters'), but it does not explicitly guide the user on when to use this tool versus related search tools (like `sentry_issues_search`) or when certain filters (like `projectSlug` vs `orgSlug`) should be prioritized.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_issues_getGet Specific Sentry IssueC
Read-only
Inspect

Get detailed information of a specific issue.

NameRequiredDescriptionDefault
issueIdYesID del issue
orgSlugNoOrganization slug; resolved from workspace defaults when omitted
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
projectSlugNoAccepted for compatibility; issue IDs are organization-scoped

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no note on what 'detailed information' includes, scope constraints, or auth needs. It merely restates a read operation already implied by the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero waste and front-loaded verb. However, it is under-specified rather than optimally concise; the brevity here reflects missing content rather than tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema and annotations are present, the safety and return-value burden is partly lifted, but the description still omits routing guidance in a large sibling ecosystem (list/search/event tools). For a lookup tool among many Sentry siblings, more context is needed to call it correctly versus alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (issueId, orgSlug, context_id, projectSlug) are well documented in the schema itself. The description adds no parameter meaning, which is the expected baseline when the schema carries the full burden.

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 uses a clear verb+resource: 'Get detailed information of a specific issue.' An agent understands it retrieves one Sentry issue by ID. However, it does not differentiate from close siblings like sentry_issues_list, sentry_issues_search, or sentry_event_get, leaving the scope boundary implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance. It does not state that issueId is required, nor when to prefer this over sentry_issues_search or sentry_issues_list. The agent must infer selection from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_issues_listLista issues de SentryC
Read-only
Inspect

Get issues from a specific project with optional filters.

NameRequiredDescriptionDefault
limitNoNúmero de issues a devolver
queryNoQuery de búsqueda libre
cursorNoCursor para paginación
periodNoRelative period, e.g. 1h, 24h, 7d
statusNoFiltro por estado
orgSlugNoOrganization slug; resolved from workspace defaults when omitted
assignedNoFiltro por usuario asignado
lastSeenNoFecha de última aparición (ISO 8601)
severityNoFiltro por severidad
firstSeenNoFecha de primera aparición (ISO 8601)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoFiltro por entorno (ej: production, staging)
projectSlugNoOptional project slug; omit for organization-wide issues
statsPeriodNoAlias of period for Sentry compatibility

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare a read-only, non-destructive, closed-world operation, and the description adds almost nothing beyond that. It omits pagination behavior (cursor/limit default 50, max 100), the period versus statsPeriod alias, and orgSlug resolution from workspace defaults. Worse, 'from a specific project' contradicts the schema's optional projectSlug, which supports organization-wide listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is efficient. The brevity is fine, but the remaining space could have carried the important caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a listing tool with 14 optional parameters and an output schema, so return values need no explanation. The description still leaves many questions unanswered: the effect of zero parameters, pagination, and the optional scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, and the description does not add any detail on how the 14 filters combine or which ones are mutually exclusive. It also mischaracterizes projectSlug as required when it is optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (get issues) and a scope (a specific project), but it doesn't differentiate it from its close siblings sentry_issues_search, sentry_issues_get, and sentry_issues_export. An agent can't tell from the description which of these is the plain listing tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no mention of when sentry_issues_search or sentry_issues_export are preferable, and no note that query/status/severity/period act as optional filters for this listing. Usage is only implied by the word 'optional filters'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_organizations_listLista organizaciones de SentryA
Read-only
Inspect

Get the list of Sentry organizations you have access to.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a useful access-scoping detail ('you have access to'), but it does not discuss pagination or other behavioral limits; this is acceptable given the annotations and output schema.

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 a single clear sentence with no waste. The core purpose and access scope are front-loaded.

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?

For a simple read-only list tool with complete schema coverage, annotations, and an output schema, the description provides enough context to call it correctly. The main gap is the absence of usage guidance relative to sibling Sentry tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the only parameter, context_id, is fully documented in the schema. The description adds no additional meaning about that parameter, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: get the list of Sentry organizations, scoped to those the caller can access. It is clearly distinguishable from sibling Sentry tools such as sentry_projects_list, sentry_issues_list, and sentry_events_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description identifies what the tool returns but gives no explicit guidance on when to use it, when not to use it, or which related Sentry tool to choose instead. Any usage is merely implied by the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_projects_listLista proyectos de SentryB
Read-only
Inspect

Get the list of projects in a specific organization.

NameRequiredDescriptionDefault
limitNoNúmero de proyectos a devolver
cursorNoCursor para paginación
orgSlugNoOrganization slug; optional when the workspace has a default or only one accessible organization
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the organization scoping context, but it says nothing about pagination behavior, ordering, or how the optional orgSlug/context_id defaults affect results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. It is efficient, though its brevity contributes to the gaps in usage guidance and behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a read-only list with an output schema and fully described parameters, so much of the burden is already carried by structured data. However, the description omits practical context such as pagination expectations and default organization/workspace behavior, leaving it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented in the schema, including limit, cursor, orgSlug, and context_id. The description adds no parameter-level detail beyond that, which makes the baseline 3 appropriate.

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 states a specific verb and resource ('Get the list of projects') and scopes it to a specific organization, which is clearer than the tool name alone. It does not distinguish itself from nearby Sentry siblings such as sentry_organizations_list or sentry_projects_stats, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus sentry_organizations_list, sentry_projects_stats, or other Sentry tools, and no mention of prerequisites or the optional orgSlug behavior. Usage is only implied by the phrase 'in a specific organization'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_projects_statsSentry Project StatsA
Read-only
Inspect

Project received-event volume time series (GET /projects/{org}/{project}/stats/). Not release adoption — use sentry_sessions_by_release for Release Health session share by release.

NameRequiredDescriptionDefault
sinceNoFecha de inicio (ISO 8601, por defecto: 30 días atrás)
untilNoFecha de fin (ISO 8601, por defecto: ahora)
periodNoRelative period, e.g. 1h, 24h, 7d
orgSlugNoOrganization slug; resolved from workspace defaults when omitted
projectIdNoNumeric Sentry project id (same as Release Health sessions tools)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
projectSlugNoProject slug; resolved from workspace defaults or a sole accessible project
statsPeriodNoAlias of period for Sentry compatibility

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the endpoint shape and a scope exclusion, but says nothing about time-series resolution, bucketing, or default window behavior beyond what the schema documents.

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?

Two sentences, zero filler, and the primary identification is front-loaded before the negative scoping guidance.

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?

For a read-only stats query with a full output schema and fully documented parameters, the description covers what the tool returns conceptually and what it is not. Minor gap: no mention of aggregation granularity or how the time series is bucketed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 8 parameters, including defaults, period formats, and workspace resolution rules, so the schema carries the burden. The description contributes no additional parameter semantics, which is the expected baseline of 3 here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource and metric (project received-event volume time series) and pins the underlying endpoint GET /projects/{org}/{project}/stats/. It also names the sibling it is not (sentry_sessions_by_release), so an agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes release-adoption questions to sentry_sessions_by_release, giving a clear when-not condition. It does not, however, contrast with other Sentry read tools such as sentry_events_search or sentry_issues_list, so the routing is only partially complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_release_detailSentry release detail and session shareA
Read-only
Inspect

Release metadata plus project session share for one version (combines release API + sessions by release). Use statsPeriod=1h during rollout; UI "Sessions Adopted" may differ from 24h project-wide share.

NameRequiredDescriptionDefault
periodNoAlias of statsPeriod
orgSlugNoOrganization slug; resolved from workspace when omitted
versionYesRelease version string (e.g. 25.0.7)
projectIdNoNumeric project id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoOptional environment filter
projectSlugNoProject slug
statsPeriodNoWindow for session share (default 1h for rollout; 24h blends older releases)1h

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly=true/non-destructive, so the description's job is to add what the agent can't infer. It does add real value by warning that the reported share can diverge from the UI's 'Sessions Adopted' and that the tool merges two data sources, but it says nothing about cost, latency, or behavior when the release or project doesn't exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what the tool returns, followed by the caveat that matters most. No filler, though the parenthetical about combining APIs is somewhat redundant with the first clause.

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?

An output schema exists and the input schema is fully annotated, so the description only needs to cover the non-obvious semantics - and the UI-vs-API discrepancy note does exactly that. The main omission is sibling differentiation against sentry_sessions_by_release.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all eight parameters are already documented, including the statsPeriod default of 1h and the note that 24h blends older releases. The description's statsPeriod advice largely restates the schema, so the baseline of 3 applies.

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?

States a specific verb+resource: release metadata combined with project session share for a single version, and notes it fuses the release API with sessions-by-release. That distinguishes it reasonably well, but it never names the sibling sentry_sessions_by_release, which is the closest overlap, so the boundary stays implicit.

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?

Gives operational advice ('Use statsPeriod=1h during rollout') but that is parameter usage rather than tool-selection guidance. Nothing says when to call this versus sentry_sessions_by_release or when a plain release lookup is enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sentry_sessions_by_releaseSentry sessions by release (Release Health)A
Read-only
Inspect

Release adoption from Sentry Release Health: GET /organizations/{org}/sessions/ with field=sum(session) and groupBy=release. Do not use sentry_events_search or Discover for adoption %. statsPeriod=24h is whole-project mix; statsPeriod=1h reflects recent rollout. Alias concept: release adoption / sessions adopted.

NameRequiredDescriptionDefault
topNNoTop releases by session count (default 10)
periodNoAlias of statsPeriod
groupByNoDefault release
orgSlugNoOrganization slug; resolved from workspace when omitted
projectIdNoNumeric Sentry project id (sessions API project= param)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
environmentNoOptional environment filter
projectSlugNoProject slug; resolved with projectId via Sentry projects API
statsPeriodNoRelative window (1h, 24h, 7d, 14d). Default 24h
includeSeriesNoInclude hourly series buckets from Sentry
highlightReleaseNoRelease version to echo in highlight; null if that release has zero sessions in the window

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld=false, and the description adds genuine context beyond them: the backing API shape, the meaning of different statsPeriod windows, and the semantics of highlightRelease returning null when a release has zero sessions. It does not discuss pagination or result shape, but the output schema covers that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then exclusions, then window semantics in three tight segments with no filler. Slightly dense (endpoint path plus alias line) but every clause is actionable.

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?

For an 11-param, no-required-args read tool with an output schema, the description supplies what structured fields cannot: routing exclusions and window-selection guidance. Defaults per parameter (topN=10, default release, default 24h) are mostly left to the schema rather than reinforced.

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, but the description adds real meaning the schema does not: which window value to pick and what each implies, that groupBy is fixed to release, and that topN ranks releases by session count. That is value beyond the field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Release adoption from Sentry Release Health') and pins it to the exact upstream call (GET /organizations/{org}/sessions/ with field=sum(session), groupBy=release). This is clearly separable from sentry_events_search, sentry_issues_* and the other Sentry siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit negative routing rule: 'Do not use sentry_events_search or Discover for adoption %', naming the alternatives to avoid. It also tells the agent how to choose between windows (statsPeriod=24h = whole-project mix vs 1h = recent rollout).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sq_analyses_latestSonarQube latest analysesA
Read-only
Inspect

Recent analysis history for a project (optionally filtered by branch). For a full last-scan snapshot (quality gate + metrics + issue counts), use sq_last_scan_summary instead.

NameRequiredDescriptionDefault
branchNo
projectYesSonarQube project key, SonarCloud org_project key (e.g. cepsadigital_my-repo), or sonarcloud.io overview URL
pageSizeNoNumber of analyses (default 5)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds that this is a historical feed rather than a snapshot and that branch scoping is optional, but says nothing about ordering (newest first?), what a history entry contains, or the default page size of 5.

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?

Two tightly written sentences: the positive scope first, the disambiguation second. No filler, no restatement of the tool name, and the most decision-relevant information is front-loaded.

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?

An output schema exists, so return values need not be explained, and annotations cover safety. For a read-only list tool with one required param, the description covers purpose and routing adequately; the only meaningful omissions are result ordering and the default page size of 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the two most important parameters (project, pageSize) carry their own schema descriptions. The description adds only the notion of optional branch filtering, duplicating what the schema already implies, and says nothing about pageSize defaults or context_id, so it does not meaningfully exceed the schema baseline.

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?

States a specific verb+resource ('Recent analysis history for a project') and scopes it with 'optionally filtered by branch'. It explicitly contrasts with sq_last_scan_summary, so an agent can tell it apart – though that named alternative is not actually present in the supplied sibling list, which weakens the differentiation slightly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit alternative and the condition that selects it: use sq_last_scan_summary when you need a full last-scan snapshot with quality gate, metrics and issue counts. There is no statement of when *not* to use this tool beyond that contrast, and the named alternative is absent from the sibling set, so routing is clear in intent but not fully actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sq_branches_listSonarQube branches listA
Read-only
Inspect

List analyzed branches for a project with quality gate status and issue counts per branch.

NameRequiredDescriptionDefault
projectYesSonarQube project key, SonarCloud org_project key (e.g. cepsadigital_my-repo), or sonarcloud.io overview URL
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds what data is surfaced (quality gate status, issue counts), but says nothing about pagination, branch limits, permissions, or how long-unanalyzed branches are handled.

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?

A single sentence that front-loads the verb and resource and appends the returned fields. No padding, no restatement of the title.

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?

A simple read-only, two-parameter tool with an output schema, so the description need not explain return values; the schema plus annotations do most of the work. Only pagination/result-size behavior is left unspecified, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the project param already documents SonarQube keys, SonarCloud org_project keys and overview URLs, and context_id is documented. The description's only contribution is the phrase 'for a project', so the baseline 3 applies.

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?

States a specific verb (List) and resource (analyzed branches for a project) and adds what each item carries: quality gate status and issue counts per branch. It does not distinguish itself from the sq_* siblings (sq_analyses_latest, sq_hotspots_search), but for 'list branches' there is little genuine overlap.

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?

Usage is only implied: an agent can infer it is the tool for checking branch-level quality gates, but there is no explicit when-to-use, no prerequisites (e.g. branch analysis must be enabled in SonarQube), and no pointer to alternatives such as sq_analyses_latest for analysis history.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sq_duplications_showSonarQube duplicated codeA
Read-only
Inspect

Find duplicated code in a project: lists files with duplicated lines and, by default, duplication blocks (line ranges + duplicate file paths) for the top files. Use when the user asks where code is duplicated, código duplicado, or duplication blocks. For issue-level detail (code smells, bugs), use sq_issues_search instead.

NameRequiredDescriptionDefault
fileNoOptional file path or component key — when set, returns blocks for that file only
pageNo
branchNo
projectYesSonarQube project key, SonarCloud org_project key (e.g. cepsadigital_my-repo), or sonarcloud.io overview URL
pageSizeNo
topFilesNoHow many top duplicated files to expand with line blocks (default 5, 0 = list only)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a safe read-only operation, so the main behavioral addition is the default expansion of top duplicated files into line-range blocks, which is useful context. It does not cover auth, rate limits, or pagination behavior, but it adds meaningful operational detail beyond the annotations.

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?

Three tight sentences front-load the purpose, then the trigger cases, then the alternative tool. Every sentence contributes to selection or invocation and there is no filler.

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?

The description is complete enough for an agent to select and invoke the tool: purpose, default block expansion, and sibling routing are covered, and an output schema exists so return values need no explanation. The remaining gap is that pagination and branch parameters are not addressed, which is a minor omission given the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 57%, so the schema already documents file, project, topFiles, and context_id. The description reinforces the default topFiles expansion behavior, but branch, page, and pageSize are undocumented in both places, so it only partially compensates for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Find duplicated code in a project') and explains the output shape: files with duplicated lines plus duplication blocks by default. It also names the sibling tool it is not, making the scope distinguishable without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit trigger language ('where code is duplicated, código duplicado, or duplication blocks') and an explicit exclusion with the alternative: issue-level detail should use sq_issues_search. The routing decision is fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

synthetics_summary_by_locationSynthetics summary by locationA
Read-only
Inspect

Bounded Datadog Synthetics execution summary grouped by location (pass/fail of latest run — NOT config status). Filter by nameContains or publicIds for the requested environment/site/service. At most five tests are queried to protect the shared workspace queue; partial=true means the result is not complete. Prefer dd_synthetics_results for one exact test. Never claim 100% up when dataQuality reports missing or partial results.

NameRequiredDescriptionDefault
hoursNoLookback window in hours for latest execution results (default 1, max 24)
maxTestsNoMaximum matching tests to query; bounded to five
publicIdsNoExact Synthetic public IDs from tenant catalog evidence
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
nameContainsNoCase-insensitive test-name filter for the requested environment/site/service

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld annotations by disclosing the query bound ('At most five tests are queried to protect the shared workspace queue') and the meaning of the partial=true indicator. That operational-limit and result-fidelity context is exactly what an agent needs to avoid over-claiming.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then filtering, then the cost bound, then the alternative — a sensible ordering with little waste. The final caution sentence is guidance rather than definition, but it earns its place by shaping how results are reported.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape needn't be explained, and the description still clarifies the two things the schema can't: the five-test cap and how to interpret partial/dataQuality. Nothing needed to call or report on this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so hours, maxTests, publicIds, nameContains and context_id are already fully documented; the description only echoes the nameContains/publicIds filtering intent. Per the coverage baseline, no param text is needed, so a 3 is the ceiling here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Datadog Synthetics execution summary grouped by location') plus a crucial scope qualifier ('pass/fail of latest run — NOT config status') that rules out the most likely misreading. An agent can distinguish it from dd_synthetics_results and dd_synthetics_summary without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative explicitly ('Prefer dd_synthetics_results for one exact test') with the condition that selects it, and adds a hard reporting rule ('Never claim 100% up when dataQuality reports missing or partial results'). Both when-to-use and when-not-to-assert are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tcp_connectTCP connect checkA
Read-only
Inspect

Check if host:port is reachable (TCP connect with timeout). Use to distinguish DNS failures from network/firewall issues.

NameRequiredDescriptionDefault
hostYesHost or IP
portYesPort
timeoutMsNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, so safety is covered; the description adds that this is a timed TCP connect used as a triage step. It does not mention rate limits, what a failure/timeout yields, or that the target is arbitrary external infrastructure (notably at odds with openWorldHint=false, though the description itself doesn't assert closed-world).

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?

Two tight sentences: the mechanism comes first, the diagnostic purpose second. No filler and no restatement of the title.

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?

With an output schema present, the definition needn't describe return values, and annotations cover the safety profile. What's left thin is parameter-level guidance for timeoutMs and the openWorldHint inconsistency, so it's strong but not airtight.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% with host, port, and context_id documented in the schema; only timeoutMs lacks a schema description. The description mentions a timeout generically but doesn't tie it to the timeoutMs parameter, its default of 15000, or its 1–60s bounds, so it adds little beyond the schema.

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?

Uses a concrete verb+resource: checking host:port reachability via a TCP connect with timeout. It implicitly distinguishes itself from dns_lookup/http_check by framing the result as separating DNS failures from network/firewall issues, though it never names a sibling outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use to distinguish DNS failures from network/firewall issues" gives a clear diagnostic context for selecting this tool over a DNS or HTTP check. It lacks explicit when-not conditions or a named alternative, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracerouteTracerouteA
Read-only
Inspect

Run traceroute to a host from the MCP environment (network path diagnostics). Requires traceroute binary in the container image.

NameRequiredDescriptionDefault
hostYesHostname or IP to trace
maxHopsNoMax hops
timeoutMsNo
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description's main contribution is the operational prerequisite that the traceroute binary must exist in the container image, which is genuinely useful failure context. However, it says nothing about runtime characteristics such as the default 60s timeout, the possibility of filtered/blocked hops, or output shape.

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?

Two short sentences, front-loaded with the action and scope, with the prerequisite second. Nothing is wasted or buried.

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?

With an output schema present, return values need not be explained, and the annotations carry the safety profile, so the description covers enough for correct invocation. The remaining gaps are minor: the undocumented timeoutMs semantics and no guidance on what a successful vs. filtered trace implies.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%: host and maxHops are documented, while timeoutMs has bounds and a default but no description. The description adds no parameter guidance at all (no host format examples, no note on hop limits), so it neither compensates for the gap nor adds value beyond the schema.

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?

States a specific verb and resource ("Run traceroute to a host") plus the execution locus ("from the MCP environment") and a parenthetical use case ("network path diagnostics"). It is clearly distinguishable from siblings like dns_lookup, tcp_connect or http_check by name, but the description never explicitly contrasts with them.

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?

"Network path diagnostics" implies the diagnostic scenario, but there is no explicit when-to-use rule, no exclusion, and no pointer to alternatives such as dns_lookup or tcp_connect for layered connectivity triage. The agent must infer selection from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_deployment_logsVercel Deployment LogsA
Read-only
Inspect

Build and runtime events for a deployment (latest or explicit deploymentId). Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
limitNoMax events to return
teamIdNoTeam ID if applicable
projectYesProject name, ID, or brand alias from catalog
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
deploymentIdNoDeployment UID (dpl_xxx). Defaults to latest deploy

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context around brand-alias normalization and the latest-deployment default, but says nothing about log ordering, pagination behavior, or any auth constraints beyond what the schema provides.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loads the tool's purpose, and uses the remaining space for concrete alias behavior. There is minor redundancy with the schema's deploymentId default, but no substantial filler.

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 annotations, full schema coverage, and presence of an output schema, the description is mostly complete for invocation: it explains the deployment target and alias handling. It could still more explicitly position the tool against sibling Vercel tools, but no critical calling detail is missing.

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 description coverage is 100%, so the baseline is a 3. The description earns an extra point by documenting non-obvious brand aliases and shorthand environment values (prd/prod, stg/pre, test/tst) that the schema only refers to generically as 'brand alias from catalog'.

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 identifies the resource as build and runtime events for a Vercel deployment and states that it targets either the latest deployment or an explicit deploymentId. It is specific enough to distinguish this from general deploy-listing tools, but it does not explicitly contrast itself with nearby siblings such as vercel_deploys_latest.

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?

Usage is implied by 'Build and runtime events for a deployment' and by the latest-versus-explicit deploymentId choice, but there is no explicit guidance on when to use this instead of vercel_deploys_latest, vercel_project_status, or other Vercel tools. No exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_deploys_latestVercel DeploysA
Read-only
Inspect

Latest deploys for a Vercel project (date, commit, author, branch). Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
limitNoNumber of deploys to return
teamIdNoTeam ID if applicable
projectNoProject name, ID (prj_xxx), or brand alias from catalog (e.g. your-tenant-int, your-tenant-tst)
projectIdNoCompat: Project ID, e.g. prj_xxx
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare this as a read-only, non-destructive, closed-world operation. The description adds useful context by naming the returned deployment fields and explaining accepted alias forms, though it does not discuss authentication, pagination, or default project behavior.

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 compact and front-loaded: it first states what the tool returns, then documents relevant alias handling. There is little or no wasted text.

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?

For a low-complexity read-only tool with a full input schema, annotations, and an output schema, the definition is largely complete. The main remaining gap is that it does not explain what happens when project/projectId is omitted, even though no parameters are required.

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 most parameter meaning is already structured. The description still adds value by documenting alias expansions such as your-tenant-int to your-tenant-storefront-int and prd/prod, stg/pre, test/tst, which are not fully specified in the schema.

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?

States a specific verb/resource: latest deploys for a Vercel project. It also lists the returned fields (date, commit, author, branch), making the purpose clear. It does not explicitly distinguish itself from nearby siblings such as deployment_status, vercel_project_status, or vercel_deployment_logs.

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 name and first sentence imply usage for checking recent Vercel deployments, but there is no explicit when-to-use/when-not-to-use guidance. Brand and environment aliases are documented, but that is parameter usage rather than tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_env_diffVercel Env DiffA
Read-only
Inspect

Compare env vars between two Vercel projects (targets/types, optional value diff). Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
teamIdNoTeam ID if applicable
projectAYesProject A (name, ID, or catalog alias e.g. your-tenant-int)
projectBYesProject B (name, ID, or brand alias e.g. your-tenant-int)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
compareValuesNoRequires decrypt permissions

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and closed-world, so safety is covered. The description adds genuinely new behavior: alias resolution rules (your-tenant-int → your-tenant-storefront-int, prd/prod, stg/pre, test/tst) that tell the agent how project identifiers are normalized before comparison.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences with the comparison scope stated first and the alias mechanics second; no filler. The alias clause is a bit list-heavy and could be tabled, but nothing is wasted.

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?

Output schema exists, so return-value explanation is not required, and safety is fully covered by annotations. What remains missing is any hint about how to read the comparison or when this tool is preferable to vercel_env_diff_repo — a minor gap for an otherwise well-specified read-only tool.

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 3 applies, but the description contributes above that: it enumerates concrete brand-alias expansions and environment shorthand mappings that the schema only gestures at with "catalog alias e.g. your-tenant-int". It also flags that value diffing is optional, matching compareValues' default false.

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?

States a specific verb+resource ("Compare env vars between two Vercel projects") and scopes what is compared (targets/types, optional value diff). It does not, however, distinguish itself from the close sibling vercel_env_diff_repo or position itself against vercel_env_list/vercel_env_sources, so the agent must infer the boundary.

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?

Usage is only implied: the two-project comparison is self-explanatory, but there is no explicit statement of when to choose this over vercel_env_diff_repo, vercel_env_list, or vercel_env_sources, and no prerequisites beyond what the schema says about decrypt permission.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_env_diff_repoVercel Env vs RepoA
Read-only
Inspect

Compare Vercel runtime env vars with declared repo files. Pass repoDir and repoEnvFiles explicitly for tfvars/HCL; no tenant-specific paths assumed. Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
teamIdNoTeam ID if applicable
decryptNoDeprecated alias for includeValues on Vercel side
projectYesProject name, ID (prj_xxx), or catalog alias (e.g. your-tenant-int, your-tenant-tst)
repoDirNoRepo root to read (required for tfvars unless auto-detected storefront repo)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
repoBlocksNoHCL block names to parse (default envs only)
repoEnvFilesNoPaths relative to repoDir (e.g. vercel/tfvars/foo.tfvars)
compareValuesNoCompare values when Vercel values are readable
includeValuesNo
repoEnvFormatNoauto
compareRepoSecretsNoInclude secrets block values from HCL when true

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: it discloses the lack of tenant-specific path assumptions and enumerates the alias normalization rules that silently rewrite input values — the kind of hidden transformation an agent needs to know about.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with the core purpose front-loaded, followed by actionable caller guidance and the alias table. The alias enumeration is dense but earns its space since it changes how the `project` argument should be supplied; nothing is redundant.

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?

With 11 parameters, an output schema, and safety annotations in place, the description only needs to cover the tricky parts — and it does: path assumptions and alias normalization. Remaining gaps (whether decryption/secret comparison requires specific Vercel permissions or how mismatches are reported) are minor given the output schema.

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 82%, so the baseline is 3, but the description adds meaningful semantics: the alias-to-canonical-name mapping for `project` (your-tenant-int → your-tenant-storefront-int, prd/prod, stg/pre, test/tst) and the requirement that repoDir/repoEnvFiles be explicit for tfvars/HCL. This goes beyond the schema's terse field descriptions.

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 states a specific verb and both sides of the comparison ("Compare Vercel runtime env vars with declared repo files"), which distinguishes it in resource terms from vercel_env_list and vercel_env_sources. It never names those siblings explicitly, so the differentiation must be inferred from the resource phrasing rather than stated.

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?

It gives procedural guidance ("Pass repoDir and repoEnvFiles explicitly for tfvars/HCL") and notes that no tenant-specific paths are assumed, which implies the tool works without workspace-specific defaults. However, it never says when to prefer this over vercel_env_diff (env-to-env comparison) or vercel_env_sources, and no exclusions or preconditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_env_listVercel Env ListA
Read-only
Inspect

List env vars from the Vercel API (no local infra repo required). Use keys + includeValues:true to read decrypted config values from Vercel; Secret-type vars stay write-only per Vercel. Values omitted by default. The param is "project" (NOT "projectName"). There is NO separate "environment" param — the env is part of the project name/alias. Example: {project:"your-tenant-storefront-prod"}. Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
keysNoReturn only these env keys (case-sensitive)
redactNoRedact sensitive values in output when includeValues is truesecrets
teamIdNoTeam ID if applicable
decryptNoDeprecated alias for includeValues
projectYesProject name, ID (prj_xxx), or brand alias from catalog. The environment is embedded in the name (e.g. your-tenant-tst, your-tenant-prd). Do NOT pass a separate environment param
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
includeValuesNoFetch decrypted values when Vercel allows (config vars)

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior: Secret-type vars remain write-only and are unreadable regardless of includeValues, and values are omitted unless explicitly requested. It does not mention rate limits, pagination, or result shape, so it is solid but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, but the body drifts into schema-guardrail prose ("NOT projectName", "NO separate environment param") that repeats the schema's own project description, and the alias sentence is dense shorthand. Every claim is relevant, yet the same information is delivered twice across description and schema.

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?

With 7 params at full schema coverage, an output schema, and read-only annotations, the description only needs to carry the non-obvious gotchas, and it does: alias resolution, decrypt being a deprecated alias for includeValues, and secret write-only limits. Nothing an agent needs to call correctly appears missing.

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 it by correcting the param name ("project" NOT "projectName"), warning there is no separate environment param, and supplying the alias expansion table (int→storefront-int, prd/prod, stg/pre) plus a concrete example payload. Those alias mappings are not in the schema and materially affect a correct call.

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?

States a specific verb+resource ("List env vars from the Vercel API") and adds a scope qualifier ("no local infra repo required") that implicitly separates it from the repo-based siblings vercel_env_diff_repo and vercel_env_sources. It never names those siblings explicitly, so an agent still has to infer the boundary, which keeps it below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives actionable invocation guidance: set keys + includeValues:true to read decrypted config values, values are omitted by default, and Secret-type vars stay write-only. It does not say when to prefer vercel_env_diff, vercel_env_diff_repo, or vercel_env_sources instead, so the sibling routing is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_env_sourcesVercel Env Sources (infra + pipelines)B
Read-only
Inspect

Locate .tfvars (Terraform) per environment and VERCEL_* references in pipelines. Prioritizes infrastructure.

NameRequiredDescriptionDefault
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results prioritize infrastructure, which is useful behavioral context, but it does not disclose search scope beyond that or mention auth/rate-limit behavior.

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 two short sentences with no wasted text. It front-loads the concrete resources being located and then adds the prioritization note.

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?

For a low-complexity, read-only discovery tool with an output schema and fully described optional parameter, the description is mostly complete. It says what kinds of sources are located and that infrastructure is prioritized, though it leaves the exact search behavior and usage conditions implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one optional parameter, context_id, and the schema description coverage is 100%. The tool description adds no additional parameter guidance, so the baseline score of 3 applies when the schema already carries the parameter semantics.

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 states a specific verb, 'Locate', and specific resources, '.tfvars' and 'VERCEL_* references', with scopes 'per environment' and 'in pipelines'. It does not explicitly name or distinguish itself from nearby siblings such as vercel_env_diff_repo or vercel_env_list, but the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for finding infrastructure and pipeline environment references, but it gives no explicit when-to-use guidance, exclusions, or alternatives. It does not tell the agent when to choose this over vercel_env_list or vercel_env_diff_repo.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_projects_listVercel Projects ListA
Read-only
Inspect

List Vercel projects for the user/team. Supports filtering and brand aliases. Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
limitNo
searchNoFilter text, project name, or catalog alias (resolved via tenant cloud_accounts vercel_project fields)
teamIdNoTeam ID if applicable
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish that this is a safe read-only operation. The description adds useful behavioral context about alias normalization (e.g., 'your-tenant-int' → 'your-tenant-storefront-int'), but it does not disclose pagination behavior, authentication requirements, or result ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first sentence, and the alias rules follow efficiently. The second sentence is somewhat dense with examples but every part serves to clarify alias handling.

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?

An output schema exists, so return values need not be described. Annotations cover the safety profile, and the schema documents most parameters. The description covers purpose and alias behavior; only pagination and context_id usage are left entirely to structured fields, which is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the baseline is 3. The description adds alias examples that augment the 'search' parameter, but it does not explain limit, teamId, or context_id, leaving those to the schema descriptions.

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 states a specific verb and resource ('List Vercel projects') and scopes it to 'the user/team'. It clearly distinguishes itself from sibling project-list tools by naming Vercel, though it does not explicitly contrast with tools like vercel_project_status.

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?

Usage is implied: list projects for a user/team with optional filtering. The description does not say when to use this versus alternatives such as vercel_project_status or vercel_deploys_latest, nor does it state exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

vercel_project_statusVercel Project StatusA
Read-only
Inspect

Quick status: env summary + latest deploys (date/author/commit/branch). Accepts brand aliases: "your-tenant-int" → "your-tenant-storefront-int", "your-tenant-tst" → "your-tenant-storefront-tst". Also accepts prd/prod, stg/pre, test/tst.

NameRequiredDescriptionDefault
searchNoIf no project given, filter project list by this text
teamIdNoTeam ID if applicable
projectNoProject name, ID, or catalog alias (e.g. your-tenant-int, your-tenant-pre)
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
deployLimitNo

Output Schema

NameRequiredDescription
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a safe read-only, non-destructive operation with a closed-world scope, so the safety profile is covered. The description adds useful behavioral context by explaining that the result combines environment summary and latest deploy details including date, author, commit, and branch, and by documenting alias normalization.

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 front-loaded with the main purpose and then compactly lists output contents and alias behavior. It is appropriately sized with no redundant sentences.

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 read-only annotations, 80% schema description coverage, and the presence of an output schema, the description is largely complete for invoking the tool correctly. Its main remaining gap is routing guidance against closely related Vercel siblings.

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 high at 80%, so the baseline is 3, but the description adds meaningful alias semantics beyond the schema: specific tenant aliases and environment shorthand such as prd/prod, stg/pre, and test/tst. It does not explain deployLimit or the search/team/context parameters, but those are largely covered by the schema.

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 states a clear composite purpose: a quick Vercel project status covering environment summary plus latest deploy metadata (date/author/commit/branch). It is more specific than a bare title, but it does not explicitly distinguish this tool from sibling tools such as vercel_deploys_latest or vercel_env_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Quick status' implies an overview use case, but there is no explicit guidance on when to use this tool versus vercel_deploys_latest, vercel_env_list, or other Vercel siblings. No exclusions or alternatives are named, so the agent must infer routing from the composite output description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedinvestigation_open2 fields changed
      • addedOutput schema / properties / data / properties / playbook
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "datadog_service": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "operational_intent": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "sentry_project_slug": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "suggested_tools": {
        +          "items": {
        +            "additionalProperties": {},
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "operational_intent",
        +        "sentry_project_slug",
        +        "datadog_service",
        +        "suggested_tools"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / data / properties / query_hints
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "null"
        +    },
        +    {
        +      "additionalProperties": {},
        +      "type": "object"
        +    }
        +  ]
        +}
  2. 1 tool update
    • Changedops_incident_rollup10 fields changed
      • removedOutput schema / properties / data / properties / alerts / additionalProperties
        Removed value: -{
        -  "$ref": "#/properties/data/properties/errors/additionalProperties"
        -}
      • addedOutput schema / properties / data / properties / alerts / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "_signatureAscii": {
        +        "type": "string"
        +      },
        +      "_summaryNote": {
        +        "type": "string"
        +      },
        +      "alerts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "ageCategory": {
        +              "type": "string"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "priority": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "state": {
        +              "type": "string"
        +            },
        +            "triggeredAt": {
        +              "type": "string"
        +            },
        +            "type": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "name",
        +            "state",
        +            "type",
        +            "triggeredAt",
        +            "ageCategory"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "queriedAt": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "source",
        +      "queriedAt",
        +      "alerts"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "error": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "error"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / alerts / type
        Removed value: -"object"
      • removedOutput schema / properties / data / properties / deployments / additionalProperties
        Removed value: -{
        -  "$ref": "#/properties/data/properties/errors/additionalProperties"
        -}
      • addedOutput schema / properties / data / properties / deployments / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "account_slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "candidates": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "environment": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "gaps": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "partial_errors": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "queried_at": {
        +        "type": "string"
        +      },
        +      "scope": {
        +        "type": "string"
        +      },
        +      "sources": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "error": {
        +              "type": "string"
        +            },
        +            "label": {
        +              "type": "string"
        +            },
        +            "latest": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "at": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "branch": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "message": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "revision": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "status": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "url": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "status",
        +                "at",
        +                "revision",
        +                "url",
        +                "branch",
        +                "message"
        +              ],
        +              "type": "object"
        +            },
        +            "ok": {
        +              "type": "boolean"
        +            },
        +            "type": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "type",
        +            "ok",
        +            "label"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "environment",
        +      "account_slug",
        +      "scope",
        +      "queried_at",
        +      "sources",
        +      "gaps",
        +      "partial_errors"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "error": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "error"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / deployments / type
        Removed value: -"object"
      • removedOutput schema / properties / data / properties / errors / additionalProperties
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / errors / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "from": {
        +        "type": "string"
        +      },
        +      "services": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "errorCount": {
        +              "type": "number"
        +            },
        +            "percentage": {
        +              "type": "number"
        +            },
        +            "service": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "service",
        +            "errorCount",
        +            "percentage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "to": {
        +        "type": "string"
        +      },
        +      "totalErrors": {
        +        "type": "number"
        +      },
        +      "totalErrorsInWindow": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "from",
        +      "to",
        +      "totalErrorsInWindow",
        +      "totalErrors",
        +      "services"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "error": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "error"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / errors / type
        Removed value: -"object"
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "env",
        -  "hours",
        -  "queriedAt",
        -  "windows",
        -  "timeline",
        -  "gaps",
        -  "partial",
        -  "truncated",
        -  "warnings"
        -]New value: +[
        +  "env",
        +  "hours",
        +  "queriedAt",
        +  "windows",
        +  "timeline",
        +  "errors",
        +  "deployments",
        +  "alerts",
        +  "gaps",
        +  "partial",
        +  "truncated",
        +  "warnings"
        +]
  3. 3 tool updates
    • Addedinvestigation_close
    • Addedinvestigation_open
    • Changedops_incident_rollup2 fields changed
      • addedOutput schema / properties / data / properties / diagnosis
        Added value: +{
        +  "$ref": "#/properties/data/properties/investigation/properties/execution"
        +}
      • addedOutput schema / properties / data / properties / investigation
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "confidence": {
        +      "type": "number"
        +    },
        +    "confidence_band": {
        +      "enum": [
        +        "HIGH",
        +        "MEDIUM",
        +        "LOW"
        +      ],
        +      "type": "string"
        +    },
        +    "correlation_id": {
        +      "type": "string"
        +    },
        +    "evidence": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "captured_at": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "source_tool": {
        +            "type": "string"
        +          },
        +          "summary": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "evidence_items": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    },
        +    "evidence_origin": {
        +      "type": "string"
        +    },
        +    "evidence_quality": {
        +      "type": "string"
        +    },
        +    "execution": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "boolean"
        +        },
        +        {
        +          "type": "null"
        +        },
        +        {
        +          "items": {
        +            "$ref": "#/properties/data/properties/investigation/properties/execution"
        +          },
        +          "type": "array"
        +        },
        +        {
        +          "additionalProperties": {
        +            "$ref": "#/properties/data/properties/investigation/properties/execution"
        +          },
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    "hypotheses": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "confidence": {
        +            "type": "number"
        +          },
        +          "confidence_band": {
        +            "enum": [
        +              "HIGH",
        +              "MEDIUM",
        +              "LOW"
        +            ],
        +            "type": "string"
        +          },
        +          "evidence_ids": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "statement": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "inferences": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    },
        +    "macro_tool": {
        +      "type": "string"
        +    },
        +    "metadata": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "correlation_id": {
        +          "type": "string"
        +        },
        +        "evidence_origin": {
        +          "type": "string"
        +        },
        +        "execution": {
        +          "$ref": "#/properties/data/properties/investigation/properties/execution"
        +        },
        +        "macro_tool": {
        +          "type": "string"
        +        },
        +        "produced_at": {
        +          "type": "string"
        +        },
        +        "producer": {
        +          "type": "string"
        +        },
        +        "scope": {
        +          "type": "string"
        +        },
        +        "snapshot_version": {
        +          "const": 1,
        +          "type": "number"
        +        },
        +        "tool_calls_count": {
        +          "type": "integer"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "observed_facts": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    },
        +    "produced_at": {
        +      "type": "string"
        +    },
        +    "producer": {
        +      "type": "string"
        +    },
        +    "resolution_verification": {
        +      "$ref": "#/properties/data/properties/investigation/properties/execution"
        +    },
        +    "scope": {
        +      "type": "string"
        +    },
        +    "snapshot_version": {
        +      "const": 1,
        +      "type": "number"
        +    },
        +    "suggested_actions": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    },
        +    "timeline": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    },
        +    "tool_calls_count": {
        +      "type": "integer"
        +    },
        +    "verification_conditions": {
        +      "items": {
        +        "$ref": "#/properties/data/properties/investigation/properties/execution"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
  4. 5 tool updates
    • Changedops_account_link_start7 fields changed
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}New value: +false
      • addedOutput schema / properties / data / properties / accounts / items / properties
        Added value: +{
        +  "display_name": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "type": "string"
        +  },
        +  "label": {
        +    "type": "string"
        +  },
        +  "linked_at": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "tenant": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "slug"
        +    ],
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / data / properties / accounts / items / required
        Added value: +[
        +  "id",
        +  "label",
        +  "tenant",
        +  "status",
        +  "display_name",
        +  "linked_at"
        +]
      • removedOutput schema / properties / data / properties / connections / $ref
        Removed value: -"#/properties/data/properties/accounts"
      • addedOutput schema / properties / data / properties / connections / items
        Added value: +{
        +  "$ref": "#/properties/data/properties/accounts/items"
        +}
      • addedOutput schema / properties / data / properties / connections / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / error / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "$ref": "#/properties/data/properties/accounts/items"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedops_account_unlink7 fields changed
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}New value: +false
      • addedOutput schema / properties / data / properties / accounts / items / properties
        Added value: +{
        +  "display_name": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "type": "string"
        +  },
        +  "label": {
        +    "type": "string"
        +  },
        +  "linked_at": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "tenant": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "slug"
        +    ],
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / data / properties / accounts / items / required
        Added value: +[
        +  "id",
        +  "label",
        +  "tenant",
        +  "status",
        +  "display_name",
        +  "linked_at"
        +]
      • removedOutput schema / properties / data / properties / connections / $ref
        Removed value: -"#/properties/data/properties/accounts"
      • addedOutput schema / properties / data / properties / connections / items
        Added value: +{
        +  "$ref": "#/properties/data/properties/accounts/items"
        +}
      • addedOutput schema / properties / data / properties / connections / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / error / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "$ref": "#/properties/data/properties/accounts/items"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedops_accounts_list7 fields changed
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}New value: +false
      • addedOutput schema / properties / data / properties / accounts / items / properties
        Added value: +{
        +  "display_name": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "type": "string"
        +  },
        +  "label": {
        +    "type": "string"
        +  },
        +  "linked_at": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "tenant": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "slug"
        +    ],
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / data / properties / accounts / items / required
        Added value: +[
        +  "id",
        +  "label",
        +  "tenant",
        +  "status",
        +  "display_name",
        +  "linked_at"
        +]
      • removedOutput schema / properties / data / properties / connections / $ref
        Removed value: -"#/properties/data/properties/accounts"
      • addedOutput schema / properties / data / properties / connections / items
        Added value: +{
        +  "$ref": "#/properties/data/properties/accounts/items"
        +}
      • addedOutput schema / properties / data / properties / connections / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / error / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "$ref": "#/properties/data/properties/accounts/items"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedops_context_close7 fields changed
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}New value: +false
      • addedOutput schema / properties / data / properties / accounts / items / properties
        Added value: +{
        +  "display_name": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "type": "string"
        +  },
        +  "label": {
        +    "type": "string"
        +  },
        +  "linked_at": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "tenant": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "slug"
        +    ],
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / data / properties / accounts / items / required
        Added value: +[
        +  "id",
        +  "label",
        +  "tenant",
        +  "status",
        +  "display_name",
        +  "linked_at"
        +]
      • removedOutput schema / properties / data / properties / connections / $ref
        Removed value: -"#/properties/data/properties/accounts"
      • addedOutput schema / properties / data / properties / connections / items
        Added value: +{
        +  "$ref": "#/properties/data/properties/accounts/items"
        +}
      • addedOutput schema / properties / data / properties / connections / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / error / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "$ref": "#/properties/data/properties/accounts/items"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  }
        +]
    • Changedops_context_open7 fields changed
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}New value: +false
      • addedOutput schema / properties / data / properties / accounts / items / properties
        Added value: +{
        +  "display_name": {
        +    "type": "string"
        +  },
        +  "id": {
        +    "type": "string"
        +  },
        +  "label": {
        +    "type": "string"
        +  },
        +  "linked_at": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "tenant": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "slug": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "slug"
        +    ],
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / data / properties / accounts / items / required
        Added value: +[
        +  "id",
        +  "label",
        +  "tenant",
        +  "status",
        +  "display_name",
        +  "linked_at"
        +]
      • removedOutput schema / properties / data / properties / connections / $ref
        Removed value: -"#/properties/data/properties/accounts"
      • addedOutput schema / properties / data / properties / connections / items
        Added value: +{
        +  "$ref": "#/properties/data/properties/accounts/items"
        +}
      • addedOutput schema / properties / data / properties / connections / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / error / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "$ref": "#/properties/data/properties/accounts/items"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  }
        +]
  5. 1 tool update
    • Changedops_my_usage6 fields changed
      • removedOutput schema / properties / data / properties / extras / $ref
        Removed value: -"#/properties/data/properties/workspaceAvailability"
      • addedOutput schema / properties / data / properties / extras / additionalProperties
        Added value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / data / properties / extras / type
        Added value: +"object"
      • removedOutput schema / properties / data / properties / workspaceAvailability / additionalProperties
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number",
        -    "boolean",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / workspaceAvailability / anyOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "configuredProviders": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "configuredToolCount": {
        +        "type": "number"
        +      },
        +      "enabledModuleCount": {
        +        "type": "number"
        +      },
        +      "guidance": {
        +        "type": "string"
        +      },
        +      "planEligibleConfiguredTools": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "planRestrictedTools": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "runtimeProfile": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "known",
        +        "type": "string"
        +      },
        +      "workspace": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "plan": {
        +            "type": "string"
        +          },
        +          "slug": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "slug",
        +          "plan"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "workspace",
        +      "runtimeProfile",
        +      "configuredToolCount",
        +      "enabledModuleCount",
        +      "configuredProviders",
        +      "planEligibleConfiguredTools",
        +      "planRestrictedTools",
        +      "guidance"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "guidance": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "const": "unknown",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "status",
        +      "guidance"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / workspaceAvailability / type
        Removed value: -"object"
  6. 5 tool updates
    • Changeddd_logs_search2 fields changed
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Alias for q (same log query string)",
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "q"
        -]
    • Changedpingdom_actions_recent1 field changed
      • addedOutput schema / properties / data / properties / records / items / properties / checkId
        Added value: +{
        +  "type": "number"
        +}
    • Changedpingdom_check_get1 field changed
      • addedOutput schema / properties / data / properties / records / items / properties / checkId
        Added value: +{
        +  "type": "number"
        +}
    • Changedpingdom_check_outages1 field changed
      • addedOutput schema / properties / data / properties / records / items / properties / checkId
        Added value: +{
        +  "type": "number"
        +}
    • Changedpingdom_check_probes_status1 field changed
      • addedOutput schema / properties / data / properties / records / items / properties / checkId
        Added value: +{
        +  "type": "number"
        +}
  7. 9 tool updates
    • Changedcf_firewall_events2 fields changed
      • changedInput schema / properties / since / description
        Previous value: -"Start datetime ISO 8601 (e.g. 2025-01-01T00:00:00Z)"New value: +"Start: ISO-8601 (e.g. 2025-01-01T00:00:00Z) or relative minutes (e.g. \"-60\"). Not now-1h."
      • changedInput schema / properties / until / description
        Previous value: -"End datetime ISO 8601"New value: +"End: ISO-8601 or relative minutes (e.g. \"0\" for now). Not now-1h."
    • Changedcf_logpush_jobs_list1 field changed
      • addedOutput schema / properties / data / properties / edgeHttpForensics
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "datadogDestinations": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "gaps": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "hasEnabledHttpPush": {
        +      "type": "boolean"
        +    },
        +    "hasHttpRequestDataset": {
        +      "type": "boolean"
        +    },
        +    "nextSteps": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "otherDestinations": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "recommendedDdQueries": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "s3Destinations": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "warnings": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "zoneHint": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "hasHttpRequestDataset",
        +    "hasEnabledHttpPush",
        +    "datadogDestinations",
        +    "s3Destinations",
        +    "otherDestinations",
        +    "recommendedDdQueries",
        +    "nextSteps",
        +    "gaps",
        +    "warnings"
        +  ],
        +  "type": "object"
        +}
    • Changeddd_errors_by_service3 fields changed
      • addedInput schema / properties / from
        Added value: +{
        +  "description": "Start window: now-15h, now-14h30m, ISO-8601, or epoch (overrides hours)",
        +  "type": "string"
        +}
      • changedInput schema / properties / hours / description
        Previous value: -"Time window in hours"New value: +"Relative window in hours when from/to omitted (default 1)"
      • addedInput schema / properties / to
        Added value: +{
        +  "description": "End window (default now when from is set)",
        +  "type": "string"
        +}
    • Changeddd_events_search2 fields changed
      • addedOutput schema / properties / data / properties / events / items / additionalProperties / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  },
        +  {
        +    "items": {
        +      "$ref": "#/properties/data/properties/events/items/additionalProperties"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "additionalProperties": {
        +      "$ref": "#/properties/data/properties/events/items/additionalProperties"
        +    },
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / events / items / additionalProperties / type
        Removed value: -[
        -  "string",
        -  "number",
        -  "boolean",
        -  "null"
        -]
    • Changeddd_logs_aggregate3 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"Start window, e.g. now-1h"New value: +"Start window: now-1h, now-14h30m, ISO-8601, or epoch (normalized to ISO before Datadog)"
      • changedInput schema / properties / groupBy / description
        Previous value: -"Facet to group by, e.g. service"New value: +"Indexed facet to group by (e.g. service, status, @http.status_code). Must exist in the log index."
      • changedInput schema / properties / to / description
        Previous value: -"End window (default now)"New value: +"End window (default now); same formats as from"
    • Changeddd_logs_search5 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"Start window, e.g. now-1h"New value: +"Start window: now-1h, now-14h30m, ISO-8601, or epoch"
      • changedInput schema / properties / to / description
        Previous value: -"End window, e.g. now"New value: +"End window: now, ISO-8601, or epoch"
      • changedOutput schema / properties / data / properties / events / items / additionalProperties
        Previous value: -falseNew value: +true
      • addedOutput schema / properties / data / properties / events / items / properties / attributes / additionalProperties / anyOf
        Added value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "type": "null"
        +  },
        +  {
        +    "items": {
        +      "$ref": "#/properties/data/properties/events/items/properties/attributes/additionalProperties"
        +    },
        +    "type": "array"
        +  },
        +  {
        +    "additionalProperties": {
        +      "$ref": "#/properties/data/properties/events/items/properties/attributes/additionalProperties"
        +    },
        +    "type": "object"
        +  }
        +]
      • removedOutput schema / properties / data / properties / events / items / properties / attributes / additionalProperties / type
        Removed value: -[
        -  "string",
        -  "number",
        -  "boolean",
        -  "null"
        -]
    • Changeddd_metrics_query2 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"Start window, e.g. now-1h (default)"New value: +"Start window: now-1h, now-14h30m, ISO-8601, or epoch (default now-1h)"
      • changedInput schema / properties / to / description
        Previous value: -"End window, e.g. now (default)"New value: +"End window: now, ISO-8601, or epoch (default now)"
    • Changeddd_synthetics_results16 fields changed
      • changedInput schema / properties / from / description
        Previous value: -"Start window, e.g. now-1h or ISO timestamp"New value: +"Start window: now-1h, now-14h30m, or ISO timestamp"
      • changedInput schema / properties / to / description
        Previous value: -"End window, e.g. now or ISO timestamp"New value: +"End window: now or ISO timestamp"
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -falseNew value: +true
      • addedOutput schema / properties / data / properties / detail
        Added value: +{
        +  "$ref": "#/properties/data/properties/results/items/additionalProperties"
        +}
      • addedOutput schema / properties / data / properties / error
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / finishedAt
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / locations
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "location": {
        -        "type": "string"
        -      },
        -      "passed": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "location"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / name
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / publicId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / results
        Added value: +{
        +  "items": {
        +    "additionalProperties": {
        +      "anyOf": [
        +        {
        +          "type": "string"
        +        },
        +        {
        +          "type": "number"
        +        },
        +        {
        +          "type": "boolean"
        +        },
        +        {
        +          "type": "null"
        +        },
        +        {
        +          "items": {
        +            "$ref": "#/properties/data/properties/results/items/additionalProperties"
        +          },
        +          "type": "array"
        +        },
        +        {
        +          "additionalProperties": {
        +            "$ref": "#/properties/data/properties/results/items/additionalProperties"
        +          },
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / startedAt
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / suggestions
        Added value: +{
        +  "items": {
        +    "$ref": "#/properties/data/properties/results/items/additionalProperties"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "failed": {
        +      "type": "number"
        +    },
        +    "no_data": {
        +      "type": "number"
        +    },
        +    "passed": {
        +      "type": "number"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / test
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "config_status": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "public_id": {
        +      "type": "string"
        +    },
        +    "type": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / window
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "from": {
        +      "type": [
        +        "string",
        +        "number"
        +      ]
        +    },
        +    "to": {
        +      "type": [
        +        "string",
        +        "number"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "from",
        +    "to"
        +  ],
        +  "type": "object"
        +}
    • Changeddeployment_status2 fields changed
      • changedInput schema / properties / target / description
        Previous value: -"Cloud Catalog account or product qualifier (slug, name, alias, or detection pattern)."New value: +"Cloud Catalog account or product qualifier (slug, name, alias, or detection pattern). Required when the tenant has multiple accounts sharing the same env (e.g. prd) — otherwise the tool returns candidates."
      • addedOutput schema / properties / data / properties / candidates
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  8. 6 tool updates
    • Changedaws_sso_login3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
    • Changedaws_sso_login_device_poll3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
    • Changedaws_sso_login_device_start3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
    • Changedaws_sso_login_global_poll3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
    • Changedaws_sso_login_global_start3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
    • Changedaws_sso_login_remote3 fields changed
      • addedOutput schema / properties / data / properties / errorCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / retryable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
  9. 258 tool updates
    • Changedalerts_active22 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / _signatureAscii
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / _summaryNote
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / alerts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "ageCategory": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "state": {
        +        "type": "string"
        +      },
        +      "triggeredAt": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "state",
        +      "type",
        +      "triggeredAt",
        +      "ageCategory"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / queriedAt
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / source
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "source",
        +  "queriedAt",
        +  "alerts"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedargocd_app_resources18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / app
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / appName
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / applications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / clusters
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resources / $ref
        Removed value: -"#/properties/data/properties/items"
      • addedOutput schema / properties / data / properties / resources / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "health": {
        +      "enum": [
        +        "Healthy",
        +        "Progressing",
        +        "Degraded",
        +        "Suspended",
        +        "Missing",
        +        "Unknown"
        +      ],
        +      "type": "string"
        +    },
        +    "kind": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "namespace": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / resources / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / totalResources
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "appName",
        +  "resources",
        +  "totalResources",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedargocd_app_unhealthy18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / app
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / appName
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / applications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / clusters
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resources / $ref
        Removed value: -"#/properties/data/properties/items"
      • addedOutput schema / properties / data / properties / resources / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "health": {
        +      "enum": [
        +        "Healthy",
        +        "Progressing",
        +        "Degraded",
        +        "Suspended",
        +        "Missing",
        +        "Unknown"
        +      ],
        +      "type": "string"
        +    },
        +    "kind": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "namespace": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / resources / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / suggestions
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "appName",
        +  "resources",
        +  "suggestions",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedargocd_debug19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / app
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / appCount
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / applications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / apps
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cluster": {
        +        "type": "string"
        +      },
        +      "healthStatus": {
        +        "enum": [
        +          "Healthy",
        +          "Progressing",
        +          "Degraded",
        +          "Suspended",
        +          "Missing",
        +          "Unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "namespace": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "syncStatus": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / clusters
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / error
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / instance
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / reachable
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resources
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "reachable",
        +  "appCount",
        +  "apps",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedargocd_get_app22 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / app / $ref
        Removed value: -"#/properties/data/properties/items/items"
      • addedOutput schema / properties / data / properties / app / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / app / properties
        Added value: +{
        +  "cluster": {
        +    "type": "string"
        +  },
        +  "healthStatus": {
        +    "enum": [
        +      "Healthy",
        +      "Progressing",
        +      "Degraded",
        +      "Suspended",
        +      "Missing",
        +      "Unknown"
        +    ],
        +    "type": "string"
        +  },
        +  "name": {
        +    "type": "string"
        +  },
        +  "namespace": {
        +    "type": "string"
        +  },
        +  "project": {
        +    "type": "string"
        +  },
        +  "revision": {
        +    "type": "string"
        +  },
        +  "syncStatus": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / app / required
        Added value: +[
        +  "name"
        +]
      • addedOutput schema / properties / data / properties / app / type
        Added value: +"object"
      • removedOutput schema / properties / data / properties / applications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / clusters
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / conditions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "message": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "message"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / lastSyncedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resources / $ref
        Removed value: -"#/properties/data/properties/items"
      • addedOutput schema / properties / data / properties / resources / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "health": {
        +      "$ref": "#/properties/data/properties/app/properties/healthStatus"
        +    },
        +    "kind": {
        +      "type": "string"
        +    },
        +    "message": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "namespace": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / resources / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "app",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_athena_query18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_athena_query",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_bedrock_agent_diagnose18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_bedrock_agent_diagnose",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_cli_query20 fields changed
      • removedOutput schema / properties / data / properties / command / default
        Removed value: -""
      • addedOutput schema / properties / data / properties / exitCode / anyOf
        Added value: +[
        +  {
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedOutput schema / properties / data / properties / exitCode / default
        Removed value: -null
      • removedOutput schema / properties / data / properties / exitCode / type
        Removed value: -[
        -  "number",
        -  "null"
        -]
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / parsed
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / parsedJson
        Removed value: -{
        -  "additionalProperties": true,
        -  "properties": {},
        -  "type": "object"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "path": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": [
        +                    "string",
        +                    "number",
        +                    "boolean",
        +                    "null"
        +                  ]
        +                },
        +                {
        +                  "items": {
        +                    "$ref": "#/properties/data/properties/records/items/properties/facts/items/properties/value/anyOf/0"
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "path",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "index": {
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "key": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "index",
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / service
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / stderr / default
        Removed value: -""
      • removedOutput schema / properties / data / properties / stdout / default
        Removed value: -""
      • addedOutput schema / properties / data / properties / subcommand
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "command",
        +  "exitCode",
        +  "stdout",
        +  "stderr",
        +  "parsed",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_cloudwatch_logs_search18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_cloudwatch_logs_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_codeartifact_packages18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_codeartifact_packages",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_codeartifact_versions18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_codeartifact_versions",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_dynamodb_describe_table18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_dynamodb_describe_table",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_dynamodb_query18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_dynamodb_query",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_ecr_images15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / images
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "digest": {
        +        "type": "string"
        +      },
        +      "pushedAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "tags"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repositoryName
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repositoryName",
        +  "images",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_ecr_repos14 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repositories
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "uri": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repositories",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_lambda_agent_diagnose18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_lambda_agent_diagnose",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_rds_data_query18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_rds_data_query",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_s3_find18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_s3_find",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_secretsmanager_describe18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_secretsmanager_describe",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_secretsmanager_list18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "aws",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "aws_secretsmanager_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / region
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login_device_poll18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login_device_start18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login_global_poll18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login_global_start18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sso_login_remote18 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / flowType
        Added value: +{
        +  "enum": [
        +    "completed",
        +    "device_code",
        +    "oauth_pkce",
        +    "unknown"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / instructions
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / oauthUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / profile
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / ssoRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / success
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUriComplete
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / workaround
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "flowType",
        +  "profile"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedaws_sts_whoami2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_blob_find19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_blob_find",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_cli_query5 fields changed
      • changedOutput schema / properties / data / properties / parsedJson / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / parsedJson / properties / count
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / parsedJson / properties / items
        Added value: +{
        +  "items": {
        +    "additionalProperties": {
        +      "type": [
        +        "string",
        +        "number",
        +        "boolean",
        +        "null"
        +      ]
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_dns_lookup10 fields changed
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / hostname
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "type": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "value"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "hostname",
        +  "records",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_keyvault_secret_metadata19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_keyvault_secret_metadata",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_keyvault_secrets_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_keyvault_secrets_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_log_analytics_query19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_log_analytics_query",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_resource_groups19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_resource_groups",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_dlq_content17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / entityPath
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / messages
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bodyPreview": {
        +        "type": "string"
        +      },
        +      "sequenceNumber": {
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "entityPath",
        +  "messages",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_health_overview15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespaces
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "health": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "queueCount": {
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "health"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespaces",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_message_explorer17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / entityPath
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / messages
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bodyPreview": {
        +        "type": "string"
        +      },
        +      "deliveryCount": {
        +        "type": "integer"
        +      },
        +      "enqueuedAt": {
        +        "type": "string"
        +      },
        +      "messageId": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "entityPath",
        +  "messages",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_monitoring_report16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / sections
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "detail": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "title",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "sections",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_namespace_health17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / metricAlerts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / provisioningState
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_namespaces15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespaces
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "location": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sku": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespaces",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_queue_deadletter18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / deadLetterCount
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / queueName
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / sampleMessages
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bodyPreview": {
        +        "type": "string"
        +      },
        +      "enqueuedAt": {
        +        "type": "string"
        +      },
        +      "messageId": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "queueName",
        +  "deadLetterCount",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_queue_metrics19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / activeMessageCount
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / deadLetterMessageCount
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / queueName
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / sizeInBytes
        Added value: +{
        +  "type": "number"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "queueName",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_queues15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / queues
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "activeMessageCount": {
        +        "type": "integer"
        +      },
        +      "deadLetterMessageCount": {
        +        "type": "integer"
        +      },
        +      "maxSizeInMegabytes": {
        +        "type": "number"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "queues",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_resourcegroup_detect15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / candidates
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "candidates",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_topic_sub_metrics19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / activeMessageCount
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / deadLetterMessageCount
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / subscription
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / topic
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "topic",
        +  "subscription",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_topic_subscriptions17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / subscriptions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "activeMessageCount": {
        +        "type": "integer"
        +      },
        +      "deadLetterMessageCount": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "topic": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / topic
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "topic",
        +  "subscriptions",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_servicebus_topics16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespace
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / topics
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "name": {
        +        "type": "string"
        +      },
        +      "subscriptionCount": {
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespace",
        +  "topics",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_subscription_set19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_subscription_set",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_subscriptions_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "azure",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / nextLink
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "azure_subscriptions_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "arn": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "resourceGroup": {
        +        "type": "string"
        +      },
        +      "sizeBytes": {
        +        "type": "number"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "subscriptionId": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / resourceGroup
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / subscriptionId
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / value
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_user_login_poll12 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pollIntervalSeconds
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "enum": [
        +    "pending",
        +    "completed",
        +    "failed"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "status"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_user_login_start12 fields changed
      • addedOutput schema / properties / data / properties / deviceCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / expiresIn
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pollIntervalSeconds
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "enum": [
        +    "pending",
        +    "completed",
        +    "failed"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / userCode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / verificationUri
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "status"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_user_session_revoke10 fields changed
      • addedOutput schema / properties / data / properties / authenticated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / expiresAt
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / subscriptionId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / tenantId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "authenticated"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedazure_user_session_status10 fields changed
      • addedOutput schema / properties / data / properties / authenticated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / expiresAt
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / subscriptionId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / tenantId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "authenticated"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_branches_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_branches_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_commits_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_commits_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pipeline_diagnose16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / failedSteps / $ref
        Removed value: -"#/properties/data/properties/steps"
      • addedOutput schema / properties / data / properties / failedSteps / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "log": {
        +      "type": "string"
        +    },
        +    "step": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "name": {
        +          "type": "string"
        +        },
        +        "uuid": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "uuid"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "step",
        +    "log"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / failedSteps / type
        Added value: +"array"
      • changedOutput schema / properties / data / properties / pipeline / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / pipeline / properties / result
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipeline / properties / state
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipeline / properties / uuid
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipeline / required
        Added value: +[
        +  "uuid"
        +]
      • removedOutput schema / properties / data / properties / steps / items / $ref
        Removed value: -"#/properties/data/properties/pipeline"
      • addedOutput schema / properties / data / properties / steps / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / steps / items / properties
        Added value: +{
        +  "name": {
        +    "type": "string"
        +  },
        +  "result": {
        +    "type": "string"
        +  },
        +  "uuid": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / steps / items / required
        Added value: +[
        +  "uuid"
        +]
      • addedOutput schema / properties / data / properties / steps / items / type
        Added value: +"object"
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pipeline_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pipeline_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pipelines_latest8 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / pipelines / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / pipelines / items / properties / result
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipelines / items / properties / state
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipelines / items / properties / uuid
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pipelines / items / required
        Added value: +[
        +  "uuid"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pr_commits21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pr_commits",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pr_diff21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pr_diff",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pr_diffstat21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pr_diffstat",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pr_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pr_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_pr_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_pr_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_repos_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_repos_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedbb_tags_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "bitbucket",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "bb_tags_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcert_status2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_account_ruleset_entrypoint_get2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_account_ruleset_get2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_analytics_overview20 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / since
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / timeseries
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "bytes": {
        +        "type": "number"
        +      },
        +      "requests": {
        +        "type": "number"
        +      },
        +      "timestamp": {
        +        "$ref": "#/properties/data/properties/since"
        +      }
        +    },
        +    "required": [
        +      "timestamp"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / totals
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "bytes": {
        +      "type": "number"
        +    },
        +    "cachedBytes": {
        +      "type": "number"
        +    },
        +    "cachedRequests": {
        +      "type": "number"
        +    },
        +    "requests": {
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / until
        Added value: +{
        +  "$ref": "#/properties/data/properties/since"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zoneId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_analytics17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / totals
        Added value: +{
        +  "additionalProperties": {
        +    "type": "number"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zoneId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_probe19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / age
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / cacheStatus
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / statusCode
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / url
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "url",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_purge15 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "success",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_purge_history16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / entries
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "occurredAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "entries",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cache_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cname_flattening_get16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / flattened
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "flattened",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_cname_flattening_set16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / flattened
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "flattened",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_config_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_config_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_dns_records18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "comment": {
        +        "type": "string"
        +      },
        +      "content": {
        +        "type": "string"
        +      },
        +      "createdOn": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "modifiedOn": {
        +        "$ref": "#/properties/data/properties/records/items/properties/createdOn"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "integer"
        +      },
        +      "proxiable": {
        +        "type": "boolean"
        +      },
        +      "proxied": {
        +        "type": "boolean"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "ttl": {
        +        "type": "integer"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "zoneId": {
        +        "type": "string"
        +      },
        +      "zoneName": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "zoneId",
        +      "name",
        +      "type",
        +      "content"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_firewall_events17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / events
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "clientAsn": {
        +        "type": "string"
        +      },
        +      "clientCountryName": {
        +        "type": "string"
        +      },
        +      "clientIp": {
        +        "type": "string"
        +      },
        +      "clientRequestHost": {
        +        "type": "string"
        +      },
        +      "clientRequestMethod": {
        +        "type": "string"
        +      },
        +      "clientRequestPath": {
        +        "type": "string"
        +      },
        +      "datetime": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "rayId": {
        +        "type": "string"
        +      },
        +      "ruleId": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "userAgent": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "events",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_http_security_breakdown2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_http_security_samples2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_http_security_top_talkers2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_kv_keys_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / keys
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "expiration": {
        +        "type": "number"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "keys",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_kv_namespaces_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / namespaces
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "supportsUrlEncoding": {
        +        "type": "boolean"
        +      },
        +      "title": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "namespaces",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_kv_value_get18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / key
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / metadata
        Added value: +{
        +  "additionalProperties": {
        +    "type": [
        +      "string",
        +      "number",
        +      "boolean",
        +      "null"
        +    ]
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / value
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "key",
        +  "value",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_lb_monitors_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / monitors
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "method": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "monitors",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_lb_pools_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pools
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "pools",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_load_balancer_get16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / loadBalancer
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "defaultPools": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "enabled": {
        +      "type": "boolean"
        +    },
        +    "fallbackPool": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "loadBalancer",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_load_balancers_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / loadBalancers
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "defaultPools": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "fallbackPool": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "loadBalancers",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_logpush_job_get16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / job
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "dataset": {
        +      "type": "string"
        +    },
        +    "destinationConf": {
        +      "type": "string"
        +    },
        +    "enabled": {
        +      "type": "boolean"
        +    },
        +    "id": {
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "job",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_logpush_jobs_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / jobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "dataset": {
        +        "type": "string"
        +      },
        +      "destinationConf": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "id": {
        +        "type": "integer"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "jobs",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_origin_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_origin_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_page_rule_create19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageRule
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actions": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": [
        +              "string",
        +              "number",
        +              "boolean"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "priority": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "targets": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "constraint": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "operator": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "operator",
        +              "value"
        +            ],
        +            "type": "object"
        +          },
        +          "target": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "target",
        +          "constraint"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_page_rule_delete19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageRule
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actions": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": [
        +              "string",
        +              "number",
        +              "boolean"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "priority": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "targets": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "constraint": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "operator": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "operator",
        +              "value"
        +            ],
        +            "type": "object"
        +          },
        +          "target": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "target",
        +          "constraint"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_page_rule_update19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageRule
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actions": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": [
        +              "string",
        +              "number",
        +              "boolean"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "priority": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "targets": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "constraint": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "operator": {
        +                "type": "string"
        +              },
        +              "value": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "operator",
        +              "value"
        +            ],
        +            "type": "object"
        +          },
        +          "target": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "target",
        +          "constraint"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_page_rules_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageRules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "actions": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "id": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "type": [
        +                "string",
        +                "number",
        +                "boolean"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "id"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "integer"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "targets": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "constraint": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "operator": {
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "operator",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "target": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "target",
        +            "constraint"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "pageRules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_quick_status17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / httpCheck
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "latencyMs": {
        +      "type": "number"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "statusCode": {
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zone
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "accountId": {
        +      "type": "string"
        +    },
        +    "createdOn": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "modifiedOn": {
        +      "$ref": "#/properties/data/properties/zone/properties/createdOn"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "nameServers": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "paused": {
        +      "type": "boolean"
        +    },
        +    "plan": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "id": {
        +          "type": "string"
        +        },
        +        "isSubscribed": {
        +          "type": "boolean"
        +        },
        +        "name": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "id",
        +        "name"
        +      ],
        +      "type": "object"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name",
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_redirect_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_redirect_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_rules_list_items18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0"
      • addedOutput schema / properties / data / properties / items / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "comment": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "ip": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / items / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / listId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "items",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_rules_lists_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lists
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "description": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "kind": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "numItems": {
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "kind"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "lists",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ruleset_entrypoint_get25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ruleset_entrypoint_update25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_rulesets_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rulesets
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "description": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "kind": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "phase": {
        +        "type": "string"
        +      },
        +      "version": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rulesets",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_snippet_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_snippets_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / snippets
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "snippets",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ssl_certificate_packs16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / packs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "certificateAuthority": {
        +        "type": "string"
        +      },
        +      "hosts": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "validationMethod": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "packs",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ssl_mode_get17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / mode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zoneId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "mode",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ssl_mode_set17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / mode
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zoneId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "mode",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_ssl_verification16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / verifications
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "brandCheck": {
        +        "type": "boolean"
        +      },
        +      "certificateStatus": {
        +        "type": "string"
        +      },
        +      "hostname": {
        +        "type": "string"
        +      },
        +      "verificationStatus": {
        +        "type": "string"
        +      },
        +      "verificationType": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "hostname",
        +      "certificateStatus"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "verifications",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_transform_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_transform_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_waf_custom_rules_list25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_waf_custom_rules_replace25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / lastUpdated
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / phase
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "childRulesetId": {
        +        "type": "string"
        +      },
        +      "description": {
        +        "type": "string"
        +      },
        +      "enabled": {
        +        "type": "boolean"
        +      },
        +      "expression": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "enabled"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / version
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rules",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_waf_ip_audit20 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / ips
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • addedOutput schema / properties / data / properties / listRefs
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / rulesScanned
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / unparseableRules
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "expression": {
        +        "type": "string"
        +      },
        +      "ruleId": {
        +        "type": "string"
        +      },
        +      "ruleName": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ruleId",
        +      "ruleName",
        +      "expression"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zoneId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "rulesScanned",
        +  "listRefs",
        +  "ips",
        +  "unparseableRules",
        +  "warnings",
        +  "partial",
        +  "truncated",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_domains_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / scripts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdOn": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "tag": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "scripts",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_route_create19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / route
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "pattern": {
        +      "type": "string"
        +    },
        +    "script": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "pattern"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_route_delete19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / route
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "pattern": {
        +      "type": "string"
        +    },
        +    "script": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "pattern"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_route_update19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors / items / $ref
        Removed value: -"#/properties/data/properties/result/anyOf/0/items"
      • addedOutput schema / properties / data / properties / errors / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / errors / items / properties
        Added value: +{
        +  "code": {
        +    "type": "integer"
        +  },
        +  "message": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / errors / items / required
        Added value: +[
        +  "message"
        +]
      • addedOutput schema / properties / data / properties / errors / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / route
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "pattern": {
        +      "type": "string"
        +    },
        +    "script": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "pattern"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_routes_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / routes
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "pattern": {
        +        "type": "string"
        +      },
        +      "script": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "pattern"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "routes",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_script_deployments16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / scripts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdOn": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "tag": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "scripts",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_workers_scripts_list16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / scripts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdOn": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "tag": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "scripts",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_zone_settings_get16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / settings
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": [
        +          "string",
        +          "number",
        +          "boolean"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "value"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "settings",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_zone_status21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / accountId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / createdOn
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / modifiedOn
        Added value: +{
        +  "$ref": "#/properties/data/properties/createdOn"
        +}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / nameServers
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / paused
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / plan
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "id": {
        +      "type": "string"
        +    },
        +    "isSubscribed": {
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / type
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "id",
        +  "name",
        +  "status"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcf_zones_list18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / errors
        Removed value: -{
        -  "items": {
        -    "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0"
        -}
      • removedOutput schema / properties / data / properties / messages
        Removed value: -{
        -  "items": {
        -    "anyOf": [
        -      {
        -        "type": "string"
        -      },
        -      {
        -        "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -      }
        -    ]
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / result
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "items": {
        -        "additionalProperties": true,
        -        "properties": {},
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / result_info
        Removed value: -{
        -  "$ref": "#/properties/data/properties/result/anyOf/0/items"
        -}
      • removedOutput schema / properties / data / properties / success
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / zones
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "accountId": {
        +        "type": "string"
        +      },
        +      "createdOn": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "modifiedOn": {
        +        "$ref": "#/properties/data/properties/zones/items/properties/createdOn"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "nameServers": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "paused": {
        +        "type": "boolean"
        +      },
        +      "plan": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "isSubscribed": {
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "name"
        +        ],
        +        "type": "object"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "zones",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcheck_azure_session_for_account10 fields changed
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / loginRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / subscriptionId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / tenantId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / valid
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "valid"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedcheck_azure_session_for_tenant10 fields changed
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / loginRequired
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / subscriptionId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / tenantId
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / valid
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "valid"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedconfluence_page_read6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedconfluence_search6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_apm_traces_search5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / spans / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / spans / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_downtimes_active5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / downtimes / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / downtimes / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_errors_by_service4 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / services / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_errors_recent5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / sample / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / sample / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_events_search5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / events / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / events / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_log_get5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / logs / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / logs / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_logs_aggregate3 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_logs_search7 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / events / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / events / items / properties / attributes
        Added value: +{
        +  "additionalProperties": {
        +    "type": [
        +      "string",
        +      "number",
        +      "boolean",
        +      "null"
        +    ]
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / events / items / properties / id
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / events / items / properties / message
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_metrics_query5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / series / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / series / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_monitors_lookup5 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / monitors / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / monitors / items / properties
        Removed value: -{}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_synthetics_results18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / finishedAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / links
        Removed value: -{
        -  "$ref": "#/properties/data/properties/data/items"
        -}
      • addedOutput schema / properties / data / properties / locations
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "location": {
        +        "type": "string"
        +      },
        +      "passed": {
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "location"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/data/items"
        -}
      • addedOutput schema / properties / data / properties / name
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / publicId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / resultId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / startedAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_synthetics_summary4 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddd_waf_bots16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / blocked
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / from
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / links
        Removed value: -{
        -  "$ref": "#/properties/data/properties/data/items"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/data/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / sampledEvents
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "action": {
        +        "type": "string"
        +      },
        +      "clientIp": {
        +        "type": "string"
        +      },
        +      "path": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / to
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "from",
        +  "to",
        +  "total",
        +  "sampledEvents",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddeployment_status2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddns_lookup2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changeddnssec_check2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedeks_update_kubeconfig17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / cluster
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / updated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "context",
        +  "cluster",
        +  "updated",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedenv_capacity_overview26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "environment",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "env_capacity_overview",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedenv_errors_overview26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "environment",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "env_errors_overview",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedenv_health_summary27 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / _signatureAscii
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / capacity
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "anyPressure": {
        +      "type": "boolean"
        +    },
        +    "notes": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "anyPressure"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / deployments
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "notes": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "version": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "service",
        +      "version",
        +      "timestamp",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / env
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / errors
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "topServices": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "errorCount": {
        +            "type": "number"
        +          },
        +          "rate": {
        +            "type": "number"
        +          },
        +          "service": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "service"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "totalErrorRate": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "totalErrorRate",
        +    "topServices"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / kubernetes
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "nodes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "ready": {
        +          "type": "number"
        +        },
        +        "total": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "ready",
        +        "total"
        +      ],
        +      "type": "object"
        +    },
        +    "pods": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "failed": {
        +          "type": "number"
        +        },
        +        "pending": {
        +          "type": "number"
        +        },
        +        "running": {
        +          "type": "number"
        +        },
        +        "succeeded": {
        +          "type": "number"
        +        },
        +        "total": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "running",
        +        "pending",
        +        "failed",
        +        "succeeded",
        +        "total"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / latency
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "comments": {
        +      "type": "string"
        +    },
        +    "trend": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "trend"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / noteworthyEvents
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • changedOutput schema / properties / data / properties / status / type
        Previous value: -[
        -  "string",
        -  "number"
        -]New value: +"string"
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / uptime
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "checks": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "hostname": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "number"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "uptimePercent": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "downCount": {
        +      "type": "number"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "source",
        +    "status",
        +    "downCount"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / windowHours
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "status",
        +  "env",
        +  "windowHours"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_actions_diagnose11 fields changed
      • addedOutput schema / properties / data / properties / failedJobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "entries": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "level": {
        +              "enum": [
        +                "trace",
        +                "debug",
        +                "info",
        +                "warn",
        +                "error",
        +                "fatal",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "timestamp": {
        +              "$ref": "#/properties/data/properties/run/properties/createdAt"
        +            },
        +            "traceId": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "job": {
        +        "$ref": "#/properties/data/properties/jobs/items"
        +      },
        +      "logExcerpt": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "job",
        +      "logExcerpt"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / jobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "completedAt": {
        +        "$ref": "#/properties/data/properties/run/properties/createdAt"
        +      },
        +      "conclusion": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "startedAt": {
        +        "$ref": "#/properties/data/properties/run/properties/createdAt"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "steps": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "conclusion": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "number": {
        +              "type": "integer"
        +            },
        +            "status": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "status",
        +            "conclusion",
        +            "number"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "status",
        +      "conclusion"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / run
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actor": {
        +      "type": "string"
        +    },
        +    "branch": {
        +      "type": "string"
        +    },
        +    "conclusion": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "createdAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "durationSeconds": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "htmlUrl": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "updatedAt": {
        +      "$ref": "#/properties/data/properties/run/properties/createdAt"
        +    },
        +    "workflowId": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "workflowId",
        +    "status",
        +    "conclusion",
        +    "branch",
        +    "createdAt",
        +    "updatedAt",
        +    "durationSeconds",
        +    "htmlUrl"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "run",
        +  "jobs",
        +  "failedJobs",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_actions_latest19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / run
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "conclusion": {
        +      "type": "string"
        +    },
        +    "createdAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "headBranch": {
        +      "type": "string"
        +    },
        +    "headSha": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "enum": [
        +    "no_runs",
        +    "found"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "status",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_actions_latest_jobs19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / jobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "completedAt": {
        +        "$ref": "#/properties/data/properties/run/properties/createdAt"
        +      },
        +      "conclusion": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "startedAt": {
        +        "$ref": "#/properties/data/properties/run/properties/createdAt"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "steps": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "conclusion": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "number": {
        +              "type": "integer"
        +            },
        +            "status": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "status",
        +            "conclusion",
        +            "number"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name",
        +      "status",
        +      "conclusion"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / query
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "branch": {
        +      "type": "string"
        +    },
        +    "owner": {
        +      "type": "string"
        +    },
        +    "repo": {
        +      "type": "string"
        +    },
        +    "workflow": {
        +      "type": [
        +        "string",
        +        "number"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / run
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actor": {
        +      "type": "string"
        +    },
        +    "branch": {
        +      "type": "string"
        +    },
        +    "conclusion": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "createdAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "durationSeconds": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "htmlUrl": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "updatedAt": {
        +      "$ref": "#/properties/data/properties/run/properties/createdAt"
        +    },
        +    "workflowId": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "workflowId",
        +    "status",
        +    "conclusion",
        +    "branch",
        +    "createdAt",
        +    "updatedAt",
        +    "durationSeconds",
        +    "htmlUrl"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "enum": [
        +    "ok",
        +    "no_runs"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "status",
        +  "query",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_actions_latest_logs16 fields changed
      • addedOutput schema / properties / data / properties / entries
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "level": {
        +        "enum": [
        +          "trace",
        +          "debug",
        +          "info",
        +          "warn",
        +          "error",
        +          "fatal",
        +          "unknown"
        +        ],
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "timestamp": {
        +        "$ref": "#/properties/data/properties/run/properties/createdAt"
        +      },
        +      "traceId": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "message"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / logExcerpt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / previewBytes
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / query
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "branch": {
        +      "type": "string"
        +    },
        +    "owner": {
        +      "type": "string"
        +    },
        +    "repo": {
        +      "type": "string"
        +    },
        +    "workflow": {
        +      "type": [
        +        "string",
        +        "number"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / run
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "actor": {
        +      "type": "string"
        +    },
        +    "branch": {
        +      "type": "string"
        +    },
        +    "conclusion": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "createdAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "durationSeconds": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "htmlUrl": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "updatedAt": {
        +      "$ref": "#/properties/data/properties/run/properties/createdAt"
        +    },
        +    "workflowId": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "workflowId",
        +    "status",
        +    "conclusion",
        +    "branch",
        +    "createdAt",
        +    "updatedAt",
        +    "durationSeconds",
        +    "htmlUrl"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / signatures
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "count": {
        +        "type": "integer"
        +      },
        +      "pattern": {
        +        "type": "string"
        +      },
        +      "sampleMessage": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "pattern",
        +      "count"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / status
        Added value: +{
        +  "enum": [
        +    "ok",
        +    "no_runs"
        +  ],
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "status",
        +  "query",
        +  "previewBytes",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_branches_list18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / branches
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "name": {
        +        "type": "string"
        +      },
        +      "protected": {
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "branches",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_commits_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / commits
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": "string"
        +      },
        +      "committedAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "sha"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "commits",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_org_repos19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / organization
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repositories
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "archived": {
        +        "type": "boolean"
        +      },
        +      "defaultBranch": {
        +        "type": "string"
        +      },
        +      "fullName": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "pushedAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "visibility": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repositories",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_pr_detail17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pullRequest
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "author": {
        +      "type": "string"
        +    },
        +    "baseRef": {
        +      "type": "string"
        +    },
        +    "body": {
        +      "type": "string"
        +    },
        +    "changedFiles": {
        +      "type": "integer"
        +    },
        +    "headRef": {
        +      "type": "string"
        +    },
        +    "mergeCommitSha": {
        +      "type": "string"
        +    },
        +    "mergeable": {
        +      "type": "boolean"
        +    },
        +    "merged": {
        +      "type": "boolean"
        +    },
        +    "mergedAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "number": {
        +      "type": "integer"
        +    },
        +    "state": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "number",
        +    "title",
        +    "state"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "pullRequest",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_pr_diff19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / diff
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pullNumber
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "pullNumber",
        +  "diff",
        +  "truncated",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_pr_files19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / files
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "integer"
        +      },
        +      "deletions": {
        +        "type": "integer"
        +      },
        +      "path": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "path"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pullNumber
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "pullNumber",
        +  "files",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_repo_prs19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pullRequests
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "author": {
        +        "type": "string"
        +      },
        +      "baseRef": {
        +        "type": "string"
        +      },
        +      "headRef": {
        +        "type": "string"
        +      },
        +      "number": {
        +        "type": "integer"
        +      },
        +      "state": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "number",
        +      "title",
        +      "state"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "pullRequests",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_repo_summary17 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "archived": {
        +      "type": "boolean"
        +    },
        +    "defaultBranch": {
        +      "type": "string"
        +    },
        +    "fullName": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "pushedAt": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "visibility": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_search_code4 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_tags_list18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / tags
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "commitSha": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "tags",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_workflow_dispatch20 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / dispatched
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / ref
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / workflow
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "integer"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "workflow",
        +  "dispatched",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_workflow_list18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / workflows
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "path": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "workflows",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedghe_workflow_runs_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / pageInfo
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": "string"
        +    },
        +    "returned": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "returned",
        +    "hasMore"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / repository
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • addedOutput schema / properties / data / properties / runs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "format": "date-time",
        +        "type": "string"
        +      },
        +      "headBranch": {
        +        "type": "string"
        +      },
        +      "headSha": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / total
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "repository",
        +  "runs",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_branches_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_branches_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_commits_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_commits_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_mr_changes21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_mr_changes",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_mr_commits21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_mr_commits",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_mr_diff21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_mr_diff",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_mr_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_mr_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_mr_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_mr_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_pipeline_diagnose11 fields changed
      • addedOutput schema / properties / data / properties / failedJobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "failureReason": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "logExcerpt": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "stage": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / jobs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "id": {
        +        "type": "integer"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "stage": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "id",
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pipeline
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "createdOn": {
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "durationSec": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "id": {
        +      "type": "integer"
        +    },
        +    "iid": {
        +      "type": "integer"
        +    },
        +    "ref": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "webUrl": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "status"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "pipeline",
        +  "jobs",
        +  "failedJobs",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_pipeline_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_pipeline_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_pipelines_latest21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_pipelines_latest",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_projects_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_projects_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedgl_tags_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "gitlab",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "gl_tags_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "additions": {
        +        "type": "number"
        +      },
        +      "author": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "conclusion": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "deletions": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "sha": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedhttp_check2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issue_comments21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issue_comments",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issue_fulldetails21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issue_fulldetails",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issue_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issue_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issues_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issues_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issues_recent21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issues_recent",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedjira_issues_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "jira",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "jira_issues_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_autodiag_notification19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / channel
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / context
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / delivered
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "delivered",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_cluster_summary18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / nodes
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "ready": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "ready"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pods
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "byPhase": {
        +      "additionalProperties": {
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "type": "object"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "byPhase"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / signatureAscii
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "nodes",
        +  "pods",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_containers_count21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / byNamespace
        Added value: +{
        +  "additionalProperties": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / byPhase
        Added value: +{
        +  "additionalProperties": {
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / context
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / initContainers
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / regularContainers
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "total",
        +  "regularContainers",
        +  "initContainers",
        +  "byNamespace",
        +  "byPhase",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_context_use16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / previous
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "context",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_contexts18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / context
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / contexts
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "cluster": {
        +        "type": "string"
        +      },
        +      "current": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / current
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "contexts",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_cronjob_pods18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / context
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / cronJob
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / pods
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "age": {
        +        "type": "string"
        +      },
        +      "jobName": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "namespace": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "phase": {
        +        "type": "string"
        +      },
        +      "pod": {
        +        "type": "string"
        +      },
        +      "ready": {
        +        "type": "string"
        +      },
        +      "restarts": {
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "pods",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_describe15 fields changed
      • addedOutput schema / properties / data / properties / conditions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "lastTransitionAt": {
        +        "$ref": "#/properties/data/properties/observedAt"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "reason": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "type",
        +      "status"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / events
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "count": {
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "firstSeenAt": {
        +        "$ref": "#/properties/data/properties/observedAt"
        +      },
        +      "lastSeenAt": {
        +        "$ref": "#/properties/data/properties/observedAt"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "reason": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "message"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / observedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / resource
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "account": {
        +      "type": "string"
        +    },
        +    "environment": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "provider": {
        +      "type": "string"
        +    },
        +    "type": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "provider",
        +    "type",
        +    "id",
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / statusSummary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / yaml
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "resource",
        +  "observedAt",
        +  "yaml",
        +  "conditions",
        +  "events",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedk8s_find_pod18 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / apiVersion
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / context
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / kind
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / matches
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "age": {
        +        "type": "string"
        +      },
        +      "jobName": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "namespace": {
        +        "type": "string"
        +      },
        +      "node": {
        +        "type": "string"
        +      },
        +      "phase": {
        +        "type": "string"
        +      },
        +      "pod": {
        +        "type": "string"
        +      },
        +      "ready": {
        +        "type": "string"
        +      },
        +      "restarts": {
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "name"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / metadata
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / namespace
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / query
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "matches",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedobservability_daily_digest13 fields changed
      • addedOutput schema / properties / data / properties / envs
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "env": {
        +        "type": "string"
        +      },
        +      "errorsOverview": {
        +        "additionalProperties": {
        +          "$ref": "#/properties/data/properties/envs/items/properties/health/properties/errors/additionalProperties"
        +        },
        +        "type": "object"
        +      },
        +      "health": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "env": {
        +            "type": "string"
        +          },
        +          "errors": {
        +            "additionalProperties": {
        +              "type": [
        +                "string",
        +                "number",
        +                "boolean",
        +                "null"
        +              ]
        +            },
        +            "type": "object"
        +          },
        +          "latency": {
        +            "additionalProperties": {
        +              "$ref": "#/properties/data/properties/envs/items/properties/health/properties/errors/additionalProperties"
        +            },
        +            "type": "object"
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "windowHours": {
        +            "type": "number"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "env",
        +      "health"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / generatedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / globalNotes
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / signatureAscii
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / windowHours
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "windowHours",
        +  "generatedAt",
        +  "envs",
        +  "partial",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_account_link_start6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / accounts / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / connection
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "display_name": {
        +      "type": "string"
        +    },
        +    "tenant_id": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_account_unlink6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / accounts / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / connection
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "display_name": {
        +      "type": "string"
        +    },
        +    "tenant_id": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_accounts_list6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / accounts / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / connection
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "display_name": {
        +      "type": "string"
        +    },
        +    "tenant_id": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_configure_integration6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_context_close6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / accounts / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / connection
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "display_name": {
        +      "type": "string"
        +    },
        +    "tenant_id": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_context_open6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / accounts / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / accounts / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / connection
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "display_name": {
        +      "type": "string"
        +    },
        +    "tenant_id": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_execution_budget2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_get_work_context6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_incident_rollup17 fields changed
      • addedOutput schema / properties / data / properties / alerts
        Added value: +{
        +  "additionalProperties": {
        +    "$ref": "#/properties/data/properties/errors/additionalProperties"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / deployments
        Added value: +{
        +  "additionalProperties": {
        +    "$ref": "#/properties/data/properties/errors/additionalProperties"
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / env
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / data / properties / errors
        Added value: +{
        +  "additionalProperties": {
        +    "type": [
        +      "string",
        +      "number",
        +      "boolean",
        +      "null"
        +    ]
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / format
        Removed value: -{
        -  "enum": [
        -    "plain",
        -    "markdown",
        -    "json"
        -  ],
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / hours
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / queriedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / timeline
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "kind": {
        +        "type": "string"
        +      },
        +      "source": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "ts": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ts",
        +      "source",
        +      "kind",
        +      "summary"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / windows
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "from": {
        +      "type": "string"
        +    },
        +    "to": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "from",
        +    "to"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "text"
        -]New value: +[
        +  "env",
        +  "hours",
        +  "queriedAt",
        +  "windows",
        +  "timeline",
        +  "gaps",
        +  "partial",
        +  "truncated",
        +  "warnings"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_list_integrations6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_my_usage6 fields changed
      • removedOutput schema / properties / data / properties / markdown
        Removed value: -{
        -  "type": "string"
        -}
      • changedOutput schema / properties / data / properties / workspaceAvailability / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / workspaceAvailability / properties
        Removed value: -{}
      • removedOutput schema / properties / data / required
        Removed value: -[
        -  "markdown"
        -]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_remove_integration6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_set_work_context6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedops_test_integration6 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • changedOutput schema / properties / data / properties / items / items / additionalProperties
        Previous value: -trueNew value: +{
        +  "type": [
        +    "string",
        +    "number",
        +    "boolean",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / items / items / properties
        Removed value: -{}
      • addedOutput schema / properties / data / properties / payloadJson
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpd_incident_get26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pagerduty",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pd_incident_get",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpd_incident_log_entries26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pagerduty",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pd_incident_log_entries",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpd_incidents_search26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pagerduty",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pd_incidents_search",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpd_service_get26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pagerduty",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pd_service_get",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "urgency": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpingdom_actions_recent26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pingdom",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pingdom_actions_recent",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "hostname": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "responseTimeMs": {
        +        "type": "number"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "uptimePercent": {
        +        "type": "number"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpingdom_check_get26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pingdom",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pingdom_check_get",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "hostname": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "responseTimeMs": {
        +        "type": "number"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "uptimePercent": {
        +        "type": "number"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpingdom_check_outages26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pingdom",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pingdom_check_outages",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "hostname": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "responseTimeMs": {
        +        "type": "number"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "uptimePercent": {
        +        "type": "number"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedpingdom_check_probes_status26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "pingdom",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "pingdom_check_probes_status",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "hostname": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "responseTimeMs": {
        +        "type": "number"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "uptimePercent": {
        +        "type": "number"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedprom_alerts26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "prometheus",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "prom_alerts",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "labels": {
        +        "items": {
        +          "$ref": "#/properties/data/properties/records/items/properties/facts/items"
        +        },
        +        "type": "array"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts",
        +      "labels"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedprom_label_values26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "prometheus",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "prom_label_values",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "labels": {
        +        "items": {
        +          "$ref": "#/properties/data/properties/records/items/properties/facts/items"
        +        },
        +        "type": "array"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts",
        +      "labels"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedprom_query26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "prometheus",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "prom_query",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "labels": {
        +        "items": {
        +          "$ref": "#/properties/data/properties/records/items/properties/facts/items"
        +        },
        +        "type": "array"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts",
        +      "labels"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedprom_query_range26 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / data
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "$ref": "#/properties/data/properties/items"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • removedOutput schema / properties / data / properties / error
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "$ref": "#/properties/data/properties/items/items"
        -    }
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "prometheus",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / message
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / meta
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • removedOutput schema / properties / data / properties / nextCursor
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / ok
        Removed value: -{
        -  "type": "boolean"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "prom_query_range",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / pageInfo
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items/items"
        -}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "labels": {
        +        "items": {
        +          "$ref": "#/properties/data/properties/records/items/properties/facts/items"
        +        },
        +        "type": "array"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "metric": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "severity": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "timestamp": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "unit": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      },
        +      "value": {
        +        "type": "number"
        +      }
        +    },
        +    "required": [
        +      "facts",
        +      "labels"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": [
        -    "string",
        -    "number"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedqa_catalog_get33 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / action
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / ambiguous
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / cached
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / candidates
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / catalog
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / ci
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / commit_sha
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / environment
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / frameworks / $ref
        Removed value: -"#/properties/data/properties/candidates"
      • addedOutput schema / properties / data / properties / frameworks / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "confidence": {
        +      "$ref": "#/properties/data/properties/sources/items/properties/confidence"
        +    },
        +    "configFiles": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "sourceRepositoryId": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "name"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / frameworks / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / generatedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / generated_at
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / matrix
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / policy_configured
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / preference
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / scope
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / sections
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / selected_repository_ids
        Removed value: -{
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / sources / $ref
        Removed value: -"#/properties/data/properties/candidates"
      • addedOutput schema / properties / data / properties / sources / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "archived": {
        +      "type": "boolean"
        +    },
        +    "commitSha": {
        +      "type": "string"
        +    },
        +    "confidence": {
        +      "enum": [
        +        "high",
        +        "medium",
        +        "low"
        +      ],
        +      "type": "string"
        +    },
        +    "provider": {
        +      "type": "string"
        +    },
        +    "ref": {
        +      "type": "string"
        +    },
        +    "repository": {
        +      "type": "string"
        +    },
        +    "repositoryId": {
        +      "type": "string"
        +    },
        +    "roles": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "selectionStatus": {
        +      "enum": [
        +        "auto_selected",
        +        "user_confirmed",
        +        "candidate",
        +        "ambiguous",
        +        "rejected",
        +        "ignored",
        +        "stale"
        +      ],
        +      "type": "string"
        +    },
        +    "webUrl": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "provider",
        +    "repositoryId",
        +    "repository"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / sources / type
        Added value: +"array"
      • removedOutput schema / properties / data / properties / suites / $ref
        Removed value: -"#/properties/data/properties/candidates"
      • addedOutput schema / properties / data / properties / suites / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "category": {
        +      "type": "string"
        +    },
        +    "command": {
        +      "type": "string"
        +    },
        +    "confidence": {
        +      "$ref": "#/properties/data/properties/sources/items/properties/confidence"
        +    },
        +    "evidenceRefs": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "commitSha": {
        +            "type": "string"
        +          },
        +          "kind": {
        +            "type": "string"
        +          },
        +          "line": {
        +            "type": "integer"
        +          },
        +          "path": {
        +            "type": "string"
        +          },
        +          "repositoryId": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "repositoryId",
        +          "commitSha",
        +          "path",
        +          "kind"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "inferred": {
        +      "type": "boolean"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "sourceRepositoryId": {
        +      "type": "string"
        +    },
        +    "workflow": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "id",
        +    "sourceRepositoryId",
        +    "label",
        +    "category",
        +    "inferred",
        +    "confidence",
        +    "evidenceRefs"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / suites / type
        Added value: +"array"
      • removedOutput schema / properties / data / properties / tenant_id
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / verdict
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / workflows
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "generatedAt",
        +  "gaps",
        +  "warnings",
        +  "sources",
        +  "frameworks",
        +  "suites",
        +  "partial",
        +  "truncated"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedqa_release_evidence27 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / action
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / ambiguous
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / cached
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / candidates
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / catalog
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / ci
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / commitSha
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / commit_sha
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / frameworks
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / generated_at
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / matrix
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / policyConfigured
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / policy_configured
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / preference
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • addedOutput schema / properties / data / properties / scopePolicyConfigured
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / sections
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / selected_repository_ids
        Removed value: -{
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / sources
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / suites
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / tenant_id
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / verdict / enum
        Added value: +[
        +  "READY",
        +  "NOT_READY",
        +  "READY_WITH_UNCONFIRMED_POLICY",
        +  "BLOCKED_SCOPE_UNRESOLVED",
        +  "BLOCKED_TARGET_UNRESOLVED",
        +  "BLOCKED_INSUFFICIENT_EVIDENCE"
        +]
      • removedOutput schema / properties / data / properties / workflows
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "environment",
        +  "scope",
        +  "commitSha",
        +  "verdict",
        +  "policyConfigured",
        +  "partial",
        +  "gaps",
        +  "truncated",
        +  "warnings"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedqa_release_snapshot32 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / action
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / ambiguous
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / cached
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / candidates
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / catalog / $ref
        Removed value: -"#/properties/data/properties/candidates/items"
      • addedOutput schema / properties / data / properties / catalog / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / catalog / properties
        Added value: +{
        +  "frameworks": {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "confidence": {
        +          "enum": [
        +            "high",
        +            "medium",
        +            "low"
        +          ],
        +          "type": "string"
        +        },
        +        "configFiles": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "name": {
        +          "type": "string"
        +        },
        +        "sourceRepositoryId": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "name"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "sources": {
        +    "items": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "archived": {
        +          "type": "boolean"
        +        },
        +        "commitSha": {
        +          "type": "string"
        +        },
        +        "confidence": {
        +          "$ref": "#/properties/data/properties/catalog/properties/frameworks/items/properties/confidence"
        +        },
        +        "provider": {
        +          "type": "string"
        +        },
        +        "ref": {
        +          "type": "string"
        +        },
        +        "repository": {
        +          "type": "string"
        +        },
        +        "repositoryId": {
        +          "type": "string"
        +        },
        +        "roles": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "selectionStatus": {
        +          "enum": [
        +            "auto_selected",
        +            "user_confirmed",
        +            "candidate",
        +            "ambiguous",
        +            "rejected",
        +            "ignored",
        +            "stale"
        +          ],
        +          "type": "string"
        +        },
        +        "webUrl": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "provider",
        +        "repositoryId",
        +        "repository"
        +      ],
        +      "type": "object"
        +    },
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / data / properties / catalog / type
        Added value: +"object"
      • removedOutput schema / properties / data / properties / ci
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / commitSha
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / commit_sha
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / deployment
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "branch": {
        +      "type": "string"
        +    },
        +    "environment": {
        +      "type": "string"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "revision": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "target": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedOutput schema / properties / data / properties / environment / type
        Previous value: -[
        -  "string",
        -  "null"
        -]New value: +"string"
      • removedOutput schema / properties / data / properties / frameworks
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / generatedAt
        Added value: +{
        +  "format": "date-time",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / generated_at
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / matrix
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / policy_configured
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / preference
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / sections
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / selected_repository_ids
        Removed value: -{
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / sources
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / suites
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / target
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / data / properties / tenant_id
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / verdict / enum
        Added value: +[
        +  "READY",
        +  "NOT_READY",
        +  "READY_WITH_UNCONFIRMED_POLICY",
        +  "BLOCKED_SCOPE_UNRESOLVED",
        +  "BLOCKED_TARGET_UNRESOLVED",
        +  "BLOCKED_INSUFFICIENT_EVIDENCE"
        +]
      • removedOutput schema / properties / data / properties / workflows
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "environment",
        +  "verdict",
        +  "partial",
        +  "gaps",
        +  "truncated",
        +  "warnings"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedqa_sources_discover31 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / action
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / ambiguous
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / cached
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / candidates
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / catalog
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / ci
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / commit_sha
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / environment
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "quality",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / frameworks
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / generated_at
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / matrix
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "qa_sources_discover",
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / policy_configured
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / data / properties / preference
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "confidence": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "provider": {
        +        "type": "string"
        +      },
        +      "repository": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / scope
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / data / properties / sections
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates/items"
        -}
      • removedOutput schema / properties / data / properties / selected_repository_ids
        Removed value: -{
        -  "items": {
        -    "type": "string"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / sources
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • removedOutput schema / properties / data / properties / suites
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / tenant_id
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / verdict
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / workflows
        Removed value: -{
        -  "$ref": "#/properties/data/properties/candidates"
        -}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedrailway_environments_list23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployment
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / environments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "railway",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / logs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "railway_environments_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / services
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedrailway_project_status23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployment
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / environments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "railway",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / logs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "railway_project_status",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / services
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedrailway_projects_list23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployment
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / environments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "railway",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / logs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "railway_projects_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / services
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedrailway_services_list23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployment
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / environments
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "railway",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / logs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "railway_services_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / services
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / status
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / data / properties / text
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_event_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_event_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_events_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_events_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_issues_export21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_issues_export",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_issues_get21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_issues_get",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_issues_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_issues_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_issues_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_issues_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_logs_search21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_logs_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_organizations_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_organizations_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_projects_list21 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sentry",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / maxResults
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / nextPageToken
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sentry_projects_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "culprit": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "eventId": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "level": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / results
        Removed value: -{
        -  "$ref": "#/properties/data/properties/items"
        -}
      • removedOutput schema / properties / data / properties / startAt
        Removed value: -{
        -  "type": "number"
        -}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total / minimum
        Added value: +0
      • changedOutput schema / properties / data / properties / total / type
        Previous value: -"number"New value: +"integer"
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_projects_stats2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_release_detail2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsentry_sessions_by_release2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsq_analyses_latest23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / analyses
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / branches
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / duplications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sonarqube",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / measures
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sq_analyses_latest",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / pullRequests
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / qualityGate
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "qualityGate": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsq_branches_list23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / analyses
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / branches
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / duplications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sonarqube",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / measures
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sq_branches_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / pullRequests
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / qualityGate
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "qualityGate": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsq_duplications_show23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / analyses
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / branches
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / duplications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sonarqube",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / measures
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sq_duplications_show",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / pullRequests
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / qualityGate
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "qualityGate": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsq_hotspots_search23 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / analyses
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / branches
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / duplications
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "sonarqube",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / issues
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / measures
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "sq_hotspots_search",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / pullRequests
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects"
        -}
      • removedOutput schema / properties / data / properties / qualityGate
        Removed value: -{
        -  "$ref": "#/properties/data/properties/projects/items"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "assignee": {
        +        "type": "string"
        +      },
        +      "body": {
        +        "type": "string"
        +      },
        +      "component": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "priority": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "qualityGate": {
        +        "type": "string"
        +      },
        +      "reporter": {
        +        "type": "string"
        +      },
        +      "rule": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedsynthetics_summary_by_location25 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / byLocation / $ref
        Removed value: -"#/properties/data/properties/items"
      • addedOutput schema / properties / data / properties / byLocation / items
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "failed": {
        +      "type": "number"
        +    },
        +    "location": {
        +      "type": "string"
        +    },
        +    "passed": {
        +      "type": "number"
        +    },
        +    "tests": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / byLocation / type
        Added value: +"array"
      • addedOutput schema / properties / data / properties / executionCounts
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "failed": {
        +      "type": "number"
        +    },
        +    "no_data": {
        +      "type": "number"
        +    },
        +    "passed": {
        +      "type": "number"
        +    },
        +    "unknown": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "passed",
        +    "failed",
        +    "no_data",
        +    "unknown"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / data / properties / filters
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "maxTests": {
        +      "type": "number"
        +    },
        +    "nameContains": {
        +      "type": "string"
        +    },
        +    "publicIds": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / data / properties / items / items / $ref
        Removed value: -"#/properties/data/properties/window"
      • addedOutput schema / properties / data / properties / items / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / items / items / properties
        Added value: +{
        +  "config_status": {
        +    "type": "string"
        +  },
        +  "latest_check_time": {
        +    "type": "number"
        +  },
        +  "latest_execution_status": {
        +    "type": "string"
        +  },
        +  "latest_probe_dc": {
        +    "type": "string"
        +  },
        +  "latest_result_id": {
        +    "type": "string"
        +  },
        +  "locations": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "name": {
        +    "type": "string"
        +  },
        +  "public_id": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "type": "string"
        +  },
        +  "type": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / items / items / type
        Added value: +"object"
      • addedOutput schema / properties / data / properties / matchedCount
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / omittedCount
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / totalAvailable
        Added value: +{
        +  "type": "number"
        +}
      • removedOutput schema / properties / data / properties / warnings / items / $ref
        Removed value: -"#/properties/data/properties/window"
      • addedOutput schema / properties / data / properties / warnings / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / data / properties / warnings / items / properties
        Added value: +{
        +  "error": {
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / data / properties / warnings / items / required
        Added value: +[
        +  "error"
        +]
      • addedOutput schema / properties / data / properties / warnings / items / type
        Added value: +"object"
      • changedOutput schema / properties / data / properties / window / additionalProperties
        Previous value: -trueNew value: +false
      • addedOutput schema / properties / data / properties / window / properties / fromTs
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / window / properties / toTs
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / data / properties / window / required
        Added value: +[
        +  "fromTs",
        +  "toTs"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedtcp_connect2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedtraceroute2 fields changed
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 1,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_deployment_logs16 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / _resolved
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / deploymentId
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / data / properties / events
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_deployment_logs",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / data / required
        Previous value: -[
        -  "project",
        -  "deploymentId",
        -  "events",
        -  "truncated"
        -]New value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_deploys_latest19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_deploys_latest",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_env_diff19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_env_diff",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_env_diff_repo19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_env_diff_repo",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_env_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_env_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_env_sources19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_env_sources",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_project_status19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_project_status",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
    • Changedvercel_projects_list19 fields changed
      • changedOutput schema / properties / data / additionalProperties
        Previous value: -trueNew value: +false
      • removedOutput schema / properties / data / properties / count
        Removed value: -{
        -  "type": "number"
        -}
      • removedOutput schema / properties / data / properties / deployments
        Removed value: -{
        -  "items": {
        -    "additionalProperties": true,
        -    "properties": {},
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / data / properties / envs
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / family
        Added value: +{
        +  "const": "vercel",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / gaps
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / data / properties / items
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / operation
        Added value: +{
        +  "const": "vercel_projects_list",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / partial
        Added value: +{
        +  "type": "boolean"
        +}
      • removedOutput schema / properties / data / properties / project
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments/items"
        -}
      • removedOutput schema / properties / data / properties / projects
        Removed value: -{
        -  "$ref": "#/properties/data/properties/deployments"
        -}
      • addedOutput schema / properties / data / properties / records
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "branch": {
        +        "type": "string"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "durationMs": {
        +        "type": "number"
        +      },
        +      "environment": {
        +        "type": "string"
        +      },
        +      "facts": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "value": {
        +              "anyOf": [
        +                {
        +                  "type": "string"
        +                },
        +                {
        +                  "type": "number"
        +                },
        +                {
        +                  "type": "boolean"
        +                },
        +                {
        +                  "type": "null"
        +                },
        +                {
        +                  "items": {
        +                    "type": [
        +                      "string",
        +                      "number",
        +                      "boolean",
        +                      "null"
        +                    ]
        +                  },
        +                  "type": "array"
        +                }
        +              ]
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "value"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "id": {
        +        "type": "string"
        +      },
        +      "key": {
        +        "type": "string"
        +      },
        +      "message": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "project": {
        +        "type": "string"
        +      },
        +      "region": {
        +        "type": "string"
        +      },
        +      "revision": {
        +        "type": "string"
        +      },
        +      "service": {
        +        "type": "string"
        +      },
        +      "status": {
        +        "type": "string"
        +      },
        +      "summary": {
        +        "type": "string"
        +      },
        +      "tags": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "type": {
        +        "type": "string"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "facts"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / properties / summary
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / data / properties / total
        Added value: +{
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / data / properties / truncated
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / data / properties / warnings
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / data / required
        Added value: +[
        +  "family",
        +  "operation",
        +  "records",
        +  "total",
        +  "partial",
        +  "truncated",
        +  "warnings",
        +  "gaps"
        +]
      • addedOutput schema / properties / dataSchemaVersion
        Added value: +{
        +  "const": 2,
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "contractVersion",
        -  "ok",
        -  "data"
        -]New value: +[
        +  "contractVersion",
        +  "dataSchemaVersion",
        +  "ok",
        +  "data"
        +]
  10. 158 tool updates
    • Removedakamai_cache_purge
    • Removedakamai_diag
    • Removedakamai_papi_redirects
    • Removedakamai_papi_rules
    • Removedakamai_properties_list
    • Removedakamai_properties_search
    • Removedakamai_waf_policies
    • Removedakamai_waf_rules
    • Removedalg_incidents
    • Removedalg_index_settings
    • Removedalg_indices_list
    • Removedalg_logs
    • Removedalg_object_get
    • Removedalg_search
    • Removedalg_status
    • Removedargocd_list_apps
    • Removedargocd_list_clusters
    • Removedaws_session_revoke
    • Removedaws_session_status
    • Removedaws_sso_logout
    • Removedcheck_aws_session_for_env
    • Removedctf_content_type_get
    • Removedctf_content_types_list
    • Removedctf_entries_search
    • Removedctf_entry_get
    • Removedctf_environments_list
    • Removedctf_graphql_query
    • Removedctf_graphql_schema_introspect
    • Removedctf_spaces_list
    • Removedecs_sync_cluster_metadata
    • Removedeks_sync_cluster_metadata
    • Removedga4_acquisition_report
    • Removedga4_compare_periods
    • Removedga4_conversions_report
    • Removedga4_custom_report
    • Removedga4_events_report
    • Removedga4_funnel_analysis
    • Removedga4_pages_performance
    • Removedga4_properties_list
    • Removedga4_property_details
    • Removedga4_realtime_overview
    • Removedga4_tracking_config
    • Removedga4_traffic_overview
    • Removedgoogle_link_revoke
    • Removedgoogle_link_start
    • Removedgoogle_link_status
    • Removedgrafana_alert_rules_list
    • Removedgrafana_alerts_firing
    • Removedgrafana_annotations_list
    • Removedgrafana_dashboard_get
    • Removedgrafana_dashboard_panel_promql
    • Removedgrafana_dashboards_search
    • Removedgrafana_datasource_health
    • Removedgrafana_datasources_list
    • Removedgrafana_prom_query
    • Removedgrafana_sm_check_get
    • Removedgrafana_sm_checks_list
    • Removedgrafana_status
    • Removedgsc_device_country_report
    • Removedgsc_performance_overview
    • Removedgsc_period_comparison
    • Removedgsc_search_opportunities
    • Removedgsc_search_trends
    • Removedgsc_sitemaps_list
    • Removedgsc_sites_list
    • Removedgsc_top_pages
    • Removedgsc_top_queries
    • Removedgsc_url_inspection
    • Removedgtm_accounts_list
    • Removedgtm_container_details
    • Removedgtm_containers_list
    • Removedgtm_live_version
    • Removedgtm_tags_list
    • Removedgtm_triggers_list
    • Removedgtm_variables_list
    • Removedgtm_version_diff
    • Removedgtm_versions_list
    • Removedgtm_workspaces_status
    • Removedinfra_tfvars_catalog
    • Removedinfra_tfvars_find
    • Removedk8s_logs
    • Removedk8s_node_describe
    • Removedk8s_nodes_list
    • Removedk8s_pod_previous_logs
    • Removedk8s_pods_list
    • Removedk8s_replicasets_images
    • Removedk8s_replicasets_list
    • Removedk8s_resource_yaml
    • Removedk8s_rollout_history
    • Removedmacro_cf_ecom_abuse_triage
    • Removedmacro_digital_experience_overview
    • Removedmacro_endpoint_health
    • Removedmacro_env_health
    • Removedmacro_outage_triage
    • Removedmacro_release_business_impact
    • Removedmacro_seo_technical_diagnostic
    • Removedmacro_tracking_integrity_audit
    • Removedmemory_invalidate
    • Removedmemory_search
    • Removedmemory_session_touch
    • Removedmemory_store
    • Removednoibu_company_get
    • Removednoibu_domain_get
    • Removednoibu_domains_list
    • Removednoibu_error_diagnosis_get
    • Removednoibu_error_trends_get
    • Removednoibu_issue_get
    • Removednoibu_issue_session_highlights_get
    • Removednoibu_issues_search
    • Removednoibu_link_revoke
    • Removednoibu_link_start
    • Removednoibu_link_status
    • Removednoibu_page_visits
    • Removednoibu_priority_errors_list
    • Removednoibu_sessions_lookup
    • Removednoibu_sessions_search
    • Removedobservability_query
    • Removedobservability_trigger_digest
    • Removedpd_services_list
    • Removedpingdom_check_results
    • Removedpingdom_check_uptime
    • Removedpingdom_checks_list
    • Removedpingdom_summary
    • Removedprom_rules
    • Removedprom_series
    • Removedprom_status
    • Removedprom_targets
    • Removedqa_source_confirm
    • Removedrailway_dashboard
    • Removedrailway_deployment_get
    • Removedrailway_deployments_latest
    • Removedrailway_domains
    • Removedrailway_env_diff
    • Removedrailway_env_list
    • Removedrailway_errors_recent
    • Removedrailway_health_summary
    • Removedrailway_incident_diagnosis
    • Removedrailway_logs
    • Removedrailway_metrics_summary
    • Removedrailway_service_status
    • Removedrailway_volumes
    • Removedrepo_env_list
    • Removedrepo_pipeline_summary
    • Removedrepos_catalog
    • Removedrepos_config_find
    • Removedrepos_list
    • Removedrepos_search_text
    • Removedrepos_var_where
    • Removedsq_issues_search
    • Removedsq_last_scan_summary
    • Removedsq_measures_summary
    • Removedsq_projects_search
    • Removedsq_pull_requests_list
    • Removedsq_quality_gate_status
    • Removedxray_test_create
    • Removedxray_test_get
    • Removedxray_test_steps_update
    • Removedxray_tests_search
  11. 12 tool updates
    • Changednoibu_company_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_domain_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_domains_list1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_error_diagnosis_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_error_trends_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_issue_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_issue_session_highlights_get1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_issues_search1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_page_visits1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_priority_errors_list1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_sessions_lookup1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
    • Changednoibu_sessions_search1 field changed
      • addedOutput schema / properties / data / properties / _opsphereIssuesSearchWindowStrategy
        Added value: +{
        +  "type": "string"
        +}
  12. 12 tool updates
    • Changednoibu_company_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_domain_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_domains_list2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_error_diagnosis_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_error_trends_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_issue_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_issue_session_highlights_get2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_issues_search2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_page_visits2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_priority_errors_list2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_sessions_lookup2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
    • Changednoibu_sessions_search2 fields changed
      • addedOutput schema / properties / data / properties / _opsphereEffectiveWindow
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
      • addedOutput schema / properties / data / properties / handoffHints
        Added value: +{
        +  "$ref": "#/properties/data/properties/items/items"
        +}
  13. 416 tool updates
    • First observedakamai_cache_purge
    • First observedakamai_diag
    • First observedakamai_papi_redirects
    • First observedakamai_papi_rules
    • First observedakamai_properties_list
    • First observedakamai_properties_search
    • First observedakamai_waf_policies
    • First observedakamai_waf_rules
    • First observedalerts_active
    • First observedalg_incidents
    • First observedalg_index_settings
    • First observedalg_indices_list
    • First observedalg_logs
    • First observedalg_object_get
    • First observedalg_search
    • First observedalg_status
    • First observedargocd_app_resources
    • First observedargocd_app_unhealthy
    • First observedargocd_debug
    • First observedargocd_get_app
    • First observedargocd_list_apps
    • First observedargocd_list_clusters
    • First observedaws_athena_query
    • First observedaws_bedrock_agent_diagnose
    • First observedaws_cli_query
    • First observedaws_cloudwatch_logs_search
    • First observedaws_codeartifact_packages
    • First observedaws_codeartifact_versions
    • First observedaws_dynamodb_describe_table
    • First observedaws_dynamodb_query
    • First observedaws_ecr_images
    • First observedaws_ecr_repos
    • First observedaws_lambda_agent_diagnose
    • First observedaws_rds_data_query
    • First observedaws_s3_find
    • First observedaws_secretsmanager_describe
    • First observedaws_secretsmanager_list
    • First observedaws_session_revoke
    • First observedaws_session_status
    • First observedaws_sso_login
    • First observedaws_sso_login_device_poll
    • First observedaws_sso_login_device_start
    • First observedaws_sso_login_global_poll
    • First observedaws_sso_login_global_start
    • First observedaws_sso_login_remote
    • First observedaws_sso_logout
    • First observedaws_sts_whoami
    • First observedazure_blob_find
    • First observedazure_cli_query
    • First observedazure_dns_lookup
    • First observedazure_keyvault_secret_metadata
    • First observedazure_keyvault_secrets_list
    • First observedazure_log_analytics_query
    • First observedazure_resource_groups
    • First observedazure_servicebus_dlq_content
    • First observedazure_servicebus_health_overview
    • First observedazure_servicebus_message_explorer
    • First observedazure_servicebus_monitoring_report
    • First observedazure_servicebus_namespace_health
    • First observedazure_servicebus_namespaces
    • First observedazure_servicebus_queue_deadletter
    • First observedazure_servicebus_queue_metrics
    • First observedazure_servicebus_queues
    • First observedazure_servicebus_resourcegroup_detect
    • First observedazure_servicebus_topic_sub_metrics
    • First observedazure_servicebus_topic_subscriptions
    • First observedazure_servicebus_topics
    • First observedazure_subscription_set
    • First observedazure_subscriptions_list
    • First observedazure_user_login_poll
    • First observedazure_user_login_start
    • First observedazure_user_session_revoke
    • First observedazure_user_session_status
    • First observedbb_branches_list
    • First observedbb_commits_list
    • First observedbb_pipeline_diagnose
    • First observedbb_pipeline_get
    • First observedbb_pipelines_latest
    • First observedbb_pr_commits
    • First observedbb_pr_diff
    • First observedbb_pr_diffstat
    • First observedbb_pr_get
    • First observedbb_pr_search
    • First observedbb_repos_list
    • First observedbb_tags_list
    • First observedcert_status
    • First observedcf_account_ruleset_entrypoint_get
    • First observedcf_account_ruleset_get
    • First observedcf_analytics_overview
    • First observedcf_cache_analytics
    • First observedcf_cache_probe
    • First observedcf_cache_purge
    • First observedcf_cache_purge_history
    • First observedcf_cache_rules_list
    • First observedcf_cache_rules_replace
    • First observedcf_cname_flattening_get
    • First observedcf_cname_flattening_set
    • First observedcf_config_rules_list
    • First observedcf_config_rules_replace
    • First observedcf_dns_records
    • First observedcf_firewall_events
    • First observedcf_http_security_breakdown
    • First observedcf_http_security_samples
    • First observedcf_http_security_top_talkers
    • First observedcf_kv_keys_list
    • First observedcf_kv_namespaces_list
    • First observedcf_kv_value_get
    • First observedcf_lb_monitors_list
    • First observedcf_lb_pools_list
    • First observedcf_load_balancer_get
    • First observedcf_load_balancers_list
    • First observedcf_logpush_job_get
    • First observedcf_logpush_jobs_list
    • First observedcf_origin_rules_list
    • First observedcf_origin_rules_replace
    • First observedcf_page_rule_create
    • First observedcf_page_rule_delete
    • First observedcf_page_rule_update
    • First observedcf_page_rules_list
    • First observedcf_quick_status
    • First observedcf_redirect_rules_list
    • First observedcf_redirect_rules_replace
    • First observedcf_rules_list_items
    • First observedcf_rules_lists_list
    • First observedcf_ruleset_entrypoint_get
    • First observedcf_ruleset_entrypoint_update
    • First observedcf_rulesets_list
    • First observedcf_snippet_rules_list
    • First observedcf_snippets_list
    • First observedcf_ssl_certificate_packs
    • First observedcf_ssl_mode_get
    • First observedcf_ssl_mode_set
    • First observedcf_ssl_verification
    • First observedcf_transform_rules_list
    • First observedcf_transform_rules_replace
    • First observedcf_waf_custom_rules_list
    • First observedcf_waf_custom_rules_replace
    • First observedcf_waf_ip_audit
    • First observedcf_workers_domains_list
    • First observedcf_workers_route_create
    • First observedcf_workers_route_delete
    • First observedcf_workers_route_update
    • First observedcf_workers_routes_list
    • First observedcf_workers_script_deployments
    • First observedcf_workers_scripts_list
    • First observedcf_zone_settings_get
    • First observedcf_zone_status
    • First observedcf_zones_list
    • First observedcheck_aws_session_for_env
    • First observedcheck_azure_session_for_account
    • First observedcheck_azure_session_for_tenant
    • First observedconfluence_page_read
    • First observedconfluence_search
    • First observedctf_content_type_get
    • First observedctf_content_types_list
    • First observedctf_entries_search
    • First observedctf_entry_get
    • First observedctf_environments_list
    • First observedctf_graphql_query
    • First observedctf_graphql_schema_introspect
    • First observedctf_spaces_list
    • First observeddd_apm_traces_search
    • First observeddd_downtimes_active
    • First observeddd_errors_by_service
    • First observeddd_errors_recent
    • First observeddd_events_search
    • First observeddd_log_get
    • First observeddd_logs_aggregate
    • First observeddd_logs_search
    • First observeddd_metrics_query
    • First observeddd_monitors_lookup
    • First observeddd_synthetics_results
    • First observeddd_synthetics_summary
    • First observeddd_waf_bots
    • First observeddeployment_status
    • First observeddns_lookup
    • First observeddnssec_check
    • First observedecs_sync_cluster_metadata
    • First observedeks_sync_cluster_metadata
    • First observedeks_update_kubeconfig
    • First observedenv_capacity_overview
    • First observedenv_errors_overview
    • First observedenv_health_summary
    • First observedga4_acquisition_report
    • First observedga4_compare_periods
    • First observedga4_conversions_report
    • First observedga4_custom_report
    • First observedga4_events_report
    • First observedga4_funnel_analysis
    • First observedga4_pages_performance
    • First observedga4_properties_list
    • First observedga4_property_details
    • First observedga4_realtime_overview
    • First observedga4_tracking_config
    • First observedga4_traffic_overview
    • First observedghe_actions_diagnose
    • First observedghe_actions_latest
    • First observedghe_actions_latest_jobs
    • First observedghe_actions_latest_logs
    • First observedghe_branches_list
    • First observedghe_commits_list
    • First observedghe_org_repos
    • First observedghe_pr_detail
    • First observedghe_pr_diff
    • First observedghe_pr_files
    • First observedghe_repo_prs
    • First observedghe_repo_summary
    • First observedghe_search_code
    • First observedghe_tags_list
    • First observedghe_workflow_dispatch
    • First observedghe_workflow_list
    • First observedghe_workflow_runs_list
    • First observedgl_branches_list
    • First observedgl_commits_list
    • First observedgl_mr_changes
    • First observedgl_mr_commits
    • First observedgl_mr_diff
    • First observedgl_mr_get
    • First observedgl_mr_search
    • First observedgl_pipeline_diagnose
    • First observedgl_pipeline_get
    • First observedgl_pipelines_latest
    • First observedgl_projects_list
    • First observedgl_tags_list
    • First observedgoogle_link_revoke
    • First observedgoogle_link_start
    • First observedgoogle_link_status
    • First observedgrafana_alert_rules_list
    • First observedgrafana_alerts_firing
    • First observedgrafana_annotations_list
    • First observedgrafana_dashboard_get
    • First observedgrafana_dashboard_panel_promql
    • First observedgrafana_dashboards_search
    • First observedgrafana_datasource_health
    • First observedgrafana_datasources_list
    • First observedgrafana_prom_query
    • First observedgrafana_sm_check_get
    • First observedgrafana_sm_checks_list
    • First observedgrafana_status
    • First observedgsc_device_country_report
    • First observedgsc_performance_overview
    • First observedgsc_period_comparison
    • First observedgsc_search_opportunities
    • First observedgsc_search_trends
    • First observedgsc_sitemaps_list
    • First observedgsc_sites_list
    • First observedgsc_top_pages
    • First observedgsc_top_queries
    • First observedgsc_url_inspection
    • First observedgtm_accounts_list
    • First observedgtm_container_details
    • First observedgtm_containers_list
    • First observedgtm_live_version
    • First observedgtm_tags_list
    • First observedgtm_triggers_list
    • First observedgtm_variables_list
    • First observedgtm_version_diff
    • First observedgtm_versions_list
    • First observedgtm_workspaces_status
    • First observedhttp_check
    • First observedinfra_tfvars_catalog
    • First observedinfra_tfvars_find
    • First observedjira_issue_comments
    • First observedjira_issue_fulldetails
    • First observedjira_issue_get
    • First observedjira_issues_list
    • First observedjira_issues_recent
    • First observedjira_issues_search
    • First observedk8s_autodiag_notification
    • First observedk8s_cluster_summary
    • First observedk8s_containers_count
    • First observedk8s_context_use
    • First observedk8s_contexts
    • First observedk8s_cronjob_pods
    • First observedk8s_describe
    • First observedk8s_find_pod
    • First observedk8s_logs
    • First observedk8s_node_describe
    • First observedk8s_nodes_list
    • First observedk8s_pod_previous_logs
    • First observedk8s_pods_list
    • First observedk8s_replicasets_images
    • First observedk8s_replicasets_list
    • First observedk8s_resource_yaml
    • First observedk8s_rollout_history
    • First observedmacro_cf_ecom_abuse_triage
    • First observedmacro_digital_experience_overview
    • First observedmacro_endpoint_health
    • First observedmacro_env_health
    • First observedmacro_outage_triage
    • First observedmacro_release_business_impact
    • First observedmacro_seo_technical_diagnostic
    • First observedmacro_tracking_integrity_audit
    • First observedmemory_invalidate
    • First observedmemory_search
    • First observedmemory_session_touch
    • First observedmemory_store
    • First observednoibu_company_get
    • First observednoibu_domain_get
    • First observednoibu_domains_list
    • First observednoibu_error_diagnosis_get
    • First observednoibu_error_trends_get
    • First observednoibu_issue_get
    • First observednoibu_issue_session_highlights_get
    • First observednoibu_issues_search
    • First observednoibu_link_revoke
    • First observednoibu_link_start
    • First observednoibu_link_status
    • First observednoibu_page_visits
    • First observednoibu_priority_errors_list
    • First observednoibu_sessions_lookup
    • First observednoibu_sessions_search
    • First observedobservability_daily_digest
    • First observedobservability_query
    • First observedobservability_trigger_digest
    • First observedops_account_link_start
    • First observedops_account_unlink
    • First observedops_accounts_list
    • First observedops_configure_integration
    • First observedops_context_close
    • First observedops_context_open
    • First observedops_execution_budget
    • First observedops_get_work_context
    • First observedops_incident_rollup
    • First observedops_list_integrations
    • First observedops_my_usage
    • First observedops_remove_integration
    • First observedops_set_work_context
    • First observedops_test_integration
    • First observedpd_incident_get
    • First observedpd_incident_log_entries
    • First observedpd_incidents_search
    • First observedpd_service_get
    • First observedpd_services_list
    • First observedpingdom_actions_recent
    • First observedpingdom_check_get
    • First observedpingdom_check_outages
    • First observedpingdom_check_probes_status
    • First observedpingdom_check_results
    • First observedpingdom_check_uptime
    • First observedpingdom_checks_list
    • First observedpingdom_summary
    • First observedprom_alerts
    • First observedprom_label_values
    • First observedprom_query
    • First observedprom_query_range
    • First observedprom_rules
    • First observedprom_series
    • First observedprom_status
    • First observedprom_targets
    • First observedqa_catalog_get
    • First observedqa_release_evidence
    • First observedqa_release_snapshot
    • First observedqa_source_confirm
    • First observedqa_sources_discover
    • First observedrailway_dashboard
    • First observedrailway_deployment_get
    • First observedrailway_deployments_latest
    • First observedrailway_domains
    • First observedrailway_env_diff
    • First observedrailway_env_list
    • First observedrailway_environments_list
    • First observedrailway_errors_recent
    • First observedrailway_health_summary
    • First observedrailway_incident_diagnosis
    • First observedrailway_logs
    • First observedrailway_metrics_summary
    • First observedrailway_project_status
    • First observedrailway_projects_list
    • First observedrailway_service_status
    • First observedrailway_services_list
    • First observedrailway_volumes
    • First observedrepo_env_list
    • First observedrepo_pipeline_summary
    • First observedrepos_catalog
    • First observedrepos_config_find
    • First observedrepos_list
    • First observedrepos_search_text
    • First observedrepos_var_where
    • First observedsentry_event_get
    • First observedsentry_events_search
    • First observedsentry_issues_export
    • First observedsentry_issues_get
    • First observedsentry_issues_list
    • First observedsentry_issues_search
    • First observedsentry_logs_search
    • First observedsentry_organizations_list
    • First observedsentry_projects_list
    • First observedsentry_projects_stats
    • First observedsentry_release_detail
    • First observedsentry_sessions_by_release
    • First observedsq_analyses_latest
    • First observedsq_branches_list
    • First observedsq_duplications_show
    • First observedsq_hotspots_search
    • First observedsq_issues_search
    • First observedsq_last_scan_summary
    • First observedsq_measures_summary
    • First observedsq_projects_search
    • First observedsq_pull_requests_list
    • First observedsq_quality_gate_status
    • First observedsynthetics_summary_by_location
    • First observedtcp_connect
    • First observedtraceroute
    • First observedvercel_deployment_logs
    • First observedvercel_deploys_latest
    • First observedvercel_env_diff
    • First observedvercel_env_diff_repo
    • First observedvercel_env_list
    • First observedvercel_env_sources
    • First observedvercel_project_status
    • First observedvercel_projects_list
    • First observedxray_test_create
    • First observedxray_test_get
    • First observedxray_test_steps_update
    • First observedxray_tests_search

Publisher details

Operator
Opsphere · Publisher source
Operator website
https://opsphere.io
Vendor relationship
First-party
Restrictions
Requires an Opsphere account and browser-based OAuth sign-in through a compatible MCP client. Community provides limited, read-only access with 100 tool calls per day. Developer and higher plans provide full MCP access and unlimited daily calls; multi-environment access and team/RBAC features require Team or higher. Provider-specific tools require connected integrations with appropriate credentials and permissions. Organization workspaces may require an administrator invitation and enabled modules. Infrastructure-changing actions require explicit approval. Supported clients do not require users to create a custom OAuth application. The hosted server requires an internet connection. · Publisher source

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources