From 28264e2100fd2d6aac95f00b3e216516bfe1810a Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:04:47 +0000
Subject: [PATCH 01/10] docs: document intent for supported checks and monitors
---
constructs/api-check.mdx | 7 ++++++
constructs/browser-check.mdx | 7 ++++++
constructs/dns-monitor.mdx | 7 ++++++
constructs/grpc-monitor.mdx | 7 ++++++
constructs/icmp-monitor.mdx | 7 ++++++
constructs/multistep-check.mdx | 7 ++++++
constructs/playwright-check.mdx | 7 ++++++
constructs/tcp-monitor.mdx | 7 ++++++
constructs/url-monitor.mdx | 7 ++++++
snippets/check-intent.mdx | 41 +++++++++++++++++++++++++++++++++
10 files changed, 104 insertions(+)
create mode 100644 snippets/check-intent.mdx
diff --git a/constructs/api-check.mdx b/constructs/api-check.mdx
index b3d3f83b..42f4a6fc 100644
--- a/constructs/api-check.mdx
+++ b/constructs/api-check.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'API Check'
canonical: 'https://www.checklyhq.com/docs/constructs/api-check/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
Learn more about API Checks in [the API Checks overview](/detect/synthetic-monitoring/api-checks/overview).
@@ -94,6 +96,7 @@ The API Check configuration consists of specific API Check options and inherited
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -113,6 +116,10 @@ The API Check configuration consists of specific API Check options and inherited
+### Intent
+
+
+
### `ApiCheck` Options
diff --git a/constructs/browser-check.mdx b/constructs/browser-check.mdx
index 2474cedf..f07b7557 100644
--- a/constructs/browser-check.mdx
+++ b/constructs/browser-check.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'Browser Check'
canonical: 'https://www.checklyhq.com/docs/constructs/browser-check/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
Learn more about Browser Checks in [the Browser Checks overview](/detect/synthetic-monitoring/browser-checks/overview).
@@ -81,6 +83,7 @@ The Browser Check configuration consists of specific Browser Check options and i
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -100,6 +103,10 @@ The Browser Check configuration consists of specific Browser Check options and i
+### Intent
+
+
+
### Browser Check Options
diff --git a/constructs/dns-monitor.mdx b/constructs/dns-monitor.mdx
index 939229fd..96797e91 100644
--- a/constructs/dns-monitor.mdx
+++ b/constructs/dns-monitor.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'DNS Monitor'
canonical: 'https://www.checklyhq.com/docs/constructs/dns-monitor/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -85,6 +87,7 @@ A DNS Monitor has its own DNS-specific settings, plus the standard monitor optio
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | DNS request configuration object |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `500` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `1000` | Maximum response time in milliseconds before marking as failed |
@@ -96,6 +99,10 @@ A DNS Monitor has its own DNS-specific settings, plus the standard monitor optio
+### Intent
+
+
+
### `DnsMonitor` Options
diff --git a/constructs/grpc-monitor.mdx b/constructs/grpc-monitor.mdx
index eda986fc..2f679642 100644
--- a/constructs/grpc-monitor.mdx
+++ b/constructs/grpc-monitor.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'gRPC Monitor'
canonical: 'https://www.checklyhq.com/docs/constructs/grpc-monitor/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -94,6 +96,7 @@ gRPC monitors have their own gRPC-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | gRPC request configuration object |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `10000` | Response time in milliseconds at which the monitor is marked as degraded |
| `maxResponseTime` | `number` | ❌ | `20000` | Response time in milliseconds at which the monitor is marked as failed (max 180,000) |
@@ -105,6 +108,10 @@ gRPC monitors have their own gRPC-specific settings, plus the standard monitor o
+### Intent
+
+
+
### `GrpcMonitor` Options
diff --git a/constructs/icmp-monitor.mdx b/constructs/icmp-monitor.mdx
index ace349c5..be49e52c 100644
--- a/constructs/icmp-monitor.mdx
+++ b/constructs/icmp-monitor.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'ICMP Monitor'
canonical: 'https://www.checklyhq.com/docs/constructs/icmp-monitor/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -73,6 +75,7 @@ ICMP monitors have their own ICMP-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | ICMP request configuration object |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedPacketLossThreshold` | `number` | ❌ | `10` | Packet loss percentage at which the monitor is marked as degraded |
| `maxPacketLossThreshold` | `number` | ❌ | `20` | Packet loss percentage at which the monitor is marked as failed |
@@ -84,6 +87,10 @@ ICMP monitors have their own ICMP-specific settings, plus the standard monitor o
+### Intent
+
+
+
### `IcmpMonitor` Options
diff --git a/constructs/multistep-check.mdx b/constructs/multistep-check.mdx
index 628567f1..2b30251e 100644
--- a/constructs/multistep-check.mdx
+++ b/constructs/multistep-check.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'Multistep Check'
canonical: 'https://www.checklyhq.com/docs/constructs/multistep-check/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
Learn more about Multistep Checks in [the Multistep Checks overview](/detect/synthetic-monitoring/multistep-checks/overview).
@@ -79,6 +81,7 @@ new MultiStepCheck("complex-multistep-check", {
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -98,6 +101,10 @@ new MultiStepCheck("complex-multistep-check", {
+### Intent
+
+
+
### Multistep Check Options
diff --git a/constructs/playwright-check.mdx b/constructs/playwright-check.mdx
index 9648a0b0..52941b09 100644
--- a/constructs/playwright-check.mdx
+++ b/constructs/playwright-check.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'Playwright Check Suites'
canonical: 'https://www.checklyhq.com/docs/constructs/playwright-check/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -78,6 +80,7 @@ The Playwright Check Suite configuration consists of specific Playwright Check S
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -95,6 +98,10 @@ The Playwright Check Suite configuration consists of specific Playwright Check S
+### Intent
+
+
+
### Playwright Check Suite Options
diff --git a/constructs/tcp-monitor.mdx b/constructs/tcp-monitor.mdx
index d9079845..f058c7db 100644
--- a/constructs/tcp-monitor.mdx
+++ b/constructs/tcp-monitor.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'TCP Monitor'
canonical: 'https://www.checklyhq.com/docs/constructs/tcp-monitor/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -81,6 +83,7 @@ The TCP Monitoring configuration consists of specific TCP monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | TCP connection configuration object |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `4000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | `false` | Treat connection failures (e.g. timeouts or refused ports) as passed. Successful connections still pass. Only failed assertions will cause the check to fail. |
@@ -93,6 +96,10 @@ The TCP Monitoring configuration consists of specific TCP monitoring options and
+### Intent
+
+
+
### `TcpMonitor` Options
diff --git a/constructs/url-monitor.mdx b/constructs/url-monitor.mdx
index 4280ba61..4ab57893 100644
--- a/constructs/url-monitor.mdx
+++ b/constructs/url-monitor.mdx
@@ -5,6 +5,8 @@ sidebarTitle: 'URL Monitor'
canonical: 'https://www.checklyhq.com/docs/constructs/url-monitor/'
---
+import CheckIntent from '/snippets/check-intent.mdx';
+
import GeneralMonitorOptionsTable from '/snippets/general-monitor-options-table.mdx';
@@ -76,6 +78,7 @@ The URL Monitoring configuration consists of specific URL monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | HTTP request configuration object |
+| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `3000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | false | Treat HTTP error codes (4xx and 5xx) as passed. Please note that successful responses still pass. Only failed assertions will cause the check to fail. |
@@ -88,6 +91,10 @@ The URL Monitoring configuration consists of specific URL monitoring options and
+### Intent
+
+
+
### `UrlMonitor` Options
diff --git a/snippets/check-intent.mdx b/snippets/check-intent.mdx
new file mode 100644
index 00000000..b9ed7997
--- /dev/null
+++ b/snippets/check-intent.mdx
@@ -0,0 +1,41 @@
+
+Describe what your check is intended to verify and the behavior that should be preserved. Checkly uses this structured guidance for root cause analysis and check repair. It is separate from `description` and does not replace executable assertions.
+
+- Omit `intent` to leave existing intent unchanged when deploying.
+- Provide an object to set or update intent.
+- Set `intent: null` to explicitly clear existing intent.
+
+The object accepts the following fields:
+
+| Field | Type | Required | Description |
+|-------|------|----------|-------------|
+| `goal` | `string` | Yes | The outcome your check should verify. Must contain 1–2,000 characters after trimming. |
+| `constraints` | `CheckIntentConstraint[]` | No | Outcomes and guardrails that refine the goal. Omitted constraints become an empty array. |
+
+Each constraint has a required `type` and `statement`:
+
+- `REQUIRED_OUTCOME`: an outcome the check must verify.
+- `MUST_PRESERVE`: behavior or an assertion that should be preserved when repairing the check.
+
+Each `statement` must contain 1–1,000 characters after trimming. You can specify at most 20 constraints of each type. The CLI trims leading and trailing whitespace from the goal and statements and rejects unknown fields.
+
+For example, add this property to your check or monitor configuration:
+
+```ts
+intent: {
+ goal: "Verify that authenticated users can open the dashboard.",
+ constraints: [
+ {
+ type: "REQUIRED_OUTCOME",
+ statement: "Authentication succeeds for a valid user.",
+ },
+ {
+ type: "MUST_PRESERVE",
+ statement: "Do not remove or weaken the authentication assertion.",
+ },
+ ],
+},
+```
+
+The CLI supports `intent` on `ApiCheck`, `BrowserCheck`, `MultiStepCheck`, `PlaywrightCheck`, `UrlMonitor`, `TcpMonitor`, `DnsMonitor`, `IcmpMonitor`, and `GrpcMonitor`. It is not supported on `HeartbeatMonitor`, `SslMonitor`, or `TracerouteMonitor`. Setting intent does not itself enable automatic check repair.
+
From f13168e7a660666869e58b5e67b93c3a6aafa7c1 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:23:40 +0000
Subject: [PATCH 02/10] docs: omit transitional intent clearing semantics
---
constructs/api-check.mdx | 2 +-
constructs/browser-check.mdx | 2 +-
constructs/dns-monitor.mdx | 2 +-
constructs/grpc-monitor.mdx | 2 +-
constructs/icmp-monitor.mdx | 2 +-
constructs/multistep-check.mdx | 2 +-
constructs/playwright-check.mdx | 2 +-
constructs/tcp-monitor.mdx | 2 +-
constructs/url-monitor.mdx | 2 +-
snippets/check-intent.mdx | 6 +-----
10 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/constructs/api-check.mdx b/constructs/api-check.mdx
index 42f4a6fc..80ddc4b4 100644
--- a/constructs/api-check.mdx
+++ b/constructs/api-check.mdx
@@ -96,7 +96,7 @@ The API Check configuration consists of specific API Check options and inherited
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
diff --git a/constructs/browser-check.mdx b/constructs/browser-check.mdx
index f07b7557..793dac6d 100644
--- a/constructs/browser-check.mdx
+++ b/constructs/browser-check.mdx
@@ -83,7 +83,7 @@ The Browser Check configuration consists of specific Browser Check options and i
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
diff --git a/constructs/dns-monitor.mdx b/constructs/dns-monitor.mdx
index 96797e91..026fecbd 100644
--- a/constructs/dns-monitor.mdx
+++ b/constructs/dns-monitor.mdx
@@ -87,7 +87,7 @@ A DNS Monitor has its own DNS-specific settings, plus the standard monitor optio
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | DNS request configuration object |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `500` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `1000` | Maximum response time in milliseconds before marking as failed |
diff --git a/constructs/grpc-monitor.mdx b/constructs/grpc-monitor.mdx
index 2f679642..0d788807 100644
--- a/constructs/grpc-monitor.mdx
+++ b/constructs/grpc-monitor.mdx
@@ -96,7 +96,7 @@ gRPC monitors have their own gRPC-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | gRPC request configuration object |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `10000` | Response time in milliseconds at which the monitor is marked as degraded |
| `maxResponseTime` | `number` | ❌ | `20000` | Response time in milliseconds at which the monitor is marked as failed (max 180,000) |
diff --git a/constructs/icmp-monitor.mdx b/constructs/icmp-monitor.mdx
index be49e52c..ff5cf4ad 100644
--- a/constructs/icmp-monitor.mdx
+++ b/constructs/icmp-monitor.mdx
@@ -75,7 +75,7 @@ ICMP monitors have their own ICMP-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | ICMP request configuration object |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedPacketLossThreshold` | `number` | ❌ | `10` | Packet loss percentage at which the monitor is marked as degraded |
| `maxPacketLossThreshold` | `number` | ❌ | `20` | Packet loss percentage at which the monitor is marked as failed |
diff --git a/constructs/multistep-check.mdx b/constructs/multistep-check.mdx
index 2b30251e..c97434a1 100644
--- a/constructs/multistep-check.mdx
+++ b/constructs/multistep-check.mdx
@@ -81,7 +81,7 @@ new MultiStepCheck("complex-multistep-check", {
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
diff --git a/constructs/playwright-check.mdx b/constructs/playwright-check.mdx
index 52941b09..fb5e2c7b 100644
--- a/constructs/playwright-check.mdx
+++ b/constructs/playwright-check.mdx
@@ -80,7 +80,7 @@ The Playwright Check Suite configuration consists of specific Playwright Check S
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
diff --git a/constructs/tcp-monitor.mdx b/constructs/tcp-monitor.mdx
index f058c7db..028da098 100644
--- a/constructs/tcp-monitor.mdx
+++ b/constructs/tcp-monitor.mdx
@@ -83,7 +83,7 @@ The TCP Monitoring configuration consists of specific TCP monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | TCP connection configuration object |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `4000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | `false` | Treat connection failures (e.g. timeouts or refused ports) as passed. Successful connections still pass. Only failed assertions will cause the check to fail. |
diff --git a/constructs/url-monitor.mdx b/constructs/url-monitor.mdx
index 4ab57893..f5c7fbe1 100644
--- a/constructs/url-monitor.mdx
+++ b/constructs/url-monitor.mdx
@@ -78,7 +78,7 @@ The URL Monitoring configuration consists of specific URL monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | HTTP request configuration object |
-| `intent` | `CheckIntent` `null` | ❌ | Omitted | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
| `degradedResponseTime` | `number` | ❌ | `3000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | false | Treat HTTP error codes (4xx and 5xx) as passed. Please note that successful responses still pass. Only failed assertions will cause the check to fail. |
diff --git a/snippets/check-intent.mdx b/snippets/check-intent.mdx
index b9ed7997..b6ab1aed 100644
--- a/snippets/check-intent.mdx
+++ b/snippets/check-intent.mdx
@@ -1,10 +1,6 @@
-
+
Describe what your check is intended to verify and the behavior that should be preserved. Checkly uses this structured guidance for root cause analysis and check repair. It is separate from `description` and does not replace executable assertions.
-- Omit `intent` to leave existing intent unchanged when deploying.
-- Provide an object to set or update intent.
-- Set `intent: null` to explicitly clear existing intent.
-
The object accepts the following fields:
| Field | Type | Required | Description |
From 0d67478c1b6de98adb08fc40b496b8b07846f5bd Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:27:46 +0000
Subject: [PATCH 03/10] docs: place intent under general check options
---
constructs/api-check.mdx | 10 +++++-----
constructs/browser-check.mdx | 8 +++-----
constructs/dns-monitor.mdx | 8 +++-----
constructs/grpc-monitor.mdx | 8 +++-----
constructs/icmp-monitor.mdx | 8 +++-----
constructs/multistep-check.mdx | 8 +++-----
constructs/playwright-check.mdx | 8 +++-----
constructs/tcp-monitor.mdx | 8 +++-----
constructs/url-monitor.mdx | 8 +++-----
9 files changed, 29 insertions(+), 45 deletions(-)
diff --git a/constructs/api-check.mdx b/constructs/api-check.mdx
index 80ddc4b4..1c9bed5b 100644
--- a/constructs/api-check.mdx
+++ b/constructs/api-check.mdx
@@ -96,7 +96,7 @@ The API Check configuration consists of specific API Check options and inherited
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Check Options](#general-check-options). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -116,10 +116,6 @@ The API Check configuration consists of specific API Check options and inherited
-### Intent
-
-
-
### `ApiCheck` Options
@@ -468,6 +464,10 @@ AssertionBuilder.headers('strict-transport-security', 'max-age=(\\d+)').greaterT
{ source: 'HEADERS', regex: 'max-age=(\d+)', property: 'strict-transport-security', comparison: 'GREATER_THAN', target: '10000' }
```
+### General Check Options
+
+
+
## Examples
diff --git a/constructs/browser-check.mdx b/constructs/browser-check.mdx
index 793dac6d..43b79efc 100644
--- a/constructs/browser-check.mdx
+++ b/constructs/browser-check.mdx
@@ -83,7 +83,7 @@ The Browser Check configuration consists of specific Browser Check options and i
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Check Options](#general-check-options). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -103,10 +103,6 @@ The Browser Check configuration consists of specific Browser Check options and i
-### Intent
-
-
-
### Browser Check Options
@@ -196,6 +192,8 @@ new BrowserCheck("e2e-purchase", {
### General Check Options
+
+
Friendly name for your Browser Check that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/dns-monitor.mdx b/constructs/dns-monitor.mdx
index 026fecbd..6de937a9 100644
--- a/constructs/dns-monitor.mdx
+++ b/constructs/dns-monitor.mdx
@@ -87,7 +87,7 @@ A DNS Monitor has its own DNS-specific settings, plus the standard monitor optio
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | DNS request configuration object |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Monitor Options](#general-monitor-options). |
| `degradedResponseTime` | `number` | ❌ | `500` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `1000` | Maximum response time in milliseconds before marking as failed |
@@ -99,10 +99,6 @@ A DNS Monitor has its own DNS-specific settings, plus the standard monitor optio
-### Intent
-
-
-
### `DnsMonitor` Options
@@ -213,6 +209,8 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
+
+
Friendly name for your DNS Monitor that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/grpc-monitor.mdx b/constructs/grpc-monitor.mdx
index 0d788807..02572fbf 100644
--- a/constructs/grpc-monitor.mdx
+++ b/constructs/grpc-monitor.mdx
@@ -96,7 +96,7 @@ gRPC monitors have their own gRPC-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | gRPC request configuration object |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Monitor Options](#general-monitor-options). |
| `degradedResponseTime` | `number` | ❌ | `10000` | Response time in milliseconds at which the monitor is marked as degraded |
| `maxResponseTime` | `number` | ❌ | `20000` | Response time in milliseconds at which the monitor is marked as failed (max 180,000) |
@@ -108,10 +108,6 @@ gRPC monitors have their own gRPC-specific settings, plus the standard monitor o
-### Intent
-
-
-
### `GrpcMonitor` Options
@@ -266,6 +262,8 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
+
+
Friendly name for your gRPC Monitor displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/icmp-monitor.mdx b/constructs/icmp-monitor.mdx
index ff5cf4ad..665f08d8 100644
--- a/constructs/icmp-monitor.mdx
+++ b/constructs/icmp-monitor.mdx
@@ -75,7 +75,7 @@ ICMP monitors have their own ICMP-specific settings, plus the standard monitor o
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | ICMP request configuration object |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Monitor Options](#general-monitor-options). |
| `degradedPacketLossThreshold` | `number` | ❌ | `10` | Packet loss percentage at which the monitor is marked as degraded |
| `maxPacketLossThreshold` | `number` | ❌ | `20` | Packet loss percentage at which the monitor is marked as failed |
@@ -87,10 +87,6 @@ ICMP monitors have their own ICMP-specific settings, plus the standard monitor o
-### Intent
-
-
-
### `IcmpMonitor` Options
@@ -187,6 +183,8 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
+
+
Friendly name for your ICMP Monitor that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/multistep-check.mdx b/constructs/multistep-check.mdx
index c97434a1..5f2a076d 100644
--- a/constructs/multistep-check.mdx
+++ b/constructs/multistep-check.mdx
@@ -81,7 +81,7 @@ new MultiStepCheck("complex-multistep-check", {
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Check Options](#general-check-options). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -101,10 +101,6 @@ new MultiStepCheck("complex-multistep-check", {
-### Intent
-
-
-
### Multistep Check Options
@@ -267,6 +263,8 @@ test("SpaceX-API Dragon Capsules & Next Launch", async ({ request }) => {
### General Check Options
+
+
Friendly name for your multistep check that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/playwright-check.mdx b/constructs/playwright-check.mdx
index fb5e2c7b..03172fdd 100644
--- a/constructs/playwright-check.mdx
+++ b/constructs/playwright-check.mdx
@@ -80,7 +80,7 @@ The Playwright Check Suite configuration consists of specific Playwright Check S
|----------|------|----------|---------|-------------|
| `name` | `string` | ✅ | - | Friendly name for your check |
| `description` | `string` | ❌ | `null` | A description of the check. Supports markdown. Max 500 characters |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Check Options](#general-check-options). |
| `activated` | `boolean` | ❌ | `true` | Whether the check is enabled |
| `alertChannels` | `AlertChannel[]` | ❌ | `[]` | Array of AlertChannel objects for notifications |
| `alertEscalationPolicy` | `AlertEscalationPolicy` | ❌ | - | Advanced alert settings |
@@ -98,10 +98,6 @@ The Playwright Check Suite configuration consists of specific Playwright Check S
-### Intent
-
-
-
### Playwright Check Suite Options
@@ -296,6 +292,8 @@ If no engine is set and the CLI cannot auto-detect one, Checkly uses the default
### General Check Options
+
+
Friendly name for your Playwright Check Suite that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/tcp-monitor.mdx b/constructs/tcp-monitor.mdx
index 028da098..d2585d64 100644
--- a/constructs/tcp-monitor.mdx
+++ b/constructs/tcp-monitor.mdx
@@ -83,7 +83,7 @@ The TCP Monitoring configuration consists of specific TCP monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | TCP connection configuration object |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Monitor Options](#general-monitor-options). |
| `degradedResponseTime` | `number` | ❌ | `4000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | `false` | Treat connection failures (e.g. timeouts or refused ports) as passed. Successful connections still pass. Only failed assertions will cause the check to fail. |
@@ -96,10 +96,6 @@ The TCP Monitoring configuration consists of specific TCP monitoring options and
-### Intent
-
-
-
### `TcpMonitor` Options
@@ -289,6 +285,8 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
+
+
Friendly name for your TCP monitor that will be displayed in the Checkly dashboard and used in notifications.
diff --git a/constructs/url-monitor.mdx b/constructs/url-monitor.mdx
index f5c7fbe1..c781bcf9 100644
--- a/constructs/url-monitor.mdx
+++ b/constructs/url-monitor.mdx
@@ -78,7 +78,7 @@ The URL Monitoring configuration consists of specific URL monitoring options and
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `request` | `object` | ✅ | - | HTTP request configuration object |
-| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [intent](#intent). |
+| `intent` | `CheckIntent` | ❌ | - | Structured guidance for root cause analysis and check repair. See [General Monitor Options](#general-monitor-options). |
| `degradedResponseTime` | `number` | ❌ | `3000` | Response time threshold in milliseconds for degraded status |
| `maxResponseTime` | `number` | ❌ | `5000` | Maximum response time in milliseconds before marking as failed |
| `shouldFail` | `boolean` | ❌ | false | Treat HTTP error codes (4xx and 5xx) as passed. Please note that successful responses still pass. Only failed assertions will cause the check to fail. |
@@ -91,10 +91,6 @@ The URL Monitoring configuration consists of specific URL monitoring options and
-### Intent
-
-
-
### `UrlMonitor` Options
@@ -267,6 +263,8 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
+
+
Friendly name for your URL monitor that will be displayed in the Checkly dashboard and used in notifications.
From f1e75ae082394ab6444463d8b53a213589840704 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:28:52 +0000
Subject: [PATCH 04/10] docs: show complete intent constructor example
---
snippets/check-intent.mdx | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/snippets/check-intent.mdx b/snippets/check-intent.mdx
index b6ab1aed..8c3f53cd 100644
--- a/snippets/check-intent.mdx
+++ b/snippets/check-intent.mdx
@@ -15,22 +15,28 @@ Each constraint has a required `type` and `statement`:
Each `statement` must contain 1–1,000 characters after trimming. You can specify at most 20 constraints of each type. The CLI trims leading and trailing whitespace from the goal and statements and rejects unknown fields.
-For example, add this property to your check or monitor configuration:
+For example, configure intent on a Playwright Check Suite:
```ts
-intent: {
- goal: "Verify that authenticated users can open the dashboard.",
- constraints: [
- {
- type: "REQUIRED_OUTCOME",
- statement: "Authentication succeeds for a valid user.",
- },
- {
- type: "MUST_PRESERVE",
- statement: "Do not remove or weaken the authentication assertion.",
- },
- ],
-},
+import { PlaywrightCheck } from "checkly/constructs"
+
+new PlaywrightCheck("dashboard-intent", {
+ name: "Authenticated dashboard",
+ playwrightConfigPath: "./playwright.config.ts",
+ intent: {
+ goal: "Verify that authenticated users can open the dashboard.",
+ constraints: [
+ {
+ type: "REQUIRED_OUTCOME",
+ statement: "Authentication succeeds for a valid user.",
+ },
+ {
+ type: "MUST_PRESERVE",
+ statement: "Do not remove or weaken the authentication assertion.",
+ },
+ ],
+ },
+})
```
The CLI supports `intent` on `ApiCheck`, `BrowserCheck`, `MultiStepCheck`, `PlaywrightCheck`, `UrlMonitor`, `TcpMonitor`, `DnsMonitor`, `IcmpMonitor`, and `GrpcMonitor`. It is not supported on `HeartbeatMonitor`, `SslMonitor`, or `TracerouteMonitor`. Setting intent does not itself enable automatic check repair.
From 93bcbd705e4345beeb734ee77a89ce423986848c Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:32:02 +0000
Subject: [PATCH 05/10] docs: list intent last among general options
---
constructs/browser-check.mdx | 4 ++--
constructs/dns-monitor.mdx | 6 +++---
constructs/grpc-monitor.mdx | 4 ++--
constructs/icmp-monitor.mdx | 6 +++---
constructs/multistep-check.mdx | 4 ++--
constructs/playwright-check.mdx | 4 ++--
constructs/tcp-monitor.mdx | 4 ++--
constructs/url-monitor.mdx | 4 ++--
8 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/constructs/browser-check.mdx b/constructs/browser-check.mdx
index 43b79efc..294fc680 100644
--- a/constructs/browser-check.mdx
+++ b/constructs/browser-check.mdx
@@ -192,8 +192,6 @@ new BrowserCheck("e2e-purchase", {
### General Check Options
-
-
Friendly name for your Browser Check that will be displayed in the Checkly dashboard and used in notifications.
@@ -442,6 +440,8 @@ new BrowserCheck("feature-test", {
**Use cases**: Test configuration, authentication, API keys, feature flags, environment-specific settings.
+
+
## Examples
diff --git a/constructs/dns-monitor.mdx b/constructs/dns-monitor.mdx
index 6de937a9..235fd607 100644
--- a/constructs/dns-monitor.mdx
+++ b/constructs/dns-monitor.mdx
@@ -209,8 +209,6 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
-
-
Friendly name for your DNS Monitor that will be displayed in the Checkly dashboard and used in notifications.
@@ -263,4 +261,6 @@ new DnsMonitor("my-monitor", {
})
```
-
\ No newline at end of file
+
+
+
diff --git a/constructs/grpc-monitor.mdx b/constructs/grpc-monitor.mdx
index 02572fbf..c1c18b28 100644
--- a/constructs/grpc-monitor.mdx
+++ b/constructs/grpc-monitor.mdx
@@ -262,8 +262,6 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
-
-
Friendly name for your gRPC Monitor displayed in the Checkly dashboard and used in notifications.
@@ -324,6 +322,8 @@ new GrpcMonitor('my-grpc-monitor', {
+
+
## Examples
diff --git a/constructs/icmp-monitor.mdx b/constructs/icmp-monitor.mdx
index 665f08d8..1936b2de 100644
--- a/constructs/icmp-monitor.mdx
+++ b/constructs/icmp-monitor.mdx
@@ -183,8 +183,6 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
-
-
Friendly name for your ICMP Monitor that will be displayed in the Checkly dashboard and used in notifications.
@@ -240,4 +238,6 @@ new IcmpMonitor("my-monitor", {
})
```
-
\ No newline at end of file
+
+
+
diff --git a/constructs/multistep-check.mdx b/constructs/multistep-check.mdx
index 5f2a076d..88a9a133 100644
--- a/constructs/multistep-check.mdx
+++ b/constructs/multistep-check.mdx
@@ -263,8 +263,6 @@ test("SpaceX-API Dragon Capsules & Next Launch", async ({ request }) => {
### General Check Options
-
-
Friendly name for your multistep check that will be displayed in the Checkly dashboard and used in notifications.
@@ -367,3 +365,5 @@ new MultiStepCheck("eu-workflow", {
Multistep checks are only supported on runtime `2023.09` or later. Make sure to specify a compatible `runtimeId` in your check configuration.
+
+
diff --git a/constructs/playwright-check.mdx b/constructs/playwright-check.mdx
index 03172fdd..550da0ef 100644
--- a/constructs/playwright-check.mdx
+++ b/constructs/playwright-check.mdx
@@ -292,8 +292,6 @@ If no engine is set and the CLI cannot auto-detect one, Checkly uses the default
### General Check Options
-
-
Friendly name for your Playwright Check Suite that will be displayed in the Checkly dashboard and used in notifications.
@@ -523,6 +521,8 @@ new PlaywrightCheck("feature-test", {
**Use cases**: Test configuration, authentication, API keys, feature flags, environment-specific settings.
+
+
## Examples
diff --git a/constructs/tcp-monitor.mdx b/constructs/tcp-monitor.mdx
index d2585d64..03572834 100644
--- a/constructs/tcp-monitor.mdx
+++ b/constructs/tcp-monitor.mdx
@@ -285,8 +285,6 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
-
-
Friendly name for your TCP monitor that will be displayed in the Checkly dashboard and used in notifications.
@@ -434,6 +432,8 @@ new TcpMonitor("maintenance-db", {
```
+
+
## Examples
diff --git a/constructs/url-monitor.mdx b/constructs/url-monitor.mdx
index c781bcf9..04e2660c 100644
--- a/constructs/url-monitor.mdx
+++ b/constructs/url-monitor.mdx
@@ -263,8 +263,6 @@ Learn more in our docs on [Assertions](/detect/assertions).
### General Monitor Options
-
-
Friendly name for your URL monitor that will be displayed in the Checkly dashboard and used in notifications.
@@ -410,6 +408,8 @@ new UrlMonitor("maintenance-site", {
```
+
+
## Examples
From fe7a8d6c4d7d9ab9069df00916d8b1e37363dd79 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:36:33 +0000
Subject: [PATCH 06/10] docs: link automatic repair to monitoring as code
intent
---
resolve/automatic-check-repair.mdx | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/resolve/automatic-check-repair.mdx b/resolve/automatic-check-repair.mdx
index 8329d089..b042dd06 100644
--- a/resolve/automatic-check-repair.mdx
+++ b/resolve/automatic-check-repair.mdx
@@ -32,6 +32,12 @@ For an existing Browser or Multistep Check, select **Initialize from saved check
You can also write the intent yourself. Use this option when the script does not express all of the business requirements a repair must preserve. For example, a script might check that a page loads while the actual goal also requires a signed-in user to see the correct account.
+## Define intent with Monitoring as Code
+
+You can also define `intent` in your [Monitoring as Code](/cli/overview) configuration using the Checkly CLI. Keep the goal, required outcomes, and guardrails alongside your check definition. See the General Check Options in the [Browser Check](/constructs/browser-check#general-check-options), [Multistep Check](/constructs/multistep-check#general-check-options), and [Playwright Check Suite](/constructs/playwright-check#general-check-options) construct references for the `intent` schema and a complete configuration example.
+
+Defining `intent` does not by itself enable automatic repair or change which check types support Checkly-managed repair.
+
## AI invocation usage
Each new root cause analysis uses one AI invocation. If Checkly also starts a repair, that repair uses one additional invocation from the same Resolve allowance. Each click on **Initialize from saved check** requests a new AI suggestion, but it does not currently draw from that allowance. Each AI Assistant conversation uses one invocation from the same allowance when it first runs. See [Rocky AI consumption and invocations](../ai/rocky-ai#consumption-and-invocations).
From 16b5148e83cbd9aca7119af14327b116acdd2aa9 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 10:38:51 +0000
Subject: [PATCH 07/10] docs: add tabbed browser and Playwright intent examples
---
resolve/automatic-check-repair.mdx | 57 ++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/resolve/automatic-check-repair.mdx b/resolve/automatic-check-repair.mdx
index b042dd06..fc04a1f2 100644
--- a/resolve/automatic-check-repair.mdx
+++ b/resolve/automatic-check-repair.mdx
@@ -36,6 +36,63 @@ You can also write the intent yourself. Use this option when the script does not
You can also define `intent` in your [Monitoring as Code](/cli/overview) configuration using the Checkly CLI. Keep the goal, required outcomes, and guardrails alongside your check definition. See the General Check Options in the [Browser Check](/constructs/browser-check#general-check-options), [Multistep Check](/constructs/multistep-check#general-check-options), and [Playwright Check Suite](/constructs/playwright-check#general-check-options) construct references for the `intent` schema and a complete configuration example.
+Use your existing browser test file or Playwright configuration in these examples.
+
+
+
+
+```ts
+import { BrowserCheck } from "checkly/constructs"
+
+new BrowserCheck("dashboard-browser", {
+ name: "Authenticated dashboard",
+ code: {
+ entrypoint: "./dashboard.spec.ts",
+ },
+ intent: {
+ goal: "Verify that authenticated users can open the dashboard.",
+ constraints: [
+ {
+ type: "REQUIRED_OUTCOME",
+ statement: "Authentication succeeds for a valid user.",
+ },
+ {
+ type: "MUST_PRESERVE",
+ statement: "Do not remove or weaken the authentication assertion.",
+ },
+ ],
+ },
+})
+```
+
+
+
+
+```ts
+import { PlaywrightCheck } from "checkly/constructs"
+
+new PlaywrightCheck("dashboard-playwright", {
+ name: "Authenticated dashboard",
+ playwrightConfigPath: "./playwright.config.ts",
+ intent: {
+ goal: "Verify that authenticated users can open the dashboard.",
+ constraints: [
+ {
+ type: "REQUIRED_OUTCOME",
+ statement: "Authentication succeeds for a valid user.",
+ },
+ {
+ type: "MUST_PRESERVE",
+ statement: "Do not remove or weaken the authentication assertion.",
+ },
+ ],
+ },
+})
+```
+
+
+
+
Defining `intent` does not by itself enable automatic repair or change which check types support Checkly-managed repair.
## AI invocation usage
From c6d0b52338d9c9b8b2925f4f2121373fffdd4589 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 11:01:43 +0000
Subject: [PATCH 08/10] docs: scope automatic repair page to browser and
multistep checks
---
resolve/automatic-check-repair.mdx | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/resolve/automatic-check-repair.mdx b/resolve/automatic-check-repair.mdx
index fc04a1f2..cb90802b 100644
--- a/resolve/automatic-check-repair.mdx
+++ b/resolve/automatic-check-repair.mdx
@@ -7,7 +7,7 @@ canonical: 'https://www.checklyhq.com/docs/resolve/automatic-check-repair/'
For a check managed in Checkly, automatic repair can attempt to fix a Browser or Multistep Check when its script fails because of a check issue. A check intent states the goal, required outcomes, and guardrails that a repair must preserve. A failed check is not automatically repaired just because this setting is on; Rocky AI first needs a repairable failure and a valid intent.
-Checks linked to a GitHub source file can also receive a repair proposal through a pull request, including other check types. Merge and deploy that change to update the running check.
+Browser and Multistep Checks linked to a GitHub source file can also receive a repair proposal through a pull request. Merge and deploy that change to update the running check.
@@ -34,9 +34,9 @@ You can also write the intent yourself. Use this option when the script does not
## Define intent with Monitoring as Code
-You can also define `intent` in your [Monitoring as Code](/cli/overview) configuration using the Checkly CLI. Keep the goal, required outcomes, and guardrails alongside your check definition. See the General Check Options in the [Browser Check](/constructs/browser-check#general-check-options), [Multistep Check](/constructs/multistep-check#general-check-options), and [Playwright Check Suite](/constructs/playwright-check#general-check-options) construct references for the `intent` schema and a complete configuration example.
+You can also define `intent` in your [Monitoring as Code](/cli/overview) configuration using the Checkly CLI. Keep the goal, required outcomes, and guardrails alongside your check definition. See the General Check Options in the [Browser Check](/constructs/browser-check#general-check-options) and [Multistep Check](/constructs/multistep-check#general-check-options) construct references for the `intent` schema and a complete configuration example.
-Use your existing browser test file or Playwright configuration in these examples.
+Use your existing Browser or Multistep Check test file in these examples.
@@ -66,16 +66,18 @@ new BrowserCheck("dashboard-browser", {
```
-
+
```ts
-import { PlaywrightCheck } from "checkly/constructs"
+import { MultiStepCheck } from "checkly/constructs"
-new PlaywrightCheck("dashboard-playwright", {
- name: "Authenticated dashboard",
- playwrightConfigPath: "./playwright.config.ts",
+new MultiStepCheck("authenticated-api", {
+ name: "Authenticated API flow",
+ code: {
+ entrypoint: "./authenticated-api.spec.ts",
+ },
intent: {
- goal: "Verify that authenticated users can open the dashboard.",
+ goal: "Verify that authenticated users can retrieve their account through the API.",
constraints: [
{
type: "REQUIRED_OUTCOME",
From cc1a83118ec55d428b99da30b9f7e80ccfe09b1e Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 11:16:35 +0000
Subject: [PATCH 09/10] docs: clarify intent RCA and automatic repair scope
---
snippets/check-intent.mdx | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/snippets/check-intent.mdx b/snippets/check-intent.mdx
index 8c3f53cd..c7b2a391 100644
--- a/snippets/check-intent.mdx
+++ b/snippets/check-intent.mdx
@@ -1,5 +1,9 @@
-Describe what your check is intended to verify and the behavior that should be preserved. Checkly uses this structured guidance for root cause analysis and check repair. It is separate from `description` and does not replace executable assertions.
+Describe what your check is intended to verify and the behavior that should be preserved. Checkly uses intent for root cause analysis across all check types. It is separate from `description` and does not replace executable assertions.
+
+
+Intent is used for automatic repair only for Browser and Multistep Checks.
+
The object accepts the following fields:
@@ -15,14 +19,16 @@ Each constraint has a required `type` and `statement`:
Each `statement` must contain 1–1,000 characters after trimming. You can specify at most 20 constraints of each type. The CLI trims leading and trailing whitespace from the goal and statements and rejects unknown fields.
-For example, configure intent on a Playwright Check Suite:
+For example, configure intent on a Browser Check:
```ts
-import { PlaywrightCheck } from "checkly/constructs"
+import { BrowserCheck } from "checkly/constructs"
-new PlaywrightCheck("dashboard-intent", {
+new BrowserCheck("dashboard-intent", {
name: "Authenticated dashboard",
- playwrightConfigPath: "./playwright.config.ts",
+ code: {
+ entrypoint: "./dashboard.spec.ts",
+ },
intent: {
goal: "Verify that authenticated users can open the dashboard.",
constraints: [
@@ -39,5 +45,4 @@ new PlaywrightCheck("dashboard-intent", {
})
```
-The CLI supports `intent` on `ApiCheck`, `BrowserCheck`, `MultiStepCheck`, `PlaywrightCheck`, `UrlMonitor`, `TcpMonitor`, `DnsMonitor`, `IcmpMonitor`, and `GrpcMonitor`. It is not supported on `HeartbeatMonitor`, `SslMonitor`, or `TracerouteMonitor`. Setting intent does not itself enable automatic check repair.
From a72fd4ccce469b719b6236aa9b3d4900d06b77c1 Mon Sep 17 00:00:00 2001
From: "checkly-rca-bot-angie[bot]"
<266841500+checkly-rca-bot-angie[bot]@users.noreply.github.com>
Date: Wed, 14 Oct 2026 11:19:21 +0000
Subject: [PATCH 10/10] docs: link intent note to automatic repair guide
---
snippets/check-intent.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/snippets/check-intent.mdx b/snippets/check-intent.mdx
index c7b2a391..de83ee53 100644
--- a/snippets/check-intent.mdx
+++ b/snippets/check-intent.mdx
@@ -2,7 +2,7 @@
Describe what your check is intended to verify and the behavior that should be preserved. Checkly uses intent for root cause analysis across all check types. It is separate from `description` and does not replace executable assertions.
-Intent is used for automatic repair only for Browser and Multistep Checks.
+Intent is used for [automatic repair](/resolve/automatic-check-repair) only for Browser and Multistep Checks.
The object accepts the following fields: