diff --git a/frontend/src/features/playground/components/AlertsListView.tsx b/frontend/src/features/playground/components/AlertsListView.tsx
index d01f7f50d..e48a6cd2b 100644
--- a/frontend/src/features/playground/components/AlertsListView.tsx
+++ b/frontend/src/features/playground/components/AlertsListView.tsx
@@ -88,7 +88,7 @@ function AlertRow({ alert }: { alert: unknown }) {
const rows = useMemo(
() =>
Object.entries(flat)
- .filter(([k]) => !HIDDEN_FIELDS.has(k))
+ .filter(([k]) => !HIDDEN_FIELDS.has(k) && k !== 'events' && !k.startsWith('events.'))
.map(([k, v]) => ({ key: k, value: v }))
.sort((a, b) => a.key.localeCompare(b.key)),
[flat],
diff --git a/frontend/src/features/playground/components/TestPlaygroundModal.tsx b/frontend/src/features/playground/components/TestPlaygroundModal.tsx
index 1abcbd5f2..d140ddad3 100644
--- a/frontend/src/features/playground/components/TestPlaygroundModal.tsx
+++ b/frontend/src/features/playground/components/TestPlaygroundModal.tsx
@@ -163,6 +163,17 @@ export function TestPlaygroundModal({ mode, titleKey, dataTypeOptions, draftCont
{t(`playground.errors.${errorKind}`)}
)}
+
+ {mode === 'rule' && (
+ <>
+
+ {t('playground.notices.geo')}
+
+
+ {t('playground.notices.correlation')}
+
+ >
+ )}
{/* Right column: result */}
diff --git a/frontend/src/features/playground/lib/event-fields.ts b/frontend/src/features/playground/lib/event-fields.ts
index 4e6e1052b..698e93172 100644
--- a/frontend/src/features/playground/lib/event-fields.ts
+++ b/frontend/src/features/playground/lib/event-fields.ts
@@ -22,7 +22,7 @@ export function flatten(obj: unknown, prefix = '', out: Record
// Fields that duplicate what's already visible in the "Raw log" input on the
// left — showing the full raw string again inside the field grid wrecks its
// rhythm (one giant multi-line cell among dozens of short ones) for zero gain.
-export const HIDDEN_FIELDS = new Set(['raw'])
+export const HIDDEN_FIELDS = new Set(['raw', 'error'])
// Same severity/level palette already used across the product (see
// alerts/lib/alert-meta.ts SEV_META and log-explorer's LEVEL_TONE) — kept
diff --git a/frontend/src/shared/i18n/locales/de.json b/frontend/src/shared/i18n/locales/de.json
index 0fdb104dc..0cb9262e1 100644
--- a/frontend/src/shared/i18n/locales/de.json
+++ b/frontend/src/shared/i18n/locales/de.json
@@ -5219,6 +5219,10 @@
"validation": "Die Anfrage war ungültig — prüfe das Rohprotokoll und den Pipeline-Inhalt.",
"server": "Der Playground konnte den Test nicht abschließen — bitte erneut versuchen."
},
+ "notices": {
+ "geo": "Das Geolocation-Plugin ist in dieser Lite-Version des Filter- und Regeltests nicht verfügbar.",
+ "correlation": "Regeln, die über afterEvent- oder correlation-Klauseln auf frühere Ereignisse verweisen, setzen voraus, dass entsprechende Ereignisse bereits im System vorhanden sind, damit die getestete Warnung ausgelöst wird."
+ },
"result": {
"label": "Verarbeitetes Ergebnis",
"empty": "Führe einen Test aus, um das verarbeitete Ereignis hier zu sehen.",
diff --git a/frontend/src/shared/i18n/locales/en.json b/frontend/src/shared/i18n/locales/en.json
index 77593cdf1..414bf32f2 100644
--- a/frontend/src/shared/i18n/locales/en.json
+++ b/frontend/src/shared/i18n/locales/en.json
@@ -4629,6 +4629,10 @@
"validation": "The request was invalid — check the raw log and pipeline content.",
"server": "The playground couldn't complete the test — please try again."
},
+ "notices": {
+ "geo": "The geolocation plugin isn't available in this lite version of the filter and rule test.",
+ "correlation": "Rules that reference prior events through afterEvent or correlation clauses require matching historical events to already exist in the system for the tested alert to trigger."
+ },
"result": {
"label": "Parsed result",
"empty": "Run a test to see the parsed event here.",
diff --git a/frontend/src/shared/i18n/locales/es.json b/frontend/src/shared/i18n/locales/es.json
index 51d6c1081..13294d2c3 100644
--- a/frontend/src/shared/i18n/locales/es.json
+++ b/frontend/src/shared/i18n/locales/es.json
@@ -5181,6 +5181,10 @@
"validation": "La solicitud no era válida — revisa el log en crudo y el contenido del pipeline.",
"server": "El playground no pudo completar la prueba — inténtalo de nuevo."
},
+ "notices": {
+ "geo": "El plugin de geolocation no está disponible para esta versión lite del test de filtros y reglas.",
+ "correlation": "Las reglas que consultan eventos previos mediante las cláusulas afterEvent o correlation requieren que ya existan eventos coincidentes en el sistema para que la alerta bajo prueba se dispare."
+ },
"result": {
"label": "Resultado procesado",
"empty": "Ejecuta una prueba para ver aquí el evento procesado.",
diff --git a/frontend/src/shared/i18n/locales/fr.json b/frontend/src/shared/i18n/locales/fr.json
index 4c0473e04..d24dcac32 100644
--- a/frontend/src/shared/i18n/locales/fr.json
+++ b/frontend/src/shared/i18n/locales/fr.json
@@ -5219,6 +5219,10 @@
"validation": "La requête est invalide — vérifiez le journal brut et le contenu du pipeline.",
"server": "Le playground n'a pas pu terminer le test — veuillez réessayer."
},
+ "notices": {
+ "geo": "Le plugin de géolocalisation n'est pas disponible dans cette version allégée du test de filtres et de règles.",
+ "correlation": "Les règles qui référencent des événements antérieurs via les clauses afterEvent ou correlation nécessitent que des événements correspondants existent déjà dans le système pour que l'alerte testée se déclenche."
+ },
"result": {
"label": "Résultat analysé",
"empty": "Exécutez un test pour voir ici l'événement analysé.",
diff --git a/frontend/src/shared/i18n/locales/it.json b/frontend/src/shared/i18n/locales/it.json
index 461ad5331..852381e52 100644
--- a/frontend/src/shared/i18n/locales/it.json
+++ b/frontend/src/shared/i18n/locales/it.json
@@ -5219,6 +5219,10 @@
"validation": "La richiesta non è valida — controlla il log grezzo e il contenuto della pipeline.",
"server": "Il playground non è riuscito a completare il test — riprova."
},
+ "notices": {
+ "geo": "Il plugin di geolocalizzazione non è disponibile in questa versione lite del test di filtri e regole.",
+ "correlation": "Le regole che fanno riferimento a eventi precedenti tramite le clausole afterEvent o correlation richiedono che eventi corrispondenti siano già presenti nel sistema affinché l'allerta in prova venga generata."
+ },
"result": {
"label": "Risultato elaborato",
"empty": "Esegui un test per vedere qui l'evento elaborato.",
diff --git a/frontend/src/shared/i18n/locales/pt.json b/frontend/src/shared/i18n/locales/pt.json
index cb42f64a3..3c27bf478 100644
--- a/frontend/src/shared/i18n/locales/pt.json
+++ b/frontend/src/shared/i18n/locales/pt.json
@@ -5181,6 +5181,10 @@
"validation": "A requisição foi inválida — verifique o log bruto e o conteúdo do pipeline.",
"server": "O playground não conseguiu concluir o teste — tente novamente."
},
+ "notices": {
+ "geo": "O plugin de geolocalização não está disponível nesta versão lite do teste de filtros e regras.",
+ "correlation": "As regras que referenciam eventos anteriores por meio das cláusulas afterEvent ou correlation exigem que eventos correspondentes já existam no sistema para que o alerta em teste seja disparado."
+ },
"result": {
"label": "Resultado processado",
"empty": "Execute um teste para ver aqui o evento processado.",
diff --git a/frontend/src/shared/i18n/locales/ru.json b/frontend/src/shared/i18n/locales/ru.json
index a9d7d8b40..9176561fb 100644
--- a/frontend/src/shared/i18n/locales/ru.json
+++ b/frontend/src/shared/i18n/locales/ru.json
@@ -5245,6 +5245,10 @@
"validation": "Некорректный запрос — проверьте исходный лог и содержимое конвейера.",
"server": "Playground не смог завершить тест — попробуйте снова."
},
+ "notices": {
+ "geo": "Плагин геолокации недоступен в этой упрощённой версии теста фильтров и правил.",
+ "correlation": "Правила, обращающиеся к предыдущим событиям через операторы afterEvent или correlation, требуют наличия соответствующих событий в системе, чтобы тестируемое оповещение сработало."
+ },
"result": {
"label": "Обработанный результат",
"empty": "Запустите тест, чтобы увидеть здесь обработанное событие.",