Benjamin Admin
f4357a2e9b
feat(agents): Specialist-Agents Phase 2 Foundation + Cookie-Policy-Agent
Sprint 1 — Foundation (User-Vorgabe 2026-06-08):
Foundation:
- _base.py: BaseSpecialistAgent ABC + Pydantic Contract
(AgentInput/AgentOutput/Finding/Recommendation/McCoverage/EscalationLog).
- _base.lint_output(): Disclaimer-Linter verbietet "rechtssicher" /
"garantiert" / "gesetzeskonform" — scrubbed inline + Log in notes.
- _registry.py: AgentRegistry mit MC-Owner-Mapping (verhindert
Doppel-Ownership).
- _escalation.py: cascade(local → ovh). qwen2.5:7b default,
OVH 120b als Stage-2 (deaktiviert wenn OVH_URL leer).
- _rollup.py: deterministisches Dedup ähnlicher actions zu
Recommendations mit related_finding_ids[].
- _evidence_vault.py: Pro-Run File-Vault für Playwright-Videos,
Screenshots, CSV. SHA256 + manifest.json. DSR-tauglich (delete_run).
Agenten:
- ImpressumAgent v2 (impressum/agent.py + mcs.py) — konsolidiert
v1-Pattern-Match + v2-LLM-MVP unter dem neuen Contract. 12 MCs.
- CookiePolicyAgent v1 (cookie_policy/agent.py + mcs.py) — 12 MCs
zu Cookie-Richtlinie-Vollständigkeit + KB-Layer für
CMP-Vendor-Cross-Check.
Tests: 25/25 grün (10 Impressum + 9 Vault + 6 Cookie-Policy).
Roadmap: SSE-Test-Endpoint + Frontend-Tab → DSE/AGB-Agents →
Cookie-Banner-Themen-Agent → Cross-Doc-Konsistenz-Agent.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-08 17:40:05 +02:00
..
2026-06-08 10:04:14 +02:00
2026-05-21 18:49:10 +02:00
2026-06-08 11:35:55 +02:00
2026-06-08 17:40:05 +02:00
2026-05-11 22:52:26 +02:00
2026-06-07 00:42:16 +02:00
2026-04-29 15:27:51 +02:00
2026-05-10 22:56:09 +02:00
2026-06-06 21:19:49 +02:00
2026-06-07 00:15:08 +02:00
2026-06-06 22:20:25 +02:00
2026-05-21 23:36:45 +02:00
2026-06-07 23:48:04 +02:00
2026-05-03 21:42:50 +02:00
2026-04-07 18:52:31 +02:00
2026-05-03 20:58:06 +02:00
2026-05-12 14:43:13 +02:00
2026-05-21 17:27:55 +02:00
2026-05-12 18:18:50 +02:00
2026-05-02 19:52:04 +02:00
2026-05-22 08:24:46 +02:00
2026-05-22 09:23:37 +02:00
2026-05-18 23:48:34 +02:00
2026-05-19 12:22:05 +02:00
2026-05-02 21:18:10 +02:00
2026-06-06 23:25:20 +02:00
2026-06-07 18:41:54 +02:00
2026-05-22 08:57:02 +02:00
2026-05-21 08:53:31 +02:00
2026-06-06 21:19:49 +02:00
2026-06-07 08:26:14 +02:00
2026-05-10 22:56:09 +02:00
2026-05-19 14:31:13 +02:00
2026-05-21 21:30:02 +02:00
2026-05-18 23:48:34 +02:00
2026-05-22 08:38:08 +02:00
2026-06-06 14:47:25 +02:00
2026-04-10 11:23:43 +02:00
2026-05-21 06:28:25 +02:00
2026-06-08 08:20:39 +02:00
2026-05-21 23:36:45 +02:00
2026-06-07 23:48:04 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 18:30:08 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 23:48:34 +02:00
2026-06-08 08:20:39 +02:00
2026-05-21 15:47:11 +02:00
2026-05-18 18:30:08 +02:00
2026-05-22 00:24:07 +02:00
2026-06-07 23:48:04 +02:00
2026-05-19 01:01:48 +02:00
2026-06-06 23:35:33 +02:00
2026-06-06 23:35:33 +02:00
2026-05-02 20:06:57 +02:00
2026-05-21 18:32:07 +02:00
2026-05-22 00:24:07 +02:00
2026-05-22 19:17:21 +02:00
2026-06-06 21:19:49 +02:00
2026-06-08 16:39:33 +02:00
2026-05-18 18:30:08 +02:00
2026-05-21 18:58:32 +02:00
2026-06-06 21:19:49 +02:00
2026-05-21 16:45:12 +02:00
2026-05-21 18:58:32 +02:00
2026-05-04 23:22:30 +02:00
2026-05-04 23:22:30 +02:00
2026-04-29 19:36:46 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-07 12:37:03 +02:00
2026-05-11 23:39:26 +02:00
2026-05-03 23:38:32 +02:00
2026-05-03 23:15:25 +02:00
2026-04-10 11:23:43 +02:00
2026-05-02 19:52:04 +02:00
2026-05-03 23:38:32 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 21:59:03 +02:00
2026-06-06 14:47:25 +02:00
2026-05-18 18:30:08 +02:00
2026-05-21 16:20:19 +02:00
2026-06-08 16:39:33 +02:00
2026-05-21 20:21:28 +02:00
2026-06-07 17:51:17 +02:00
2026-04-09 08:35:57 +02:00
2026-04-09 08:35:57 +02:00
2026-05-21 16:43:15 +02:00
2026-05-22 08:38:08 +02:00
2026-05-02 08:37:51 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-21 17:31:37 +02:00
2026-06-08 10:04:14 +02:00
2026-05-04 23:22:30 +02:00
2026-04-09 08:47:56 +02:00
2026-06-08 09:32:25 +02:00
2026-05-22 19:00:27 +02:00
2026-05-21 17:06:48 +02:00
2026-05-04 23:22:30 +02:00
2026-05-22 11:51:03 +02:00
2026-05-18 18:30:08 +02:00
2026-05-22 08:57:02 +02:00
2026-05-22 09:40:11 +02:00
2026-05-17 14:06:28 +02:00
2026-05-17 14:06:28 +02:00
2026-06-08 10:04:14 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-13 16:00:15 +02:00
2026-05-21 17:21:19 +02:00
2026-05-22 08:24:46 +02:00
2026-06-06 23:13:50 +02:00
2026-04-10 11:23:43 +02:00
2026-04-29 11:36:24 +02:00
2026-06-06 21:19:49 +02:00
2026-06-07 08:50:46 +02:00
2026-05-22 08:38:08 +02:00
2026-05-21 16:38:25 +02:00
2026-04-07 20:03:16 +02:00
2026-05-17 01:53:09 +02:00
2026-05-13 16:00:15 +02:00
2026-05-04 23:34:00 +02:00
2026-06-06 14:47:25 +02:00
2026-04-07 19:58:02 +02:00
2026-05-04 07:01:37 +02:00
2026-05-22 19:00:27 +02:00
2026-05-18 23:48:34 +02:00
2026-06-06 23:13:50 +02:00
2026-04-07 19:42:17 +02:00
2026-05-03 22:03:25 +02:00
2026-06-06 21:42:27 +02:00
2026-05-18 23:48:34 +02:00
2026-05-18 23:48:34 +02:00
2026-06-07 00:23:25 +02:00
2026-05-12 23:14:54 +02:00
2026-05-12 23:24:12 +02:00
2026-05-02 19:52:04 +02:00
2026-05-17 13:15:40 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-06-06 21:19:49 +02:00
2026-05-18 18:30:08 +02:00
2026-05-21 06:28:25 +02:00
2026-05-22 21:55:23 +02:00
2026-05-21 23:36:45 +02:00
2026-05-21 08:01:27 +02:00
2026-05-18 18:30:08 +02:00
2026-05-12 18:18:50 +02:00
2026-04-07 19:50:40 +02:00
2026-05-02 08:26:59 +02:00
2026-05-11 11:44:20 +02:00
2026-06-07 18:41:54 +02:00