Dom
7c6945171e
feat(qw4): SafetyChecksProvider hybride déclaratif + LLM contextuel
build_pause_payload(action, state, last_screenshot) → PausePayload
- Toujours inclure les checks déclaratifs (workflow.parameters.safety_checks)
- Si safety_level=medical_critical ET RPA_SAFETY_CHECKS_LLM_ENABLED=1 :
appel LLM (medgemma:4b par défaut) en format=json strict, timeout 5s,
max 3 checks ajoutés (configurables via env vars)
- Tous les chemins d'erreur (timeout, HTTP, JSON parse, exception) loggent
et retournent [] (fallback safe : déclaratifs seuls)
Tests : 7 cas (déclaratif seul, hybride OK, timeout, LLM invalide,
kill-switch, max_checks, déclaratif vide).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 23:29:38 +02:00
..
2026-03-31 09:30:14 +02:00
2026-04-17 17:46:40 +02:00
2026-04-15 09:06:19 +02:00
2026-04-14 16:49:02 +02:00
2026-04-09 21:03:25 +02:00
2026-03-26 10:19:18 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-18 16:24:01 +01:00
2026-04-10 09:01:13 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-16 22:25:12 +01:00
2026-03-16 22:58:44 +01:00
2026-04-14 16:48:36 +02:00
2026-04-20 17:03:44 +02:00
2026-01-29 11:23:51 +01:00
2026-04-10 09:01:52 +02:00
2026-04-15 09:06:28 +02:00
2026-03-15 10:02:09 +01:00
2026-04-20 17:03:44 +02:00
2026-03-15 10:02:09 +01:00
2026-03-16 23:10:51 +01:00
2026-04-09 22:21:40 +02:00
2026-04-15 09:06:41 +02:00
2026-04-10 08:09:05 +02:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-04-20 17:03:44 +02:00
2026-04-15 22:02:30 +02:00
2026-03-15 10:02:09 +01:00
2026-04-10 08:42:01 +02:00
2026-03-26 10:19:18 +01:00
2026-05-05 23:09:43 +02:00
2026-05-05 22:50:22 +02:00
2026-04-22 10:43:28 +02:00
2026-04-14 16:48:23 +02:00
2026-04-14 16:48:00 +02:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-04-18 13:07:56 +02:00
2026-01-29 11:23:51 +01:00
2026-04-09 21:03:25 +02:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-05-05 23:29:38 +02:00
2026-04-15 09:06:41 +02:00
2026-04-18 13:07:56 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-04-15 09:06:51 +02:00
2026-01-29 11:23:51 +01:00
2026-04-14 16:49:17 +02:00
2026-04-14 16:49:17 +02:00
2026-01-29 11:23:51 +01:00
2026-04-17 17:46:40 +02:00
2026-04-10 09:04:37 +02:00
2026-04-10 09:04:37 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-31 09:45:20 +02:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-04-10 10:54:19 +02:00
2026-04-14 16:48:00 +02:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-04-09 21:03:25 +02:00
2026-04-25 17:48:18 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-04-14 16:48:00 +02:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-04-10 08:28:55 +02:00
2026-04-10 11:02:51 +02:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-03-15 10:02:09 +01:00
2026-03-15 10:02:09 +01:00
2026-04-20 17:03:44 +02:00
2026-03-15 10:02:09 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-01-29 11:23:51 +01:00
2026-04-09 21:50:32 +02:00
2026-04-15 09:06:19 +02:00
2026-04-15 09:07:04 +02:00