Skip to content

[ML] Agent Builder: Opt-in flow#244532

Merged
KodeRad merged 79 commits intoelastic:mainfrom
KodeRad:ml-ai-agent-builder-opt-in-flow
Dec 11, 2025
Merged

[ML] Agent Builder: Opt-in flow#244532
KodeRad merged 79 commits intoelastic:mainfrom
KodeRad:ml-ai-agent-builder-opt-in-flow

Conversation

@KodeRad
Copy link
Copy Markdown
Contributor

@KodeRad KodeRad commented Nov 27, 2025

Summary

Implements: https://github.com/elastic/ml-team/issues/1755

This PR:

  • Register a new AI Chat Experience setting located in Stack Management - > GenAI Settings
    This setting has two options: Classic AI Assistant and AI Agent

  • Adds Feature Flag that shows/hides AI Chat Experience setting.

    • it also controls visibility of the OnechatNavControl (AI Agent button)
    • it can be activated by adding below snippet to the kibana.dev.yml
feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true
  • Add AI Agent card to the Selection modal (that is activated by clicking on AI Assistant button on non-solution page)

  • Adds shared Confirmation modal.

    • It appears after the user choose AI Agent (Selection modal / GenAI Settings)
    • it will be used by at least one other team - reason for it being a shared component
  • Adds and updates unit tests

Recording

ai-agent-opt-in-flow.mp4

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.

Identify risks

Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.

@KodeRad KodeRad changed the title Ml ai agent builder opt in flow WIP: Ml ai agent builder opt in flow Nov 27, 2025
@KodeRad KodeRad force-pushed the ml-ai-agent-builder-opt-in-flow branch from 687127d to 451ce43 Compare December 1, 2025 10:31
@KodeRad KodeRad force-pushed the ml-ai-agent-builder-opt-in-flow branch from 451ce43 to 5efe4b5 Compare December 1, 2025 12:27
@KodeRad
Copy link
Copy Markdown
Contributor Author

KodeRad commented Dec 11, 2025

@joemcelroy

for the search serverless solution, we would want the default chat experience to be "AI Agent". This is different for o11y and security solutions where default is "AI Assistant"

@isaclfreire

I'm ok with not showing "default" on AI Assistant, as it makes it more flexible for all solutions 👍

(and other ducumentation changes like adding links)

There will be a follow-up PR with these changes.

@KodeRad KodeRad requested a review from joemcelroy December 11, 2025 14:47
Copy link
Copy Markdown
Member

@jgowdyelastic jgowdyelastic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KodeRad KodeRad enabled auto-merge (squash) December 11, 2025 15:15
@elasticmachine
Copy link
Copy Markdown
Contributor

elasticmachine commented Dec 11, 2025

💚 Build Succeeded

  • Buildkite Build
  • Commit: fe2b875
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-244532-fe2b8750c3c8

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
aiAssistantManagementSelection 71 87 +16
automaticImport 971 972 +1
elasticAssistant 532 533 +1
genAiSettings 92 101 +9
observabilityAIAssistant 144 148 +4
observabilityAIAssistantApp 782 783 +1
observabilityAiAssistantManagement 273 274 +1
onechat 1553 1561 +8
searchAssistant 155 164 +9
securitySolution 8513 8522 +9
securitySolutionEss 103 104 +1
securitySolutionServerless 134 135 +1
workplaceAIApp 565 566 +1
total +62

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/ai-agent-confirmation-modal - 5 +5
@kbn/ai-assistant-common 3 5 +2
@kbn/ai-assistant-icon 5 6 +1
@kbn/management-settings-ids 143 144 +1
aiAssistantManagementSelection 6 11 +5
total +14

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
aiAssistantManagementSelection 85.6KB 89.4KB +3.8KB
genAiSettings 44.9KB 48.7KB +3.8KB
observabilityAIAssistantApp 260.1KB 260.1KB +2.0B
onechat 477.3KB 477.6KB +272.0B
securitySolution 11.2MB 11.2MB +1.3KB
total +9.2KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
aiAssistantManagementSelection 9.6KB 12.2KB +2.6KB
elasticAssistant 307.6KB 307.7KB +160.0B
genAiSettings 4.9KB 4.9KB +4.0B
observabilityAIAssistantApp 14.4KB 14.7KB +251.0B
onechat 25.5KB 25.8KB +321.0B
searchAssistant 5.5KB 5.8KB +330.0B
securitySolution 171.2KB 171.3KB +123.0B
total +3.7KB
Unknown metric groups

API count

id before after diff
@kbn/ai-agent-confirmation-modal - 5 +5
@kbn/ai-assistant-common 3 8 +5
@kbn/ai-assistant-icon 14 16 +2
@kbn/management-settings-ids 144 145 +1
aiAssistantManagementSelection 6 12 +6
total +19

async chunk count

id before after diff
securitySolution 98 99 +1

