n8n: surface real per-workflow evidence on the integration status page

Fleet Ops integration status no longer depends only on a config
boolean or the most recent outbox event: N8nIntegrationStatus now
reports per-canonical-workflow evidence (last successful outbox
delivery for the return workflow, latest service-triggered
data_quality_scan_run for the scan workflow, latest
n8n_workflow_failure_registered for the error handler, and "not built"
for the still-blocked RAGcore sync), plus an error-handler summary
(total failures registered, latest failure + which workflow).

Automation page renders this as a localized workflow table (EN/NL/FR)
with technical workflow names tucked under a "Technical details"
disclosure, matching the existing progressive-disclosure pattern.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
NuklearRabbit
2026-08-04 16:15:09 +02:00
co-authored by Claude Sonnet 5
parent e39c0a1dd6
commit 4049c0c6b1
9 changed files with 320 additions and 2 deletions
@@ -26,6 +26,28 @@
"demoMode": "Mode démo",
"unavailable": "Indisponible"
},
"workflows": {
"title": "Workflows d'automatisation",
"description": "{{known}} workflows n8n canoniques sur {{expected}} disposent de preuves actuelles de fonctionnement.",
"notBuilt": "Pas encore créé",
"noEvidence": "Aucune preuve pour l'instant",
"columns": {
"name": "Workflow",
"status": "Statut",
"lastSeen": "Dernière preuve",
"technicalId": "Détails"
},
"names": {
"vehicleReturn": "Orchestration du retour de véhicule",
"scheduledScan": "Analyse planifiée de la qualité des données",
"ragcoreSync": "Synchronisation des procédures de connaissances",
"errorHandler": "Gestionnaire d'erreurs de workflow"
},
"errorHandler": {
"summary": "{{count}} échec(s) d'automatisation enregistré(s) — le dernier provient de {{workflow}} à {{when}}.",
"summaryEmpty": "Aucun échec d'automatisation n'a été enregistré."
}
},
"ledger": {
"title": "Tâches d'automatisation",
"description": "Tentatives d'automatisation enregistrées avec les dernières preuves d'échec.",