refactor+feat: Snapshot-Router-Split + generischer ChecklistAgent + AGB-Modul

- Item 2: Snapshot-Doc-Checks (cookie/impressum/dse/agb) in snapshot_check_routes.py
  (agent_compliance_check_routes.py 464→365 Z.); gleiche Pfade, in main.py registriert.
- ChecklistAgent-Basis: DSE-Logik generalisiert (L1/L2, kurze Titel, _severity_
  override-Hook). DSEAgent + AGBAgent sind jetzt Thin-Subclasses → künftige
  Doc-Agenten (widerruf/avv/…) trivial.
- Item 4: AGBAgent (§§ 305 ff. BGB, AGB_CHECKLIST) + agb-check + AGB-Tab via
  AgentModuleTab. Kein Library-Firehose.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-11 14:23:29 +02:00
parent b40edd6d33
commit 7258744107
11 changed files with 391 additions and 262 deletions
@@ -57,6 +57,7 @@ export default function SnapshotDetail(
...(hasCookies ? [{ key: 'cookie', label: 'Cookies & Tracking' }] : []),
...(hasDoc('impressum') ? [{ key: 'impressum', label: 'Impressum' }] : []),
...(hasDoc('dse') ? [{ key: 'dse', label: 'Datenschutzerklärung' }] : []),
...(hasDoc('agb') ? [{ key: 'agb', label: 'AGB' }] : []),
// eslint-disable-next-line react-hooks/exhaustive-deps
], [snap])
@@ -104,6 +105,10 @@ export default function SnapshotDetail(
{tab === 'dse' && (
<AgentModuleTab snapshotId={snapshotId} docType="dse" label="Datenschutzerklärung" />
)}
{tab === 'agb' && (
<AgentModuleTab snapshotId={snapshotId} docType="agb" label="AGB" />
)}
</>
)}
</div>