ESLint disabled line counts

id before after diff
@kbn/ai-assistant-icon 1 2 +1

Total ESLint disabled count

id before after diff
@kbn/ai-assistant-icon 1 2 +1

History

cc @KodeRad

@KodeRad KodeRad merged commit 6f85682 into elastic:main Dec 11, 2025
13 checks passed
spong added a commit that referenced this pull request Dec 11, 2025
…ocumentation (#245749)

## Summary

This PR adds a new `Documentation` section to the `GenAI Settings` page
for managing the installation of documentation assets like the [Elastic
Documentation](https://www.elastic.co/docs/reference/kibana/configuration-reference/ai-assistant-settings)
used by the [Product Docs Platform
Tool](#242598) and the Security
Labs content used by the `security.security_labs_search` tool

Design issue: elastic/ai-enhancements#77

<p align="center">
<img width="700"
src="https://github.com/user-attachments/assets/46d7805e-5ef1-4213-8ec9-25875a4f039d"
/>
</p> 


> [!NOTE]
> Security Labs content is not yet served up by the product docs CDN, so
it is currently a disabled placeholder until I work
#244946 next. We can hide this
item for now if that is preferred.


### Implementation notes

* The `product_docs` API's are called directly from the client instead
of plumbing a new AB API. In support of this, the `llm_product_doc`
privilege was added to the `ONECHAT_FEATURE_ID`. If this is not desired,
we can remove this addition and plumb a dedicated API.
* This UI section should be conditionally visible based on if the Agent
Builder experience is enabled/feature is available. ~I need to confirm,
but I believe this is coming in
#244532 This functionality has
been added.
* Client hooks for managing product docs were added to
`/ai_infra/product_doc_base` instead of `gen_ai_settings`. I originally
had them in the setting public code, but figured they made more sense
alongside the product docs. Happy to change is there is preference here.
* As previously discussed, we're only supporting installing ELSER
embeddings at the moment. ~We'll probably want to update the Platform
Docs tool do instruct the model to do query re-writing to english in
support of this.~ This is done in:
#245259
* This uses the same product docs API as the O11y/Security Assistants,
so there is no compatibility issues when switching the AB experience
on/off or using the old assistants.
* RBAC support provided such that documentation management actions are
disabled unless the user has `agentBuilder['all']` Kibana feature
privileges.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [X] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

_PR developed with Cursor + Opus 4.5_

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
seanrathier pushed a commit to seanrathier/kibana that referenced this pull request Dec 15, 2025
## Summary

Implements: elastic/ml-team#1755

This PR: 

- Register a new **AI Chat Experience** setting located in **Stack
Management - > GenAI Settings**
This setting has two options: **Classic AI Assistant** and **AI Agent**

- Adds Feature Flag that shows/hides **AI Chat Experience** setting.
- it also controls visibility of the `OnechatNavControl` (AI Agent
button)
  - it can be activated by adding below snippet to the `kibana.dev.yml`

```
feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true
```

- Add AI Agent card to the Selection modal (that is activated by
clicking on AI Assistant button on non-solution page)

- Adds shared Confirmation modal. 
- It appears after the user choose AI Agent (Selection modal / GenAI
Settings)
- it will be used by at least one other team - reason for it being a
shared component

- Adds and updates unit tests


### Recording



https://github.com/user-attachments/assets/edf0125a-36a9-48f4-89da-8e4d75d67366




### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [x] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Viduni Wickramarachchi <viduni.wickramarachchi@elastic.co>
seanrathier pushed a commit to seanrathier/kibana that referenced this pull request Dec 15, 2025
…ocumentation (elastic#245749)

## Summary

This PR adds a new `Documentation` section to the `GenAI Settings` page
for managing the installation of documentation assets like the [Elastic
Documentation](https://www.elastic.co/docs/reference/kibana/configuration-reference/ai-assistant-settings)
used by the [Product Docs Platform
Tool](elastic#242598) and the Security
Labs content used by the `security.security_labs_search` tool

Design issue: elastic/ai-enhancements#77

<p align="center">
<img width="700"
src="https://github.com/user-attachments/assets/46d7805e-5ef1-4213-8ec9-25875a4f039d"
/>
</p> 


> [!NOTE]
> Security Labs content is not yet served up by the product docs CDN, so
it is currently a disabled placeholder until I work
elastic#244946 next. We can hide this
item for now if that is preferred.


### Implementation notes

* The `product_docs` API's are called directly from the client instead
of plumbing a new AB API. In support of this, the `llm_product_doc`
privilege was added to the `ONECHAT_FEATURE_ID`. If this is not desired,
we can remove this addition and plumb a dedicated API.
* This UI section should be conditionally visible based on if the Agent
Builder experience is enabled/feature is available. ~I need to confirm,
but I believe this is coming in
elastic#244532 This functionality has
been added.
* Client hooks for managing product docs were added to
`/ai_infra/product_doc_base` instead of `gen_ai_settings`. I originally
had them in the setting public code, but figured they made more sense
alongside the product docs. Happy to change is there is preference here.
* As previously discussed, we're only supporting installing ELSER
embeddings at the moment. ~We'll probably want to update the Platform
Docs tool do instruct the model to do query re-writing to english in
support of this.~ This is done in:
elastic#245259
* This uses the same product docs API as the O11y/Security Assistants,
so there is no compatibility issues when switching the AB experience
on/off or using the old assistants.
* RBAC support provided such that documentation management actions are
disabled unless the user has `agentBuilder['all']` Kibana feature
privileges.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [X] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [X] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [X] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

_PR developed with Cursor + Opus 4.5_

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
KodeRad added a commit that referenced this pull request Dec 16, 2025
…rless and Solution view (#246303)

## Summary

Implements: elastic/ml-team#1755
Follow up to: #244532

The goal of this PR is to make Chat Experience in Elasticsearch
serverless/solution view default to Agent instead of Classic Assistants.

Implementation details:

- Serverless is configured via `serverless.es.yml` file
- Second argument in `coreStart.settings.client.get$<AIChatExperience>`
was removed as it was overriding provided configuration.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
KodeRad added a commit that referenced this pull request Dec 16, 2025
…uires all privileges (#246311)

## Summary

Implements: elastic/ml-team#1755
Follow up to: #244532

The goal of this PR is to make Chat Experience visible only for users
who have all privileges. This is `Agent` and at least one Classic
Assistant.

- AI Agent card in Selection modal is now disabled based on user's
capabilities to manage agents, not only view them
- `DocumentationSection` is now displayed only if Chat Experience is
present and Agent is chosen

To test it you have to activate feature flag in `kibana.dev.yml`

```
feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true
```

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
KodeRad added a commit that referenced this pull request Dec 16, 2025
…ssistant side bar setting on serverless (#246534)

## Summary

Follow up to: #244532

This PR:

- Hides AI Assistant side bar setting when Chat Experience is set to
Agent
  - for Elasticsearch Serverless
  - for Observability Serverless
- fixes the issue with AI Assistant button in nav bar on Elasticsearch
serverless
- it threw `use_agent_builder_opt_in.ts:24 Uncaught TypeError: Cannot
read properties of undefined (reading 'onechat')` becasue `onechat`
plugin was not available at the time


 


Summarize your PR. If it involves visual changes include a screenshot or
gif.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@nastasha-solomon
Copy link
Copy Markdown
Member

nastasha-solomon commented Dec 16, 2025

For now, apply the release_note:skip label to this PR so it's not picked up for Serverless release notes. Once the feature flag that exposes this functionality is merged, can change the release notes label back to release_note:feature.

@nastasha-solomon will check Serverless release notes and 9.3 Kibana release notes when this feature is exposed in Serverless and final 9.3 build.

@nastasha-solomon nastasha-solomon added release_note:skip Skip the PR/issue when compiling release notes and removed release_note:feature Makes this part of the condensed release notes labels Dec 16, 2025
KodeRad added a commit that referenced this pull request Dec 16, 2025
## Summary

Implements: elastic/ml-team#1755
Follow up to: #244532

The goal of this PR is to:
- add missing documentation links
- create more space between settings in `GenAI Settings` page
- adding `(Beta)` to `AI Agent` drop-down Chat Experience option
- update messages
- fix: show documentation section to users with only Agent privileges

To test it you have to activate feature flag in `kibana.dev.yml`

```
feature_flags.overrides:
  aiAssistant.aiAgents.enabled: true
```

#### Screenshots
<img width="1476" height="1289" alt="Screenshot 2025-12-15 at 10 35 09"
src="https://github.com/user-attachments/assets/0bbee106-e95e-42b3-9a1e-400bce228aa4"
/>

<img width="1472" height="1288" alt="Screenshot 2025-12-15 at 11 27 36"
src="https://github.com/user-attachments/assets/70a2febe-c7da-487d-b890-7a7b90db3a7d"
/>

<img width="793" height="406" alt="Screenshot 2025-12-15 at 10 35 18"
src="https://github.com/user-attachments/assets/5f249663-c4fd-40aa-9435-68ae3be4841d"
/>

<img width="791" height="453" alt="Screenshot 2025-12-15 at 10 33 59"
src="https://github.com/user-attachments/assets/8947b697-4b15-4356-8cb9-734a0fc7973d"
/>


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@nastasha-solomon nastasha-solomon added release_note:feature Makes this part of the condensed release notes and removed release_note:skip Skip the PR/issue when compiling release notes labels Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting ci:project-deploy-observability Create an Observability project :ml release_note:feature Makes this part of the condensed release notes Team:ML Team label for ML (also use :ml) t// v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.