[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables#252925
Merged
KodeRad merged 6 commits intoelastic:mainfrom Feb 16, 2026
Merged
[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables#252925KodeRad merged 6 commits intoelastic:mainfrom
KodeRad merged 6 commits intoelastic:mainfrom
Conversation
30b9bf3 to
ee50bf0
Compare
Contributor
⏳ Build in-progress, with failures
Failed CI StepsHistory
|
564a201 to
6d7d264
Compare
Contributor
|
Pinging @elastic/ml-ui (:ml) |
...s/log_categorization/log_categorization_for_embeddable/log_categorization_for_embeddable.tsx
Outdated
Show resolved
Hide resolved
jgowdyelastic
approved these changes
Feb 16, 2026
Member
jgowdyelastic
left a comment
There was a problem hiding this comment.
Added a comment, but on the whole LGTM
…egorization/log_categorization_for_embeddable/log_categorization_for_embeddable.tsx Co-authored-by: James Gowdy <jgowdy@elastic.co>
Contributor
|
Starting backport for target branches: 9.3 |
kibanamachine
added a commit
to kibanamachine/kibana
that referenced
this pull request
Feb 16, 2026
…s embeddables (elastic#252925) ## Summary Fixes: elastic#252909 Problem: Dashboard time presets "Today" and "This week" send the same datemath string for both start and end (from: "now/d", to: "now/d" and from: "now/w", to: "now/w"). The AIOps embeddables were resolving these with `datemath.parse()` without `roundUp` for the end, so `min` and `max` were the same and the panels showed no results. Fix: Use the data plugin's calculateBounds (from @kbn/data-plugin/common) to resolve the time range in the embeddables, instead of manually calling datemath.parse(). calculateBounds always applies roundUp: true when parsing the end bound, which correctly resolves now/d to end-of-day and now/w to end-of-week. For absolute ISO date strings and ranges like now-24h to now, it returns the values unchanged since there is no rounding unit to apply. This is the same function used by the data plugin's createTimeRangeFilter (which powers Lens, Discover, and all other search requests), making the AIOps embeddables consistent with the rest of the platform. Scope: Log Rate Analysis and Log Pattern Analysis (Log Categorization) embeddables. <img width="1719" height="1009" alt="before" src="https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598" /> <img width="1718" height="994" alt="after" src="https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] [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: James Gowdy <jgowdy@elastic.co> (cherry picked from commit 7aa3b78)
Contributor
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
kibanamachine
added a commit
that referenced
this pull request
Feb 17, 2026
…nalysis embeddables (#252925) (#253310) # Backport This will backport the following commits from `main` to `9.3`: - [[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables (#252925)](#252925) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Konrad Krasocki","email":"104936644+KodeRad@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-02-16T15:54:38Z","message":"[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables (#252925)\n\n## Summary\n\nFixes: https://github.com/elastic/kibana/issues/252909\n\nProblem:\nDashboard time presets \"Today\" and \"This week\" send the same datemath\nstring for both start and end (from: \"now/d\", to: \"now/d\" and from:\n\"now/w\", to: \"now/w\"). The AIOps embeddables were resolving these with\n`datemath.parse()` without `roundUp` for the end, so `min` and `max`\nwere the same and the panels showed no results.\n\nFix: \nUse the data plugin's calculateBounds (from @kbn/data-plugin/common) to\nresolve the time range in the embeddables, instead of manually calling\ndatemath.parse(). calculateBounds always applies roundUp: true when\nparsing the end bound, which correctly resolves now/d to end-of-day and\nnow/w to end-of-week. For absolute ISO date strings and ranges like\nnow-24h to now, it returns the values unchanged since there is no\nrounding unit to apply. This is the same function used by the data\nplugin's createTimeRangeFilter (which powers Lens, Discover, and all\nother search requests), making the AIOps embeddables consistent with the\nrest of the platform.\n\nScope:\nLog Rate Analysis and Log Pattern Analysis (Log Categorization)\nembeddables.\n\n<img width=\"1719\" height=\"1009\" alt=\"before\"\nsrc=\"https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598\"\n/>\n<img width=\"1718\" height=\"994\" alt=\"after\"\nsrc=\"https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0\"\n/>\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: James Gowdy <jgowdy@elastic.co>","sha":"7aa3b7878786d2d48ea3ee772777a31fc911cb9f","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:fix",":ml","Team:ML","backport:version","v9.4.0","v9.3.1"],"title":"[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables","number":252925,"url":"https://github.com/elastic/kibana/pull/252925","mergeCommit":{"message":"[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables (#252925)\n\n## Summary\n\nFixes: https://github.com/elastic/kibana/issues/252909\n\nProblem:\nDashboard time presets \"Today\" and \"This week\" send the same datemath\nstring for both start and end (from: \"now/d\", to: \"now/d\" and from:\n\"now/w\", to: \"now/w\"). The AIOps embeddables were resolving these with\n`datemath.parse()` without `roundUp` for the end, so `min` and `max`\nwere the same and the panels showed no results.\n\nFix: \nUse the data plugin's calculateBounds (from @kbn/data-plugin/common) to\nresolve the time range in the embeddables, instead of manually calling\ndatemath.parse(). calculateBounds always applies roundUp: true when\nparsing the end bound, which correctly resolves now/d to end-of-day and\nnow/w to end-of-week. For absolute ISO date strings and ranges like\nnow-24h to now, it returns the values unchanged since there is no\nrounding unit to apply. This is the same function used by the data\nplugin's createTimeRangeFilter (which powers Lens, Discover, and all\nother search requests), making the AIOps embeddables consistent with the\nrest of the platform.\n\nScope:\nLog Rate Analysis and Log Pattern Analysis (Log Categorization)\nembeddables.\n\n<img width=\"1719\" height=\"1009\" alt=\"before\"\nsrc=\"https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598\"\n/>\n<img width=\"1718\" height=\"994\" alt=\"after\"\nsrc=\"https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0\"\n/>\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: James Gowdy <jgowdy@elastic.co>","sha":"7aa3b7878786d2d48ea3ee772777a31fc911cb9f"}},"sourceBranch":"main","suggestedTargetBranches":["9.3"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/252925","number":252925,"mergeCommit":{"message":"[ML] Fixes today and this week filters for Log Rate / Pattern Analysis embeddables (#252925)\n\n## Summary\n\nFixes: https://github.com/elastic/kibana/issues/252909\n\nProblem:\nDashboard time presets \"Today\" and \"This week\" send the same datemath\nstring for both start and end (from: \"now/d\", to: \"now/d\" and from:\n\"now/w\", to: \"now/w\"). The AIOps embeddables were resolving these with\n`datemath.parse()` without `roundUp` for the end, so `min` and `max`\nwere the same and the panels showed no results.\n\nFix: \nUse the data plugin's calculateBounds (from @kbn/data-plugin/common) to\nresolve the time range in the embeddables, instead of manually calling\ndatemath.parse(). calculateBounds always applies roundUp: true when\nparsing the end bound, which correctly resolves now/d to end-of-day and\nnow/w to end-of-week. For absolute ISO date strings and ranges like\nnow-24h to now, it returns the values unchanged since there is no\nrounding unit to apply. This is the same function used by the data\nplugin's createTimeRangeFilter (which powers Lens, Discover, and all\nother search requests), making the AIOps embeddables consistent with the\nrest of the platform.\n\nScope:\nLog Rate Analysis and Log Pattern Analysis (Log Categorization)\nembeddables.\n\n<img width=\"1719\" height=\"1009\" alt=\"before\"\nsrc=\"https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598\"\n/>\n<img width=\"1718\" height=\"994\" alt=\"after\"\nsrc=\"https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0\"\n/>\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n- [x] Review the [backport\nguidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)\nand apply applicable `backport:*` labels.\n\n### Identify risks\n\nDoes this PR introduce any risks? For example, consider risks like hard\nto test bugs, performance regression, potential of data loss.\n\nDescribe the risk, its severity, and mitigation for each identified\nrisk. Invite stakeholders and evaluate how to proceed before merging.\n\n- [ ] [See some risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n- [ ] ...\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: James Gowdy <jgowdy@elastic.co>","sha":"7aa3b7878786d2d48ea3ee772777a31fc911cb9f"}},{"branch":"9.3","label":"v9.3.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Konrad Krasocki <104936644+KodeRad@users.noreply.github.com> Co-authored-by: James Gowdy <jgowdy@elastic.co>
paulinashakirova
pushed a commit
to paulinashakirova/kibana
that referenced
this pull request
Feb 17, 2026
…s embeddables (elastic#252925) ## Summary Fixes: elastic#252909 Problem: Dashboard time presets "Today" and "This week" send the same datemath string for both start and end (from: "now/d", to: "now/d" and from: "now/w", to: "now/w"). The AIOps embeddables were resolving these with `datemath.parse()` without `roundUp` for the end, so `min` and `max` were the same and the panels showed no results. Fix: Use the data plugin's calculateBounds (from @kbn/data-plugin/common) to resolve the time range in the embeddables, instead of manually calling datemath.parse(). calculateBounds always applies roundUp: true when parsing the end bound, which correctly resolves now/d to end-of-day and now/w to end-of-week. For absolute ISO date strings and ranges like now-24h to now, it returns the values unchanged since there is no rounding unit to apply. This is the same function used by the data plugin's createTimeRangeFilter (which powers Lens, Discover, and all other search requests), making the AIOps embeddables consistent with the rest of the platform. Scope: Log Rate Analysis and Log Pattern Analysis (Log Categorization) embeddables. <img width="1719" height="1009" alt="before" src="https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598" /> <img width="1718" height="994" alt="after" src="https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] [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: James Gowdy <jgowdy@elastic.co>
patrykkopycinski
pushed a commit
to patrykkopycinski/kibana
that referenced
this pull request
Feb 19, 2026
…s embeddables (elastic#252925) ## Summary Fixes: elastic#252909 Problem: Dashboard time presets "Today" and "This week" send the same datemath string for both start and end (from: "now/d", to: "now/d" and from: "now/w", to: "now/w"). The AIOps embeddables were resolving these with `datemath.parse()` without `roundUp` for the end, so `min` and `max` were the same and the panels showed no results. Fix: Use the data plugin's calculateBounds (from @kbn/data-plugin/common) to resolve the time range in the embeddables, instead of manually calling datemath.parse(). calculateBounds always applies roundUp: true when parsing the end bound, which correctly resolves now/d to end-of-day and now/w to end-of-week. For absolute ISO date strings and ranges like now-24h to now, it returns the values unchanged since there is no rounding unit to apply. This is the same function used by the data plugin's createTimeRangeFilter (which powers Lens, Discover, and all other search requests), making the AIOps embeddables consistent with the rest of the platform. Scope: Log Rate Analysis and Log Pattern Analysis (Log Categorization) embeddables. <img width="1719" height="1009" alt="before" src="https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598" /> <img width="1718" height="994" alt="after" src="https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] [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: James Gowdy <jgowdy@elastic.co>
ersin-erdal
pushed a commit
to ersin-erdal/kibana
that referenced
this pull request
Feb 19, 2026
…s embeddables (elastic#252925) ## Summary Fixes: elastic#252909 Problem: Dashboard time presets "Today" and "This week" send the same datemath string for both start and end (from: "now/d", to: "now/d" and from: "now/w", to: "now/w"). The AIOps embeddables were resolving these with `datemath.parse()` without `roundUp` for the end, so `min` and `max` were the same and the panels showed no results. Fix: Use the data plugin's calculateBounds (from @kbn/data-plugin/common) to resolve the time range in the embeddables, instead of manually calling datemath.parse(). calculateBounds always applies roundUp: true when parsing the end bound, which correctly resolves now/d to end-of-day and now/w to end-of-week. For absolute ISO date strings and ranges like now-24h to now, it returns the values unchanged since there is no rounding unit to apply. This is the same function used by the data plugin's createTimeRangeFilter (which powers Lens, Discover, and all other search requests), making the AIOps embeddables consistent with the rest of the platform. Scope: Log Rate Analysis and Log Pattern Analysis (Log Categorization) embeddables. <img width="1719" height="1009" alt="before" src="https://github.com/user-attachments/assets/8c47ff66-3c69-4e2d-82ef-ab93abb3c598" /> <img width="1718" height="994" alt="after" src="https://github.com/user-attachments/assets/023c5730-f976-4e9d-8aaf-2d7d4821b4a0" /> ### Checklist Check the PR satisfies following conditions. Reviewers should verify this PR satisfies this list as well. - [ ] [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: James Gowdy <jgowdy@elastic.co>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes: #252909
Problem:
Dashboard time presets "Today" and "This week" send the same datemath string for both start and end (from: "now/d", to: "now/d" and from: "now/w", to: "now/w"). The AIOps embeddables were resolving these with
datemath.parse()withoutroundUpfor the end, sominandmaxwere the same and the panels showed no results.Fix:
Use the data plugin's calculateBounds (from @kbn/data-plugin/common) to resolve the time range in the embeddables, instead of manually calling datemath.parse(). calculateBounds always applies roundUp: true when parsing the end bound, which correctly resolves now/d to end-of-day and now/w to end-of-week. For absolute ISO date strings and ranges like now-24h to now, it returns the values unchanged since there is no rounding unit to apply. This is the same function used by the data plugin's createTimeRangeFilter (which powers Lens, Discover, and all other search requests), making the AIOps embeddables consistent with the rest of the platform.
Scope:
Log Rate Analysis and Log Pattern Analysis (Log Categorization) embeddables.
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
release_note:*label is applied per the guidelinesbackport:*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.